markdown-text-editor 0.4.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-text-editor.js","mappings":"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","sources":["webpack://MarkdownEditor/webpack/universalModuleDefinition","webpack://MarkdownEditor/./src/components/Preview.js","webpack://MarkdownEditor/./src/components/toolbar/MakeTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/BoldTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ItalicTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/StrikethroughTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ULTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/OLTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/PreviewTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/CheckListTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/BlockQuoteTool.js","webpack://MarkdownEditor/./src/components/modal.js","webpack://MarkdownEditor/./src/components/toolbar/tools/LinkTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/HeadingTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ImageTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/UndoTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/RedoTool.js","webpack://MarkdownEditor/./src/components/toolbar/Toolbar.js","webpack://MarkdownEditor/./node_modules/diff/libesm/diff/base.js","webpack://MarkdownEditor/./node_modules/diff/libesm/diff/character.js","webpack://MarkdownEditor/./src/utils/UndoRedoManager.js","webpack://MarkdownEditor/webpack/bootstrap","webpack://MarkdownEditor/webpack/runtime/define property getters","webpack://MarkdownEditor/webpack/runtime/hasOwnProperty shorthand","webpack://MarkdownEditor/./node_modules/marked/lib/marked.esm.js","webpack://MarkdownEditor/./src/components/Editor.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MarkdownEditor\"] = factory();\n\telse\n\t\troot[\"MarkdownEditor\"] = factory();\n})(typeof self !== \"undefined\" ? self : this, () => {\nreturn ","class Preview {\n constructor(container) {\n this.previewContainer = document.createElement('div');\n this.previewContainer.className = 'preview-wrapper fj:p-2 fj:hidden fj:surface fj:surface-1 fj:surface-outline fj:border-0 fj:border-l';\n this.previewContent = document.createElement('div');\n this.previewContent.className = 'preview-content fj:prose fj:prose-sm fj:md:prose-base fj:dark:prose-invert fj:p-1.5 fj:overflow-y-auto fj:h-[90lvh] fj:max-w-full';\n this.previewContainer.appendChild(this.previewContent);\n container.appendChild(this.previewContainer);\n }\n\n getPreviewContent() {\n return this.previewContent;\n }\n}\n\nexport default Preview;","class MakeTool {\n constructor(editor, title) {\n this.editor = editor;\n this.defaultText = `${title} text`; // Default text if nothing is selected\n this.button = this.createButton();\n this.title = title\n }\n\n // Create a button element (can be overridden in child classes)\n createButton(iconHtml) {\n const btn = document.createElement('button');\n const btnClass = this.title ? `${this.title.replace(/ /g, '-')}-btn`.toLowerCase() : '';\n btn.innerHTML = iconHtml; // Pass icon HTML from child classes\n btn.type = 'button';\n btn.title = this.title;\n btn.className = `markdown-btn ${btnClass} fj:btn fj:btn-sm fj:btn-square fj:btn-ghost`;\n btn.addEventListener('click', (event) => this.applySyntax(event)); // Default to 'both', can change in child\n\n if(btnClass == 'preview-btn') {\n const btnWrapper = document.createElement('div');\n btnWrapper.className = 'fj:surface fj:surface-1 fj:surface-outline fj:border-0 fj:border-l fj:sticky fj:-right-2 fj:px-1.5';\n btnWrapper.appendChild(btn);\n return btnWrapper;\n }\n \n return btn;\n }\n}\n\nexport default MakeTool;\n","import MakeTool from '../MakeTool.js';\n\nclass BoldTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Bold');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M8 11H12.5C13.8807 11 15 9.88071 15 8.5C15 7.11929 13.8807 6 12.5 6H8V11ZM18 15.5C18 17.9853 15.9853 20 13.5 20H6V4H12.5C14.9853 4 17 6.01472 17 8.5C17 9.70431 16.5269 10.7981 15.7564 11.6058C17.0979 12.3847 18 13.837 18 15.5ZM8 13V18H13.5C14.8807 18 16 16.8807 16 15.5C16 14.1193 14.8807 13 13.5 13H8Z\"></path>\n </svg> \n `)\n }\n\n // Apply bold syntax (**bold**)\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '**';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the bold syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply bold syntax\n newText = `${syntax}${selectedText || 'Bold text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default BoldTool;\n","import MakeTool from '../MakeTool.js';\n\nclass ItalicTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for italic (*)\n super(editor, 'Italic');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M15 20H7V18H9.92661L12.0425 6H9V4H17V6H14.0734L11.9575 18H15V20Z\"></path></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '*';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the italic syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply italic syntax\n newText = `${syntax}${selectedText || 'Italic text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default ItalicTool;","import MakeTool from '../MakeTool.js';\n\nclass StrikethroughTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for strikethrough (~~)\n super(editor, 'Strikethrough');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M17.1538 14C17.3846 14.5161 17.5 15.0893 17.5 15.7196C17.5 17.0625 16.9762 18.1116 15.9286 18.867C14.8809 19.6223 13.4335 20 11.5862 20C9.94674 20 8.32335 19.6185 6.71592 18.8555V16.6009C8.23538 17.4783 9.7908 17.917 11.3822 17.917C13.9333 17.917 15.2128 17.1846 15.2208 15.7196C15.2208 15.0939 15.0049 14.5598 14.5731 14.1173C14.5339 14.0772 14.4939 14.0381 14.4531 14H3V12H21V14H17.1538ZM13.076 11H7.62908C7.4566 10.8433 7.29616 10.6692 7.14776 10.4778C6.71592 9.92084 6.5 9.24559 6.5 8.45207C6.5 7.21602 6.96583 6.165 7.89749 5.299C8.82916 4.43299 10.2706 4 12.2219 4C13.6934 4 15.1009 4.32808 16.4444 4.98426V7.13591C15.2448 6.44921 13.9293 6.10587 12.4978 6.10587C10.0187 6.10587 8.77917 6.88793 8.77917 8.45207C8.77917 8.87172 8.99709 9.23796 9.43293 9.55079C9.86878 9.86362 10.4066 10.1135 11.0463 10.3004C11.6665 10.4816 12.3431 10.7148 13.076 11H13.076Z\"></path></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '~';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the strikethrough syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply strikethrough syntax\n newText = `${syntax}${selectedText || 'Strikethrough text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default StrikethroughTool;","import MakeTool from '../MakeTool.js';\n\nclass ULTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Unordered list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M8 4H21V6H8V4ZM4.5 6.5C3.67157 6.5 3 5.82843 3 5C3 4.17157 3.67157 3.5 4.5 3.5C5.32843 3.5 6 4.17157 6 5C6 5.82843 5.32843 6.5 4.5 6.5ZM4.5 13.5C3.67157 13.5 3 12.8284 3 12C3 11.1716 3.67157 10.5 4.5 10.5C5.32843 10.5 6 11.1716 6 12C6 12.8284 5.32843 13.5 4.5 13.5ZM4.5 20.4C3.67157 20.4 3 19.7284 3 18.9C3 18.0716 3.67157 17.4 4.5 17.4C5.32843 17.4 6 18.0716 6 18.9C6 19.7284 5.32843 20.4 4.5 20.4ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z\"></path></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '- ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the Unordered syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply Unordered list syntax\n newText = `${syntax}${selectedText || 'Unordered list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default ULTool;","import MakeTool from '../MakeTool.js';\n\nclass OLTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Ordered list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M8 4H21V6H8V4ZM5 3V6H6V7H3V6H4V4H3V3H5ZM3 14V11.5H5V11H3V10H6V12.5H4V13H6V14H3ZM5 19.5H3V18.5H5V18H3V17H6V21H3V20H5V19.5ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z\"></path></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '1. ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the ordered syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply ordered list syntax\n newText = `${syntax}${selectedText || 'Ordered list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default OLTool;","// #components/Toolbar/tools/PreviewToggleTool.js\nimport MakeTool from '../MakeTool.js';\n\nclass PreviewTool extends MakeTool {\n constructor(editor) {\n // No markdown syntax for preview toggle, so we call the parent constructor with empty values\n super(editor, 'Preview');\n this.preview = true;\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M11 5H5V19H11V5ZM13 5V19H19V5H13ZM4 3H20C20.5523 3 21 3.44772 21 4V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3Z\"></path></svg>\n `);\n }\n\n // Override applySyntax to handle preview toggling\n applySyntax() {\n const previewWrapper = this.editor.previewContent?.parentNode;\n const editorDiv = this.editor.markdownEditorDiv;\n\n if (!previewWrapper || !editorDiv) return;\n\n // Toggle the preview's visibility by switching between 'block' and 'hidden' classes\n if (this.editor.preview && this.preview) {\n this.enablePreview(previewWrapper, editorDiv);\n } else {\n this.disablePreview(previewWrapper, editorDiv);\n }\n }\n\n // Method to hide the preview (disable it)\n disablePreview(previewWrapper, editorDiv) {\n\n this.preview = true;\n\n editorDiv.parentNode.classList.toggle('fj:fixed');\n editorDiv.parentNode.classList.toggle('fj:top-0');\n editorDiv.parentNode.classList.toggle('fj:inset-x-0');\n editorDiv.parentNode.classList.toggle('fj:rounded-md');\n editorDiv.parentNode.classList.toggle('fj:z-999');\n \n previewWrapper.classList.toggle('fj:hidden');\n\n // Add grid layout and divide classes to the editor div\n editorDiv.classList.remove(\n 'fj:md:grid',\n 'fj:md:grid-cols-2'\n );\n\n editorDiv.querySelector(\".textarea-wrapper\").classList.remove(\n 'fj:h-[90lvh]',\n 'fj:hidden',\n 'fj:md:block'\n );\n this.editor.render(); // Re-render content in the preview\n\n editorDiv.querySelector(\".textarea-wrapper\").querySelector(\"textarea\").classList.remove(\"fj:h-[90lvh]!\");\n \n document.querySelector(\"body\").classList.remove('fj:overflow-hidden');\n\n document.querySelectorAll('.markdown-btn').forEach(button => {\n if (!button.classList.contains('preview-btn')) {\n button.classList.remove('fj:pointer-events-none', 'fj:md:pointer-events-auto', 'fj:opacity-25', 'fj:md:opacity-100');\n }else{\n button.classList.remove('fj:btn-active');\n }\n });\n }\n\n // Method to show the preview (enable it)\n enablePreview(previewWrapper, editorDiv) {\n\n this.preview = false;\n\n editorDiv.parentNode.classList.toggle('fj:fixed');\n editorDiv.parentNode.classList.toggle('fj:top-0');\n editorDiv.parentNode.classList.toggle('fj:inset-x-0');\n editorDiv.parentNode.classList.toggle('fj:rounded-md');\n editorDiv.parentNode.classList.toggle('fj:z-999');\n \n previewWrapper.classList.toggle('fj:hidden');\n // Remove grid layout and divide classes from the editor div\n editorDiv.classList.add(\n 'fj:md:grid',\n 'fj:md:grid-cols-2'\n );\n\n editorDiv.querySelector(\".textarea-wrapper\").classList.add(\n 'fj:h-[90lvh]',\n 'fj:hidden',\n 'fj:md:block'\n );\n editorDiv.querySelector(\".textarea-wrapper\").querySelector(\"textarea\").classList.add(\"fj:h-[90lvh]!\");\n\n document.querySelector(\"body\").classList.add('fj:overflow-hidden');\n\n document.querySelectorAll('.markdown-btn').forEach(button => {\n if (!button.classList.contains('preview-btn')) {\n button.classList.add('fj:pointer-events-none', 'fj:md:pointer-events-auto', 'fj:opacity-25', 'fj:md:opacity-100');\n }else{\n button.classList.add('fj:btn-active');\n }\n });\n }\n}\n\nexport default PreviewTool;\n","import MakeTool from '../MakeTool.js';\n\nclass CheckListTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Check list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M8.00008 6V9H5.00008V6H8.00008ZM3.00008 4V11H10.0001V4H3.00008ZM13.0001 4H21.0001V6H13.0001V4ZM13.0001 11H21.0001V13H13.0001V11ZM13.0001 18H21.0001V20H13.0001V18ZM10.7072 16.2071L9.29297 14.7929L6.00008 18.0858L4.20718 16.2929L2.79297 17.7071L6.00008 20.9142L10.7072 16.2071Z\"></path></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '- [x] ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the checklist syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply check list syntax\n newText = `${syntax}${selectedText || 'Check list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default CheckListTool;","import MakeTool from '../MakeTool.js';\n\nclass BlockQuoteTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for italic (*)\n super(editor, 'Blockquote');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M4.58341 17.3211C3.55316 16.2274 3 15 3 13.0103C3 9.51086 5.45651 6.37366 9.03059 4.82318L9.92328 6.20079C6.58804 8.00539 5.93618 10.346 5.67564 11.822C6.21263 11.5443 6.91558 11.4466 7.60471 11.5105C9.40908 11.6778 10.8312 13.159 10.8312 15C10.8312 16.933 9.26416 18.5 7.33116 18.5C6.2581 18.5 5.23196 18.0095 4.58341 17.3211ZM14.5834 17.3211C13.5532 16.2274 13 15 13 13.0103C13 9.51086 15.4565 6.37366 19.0306 4.82318L19.9233 6.20079C16.588 8.00539 15.9362 10.346 15.6756 11.822C16.2126 11.5443 16.9156 11.4466 17.6047 11.5105C19.4091 11.6778 20.8312 13.159 20.8312 15C20.8312 16.933 19.2642 18.5 17.3312 18.5C16.2581 18.5 15.232 18.0095 14.5834 17.3211Z\"></path></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '>';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the blockquote syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply blockquote syntax\n newText = `${syntax}${selectedText || 'Blockquote text'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default BlockQuoteTool;","export function modal(event, size, bodyHTML) {\n const self = event.target;\n const mde = self.closest(\".markdown-editor-wrapper\");\n if(mde.querySelector(\".markdown-modal\")){\n mde.querySelector(\".markdown-modal\").remove(); \n }\n\n const modalHTML = `\n <dialog class=\"markdown-modal fj:modal fj:modal-y-top fj:lg:modal-y-center fj:modal-x-center\" id=\"nezanuha_toggleModal\">\n <div class=\"fj:modal-body ${size}\">\n ${bodyHTML}\n </div>\n </dialog>\n `;\n\n if(!mde.querySelector(\".markdown-modal\")){\n mde.insertAdjacentHTML(\"beforeend\", modalHTML);\n }\n \n const modal = mde.querySelector(\".markdown-modal\");\n modal.showModal();\n return modal;\n}","import MakeTool from '../MakeTool.js';\nimport { modal } from '../../modal.js';\n\nclass LinkTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Link');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M18.3638 15.5355L16.9496 14.1213L18.3638 12.7071C20.3164 10.7545 20.3164 7.58866 18.3638 5.63604C16.4112 3.68341 13.2453 3.68341 11.2927 5.63604L9.87849 7.05025L8.46428 5.63604L9.87849 4.22182C12.6122 1.48815 17.0443 1.48815 19.778 4.22182C22.5117 6.95549 22.5117 11.3876 19.778 14.1213L18.3638 15.5355ZM15.5353 18.364L14.1211 19.7782C11.3875 22.5118 6.95531 22.5118 4.22164 19.7782C1.48797 17.0445 1.48797 12.6123 4.22164 9.87868L5.63585 8.46446L7.05007 9.87868L5.63585 11.2929C3.68323 13.2455 3.68323 16.4113 5.63585 18.364C7.58847 20.3166 10.7543 20.3166 12.7069 18.364L14.1211 16.9497L15.5353 18.364ZM14.8282 7.75736L16.2425 9.17157L9.17139 16.2426L7.75717 14.8284L14.8282 7.75736Z\"></path>\n </svg>\n `);\n }\n\n // Apply link syntax [text](url)\n applySyntax(event) {\n let editor = this.editor;\n let textarea = editor.usertextarea;\n let { selectionStart, selectionEnd } = textarea;\n let selectedText = textarea.value.substring(selectionStart, selectionEnd);\n \n // Check if the selected text contains a link syntax [text](url)\n const linkRegex = /\\[([^\\]]+)\\]\\(([^)]+)\\)/;\n \n if (selectedText && linkRegex.test(selectedText)) {\n // If the selected text is already a link, extract the text inside the brackets\n const match = selectedText.match(linkRegex);\n const linkText = match[1]; // Text inside the square brackets\n \n // Replace the selected text with just the text\n textarea.setRangeText(linkText, selectionStart, selectionEnd, 'select');\n } else {\n // If no link syntax, prompt for the URL and apply the syntax\n \n const bodyHTML =`\n <div class=\"fj:flex fj:justify-between fj:items-center fj:gap-3\">\n <div class=\"fj:font-medium\">Link</div>\n <button type=\"button\" class=\"fj:btn fj:btn-ghost fj:btn-xs fj:btn-circle\" onclick=\"nezanuha_toggleModal.remove()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n </div>\n <form method=\"post\">\n <div class=\"fj:flex fj:flex-col fj:justify-center fj:gap-y-4.5 fj:mt-4\">\n <input type=\"url\" placeholder=\"URL\" class=\"link-input fj:input fj:w-full\" required>\n <input type=\"text\" placeholder=\"Link text\" class=\"link-text-input fj:input fj:w-full\" value=\"${selectedText}\" required>\n <button type=\"submit\" class=\"submit-link fj:btn fj:btn-sm fj:self-end\">Apply</button>\n </div>\n </form>`;\n\n const modalElement = modal(event, 'fj:max-w-sm', bodyHTML);\n\n modalElement.querySelector(\".submit-link\").addEventListener(\"click\", function(e){\n e.preventDefault();\n let linkInput = modalElement.querySelector(\".link-input\");\n let linkTextInput = modalElement.querySelector(\".link-text-input\");\n\n if (!linkInput.validity.valid) {\n linkInput.reportValidity();\n } else if (!linkTextInput.validity.valid) {\n linkTextInput.reportValidity();\n } else {\n const link = linkInput.value;\n let linkText = linkTextInput.value;\n\n if(linkText == ''){\n linkText = 'Link Text';\n }\n\n let newText = '';\n if (selectedText) {\n newText = `[${selectedText}](${link})`; // Insert the link with selected text\n } else {\n newText = `[${linkText}](${link})`; // Insert a placeholder text if nothing is selected\n }\n editor.insertText(newText); // Insert the constructed link markdown\n \n linkInput.value = '';\n linkTextInput.value = '';\n modalElement.close();\n }\n });\n }\n }\n \n}\n\nexport default LinkTool;","import MakeTool from '../MakeTool.js';\n\nclass HeadingTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Heading');\n this.currentHeading = 1; // Start with Heading 1\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M17 11V4H19V21H17V13H7V21H5V4H7V11H17Z\"></path></svg>\n `);\n }\n\n // Apply heading syntax (e.g., # sample text for h1, ## sample text for h2, etc.)\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n // Strip any existing heading symbols (i.e., # or ##) from the selected text\n const headingRegex = /^#+\\s*/; // Regex to match any # followed by space\n let cleanText = selectedText.replace(headingRegex, ''); // Remove existing heading\n\n let newText = '';\n\n // If there is a heading, continue from the current level\n if (selectedText) {\n const currentLevel = selectedText.match(/^#+/); // Match the number of # symbols at the start\n if (currentLevel) {\n let headingCount = currentLevel[0].length;\n if (headingCount === 6) {\n newText = cleanText; // Just plain text\n } else {\n newText = `${'#'.repeat(headingCount + 1)} ${cleanText}`;\n }\n } else {\n // If no # symbol, start from # (Heading 1)\n newText = `# ${cleanText}`;\n }\n } else {\n // If no text is selected, use default \"Heading\"\n newText = `${'#'.repeat(this.currentHeading)} Heading`;\n }\n\n // Insert the new heading text and replace any selected text\n this.editor.insertText(newText, true);\n\n // Cycle heading levels after applying the heading\n if (this.currentHeading === 6) {\n this.currentHeading = 1; // Reset to # for Heading 1 after reaching Heading 6\n } else {\n this.currentHeading++; // Increment the heading level\n }\n }\n}\n\nexport default HeadingTool;\n","import MakeTool from '../MakeTool.js';\nimport { modal } from '../../modal.js';\n\nclass ImageTool extends MakeTool {\n constructor(editor, config = {}) {\n super(editor, 'Image link');\n this.config = config;\n this.fileInputConfig = config.fileInput || false;\n this.altInputConfig = config.altInput || true;\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M16 5h6\"/><path d=\"M19 2v6\"/><path d=\"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5\"/>\n <path d=\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"/><circle cx=\"9\" cy=\"9\" r=\"2\"/>\n </svg>\n `);\n }\n\n // Apply link syntax [text](url)\n applySyntax(event) {\n let editor = this.editor;\n let textarea = editor.usertextarea;\n let { selectionStart, selectionEnd } = textarea;\n let selectedText = textarea.value.substring(selectionStart, selectionEnd);\n \n const acceptFormats = this.fileInputConfig.accept\n ? this.fileInputConfig.accept.map(type => `image/${type}`).join(',')\n : 'image/*'; // Handle file formats\n\n const altRequired = this.altInputConfig.required === undefined ? true : this.altInputConfig.required;\n\n const uploadUrl = this.fileInputConfig.uploadUrl || null;\n\n let fileInputTag = '';\n if(this.fileInputConfig){\n fileInputTag = `\n <input type=\"file\" accept=\"${acceptFormats}\" class=\"img-file-input fj:input fj:w-full\">\n <div class=\"fj:divider fj:my-1\">OR</div>\n `;\n }\n // Check if the selected text contains an image markdown syntax ![alt text](url)\n const imageRegex = /!\\[([^\\]]*)\\]\\(([^)]+)\\)/;\n\n if (selectedText && imageRegex.test(selectedText)) {\n // If the selected text is already an image markdown, extract the alt text and URL\n const match = selectedText.match(imageRegex);\n const altText = match[1]; // Alt text inside the square brackets\n // const imageUrl = match[2]; // URL inside the parentheses\n\n // Replace the selected text with just the text\n textarea.setRangeText(altText, selectionStart, selectionEnd, 'select');\n } else {\n const bodyHTML =`\n <div class=\"fj:flex fj:justify-between fj:items-center fj:gap-3\">\n <div class=\"fj:font-medium\">Image</div>\n <button type=\"button\" class=\"fj:btn fj:btn-ghost fj:btn-xs fj:btn-circle\" onclick=\"nezanuha_toggleModal.remove()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n </div>\n <form method=\"post\">\n <div class=\"fj:flex fj:flex-col fj:justify-center fj:gap-y-4.5 fj:mt-4\">\n ${fileInputTag}\n <input type=\"url\" placeholder=\"URL\" class=\"img-link-input fj:input fj:w-full\" required>\n <input type=\"text\" placeholder=\"Alt text\" class=\"img-link-alt-input fj:input fj:w-full\" value=\"${selectedText}\" ${(altRequired) && 'required'}>\n <button type=\"submit\" class=\"submit-img-link fj:btn fj:btn-sm fj:self-end\">Apply</button>\n </div>\n </form>`;\n\n const modalElement = modal(event, 'fj:max-w-sm', bodyHTML);\n\n if(this.fileInputConfig){\n const fileInputSelector = modalElement.querySelector(\".img-file-input\");\n const urlInputSelector = modalElement.querySelector(\".img-link-input\");\n const submitBtnSelector = modalElement.querySelector(\".submit-img-link\");\n\n fileInputSelector.addEventListener(\"change\", async () => {\n const file = fileInputSelector.files[0];\n if (!file || !uploadUrl) return;\n \n submitBtnSelector.disabled = true;\n submitBtnSelector.textContent = 'Uploading...';\n \n const formData = new FormData();\n formData.append('image', file);\n \n try {\n const res = await fetch(uploadUrl, {\n method: 'POST',\n body: formData\n });\n const result = await res.json();\n \n if (result.success && result.path) {\n urlInputSelector.value = result.path;\n submitBtnSelector.disabled = false;\n submitBtnSelector.textContent = 'Apply';\n } else {\n alert('Image upload failed.');\n fileInputSelector.value = ''; // ✅ Reset file input\n submitBtnSelector.disabled = false;\n submitBtnSelector.textContent = 'Apply';\n }\n } catch (err) {\n console.error(err);\n alert('Upload error.');\n fileInputSelector.value = ''; // ✅ Reset file input\n submitBtnSelector.disabled = false;\n submitBtnSelector.textContent = 'Apply';\n }\n });\n }\n \n\n modalElement.querySelector(\".submit-img-link\").addEventListener(\"click\", function(e){\n e.preventDefault();\n let imgLinkInput = modalElement.querySelector(\".img-link-input\");\n let imgLinkAltInput = modalElement.querySelector(\".img-link-alt-input\");\n\n if (!imgLinkInput.validity.valid) {\n imgLinkInput.reportValidity();\n } else if (!imgLinkAltInput.validity.valid) {\n imgLinkAltInput.reportValidity();\n } else {\n const imgLink = imgLinkInput.value;\n let imgLinkAlt = imgLinkAltInput.value;\n\n if(imgLinkAlt == ''){\n imgLinkAlt = '';\n }\n\n let newText = '';\n if (selectedText) {\n newText = `![${selectedText}](${imgLink})`; // Insert the link with selected text\n } else {\n newText = `![${imgLinkAlt}](${imgLink})`; // Insert a placeholder text if nothing is selected\n }\n editor.insertText(newText); // Insert the constructed link markdown\n \n imgLinkInput.value = '';\n imgLinkAltInput.value = '';\n modalElement.close();\n }\n });\n }\n }\n \n}\nexport default ImageTool;","import MakeTool from '../MakeTool.js';\n\nclass UndoTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Undo');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M3 7v6h6\"/><path d=\"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13\"/>\n </svg>\n `);\n }\n\n applySyntax() {\n // Check if Undo is available and perform the undo action\n const undoRedoManager = this.editor.undoRedoManager;\n if (undoRedoManager) {\n undoRedoManager.undo();\n }\n }\n}\n\nexport default UndoTool;","import MakeTool from '../MakeTool.js';\n\nclass RedoTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Redo');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M21 7v6h-6\"/><path d=\"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7\"/>\n </svg>\n `);\n }\n\n applySyntax() {\n // Check if Redo is available and perform the redo action\n const undoRedoManager = this.editor.undoRedoManager;\n if (undoRedoManager) {\n undoRedoManager.redo();\n }\n }\n}\n\nexport default RedoTool;\n","import BoldTool from './tools/BoldTool.js';\nimport ItalicTool from './tools/ItalicTool.js';\nimport StrikethroughTool from './tools/StrikethroughTool.js';\nimport ULTool from './tools/ULTool.js';\nimport OLTool from './tools/OLTool.js';\nimport PreviewTool from './tools/PreviewTool.js'\nimport CheckListTool from './tools/CheckListTool.js';\nimport BlockQuoteTool from './tools/BlockQuoteTool.js';\nimport LinkTool from './tools/LinkTool.js'\nimport HeadingTool from './tools/HeadingTool.js';\nimport ImageTool from './tools/ImageTool.js';\nimport UndoTool from './tools/UndoTool.js';\nimport RedoTool from './tools/RedoTool.js';\n\nclass Toolbar {\n constructor(editor, options) {\n this.editor = editor;\n this.options = options;\n this.toolbar = document.createElement('div');\n this.toolbar.className = 'toolbar fj:surface fj:surface-1 fj:surface-outline fj:border-0 fj:border-b fj:flex fj:gap-x-1.5 fj:p-1.5 fj:overflow-x-auto';\n this.init();\n }\n\n init() {\n const toolMapping = {\n heading: HeadingTool,\n ul: ULTool,\n ol: OLTool,\n checklist: CheckListTool,\n bold: BoldTool,\n italic: ItalicTool,\n strikethrough: StrikethroughTool,\n blockquote: BlockQuoteTool,\n link: LinkTool,\n image: ImageTool,\n undo: UndoTool,\n redo: RedoTool\n };\n\n // Append all tools except preview\n // this.options.forEach(tool => {\n // if (tool !== 'preview') {\n // const ToolClass = toolMapping[tool];\n // if (ToolClass) {\n // const toolInstance = new ToolClass(this.editor);\n // this.toolbar.appendChild(toolInstance.button); // Directly append to toolbar\n // }\n // }\n // });\n\n this.options.forEach(tool => {\n let ToolClass, config;\n \n if (typeof tool === 'string') {\n ToolClass = toolMapping[tool];\n } else if (typeof tool === 'object') {\n const toolName = Object.keys(tool)[0];\n config = tool[toolName];\n ToolClass = toolMapping[toolName];\n }\n \n if (ToolClass) {\n const toolInstance = new ToolClass(this.editor, config);\n this.toolbar.appendChild(toolInstance.button);\n }\n });\n\n // Append preview button at the end\n if (this.options.includes('preview')) {\n const previewToolInstance = new PreviewTool(this.editor);\n this.toolbar.appendChild(previewToolInstance.button); // Directly append to toolbar at the end\n }\n\n this.editor.editorContainer.insertBefore(this.toolbar, this.editor.markdownEditorDiv);\n }\n}\n\nexport default Toolbar;\n","export default class Diff {\n diff(oldStr, newStr, \n // Type below is not accurate/complete - see above for full possibilities - but it compiles\n options = {}) {\n let callback;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n else if ('callback' in options) {\n callback = options.callback;\n }\n // Allow subclasses to massage the input prior to running\n const oldString = this.castInput(oldStr, options);\n const newString = this.castInput(newStr, options);\n const oldTokens = this.removeEmpty(this.tokenize(oldString, options));\n const newTokens = this.removeEmpty(this.tokenize(newString, options));\n return this.diffWithOptionsObj(oldTokens, newTokens, options, callback);\n }\n diffWithOptionsObj(oldTokens, newTokens, options, callback) {\n var _a;\n const done = (value) => {\n value = this.postProcess(value, options);\n if (callback) {\n setTimeout(function () { callback(value); }, 0);\n return undefined;\n }\n else {\n return value;\n }\n };\n const newLen = newTokens.length, oldLen = oldTokens.length;\n let editLength = 1;\n let maxEditLength = newLen + oldLen;\n if (options.maxEditLength != null) {\n maxEditLength = Math.min(maxEditLength, options.maxEditLength);\n }\n const maxExecutionTime = (_a = options.timeout) !== null && _a !== void 0 ? _a : Infinity;\n const abortAfterTimestamp = Date.now() + maxExecutionTime;\n const bestPath = [{ oldPos: -1, lastComponent: undefined }];\n // Seed editLength = 0, i.e. the content starts with the same values\n let newPos = this.extractCommon(bestPath[0], newTokens, oldTokens, 0, options);\n if (bestPath[0].oldPos + 1 >= oldLen && newPos + 1 >= newLen) {\n // Identity per the equality and tokenizer\n return done(this.buildValues(bestPath[0].lastComponent, newTokens, oldTokens));\n }\n // Once we hit the right edge of the edit graph on some diagonal k, we can\n // definitely reach the end of the edit graph in no more than k edits, so\n // there's no point in considering any moves to diagonal k+1 any more (from\n // which we're guaranteed to need at least k+1 more edits).\n // Similarly, once we've reached the bottom of the edit graph, there's no\n // point considering moves to lower diagonals.\n // We record this fact by setting minDiagonalToConsider and\n // maxDiagonalToConsider to some finite value once we've hit the edge of\n // the edit graph.\n // This optimization is not faithful to the original algorithm presented in\n // Myers's paper, which instead pointlessly extends D-paths off the end of\n // the edit graph - see page 7 of Myers's paper which notes this point\n // explicitly and illustrates it with a diagram. This has major performance\n // implications for some common scenarios. For instance, to compute a diff\n // where the new text simply appends d characters on the end of the\n // original text of length n, the true Myers algorithm will take O(n+d^2)\n // time while this optimization needs only O(n+d) time.\n let minDiagonalToConsider = -Infinity, maxDiagonalToConsider = Infinity;\n // Main worker method. checks all permutations of a given edit length for acceptance.\n const execEditLength = () => {\n for (let diagonalPath = Math.max(minDiagonalToConsider, -editLength); diagonalPath <= Math.min(maxDiagonalToConsider, editLength); diagonalPath += 2) {\n let basePath;\n const removePath = bestPath[diagonalPath - 1], addPath = bestPath[diagonalPath + 1];\n if (removePath) {\n // No one else is going to attempt to use this value, clear it\n // @ts-expect-error - perf optimisation. This type-violating value will never be read.\n bestPath[diagonalPath - 1] = undefined;\n }\n let canAdd = false;\n if (addPath) {\n // what newPos will be after we do an insertion:\n const addPathNewPos = addPath.oldPos - diagonalPath;\n canAdd = addPath && 0 <= addPathNewPos && addPathNewPos < newLen;\n }\n const canRemove = removePath && removePath.oldPos + 1 < oldLen;\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n // @ts-expect-error - perf optimisation. This type-violating value will never be read.\n bestPath[diagonalPath] = undefined;\n continue;\n }\n // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the old string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n if (!canRemove || (canAdd && removePath.oldPos < addPath.oldPos)) {\n basePath = this.addToPath(addPath, true, false, 0, options);\n }\n else {\n basePath = this.addToPath(removePath, false, true, 1, options);\n }\n newPos = this.extractCommon(basePath, newTokens, oldTokens, diagonalPath, options);\n if (basePath.oldPos + 1 >= oldLen && newPos + 1 >= newLen) {\n // If we have hit the end of both strings, then we are done\n return done(this.buildValues(basePath.lastComponent, newTokens, oldTokens)) || true;\n }\n else {\n bestPath[diagonalPath] = basePath;\n if (basePath.oldPos + 1 >= oldLen) {\n maxDiagonalToConsider = Math.min(maxDiagonalToConsider, diagonalPath - 1);\n }\n if (newPos + 1 >= newLen) {\n minDiagonalToConsider = Math.max(minDiagonalToConsider, diagonalPath + 1);\n }\n }\n }\n editLength++;\n };\n // Performs the length of edit iteration. Is a bit fugly as this has to support the\n // sync and async mode which is never fun. Loops over execEditLength until a value\n // is produced, or until the edit length exceeds options.maxEditLength (if given),\n // in which case it will return undefined.\n if (callback) {\n (function exec() {\n setTimeout(function () {\n if (editLength > maxEditLength || Date.now() > abortAfterTimestamp) {\n return callback(undefined);\n }\n if (!execEditLength()) {\n exec();\n }\n }, 0);\n }());\n }\n else {\n while (editLength <= maxEditLength && Date.now() <= abortAfterTimestamp) {\n const ret = execEditLength();\n if (ret) {\n return ret;\n }\n }\n }\n }\n addToPath(path, added, removed, oldPosInc, options) {\n const last = path.lastComponent;\n if (last && !options.oneChangePerToken && last.added === added && last.removed === removed) {\n return {\n oldPos: path.oldPos + oldPosInc,\n lastComponent: { count: last.count + 1, added: added, removed: removed, previousComponent: last.previousComponent }\n };\n }\n else {\n return {\n oldPos: path.oldPos + oldPosInc,\n lastComponent: { count: 1, added: added, removed: removed, previousComponent: last }\n };\n }\n }\n extractCommon(basePath, newTokens, oldTokens, diagonalPath, options) {\n const newLen = newTokens.length, oldLen = oldTokens.length;\n let oldPos = basePath.oldPos, newPos = oldPos - diagonalPath, commonCount = 0;\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(oldTokens[oldPos + 1], newTokens[newPos + 1], options)) {\n newPos++;\n oldPos++;\n commonCount++;\n if (options.oneChangePerToken) {\n basePath.lastComponent = { count: 1, previousComponent: basePath.lastComponent, added: false, removed: false };\n }\n }\n if (commonCount && !options.oneChangePerToken) {\n basePath.lastComponent = { count: commonCount, previousComponent: basePath.lastComponent, added: false, removed: false };\n }\n basePath.oldPos = oldPos;\n return newPos;\n }\n equals(left, right, options) {\n if (options.comparator) {\n return options.comparator(left, right);\n }\n else {\n return left === right\n || (!!options.ignoreCase && left.toLowerCase() === right.toLowerCase());\n }\n }\n removeEmpty(array) {\n const ret = [];\n for (let i = 0; i < array.length; i++) {\n if (array[i]) {\n ret.push(array[i]);\n }\n }\n return ret;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n castInput(value, options) {\n return value;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n tokenize(value, options) {\n return Array.from(value);\n }\n join(chars) {\n // Assumes ValueT is string, which is the case for most subclasses.\n // When it's false, e.g. in diffArrays, this method needs to be overridden (e.g. with a no-op)\n // Yes, the casts are verbose and ugly, because this pattern - of having the base class SORT OF\n // assume tokens and values are strings, but not completely - is weird and janky.\n return chars.join('');\n }\n postProcess(changeObjects, \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n options) {\n return changeObjects;\n }\n get useLongestToken() {\n return false;\n }\n buildValues(lastComponent, newTokens, oldTokens) {\n // First we convert our linked list of components in reverse order to an\n // array in the right order:\n const components = [];\n let nextComponent;\n while (lastComponent) {\n components.push(lastComponent);\n nextComponent = lastComponent.previousComponent;\n delete lastComponent.previousComponent;\n lastComponent = nextComponent;\n }\n components.reverse();\n const componentLen = components.length;\n let componentPos = 0, newPos = 0, oldPos = 0;\n for (; componentPos < componentLen; componentPos++) {\n const component = components[componentPos];\n if (!component.removed) {\n if (!component.added && this.useLongestToken) {\n let value = newTokens.slice(newPos, newPos + component.count);\n value = value.map(function (value, i) {\n const oldValue = oldTokens[oldPos + i];\n return oldValue.length > value.length ? oldValue : value;\n });\n component.value = this.join(value);\n }\n else {\n component.value = this.join(newTokens.slice(newPos, newPos + component.count));\n }\n newPos += component.count;\n // Common case\n if (!component.added) {\n oldPos += component.count;\n }\n }\n else {\n component.value = this.join(oldTokens.slice(oldPos, oldPos + component.count));\n oldPos += component.count;\n }\n }\n return components;\n }\n}\n","import Diff from './base.js';\nclass CharacterDiff extends Diff {\n}\nexport const characterDiff = new CharacterDiff();\nexport function diffChars(oldStr, newStr, options) {\n return characterDiff.diff(oldStr, newStr, options);\n}\n","import { diffChars } from 'diff';\n\nexport default class UndoRedoManager {\n constructor(editor) {\n this.editor = editor;\n this.textarea = editor.usertextarea;\n this.undoStack = [];\n this.redoStack = [];\n this.lastValue = this.textarea.value;\n this.lastSelection = {\n selectionStart: this.textarea.selectionStart,\n selectionEnd: this.textarea.selectionEnd\n };\n this.debounceDelay = 1000;\n\n this._bindEvents();\n // No need to push initial state, just track lastValue\n }\n\n _bindEvents() {\n this.textarea.addEventListener('keydown', (e) => this._onKeyDown(e));\n this.textarea.addEventListener('input', (e) => this._onInput(e));\n this.textarea.addEventListener('paste', () => this._saveState());\n this.textarea.addEventListener('blur', () => this._saveState());\n this.textarea.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === 'Backspace' || e.key === 'Delete') {\n this._saveState();\n }\n });\n }\n\n _onKeyDown(e) {\n // Undo: Cmd+Z (Mac) or Ctrl+Z (others)\n if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === 'z' && !e.shiftKey) {\n e.preventDefault();\n this.undo();\n return;\n }\n // Redo: Cmd+Shift+Z (Mac), Ctrl+Y or Ctrl+Shift+Z (others)\n if (\n (e.metaKey && e.key.toLowerCase() === 'z' && e.shiftKey) || // Cmd+Shift+Z (Mac)\n (e.ctrlKey && (e.key.toLowerCase() === 'y' || (e.key.toLowerCase() === 'z' && e.shiftKey))) // Ctrl+Y or Ctrl+Shift+Z (Win/Linux)\n ) {\n e.preventDefault();\n this.redo();\n return;\n }\n }\n\n _onInput(e) {\n clearTimeout(this._debounceTimer);\n\n // Save point if the last character is a word boundary\n const value = this.textarea.value;\n const lastChar = value[this.textarea.selectionStart - 1];\n if (lastChar && /[\\s.,;:!?()\\[\\]{}'\"`~]/.test(lastChar)) {\n this._saveState();\n } else {\n // Otherwise, debounce save point\n this._debounceTimer = setTimeout(() => {\n this._saveState();\n }, this.debounceDelay);\n }\n }\n\n _saveState() {\n const newValue = this.textarea.value || '';\n if (newValue !== this.lastValue) {\n // Store the diff array, not a patch\n const diff = diffChars(this.lastValue, newValue);\n this.undoStack.push({\n diff,\n selection: { ...this.lastSelection }\n });\n this.lastValue = newValue;\n this.lastSelection = {\n selectionStart: this.textarea.selectionStart,\n selectionEnd: this.textarea.selectionEnd\n };\n this.redoStack = [];\n }\n }\n\n undo() {\n if (this.undoStack.length === 0) return;\n const lastStep = this.undoStack.pop();\n\n // Revert the diff\n const prevValue = this._revertDiff(this.lastValue, lastStep.diff);\n this.redoStack.push({\n diff: lastStep.diff,\n selection: { ...this.lastSelection }\n });\n\n this._restoreState(prevValue, lastStep.selection);\n }\n\n redo() {\n if (this.redoStack.length === 0) return;\n const redoStep = this.redoStack.pop();\n\n // Re-apply the diff\n const newValue = this._applyDiff(this.lastValue, redoStep.diff);\n this.undoStack.push({\n diff: redoStep.diff,\n selection: { ...redoStep.selection }\n });\n\n this._restoreState(newValue, redoStep.selection);\n }\n\n _applyDiff(oldValue, diff) {\n // Reconstruct newValue from diff\n let newValue = '';\n diff.forEach(part => {\n if (!part.removed) {\n newValue += part.value;\n }\n });\n return newValue;\n }\n\n _revertDiff(newValue, diff) {\n // Reconstruct oldValue from diff\n let oldValue = '';\n diff.forEach(part => {\n if (!part.added) {\n oldValue += part.value;\n }\n });\n return oldValue;\n }\n\n _restoreState(value, selection) {\n this.textarea.value = value;\n this.textarea.setSelectionRange(\n selection.selectionStart,\n selection.selectionEnd\n );\n this.lastValue = value;\n this.lastSelection = { ...selection };\n this.editor.render();\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * marked v16.1.2 - a markdown parser\n * Copyright (c) 2011-2025, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction L(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var O=L();function H(l){O=l}var E={exec:()=>null};function h(l,e=\"\"){let t=typeof l==\"string\"?l:l.source,n={replace:(r,i)=>{let s=typeof i==\"string\"?i:i.source;return s=s.replace(m.caret,\"$1\"),t=t.replace(r,s),n},getRegex:()=>new RegExp(t,e)};return n}var m={codeRemoveIndent:/^(?: {1,4}| {0,3}\\t)/gm,outputLinkReplace:/\\\\([\\[\\]])/g,indentCodeCompensation:/^(\\s+)(?:```)/,beginningSpace:/^\\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\\n/g,tabCharGlobal:/\\t/g,multipleSpaceGlobal:/\\s+/g,blankLine:/^[ \\t]*$/,doubleBlankLine:/\\n[ \\t]*\\n[ \\t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \\t]?/gm,listReplaceTabs:/^\\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\\[[ xX]\\] /,listReplaceTask:/^\\[[ xX]\\] +/,anyLine:/\\n.*\\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\\||\\| *$/g,tableRowBlankLine:/\\n[ \\t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\\s|>)/i,endPreScriptTag:/^<\\/(pre|code|kbd|script)(\\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,unicodeAlphaNumeric:/[\\p{L}\\p{N}]/u,escapeTest:/[&<>\"']/,escapeReplace:/[&<>\"']/g,escapeTestNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,escapeReplaceNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,unescapeTest:/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig,caret:/(^|[^\\[])\\^/g,percentDecode:/%25/g,findPipe:/\\|/g,splitPipe:/ \\|/,slashPipe:/\\\\\\|/g,carriageReturn:/\\r\\n|\\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\\S*/,endingNewline:/\\n$/,listItemRegex:l=>new RegExp(`^( {0,3}${l})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`),nextBulletRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`),hrRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),fencesBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}(?:\\`\\`\\`|~~~)`),headingBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}#`),htmlBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}<(?:[a-z].*>|!--)`,\"i\")},xe=/^(?:[ \\t]*(?:\\n|$))+/,be=/^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/,Re=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,C=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,Oe=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,j=/(?:[*+-]|\\d{1,9}[.)])/,se=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,ie=h(se).replace(/bull/g,j).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g,\"\").getRegex(),Te=h(se).replace(/bull/g,j).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/table/g,/ {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(),F=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,we=/^[^\\n]+/,Q=/(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/,ye=h(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\",Q).replace(\"title\",/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(),Pe=h(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g,j).getRegex(),v=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",U=/<!--(?:-?>|[\\s\\S]*?(?:-->|$))/,Se=h(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\",\"i\").replace(\"comment\",U).replace(\"tag\",v).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),oe=h(F).replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),$e=h(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\",oe).getRegex(),K={blockquote:$e,code:be,def:ye,fences:Re,heading:Oe,hr:C,html:Se,lheading:ie,list:Pe,newline:xe,paragraph:oe,table:E,text:we},re=h(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),_e={...K,lheading:Te,table:re,paragraph:h(F).replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"table\",re).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex()},Le={...K,html:h(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\",U).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:E,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:h(F).replace(\"hr\",C).replace(\"heading\",` *#{1,6} *[^\n]`).replace(\"lheading\",ie).replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").replace(\"|tag\",\"\").getRegex()},Me=/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,ze=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,ae=/^( {2,}|\\\\)\\n(?!\\s*$)/,Ae=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,D=/[\\p{P}\\p{S}]/u,W=/[\\s\\p{P}\\p{S}]/u,le=/[^\\s\\p{P}\\p{S}]/u,Ee=h(/^((?![*_])punctSpace)/,\"u\").replace(/punctSpace/g,W).getRegex(),ue=/(?!~)[\\p{P}\\p{S}]/u,Ce=/(?!~)[\\s\\p{P}\\p{S}]/u,Ie=/(?:[^\\s\\p{P}\\p{S}]|~)/u,Be=/\\[[^[\\]]*?\\]\\((?:\\\\.|[^\\\\\\(\\)]|\\((?:\\\\.|[^\\\\\\(\\)])*\\))*\\)|`[^`]*?`|<(?! )[^<>]*?>/g,pe=/^(?:\\*+(?:((?!\\*)punct)|[^\\s*]))|^_+(?:((?!_)punct)|([^\\s_]))/,qe=h(pe,\"u\").replace(/punct/g,D).getRegex(),ve=h(pe,\"u\").replace(/punct/g,ue).getRegex(),ce=\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\",De=h(ce,\"gu\").replace(/notPunctSpace/g,le).replace(/punctSpace/g,W).replace(/punct/g,D).getRegex(),Ze=h(ce,\"gu\").replace(/notPunctSpace/g,Ie).replace(/punctSpace/g,Ce).replace(/punct/g,ue).getRegex(),Ge=h(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\",\"gu\").replace(/notPunctSpace/g,le).replace(/punctSpace/g,W).replace(/punct/g,D).getRegex(),He=h(/\\\\(punct)/,\"gu\").replace(/punct/g,D).getRegex(),Ne=h(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),je=h(U).replace(\"(?:-->|$)\",\"-->\").getRegex(),Fe=h(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\",je).replace(\"attribute\",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(),q=/(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/,Qe=h(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]*(?:\\n[ \\t]*)?)(title))?\\s*\\)/).replace(\"label\",q).replace(\"href\",/<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\",/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),he=h(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\",q).replace(\"ref\",Q).getRegex(),de=h(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\",Q).getRegex(),Ue=h(\"reflink|nolink(?!\\\\()\",\"g\").replace(\"reflink\",he).replace(\"nolink\",de).getRegex(),X={_backpedal:E,anyPunctuation:He,autolink:Ne,blockSkip:Be,br:ae,code:ze,del:E,emStrongLDelim:qe,emStrongRDelimAst:De,emStrongRDelimUnd:Ge,escape:Me,link:Qe,nolink:de,punctuation:Ee,reflink:he,reflinkSearch:Ue,tag:Fe,text:Ae,url:E},Ke={...X,link:h(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",q).getRegex(),reflink:h(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",q).getRegex()},N={...X,emStrongRDelimAst:Ze,emStrongLDelim:ve,url:h(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\"i\").replace(\"email\",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])((?:\\\\.|[^\\\\])*?(?:\\\\.|[^\\s~\\\\]))\\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/},We={...N,br:h(ae).replace(\"{2,}\",\"*\").getRegex(),text:h(N.text).replace(\"\\\\b_\",\"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g,\"*\").getRegex()},I={normal:K,gfm:_e,pedantic:Le},M={normal:X,gfm:N,breaks:We,pedantic:Ke};var Xe={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},ke=l=>Xe[l];function w(l,e){if(e){if(m.escapeTest.test(l))return l.replace(m.escapeReplace,ke)}else if(m.escapeTestNoEncode.test(l))return l.replace(m.escapeReplaceNoEncode,ke);return l}function J(l){try{l=encodeURI(l).replace(m.percentDecode,\"%\")}catch{return null}return l}function V(l,e){let t=l.replace(m.findPipe,(i,s,o)=>{let a=!1,u=s;for(;--u>=0&&o[u]===\"\\\\\";)a=!a;return a?\"|\":\" |\"}),n=t.split(m.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push(\"\");for(;r<n.length;r++)n[r]=n[r].trim().replace(m.slashPipe,\"|\");return n}function z(l,e,t){let n=l.length;if(n===0)return\"\";let r=0;for(;r<n;){let i=l.charAt(n-r-1);if(i===e&&!t)r++;else if(i!==e&&t)r++;else break}return l.slice(0,n-r)}function ge(l,e){if(l.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<l.length;n++)if(l[n]===\"\\\\\")n++;else if(l[n]===e[0])t++;else if(l[n]===e[1]&&(t--,t<0))return n;return t>0?-2:-1}function fe(l,e,t,n,r){let i=e.href,s=e.title||null,o=l[1].replace(r.other.outputLinkReplace,\"$1\");n.state.inLink=!0;let a={type:l[0].charAt(0)===\"!\"?\"image\":\"link\",raw:t,href:i,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,a}function Je(l,e,t){let n=l.match(t.other.indentCodeCompensation);if(n===null)return e;let r=n[1];return e.split(`\n`).map(i=>{let s=i.match(t.other.beginningSpace);if(s===null)return i;let[o]=s;return o.length>=r.length?i.slice(r.length):i}).join(`\n`)}var y=class{options;rules;lexer;constructor(e){this.options=e||O}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:\"space\",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,\"\");return{type:\"code\",raw:t[0],codeBlockStyle:\"indented\",text:this.options.pedantic?n:z(n,`\n`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],r=Je(n,t[3]||\"\",this.rules);return{type:\"code\",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,\"$1\"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let r=z(n,\"#\");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:\"heading\",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:\"hr\",raw:z(t[0],`\n`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=z(t[0],`\n`).split(`\n`),r=\"\",i=\"\",s=[];for(;n.length>0;){let o=!1,a=[],u;for(u=0;u<n.length;u++)if(this.rules.other.blockquoteStart.test(n[u]))a.push(n[u]),o=!0;else if(!o)a.push(n[u]);else break;n=n.slice(u);let p=a.join(`\n`),c=p.replace(this.rules.other.blockquoteSetextReplace,`\n $1`).replace(this.rules.other.blockquoteSetextReplace2,\"\");r=r?`${r}\n${p}`:p,i=i?`${i}\n${c}`:c;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,s,!0),this.lexer.state.top=f,n.length===0)break;let k=s.at(-1);if(k?.type===\"code\")break;if(k?.type===\"blockquote\"){let x=k,g=x.raw+`\n`+n.join(`\n`),T=this.blockquote(g);s[s.length-1]=T,r=r.substring(0,r.length-x.raw.length)+T.raw,i=i.substring(0,i.length-x.text.length)+T.text;break}else if(k?.type===\"list\"){let x=k,g=x.raw+`\n`+n.join(`\n`),T=this.list(g);s[s.length-1]=T,r=r.substring(0,r.length-k.raw.length)+T.raw,i=i.substring(0,i.length-x.raw.length)+T.raw,n=g.substring(s.at(-1).raw.length).split(`\n`);continue}}return{type:\"blockquote\",raw:r,tokens:s,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:\"list\",raw:\"\",ordered:r,start:r?+n.slice(0,-1):\"\",loose:!1,items:[]};n=r?`\\\\d{1,9}\\\\${n.slice(-1)}`:`\\\\${n}`,this.options.pedantic&&(n=r?n:\"[*+-]\");let s=this.rules.other.listItemRegex(n),o=!1;for(;e;){let u=!1,p=\"\",c=\"\";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;p=t[0],e=e.substring(p.length);let f=t[2].split(`\n`,1)[0].replace(this.rules.other.listReplaceTabs,Z=>\" \".repeat(3*Z.length)),k=e.split(`\n`,1)[0],x=!f.trim(),g=0;if(this.options.pedantic?(g=2,c=f.trimStart()):x?g=t[1].length+1:(g=t[2].search(this.rules.other.nonSpaceChar),g=g>4?1:g,c=f.slice(g),g+=t[1].length),x&&this.rules.other.blankLine.test(k)&&(p+=k+`\n`,e=e.substring(k.length+1),u=!0),!u){let Z=this.rules.other.nextBulletRegex(g),ee=this.rules.other.hrRegex(g),te=this.rules.other.fencesBeginRegex(g),ne=this.rules.other.headingBeginRegex(g),me=this.rules.other.htmlBeginRegex(g);for(;e;){let G=e.split(`\n`,1)[0],A;if(k=G,this.options.pedantic?(k=k.replace(this.rules.other.listReplaceNesting,\" \"),A=k):A=k.replace(this.rules.other.tabCharGlobal,\" \"),te.test(k)||ne.test(k)||me.test(k)||Z.test(k)||ee.test(k))break;if(A.search(this.rules.other.nonSpaceChar)>=g||!k.trim())c+=`\n`+A.slice(g);else{if(x||f.replace(this.rules.other.tabCharGlobal,\" \").search(this.rules.other.nonSpaceChar)>=4||te.test(f)||ne.test(f)||ee.test(f))break;c+=`\n`+k}!x&&!k.trim()&&(x=!0),p+=G+`\n`,e=e.substring(G.length+1),f=A.slice(g)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(p)&&(o=!0));let T=null,Y;this.options.gfm&&(T=this.rules.other.listIsTask.exec(c),T&&(Y=T[0]!==\"[ ] \",c=c.replace(this.rules.other.listReplaceTask,\"\"))),i.items.push({type:\"list_item\",raw:p,task:!!T,checked:Y,loose:!1,text:c,tokens:[]}),i.raw+=p}let a=i.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let u=0;u<i.items.length;u++)if(this.lexer.state.top=!1,i.items[u].tokens=this.lexer.blockTokens(i.items[u].text,[]),!i.loose){let p=i.items[u].tokens.filter(f=>f.type===\"space\"),c=p.length>0&&p.some(f=>this.rules.other.anyLine.test(f.raw));i.loose=c}if(i.loose)for(let u=0;u<i.items.length;u++)i.items[u].loose=!0;return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:\"html\",block:!0,raw:t[0],pre:t[1]===\"pre\"||t[1]===\"script\"||t[1]===\"style\",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,\" \"),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,\"$1\").replace(this.rules.inline.anyPunctuation,\"$1\"):\"\",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,\"$1\"):t[3];return{type:\"def\",tag:n,raw:t[0],href:r,title:i}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=V(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,\"\").split(\"|\"),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,\"\").split(`\n`):[],s={type:\"table\",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let o of r)this.rules.other.tableAlignRight.test(o)?s.align.push(\"right\"):this.rules.other.tableAlignCenter.test(o)?s.align.push(\"center\"):this.rules.other.tableAlignLeft.test(o)?s.align.push(\"left\"):s.align.push(null);for(let o=0;o<n.length;o++)s.header.push({text:n[o],tokens:this.lexer.inline(n[o]),header:!0,align:s.align[o]});for(let o of i)s.rows.push(V(o,s.header.length).map((a,u)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:s.align[u]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:\"heading\",raw:t[0],depth:t[2].charAt(0)===\"=\"?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`\n`?t[1].slice(0,-1):t[1];return{type:\"paragraph\",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:\"text\",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:\"escape\",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:\"html\",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=z(n.slice(0,-1),\"\\\\\");if((n.length-s.length)%2===0)return}else{let s=ge(t[2],\"()\");if(s===-2)return;if(s>-1){let a=(t[0].indexOf(\"!\")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,a).trim(),t[3]=\"\"}}let r=t[2],i=\"\";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=t[3]?t[3].slice(1,-1):\"\";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),fe(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,\"$1\"),title:i&&i.replace(this.rules.inline.anyPunctuation,\"$1\")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,\" \"),i=t[r.toLowerCase()];if(!i){let s=n[0].charAt(0);return{type:\"text\",raw:s,text:s}}return fe(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=\"\"){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(r[1]||r[2]||\"\")||!n||this.rules.inline.punctuation.exec(n)){let s=[...r[0]].length-1,o,a,u=s,p=0,c=r[0][0]===\"*\"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+s);(r=c.exec(t))!=null;){if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!o)continue;if(a=[...o].length,r[3]||r[4]){u+=a;continue}else if((r[5]||r[6])&&s%3&&!((s+a)%3)){p+=a;continue}if(u-=a,u>0)continue;a=Math.min(a,a+u+p);let f=[...r[0]][0].length,k=e.slice(0,s+r.index+f+a);if(Math.min(s,a)%2){let g=k.slice(1,-1);return{type:\"em\",raw:k,text:g,tokens:this.lexer.inlineTokens(g)}}let x=k.slice(2,-2);return{type:\"strong\",raw:k,text:x,tokens:this.lexer.inlineTokens(x)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal,\" \"),r=this.rules.other.nonSpaceChar.test(n),i=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&i&&(n=n.substring(1,n.length-1)),{type:\"codespan\",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:\"br\",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:\"del\",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,r;return t[2]===\"@\"?(n=t[1],r=\"mailto:\"+n):(n=t[1],r=n),{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,r;if(t[2]===\"@\")n=t[0],r=\"mailto:\"+n;else{let i;do i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??\"\";while(i!==t[0]);n=t[0],t[1]===\"www.\"?r=\"http://\"+t[0]:r=t[0]}return{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:\"text\",raw:t[0],text:t[0],escaped:n}}}};var b=class l{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||O,this.options.tokenizer=this.options.tokenizer||new y,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:m,block:I.normal,inline:M.normal};this.options.pedantic?(t.block=I.pedantic,t.inline=M.pedantic):this.options.gfm&&(t.block=I.gfm,this.options.breaks?t.inline=M.breaks:t.inline=M.gfm),this.tokenizer.rules=t}static get rules(){return{block:I,inline:M}}static lex(e,t){return new l(t).lex(e)}static lexInline(e,t){return new l(t).inlineTokens(e)}lex(e){e=e.replace(m.carriageReturn,`\n`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let n=this.inlineQueue[t];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.options.pedantic&&(e=e.replace(m.tabCharGlobal,\" \").replace(m.spaceLine,\"\"));e;){let r;if(this.options.extensions?.block?.some(s=>(r=s.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let s=t.at(-1);r.raw.length===1&&s!==void 0?s.raw+=`\n`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let s=1/0,o=e.slice(1),a;this.options.extensions.startBlock.forEach(u=>{a=u.call({lexer:this},o),typeof a==\"number\"&&a>=0&&(s=Math.min(s,a))}),s<1/0&&s>=0&&(i=e.substring(0,s+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let s=t.at(-1);n&&s?.type===\"paragraph\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(e){let s=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,r=null;if(this.tokens.links){let o=Object.keys(this.tokens.links);if(o.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)o.includes(r[0].slice(r[0].lastIndexOf(\"[\")+1,-1))&&(n=n.slice(0,r.index)+\"[\"+\"a\".repeat(r[0].length-2)+\"]\"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,r.index)+\"++\"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,r.index)+\"[\"+\"a\".repeat(r[0].length-2)+\"]\"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let i=!1,s=\"\";for(;e;){i||(s=\"\"),i=!1;let o;if(this.options.extensions?.inline?.some(u=>(o=u.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let u=t.at(-1);o.type===\"text\"&&u?.type===\"text\"?(u.raw+=o.raw,u.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,s)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let a=e;if(this.options.extensions?.startInline){let u=1/0,p=e.slice(1),c;this.options.extensions.startInline.forEach(f=>{c=f.call({lexer:this},p),typeof c==\"number\"&&c>=0&&(u=Math.min(u,c))}),u<1/0&&u>=0&&(a=e.substring(0,u+1))}if(o=this.tokenizer.inlineText(a)){e=e.substring(o.raw.length),o.raw.slice(-1)!==\"_\"&&(s=o.raw.slice(-1)),i=!0;let u=t.at(-1);u?.type===\"text\"?(u.raw+=o.raw,u.text+=o.text):t.push(o);continue}if(e){let u=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return t}};var P=class{options;parser;constructor(e){this.options=e||O}space(e){return\"\"}code({text:e,lang:t,escaped:n}){let r=(t||\"\").match(m.notSpaceStart)?.[0],i=e.replace(m.endingNewline,\"\")+`\n`;return r?'<pre><code class=\"language-'+w(r)+'\">'+(n?i:w(i,!0))+`</code></pre>\n`:\"<pre><code>\"+(n?i:w(i,!0))+`</code></pre>\n`}blockquote({tokens:e}){return`<blockquote>\n${this.parser.parse(e)}</blockquote>\n`}html({text:e}){return e}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>\n`}hr(e){return`<hr>\n`}list(e){let t=e.ordered,n=e.start,r=\"\";for(let o=0;o<e.items.length;o++){let a=e.items[o];r+=this.listitem(a)}let i=t?\"ol\":\"ul\",s=t&&n!==1?' start=\"'+n+'\"':\"\";return\"<\"+i+s+`>\n`+r+\"</\"+i+`>\n`}listitem(e){let t=\"\";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type===\"paragraph\"?(e.tokens[0].text=n+\" \"+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type===\"text\"&&(e.tokens[0].tokens[0].text=n+\" \"+w(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:\"text\",raw:n+\" \",text:n+\" \",escaped:!0}):t+=n+\" \"}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>\n`}checkbox({checked:e}){return\"<input \"+(e?'checked=\"\" ':\"\")+'disabled=\"\" type=\"checkbox\">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>\n`}table(e){let t=\"\",n=\"\";for(let i=0;i<e.header.length;i++)n+=this.tablecell(e.header[i]);t+=this.tablerow({text:n});let r=\"\";for(let i=0;i<e.rows.length;i++){let s=e.rows[i];n=\"\";for(let o=0;o<s.length;o++)n+=this.tablecell(s[o]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),`<table>\n<thead>\n`+t+`</thead>\n`+r+`</table>\n`}tablerow({text:e}){return`<tr>\n${e}</tr>\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?\"th\":\"td\";return(e.align?`<${n} align=\"${e.align}\">`:`<${n}>`)+t+`</${n}>\n`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${w(e,!0)}</code>`}br(e){return\"<br>\"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=J(e);if(i===null)return r;e=i;let s='<a href=\"'+e+'\"';return t&&(s+=' title=\"'+w(t)+'\"'),s+=\">\"+r+\"</a>\",s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=J(e);if(i===null)return w(n);e=i;let s=`<img src=\"${e}\" alt=\"${n}\"`;return t&&(s+=` title=\"${w(t)}\"`),s+=\">\",s}text(e){return\"tokens\"in e&&e.tokens?this.parser.parseInline(e.tokens):\"escaped\"in e&&e.escaped?e.text:w(e.text)}};var S=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return\"\"+e}image({text:e}){return\"\"+e}br(){return\"\"}};var R=class l{options;renderer;textRenderer;constructor(e){this.options=e||O,this.options.renderer=this.options.renderer||new P,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new S}static parse(e,t){return new l(t).parse(e)}static parseInline(e,t){return new l(t).parseInline(e)}parse(e,t=!0){let n=\"\";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let o=i,a=this.options.extensions.renderers[o.type].call({parser:this},o);if(a!==!1||![\"space\",\"hr\",\"heading\",\"code\",\"table\",\"blockquote\",\"list\",\"html\",\"paragraph\",\"text\"].includes(o.type)){n+=a||\"\";continue}}let s=i;switch(s.type){case\"space\":{n+=this.renderer.space(s);continue}case\"hr\":{n+=this.renderer.hr(s);continue}case\"heading\":{n+=this.renderer.heading(s);continue}case\"code\":{n+=this.renderer.code(s);continue}case\"table\":{n+=this.renderer.table(s);continue}case\"blockquote\":{n+=this.renderer.blockquote(s);continue}case\"list\":{n+=this.renderer.list(s);continue}case\"html\":{n+=this.renderer.html(s);continue}case\"paragraph\":{n+=this.renderer.paragraph(s);continue}case\"text\":{let o=s,a=this.renderer.text(o);for(;r+1<e.length&&e[r+1].type===\"text\";)o=e[++r],a+=`\n`+this.renderer.text(o);t?n+=this.renderer.paragraph({type:\"paragraph\",raw:a,text:a,tokens:[{type:\"text\",raw:a,text:a,escaped:!0}]}):n+=a;continue}default:{let o='Token with \"'+s.type+'\" type was not found.';if(this.options.silent)return console.error(o),\"\";throw new Error(o)}}}return n}parseInline(e,t=this.renderer){let n=\"\";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let o=this.options.extensions.renderers[i.type].call({parser:this},i);if(o!==!1||![\"escape\",\"html\",\"link\",\"image\",\"strong\",\"em\",\"codespan\",\"br\",\"del\",\"text\"].includes(i.type)){n+=o||\"\";continue}}let s=i;switch(s.type){case\"escape\":{n+=t.text(s);break}case\"html\":{n+=t.html(s);break}case\"link\":{n+=t.link(s);break}case\"image\":{n+=t.image(s);break}case\"strong\":{n+=t.strong(s);break}case\"em\":{n+=t.em(s);break}case\"codespan\":{n+=t.codespan(s);break}case\"br\":{n+=t.br(s);break}case\"del\":{n+=t.del(s);break}case\"text\":{n+=t.text(s);break}default:{let o='Token with \"'+s.type+'\" type was not found.';if(this.options.silent)return console.error(o),\"\";throw new Error(o)}}}return n}};var $=class{options;block;constructor(e){this.options=e||O}static passThroughHooks=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?b.lex:b.lexInline}provideParser(){return this.block?R.parse:R.parseInline}};var B=class{defaults=L();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=R;Renderer=P;TextRenderer=S;Lexer=b;Tokenizer=y;Hooks=$;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case\"table\":{let i=r;for(let s of i.header)n=n.concat(this.walkTokens(s.tokens,t));for(let s of i.rows)for(let o of s)n=n.concat(this.walkTokens(o.tokens,t));break}case\"list\":{let i=r;n=n.concat(this.walkTokens(i.items,t));break}default:{let i=r;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{let o=i[s].flat(1/0);n=n.concat(this.walkTokens(o,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error(\"extension name required\");if(\"renderer\"in i){let s=t.renderers[i.name];s?t.renderers[i.name]=function(...o){let a=i.renderer.apply(this,o);return a===!1&&(a=s.apply(this,o)),a}:t.renderers[i.name]=i.renderer}if(\"tokenizer\"in i){if(!i.level||i.level!==\"block\"&&i.level!==\"inline\")throw new Error(\"extension level must be 'block' or 'inline'\");let s=t[i.level];s?s.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level===\"block\"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level===\"inline\"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}\"childTokens\"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=this.defaults.renderer||new P(this.defaults);for(let s in n.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if([\"options\",\"parser\"].includes(s))continue;let o=s,a=n.renderer[o],u=i[o];i[o]=(...p)=>{let c=a.apply(i,p);return c===!1&&(c=u.apply(i,p)),c||\"\"}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new y(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if([\"options\",\"rules\",\"lexer\"].includes(s))continue;let o=s,a=n.tokenizer[o],u=i[o];i[o]=(...p)=>{let c=a.apply(i,p);return c===!1&&(c=u.apply(i,p)),c}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new $;for(let s in n.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if([\"options\",\"block\"].includes(s))continue;let o=s,a=n.hooks[o],u=i[o];$.passThroughHooks.has(s)?i[o]=p=>{if(this.defaults.async)return Promise.resolve(a.call(i,p)).then(f=>u.call(i,f));let c=a.call(i,p);return u.call(i,c)}:i[o]=(...p)=>{let c=a.apply(i,p);return c===!1&&(c=u.apply(i,p)),c}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;r.walkTokens=function(o){let a=[];return a.push(s.call(this,o)),i&&(a=a.concat(i.call(this,o))),a}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return b.lex(e,t??this.defaults)}parser(e,t){return R.parse(e,t??this.defaults)}parseMarkdown(e){return(n,r)=>{let i={...r},s={...this.defaults,...i},o=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return o(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));if(typeof n>\"u\"||n===null)return o(new Error(\"marked(): input parameter is undefined or null\"));if(typeof n!=\"string\")return o(new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(n)+\", string expected\"));s.hooks&&(s.hooks.options=s,s.hooks.block=e);let a=s.hooks?s.hooks.provideLexer():e?b.lex:b.lexInline,u=s.hooks?s.hooks.provideParser():e?R.parse:R.parseInline;if(s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(n):n).then(p=>a(p,s)).then(p=>s.hooks?s.hooks.processAllTokens(p):p).then(p=>s.walkTokens?Promise.all(this.walkTokens(p,s.walkTokens)).then(()=>p):p).then(p=>u(p,s)).then(p=>s.hooks?s.hooks.postprocess(p):p).catch(o);try{s.hooks&&(n=s.hooks.preprocess(n));let p=a(n,s);s.hooks&&(p=s.hooks.processAllTokens(p)),s.walkTokens&&this.walkTokens(p,s.walkTokens);let c=u(p,s);return s.hooks&&(c=s.hooks.postprocess(c)),c}catch(p){return o(p)}}}onError(e,t){return n=>{if(n.message+=`\nPlease report this to https://github.com/markedjs/marked.`,e){let r=\"<p>An error occurred:</p><pre>\"+w(n.message+\"\",!0)+\"</pre>\";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}};var _=new B;function d(l,e){return _.parse(l,e)}d.options=d.setOptions=function(l){return _.setOptions(l),d.defaults=_.defaults,H(d.defaults),d};d.getDefaults=L;d.defaults=O;d.use=function(...l){return _.use(...l),d.defaults=_.defaults,H(d.defaults),d};d.walkTokens=function(l,e){return _.walkTokens(l,e)};d.parseInline=_.parseInline;d.Parser=R;d.parser=R.parse;d.Renderer=P;d.TextRenderer=S;d.Lexer=b;d.lexer=b.lex;d.Tokenizer=y;d.Hooks=$;d.parse=d;var Dt=d.options,Zt=d.setOptions,Gt=d.use,Ht=d.walkTokens,Nt=d.parseInline,jt=d,Ft=R.parse,Qt=b.lex;export{$ as Hooks,b as Lexer,B as Marked,R as Parser,P as Renderer,S as TextRenderer,y as Tokenizer,O as defaults,L as getDefaults,Qt as lexer,d as marked,Dt as options,jt as parse,Nt as parseInline,Ft as parser,Zt as setOptions,Gt as use,Ht as walkTokens};\n//# sourceMappingURL=marked.esm.js.map\n","import '../styles/main.css';\nimport { marked } from 'marked';\nimport Toolbar from './toolbar/Toolbar.js';\nimport Preview from './Preview.js';\nimport UndoRedoManager from '../utils/UndoRedoManager.js';\n\nmarked.setOptions({\n breaks: true\n});\n\nclass MarkdownEditor {\n constructor(selector, options = {}) {\n this.usertextarea = typeof selector === 'string' ? document.querySelector(selector) : selector;\n this.options = options;\n this.preview = this.options.toolbar.includes('preview');\n this.init();\n\n // Initialize UndoRedoManager if 'undo' or 'redo' is in the toolbar\n if (this.options.toolbar.includes('undo') || this.options.toolbar.includes('redo')) {\n this.undoRedoManager = new UndoRedoManager(this);\n }\n }\n\n init() {\n this.createEditor();\n if (this.options.toolbar) this.addToolbar();\n }\n\n createEditor() {\n if (!this.isTextareaValid()) return;\n\n this.applyDefaultAttributes();\n this.buildEditorLayout();\n this.addInputListener();\n this.render();\n }\n\n isTextareaValid() {\n return this.usertextarea.tagName === 'TEXTAREA';\n }\n\n applyDefaultAttributes() {\n this.usertextarea.classList.add(\n \"fj:textarea\",\n \"fj:focus:ring-0\",\n \"fj:focus:outline-0\",\n \"fj:border-0\",\n \"fj:p-1.5\",\n \"fj:max-w-full\",\n \"fj:size-full\",\n \"fj:bg-transparent\",\n \"fj:outline-0\",\n \"fj:appearance-none\",\n \"fj:prose\",\n \"fj:prose-sm\",\n \"fj:md:prose-base\",\n \"fj:dark:prose-invert\",\n \"fj:overflow-y-auto\",\n );\n if (!this.usertextarea.hasAttribute('placeholder')) {\n this.usertextarea.placeholder = this.options.placeholder || 'Write your markdown...';\n }\n }\n\n buildEditorLayout() {\n this.editorContainer = document.createElement('div');\n this.editorContainer.className = `\n markdown-editor-wrapper\n fj:surface\n fj:surface-1\n fj:surface-outline\n fj:surface-rounded\n fj:overflow-hidden\n `;\n this.usertextarea.parentNode.insertBefore(this.editorContainer, this.usertextarea);\n\n this.markdownEditorDiv = document.createElement('div');\n this.markdownEditorDiv.className = `editor-layout fj:relative`;\n this.editorContainer.appendChild(this.markdownEditorDiv);\n\n this.addTextareaWrapper();\n if (this.preview) this.addPreviewWrapper();\n }\n\n addTextareaWrapper() {\n const textareaContainer = document.createElement('div');\n textareaContainer.className = `\n textarea-wrapper\n fj:surface\n fj:h-full\n fj:p-2\n fj:grid\n fj:after:px-3.5\n fj:after:py-2.5\n fj:after:text-inherit\n fj:[&>textarea]:resize-none\n fj:[&>textarea]:[grid-area:1/1/2/2]\n fj:after:[grid-area:1/1/2/2]\n fj:after:whitespace-pre-wrap\n fj:after:invisible\n fj:after:content-[attr(data-cloned-val)_'_']\n fj:after:border\n `;\n textareaContainer.appendChild(this.usertextarea);\n this.markdownEditorDiv.appendChild(textareaContainer);\n }\n\n \n\n addPreviewWrapper() {\n const previewInstance = new Preview(this.markdownEditorDiv);\n this.previewContent = previewInstance.getPreviewContent();\n }\n\n addInputListener() {\n this.usertextarea.addEventListener('input', () => this.render());\n this.usertextarea.addEventListener('scroll', () => {\n const textarea = this.usertextarea;\n const previewPane = this.previewContent;\n \n // Calculate the proportion of the textarea that has been scrolled\n const textareaScrollRatio = textarea.scrollTop / (textarea.scrollHeight - textarea.clientHeight);\n \n // Apply the same scroll ratio to the preview pane\n previewPane.scrollTop = textareaScrollRatio * (previewPane.scrollHeight - previewPane.clientHeight);\n });\n }\n\n addToolbar() {\n new Toolbar(this, this.options.toolbar || ['bold', 'italic', 'strikethrough']);\n }\n\n insertText(text) {\n const { selectionStart, selectionEnd } = this.usertextarea;\n const value = this.usertextarea.value;\n this.usertextarea.value = `${value.substring(0, selectionStart)}${text}${value.substring(selectionEnd)}`;\n this.usertextarea.focus();\n this.usertextarea.setSelectionRange(selectionStart, selectionStart + text.length);\n\n // Scroll the textarea to the inserted text\n this.scrollToView();\n\n this.render();\n }\n\n scrollToView() {\n const textarea = this.usertextarea;\n \n // Calculate the position of the inserted text\n const selectionStart = textarea.selectionStart;\n \n // Get the line height (height of each row of text)\n const lineHeight = parseInt(window.getComputedStyle(textarea).lineHeight);\n \n // Get how many rows fit into the visible area of the textarea\n const rowsInView = Math.floor(textarea.clientHeight / lineHeight);\n \n // Calculate the current line number of the selectionStart\n const currentLine = Math.floor(selectionStart / textarea.cols);\n \n // Scroll to the line number that places the inserted text in the center\n const targetScrollTop = (currentLine - Math.floor(rowsInView / 2)) * lineHeight;\n \n // Adjust scrollTop to center the cursor's line in the view\n textarea.scrollTop = targetScrollTop;\n }\n \n\n render() {\n const html = marked(this.usertextarea.value);\n if (this.preview) this.previewContent.innerHTML = html;\n }\n}\n\nexport default MarkdownEditor;"],"names":["root","factory","exports","module","define","amd","self","this","Preview","container","_classCallCheck","previewContainer","document","createElement","className","previewContent","appendChild","key","value","MakeTool","editor","title","defaultText","concat","button","createButton","iconHtml","_this","btn","btnClass","replace","toLowerCase","innerHTML","type","addEventListener","event","applySyntax","btnWrapper","_MakeTool","BoldTool","_callSuper","_inherits","textarea","usertextarea","selectionStart","selectionEnd","selectedText","substring","syntax","newText","startsWith","endsWith","slice","insertText","ItalicTool","StrikethroughTool","ULTool","OLTool","PreviewTool","preview","_this$editor$previewC","previewWrapper","parentNode","editorDiv","markdownEditorDiv","enablePreview","disablePreview","classList","toggle","remove","querySelector","render","querySelectorAll","forEach","contains","add","CheckListTool","BlockQuoteTool","modal","size","bodyHTML","mde","target","closest","modalHTML","insertAdjacentHTML","showModal","LinkTool","linkRegex","test","linkText","match","setRangeText","modalElement","e","preventDefault","linkInput","linkTextInput","validity","valid","link","close","reportValidity","HeadingTool","currentHeading","cleanText","currentLevel","headingCount","length","repeat","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_defineProperties","_toPropertyKey","_typeof","toPrimitive","String","Number","_toPrimitive","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","valueOf","_setPrototypeOf","ImageTool","config","undefined","fileInputConfig","fileInput","altInputConfig","altInput","acceptFormats","accept","map","join","altRequired","required","uploadUrl","fileInputTag","imageRegex","altText","fileInputSelector","urlInputSelector","submitBtnSelector","_callee","file","formData","res","result","_t","_context","files","disabled","textContent","FormData","append","fetch","method","body","json","success","path","alert","console","error","imgLinkInput","imgLinkAltInput","imgLink","imgLinkAlt","UndoTool","undoRedoManager","undo","RedoTool","redo","Toolbar","options","toolbar","init","toolMapping","heading","ul","ol","checklist","bold","italic","strikethrough","blockquote","image","tool","ToolClass","toolName","keys","toolInstance","includes","previewToolInstance","editorContainer","insertBefore","Diff","diff","oldStr","newStr","callback","oldString","castInput","newString","oldTokens","removeEmpty","tokenize","newTokens","diffWithOptionsObj","_a","postProcess","setTimeout","newLen","oldLen","editLength","maxEditLength","Math","min","maxExecutionTime","timeout","Infinity","abortAfterTimestamp","Date","now","bestPath","oldPos","lastComponent","newPos","extractCommon","buildValues","minDiagonalToConsider","maxDiagonalToConsider","execEditLength","diagonalPath","max","basePath","removePath","addPath","canAdd","addPathNewPos","canRemove","addToPath","exec","ret","added","removed","oldPosInc","last","oneChangePerToken","count","previousComponent","commonCount","equals","left","right","comparator","ignoreCase","array","push","Array","from","chars","changeObjects","useLongestToken","components","nextComponent","reverse","componentLen","componentPos","component","oldValue","characterDiff","UndoRedoManager","undoStack","redoStack","lastValue","lastSelection","debounceDelay","_bindEvents","_onKeyDown","_onInput","_saveState","metaKey","ctrlKey","shiftKey","_this2","clearTimeout","_debounceTimer","lastChar","newValue","selection","_objectSpread","lastStep","pop","prevValue","_revertDiff","_restoreState","redoStep","_applyDiff","part","setSelectionRange","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","get","obj","prop","hasOwnProperty","L","async","breaks","extensions","gfm","hooks","pedantic","renderer","silent","tokenizer","walkTokens","O","H","E","h","source","s","caret","getRegex","RegExp","codeRemoveIndent","outputLinkReplace","indentCodeCompensation","beginningSpace","endingHash","startingSpaceChar","endingSpaceChar","nonSpaceChar","newLineCharGlobal","tabCharGlobal","multipleSpaceGlobal","blankLine","doubleBlankLine","blockquoteStart","blockquoteSetextReplace","blockquoteSetextReplace2","listReplaceTabs","listReplaceNesting","listIsTask","listReplaceTask","anyLine","hrefBrackets","tableDelimiter","tableAlignChars","tableRowBlankLine","tableAlignRight","tableAlignCenter","tableAlignLeft","startATag","endATag","startPreScriptTag","endPreScriptTag","startAngleBracket","endAngleBracket","pedanticHrefTitle","unicodeAlphaNumeric","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","unescapeTest","percentDecode","findPipe","splitPipe","slashPipe","carriageReturn","spaceLine","notSpaceStart","endingNewline","listItemRegex","nextBulletRegex","hrRegex","fencesBeginRegex","headingBeginRegex","htmlBeginRegex","C","j","se","ie","Te","F","Q","ye","Pe","U","Se","oe","K","code","def","fences","hr","html","lheading","list","newline","paragraph","table","text","re","_e","Le","ae","D","W","le","Ee","ue","pe","qe","ve","ce","De","Ze","Ge","He","Ne","je","Fe","q","Qe","he","de","X","_backpedal","anyPunctuation","autolink","blockSkip","br","del","emStrongLDelim","emStrongRDelimAst","emStrongRDelimUnd","escape","nolink","punctuation","reflink","reflinkSearch","tag","url","Ke","N","We","I","normal","M","Xe","ke","J","encodeURI","V","split","trim","shift","at","splice","z","charAt","fe","href","other","state","inLink","raw","tokens","inlineTokens","rules","lexer","space","block","codeBlockStyle","Je","lang","inline","depth","top","blockTokens","k","x","g","T","ordered","start","loose","items","Z","trimStart","search","ee","te","ne","me","A","Y","task","checked","trimEnd","filter","some","pre","header","align","rows","inRawBlock","indexOf","ge","emStrong","lastIndex","index","codespan","inlineText","escaped","b","inlineQueue","links","lex","lexInline","src","startBlock","charCodeAt","Error","lastIndexOf","startInline","P","parser","parse","parseInline","listitem","checkbox","unshift","tablecell","tablerow","strong","em","textRenderer","S","R","renderers","$","static","Set","preprocess","postprocess","processAllTokens","provideLexer","provideParser","_","defaults","setOptions","parseMarkdown","Parser","Renderer","TextRenderer","Lexer","Tokenizer","Hooks","use","childTokens","flat","name","level","passThroughHooks","has","onError","toString","all","catch","message","reject","getDefaults","marked","MarkdownEditor","selector","createEditor","addToolbar","isTextareaValid","applyDefaultAttributes","buildEditorLayout","addInputListener","tagName","hasAttribute","placeholder","addTextareaWrapper","addPreviewWrapper","textareaContainer","previewInstance","getPreviewContent","previewPane","textareaScrollRatio","scrollTop","scrollHeight","clientHeight","_this$usertextarea","focus","scrollToView","lineHeight","parseInt","window","getComputedStyle","rowsInView","floor","targetScrollTop","cols"],"sourceRoot":""}
1
+ {"version":3,"file":"markdown-text-editor.js","mappings":"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","sources":["webpack://MarkdownEditor/webpack/universalModuleDefinition","webpack://MarkdownEditor/./src/components/Preview.js","webpack://MarkdownEditor/./src/components/toolbar/MakeTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/BoldTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ItalicTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/StrikethroughTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ULTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/OLTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/PreviewTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/CheckListTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/BlockQuoteTool.js","webpack://MarkdownEditor/./src/components/modal.js","webpack://MarkdownEditor/./src/components/toolbar/tools/LinkTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/HeadingTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ImageTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/UndoTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/RedoTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/IndentTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/OutdentTool.js","webpack://MarkdownEditor/./src/components/toolbar/Toolbar.js","webpack://MarkdownEditor/./src/utils/IndentManager.js","webpack://MarkdownEditor/./src/utils/ListManager.js","webpack://MarkdownEditor/./node_modules/diff/libesm/diff/base.js","webpack://MarkdownEditor/./node_modules/diff/libesm/diff/character.js","webpack://MarkdownEditor/./src/utils/UndoRedoManager.js","webpack://MarkdownEditor/webpack/bootstrap","webpack://MarkdownEditor/webpack/runtime/define property getters","webpack://MarkdownEditor/webpack/runtime/hasOwnProperty shorthand","webpack://MarkdownEditor/./node_modules/marked/lib/marked.esm.js","webpack://MarkdownEditor/./src/components/Editor.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MarkdownEditor\"] = factory();\n\telse\n\t\troot[\"MarkdownEditor\"] = factory();\n})(Object(typeof self !== \"undefined\" ? self : this), () => {\nreturn ","class Preview {\n constructor(container) {\n this.previewContainer = document.createElement('div');\n this.previewContainer.className = 'preview-wrapper fj:p-2 fj:hidden fj:surface fj:surface-outline fj:border-0 fj:border-l';\n this.previewContent = document.createElement('div');\n this.previewContent.className = 'preview-content fj:prose fj:prose-sm fj:md:prose-base fj:prose-frutjam fj:p-1.5 fj:overflow-y-auto fj:h-[90lvh] fj:max-w-full';\n this.previewContainer.appendChild(this.previewContent);\n container.appendChild(this.previewContainer);\n }\n\n getPreviewContent() {\n return this.previewContent;\n }\n}\n\nexport default Preview;","class MakeTool {\n constructor(editor, title) {\n this.editor = editor;\n this.defaultText = `${title} text`; // Default text if nothing is selected\n this.button = this.createButton();\n this.title = title\n }\n\n // Create a button element (can be overridden in child classes)\n createButton(iconHtml) {\n const btn = document.createElement('button');\n const btnClass = this.title ? `${this.title.replace(/ /g, '-')}-btn`.toLowerCase() : '';\n btn.innerHTML = iconHtml; // Pass icon HTML from child classes\n btn.type = 'button';\n btn.title = this.title;\n btn.className = `markdown-btn ${btnClass} fj:btn fj:btn-xs fj:btn-square fj:btn-ghost`;\n btn.addEventListener('click', (event) => this.applySyntax(event)); // Default to 'both', can change in child\n\n if(btnClass == 'preview-btn') {\n const btnWrapper = document.createElement('div');\n btnWrapper.className = 'fj:surface fj:surface-outline fj:border-0 fj:border-l fj:sticky fj:-right-2 fj:px-1.5';\n btnWrapper.appendChild(btn);\n return btnWrapper;\n }\n \n return btn;\n }\n}\n\nexport default MakeTool;\n","import MakeTool from '../MakeTool.js';\n\nclass BoldTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Bold');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 5h6a3.5 3.5 0 0 1 0 7h-6l0 -7\" /><path d=\"M13 12h1a3.5 3.5 0 0 1 0 7h-7v-7\" /></svg>\n `)\n }\n\n // Apply bold syntax (**bold**)\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '**';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the bold syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply bold syntax\n newText = `${syntax}${selectedText || 'Bold text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default BoldTool;\n","import MakeTool from '../MakeTool.js';\n\nclass ItalicTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for italic (*)\n super(editor, 'Italic');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M11 5l6 0\" /><path d=\"M7 19l6 0\" /><path d=\"M14 5l-4 14\" /></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '*';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the italic syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply italic syntax\n newText = `${syntax}${selectedText || 'Italic text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default ItalicTool;","import MakeTool from '../MakeTool.js';\n\nclass StrikethroughTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for strikethrough (~~)\n super(editor, 'Strikethrough');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M5 12l14 0\" /><path d=\"M16 6.5a4 2 0 0 0 -4 -1.5h-1a3.5 3.5 0 0 0 0 7h2a3.5 3.5 0 0 1 0 7h-1.5a4 2 0 0 1 -4 -1.5\" /></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '~';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the strikethrough syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply strikethrough syntax\n newText = `${syntax}${selectedText || 'Strikethrough text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default StrikethroughTool;","import MakeTool from '../MakeTool.js';\n\nclass ULTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Unordered list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M9 6l11 0\" /><path d=\"M9 12l11 0\" /><path d=\"M9 18l11 0\" /><path d=\"M5 6l0 .01\" /><path d=\"M5 12l0 .01\" /><path d=\"M5 18l0 .01\" /></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '- ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the Unordered syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply Unordered list syntax\n newText = `${syntax}${selectedText || 'Unordered list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default ULTool;","import MakeTool from '../MakeTool.js';\n\nclass OLTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Ordered list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M11 6h9\" /><path d=\"M11 12h9\" /><path d=\"M12 18h8\" /><path d=\"M4 16a2 2 0 1 1 4 0c0 .591 -.5 1 -1 1.5l-3 2.5h4\" /><path d=\"M6 10v-6l-2 2\" /></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '1. ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the ordered syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply ordered list syntax\n newText = `${syntax}${selectedText || 'Ordered list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default OLTool;","// #components/Toolbar/tools/PreviewToggleTool.js\nimport MakeTool from '../MakeTool.js';\n\nclass PreviewTool extends MakeTool {\n constructor(editor) {\n // No markdown syntax for preview toggle, so we call the parent constructor with empty values\n super(editor, 'Preview');\n this.preview = true;\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M12 4v16\" /><path d=\"M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14\" /><path d=\"M12 13l7.5 -7.5\" /><path d=\"M12 18l8 -8\" /><path d=\"M15 20l5 -5\" /><path d=\"M12 8l4 -4\" /></svg>\n `);\n }\n\n // Override applySyntax to handle preview toggling\n applySyntax() {\n const previewWrapper = this.editor.previewContent?.parentNode;\n const editorDiv = this.editor.markdownEditorDiv;\n\n if (!previewWrapper || !editorDiv) return;\n\n // Toggle the preview's visibility by switching between 'block' and 'hidden' classes\n if (this.editor.preview && this.preview) {\n this.enablePreview(previewWrapper, editorDiv);\n } else {\n this.disablePreview(previewWrapper, editorDiv);\n }\n }\n\n // Method to hide the preview (disable it)\n disablePreview(previewWrapper, editorDiv) {\n\n this.preview = true;\n\n const textareaWrapper = editorDiv.querySelector(\".textarea-wrapper\");\n\n editorDiv.parentNode.classList.toggle('fj:fixed');\n editorDiv.parentNode.classList.toggle('fj:top-0');\n editorDiv.parentNode.classList.toggle('fj:inset-x-0');\n editorDiv.parentNode.classList.toggle('fj:rounded-md');\n editorDiv.parentNode.classList.toggle('fj:z-999');\n \n // Add grid layout and divide classes to the editor div\n editorDiv.classList.remove(\n 'fj:md:grid-cols-2'\n );\n previewWrapper.classList.add('fj:hidden');\n textareaWrapper.classList.remove(\"fj:hidden\", \"md:grid\");\n\n textareaWrapper.classList.remove(\n 'fj:h-[90lvh]',\n );\n this.editor.render(); // Re-render content in the preview\n\n textareaWrapper.querySelector(\"textarea\").classList.remove(\"fj:h-[90lvh]!\");\n\n if(textareaWrapper.querySelector(\".display-layer\")){\n textareaWrapper.querySelector(\".display-layer\").classList.remove(\"fj:h-[90lvh]!\");\n }\n \n document.querySelector(\"body\").classList.remove('fj:overflow-hidden');\n\n document.querySelectorAll('.markdown-btn').forEach(button => {\n if (!button.classList.contains('preview-btn')) {\n button.classList.remove('fj:pointer-events-none', 'fj:md:pointer-events-auto', 'fj:opacity-25', 'fj:md:opacity-100');\n }else{\n button.classList.remove('fj:btn-active');\n }\n });\n }\n\n // Method to show the preview (enable it)\n enablePreview(previewWrapper, editorDiv) {\n\n this.preview = false;\n \n const textareaWrapper = editorDiv.querySelector(\".textarea-wrapper\");\n\n editorDiv.parentNode.classList.toggle('fj:fixed');\n editorDiv.parentNode.classList.toggle('fj:top-0');\n editorDiv.parentNode.classList.toggle('fj:inset-x-0');\n editorDiv.parentNode.classList.toggle('fj:rounded-md');\n editorDiv.parentNode.classList.toggle('fj:z-999');\n\n // Remove grid layout and divide classes from the editor div\n editorDiv.classList.add(\n 'fj:md:grid-cols-2'\n );\n previewWrapper.classList.remove('fj:hidden');\n textareaWrapper.classList.add(\"fj:hidden\", \"fj:md:grid\");\n\n textareaWrapper.classList.add(\n 'fj:h-[90lvh]',\n );\n\n textareaWrapper.querySelector(\"textarea\").classList.add(\"fj:h-[90lvh]!\");\n\n if(textareaWrapper.querySelector(\".display-layer\")){\n textareaWrapper.querySelector(\".display-layer\").classList.add(\"fj:h-[90lvh]!\");\n }\n\n document.querySelector(\"body\").classList.add('fj:overflow-hidden');\n\n document.querySelectorAll('.markdown-btn').forEach(button => {\n if (!button.classList.contains('preview-btn')) {\n button.classList.add('fj:pointer-events-none', 'fj:md:pointer-events-auto', 'fj:opacity-25', 'fj:md:opacity-100');\n }else{\n button.classList.add('fj:btn-active');\n }\n });\n }\n}\n\nexport default PreviewTool;\n","import MakeTool from '../MakeTool.js';\n\nclass CheckListTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Check list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M3.5 5.5l1.5 1.5l2.5 -2.5\" /><path d=\"M3.5 11.5l1.5 1.5l2.5 -2.5\" /><path d=\"M3.5 17.5l1.5 1.5l2.5 -2.5\" /><path d=\"M11 6l9 0\" /><path d=\"M11 12l9 0\" /><path d=\"M11 18l9 0\" /></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '- [x] ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the checklist syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply check list syntax\n newText = `${syntax}${selectedText || 'Check list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default CheckListTool;","import MakeTool from '../MakeTool.js';\n\nclass BlockQuoteTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for italic (*)\n super(editor, 'Blockquote');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M10 11h-4a1 1 0 0 1 -1 -1v-3a1 1 0 0 1 1 -1h3a1 1 0 0 1 1 1v6c0 2.667 -1.333 4.333 -4 5\" /><path d=\"M19 11h-4a1 1 0 0 1 -1 -1v-3a1 1 0 0 1 1 -1h3a1 1 0 0 1 1 1v6c0 2.667 -1.333 4.333 -4 5\" /></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '>';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the blockquote syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply blockquote syntax\n newText = `${syntax}${selectedText || 'Blockquote text'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default BlockQuoteTool;","export function modal(event, size, bodyHTML) {\n const self = event.target;\n const mde = self.closest(\".markdown-editor-wrapper\");\n if(mde.querySelector(\".markdown-modal\")){\n mde.querySelector(\".markdown-modal\").remove(); \n }\n\n const modalHTML = `\n <dialog class=\"markdown-modal fj:modal fj:modal-y-top fj:lg:modal-y-center fj:modal-x-center\" id=\"nezanuha_toggleModal\">\n <div class=\"fj:modal-body ${size}\">\n ${bodyHTML}\n </div>\n </dialog>\n `;\n\n if(!mde.querySelector(\".markdown-modal\")){\n mde.insertAdjacentHTML(\"beforeend\", modalHTML);\n }\n \n const modal = mde.querySelector(\".markdown-modal\");\n modal.showModal();\n return modal;\n}","import MakeTool from '../MakeTool.js';\nimport { modal } from '../../modal.js';\n\nclass LinkTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Link');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M9 15l6 -6\" /><path d=\"M11 6l.463 -.536a5 5 0 0 1 7.071 7.072l-.534 .464\" /><path d=\"M13 18l-.397 .534a5.068 5.068 0 0 1 -7.127 0a4.972 4.972 0 0 1 0 -7.071l.524 -.463\" /></svg>\n `);\n }\n\n // Apply link syntax [text](url)\n applySyntax(event) {\n let editor = this.editor;\n let textarea = editor.usertextarea;\n let { selectionStart, selectionEnd } = textarea;\n let selectedText = textarea.value.substring(selectionStart, selectionEnd);\n \n // Check if the selected text contains a link syntax [text](url)\n const linkRegex = /\\[([^\\]]+)\\]\\(([^)]+)\\)/;\n \n if (selectedText && linkRegex.test(selectedText)) {\n // If the selected text is already a link, extract the text inside the brackets\n const match = selectedText.match(linkRegex);\n const linkText = match[1]; // Text inside the square brackets\n \n // Replace the selected text with just the text\n textarea.setRangeText(linkText, selectionStart, selectionEnd, 'select');\n } else {\n // If no link syntax, prompt for the URL and apply the syntax\n \n const bodyHTML =`\n <div class=\"fj:flex fj:justify-between fj:items-center fj:gap-3\">\n <div class=\"fj:font-medium\">Link</div>\n <button type=\"button\" class=\"fj:btn fj:btn-ghost fj:btn-xs fj:btn-circle\" onclick=\"nezanuha_toggleModal.remove()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n </div>\n <form method=\"post\">\n <div class=\"fj:flex fj:flex-col fj:justify-center fj:gap-y-4.5 fj:mt-4\">\n <input type=\"url\" placeholder=\"URL\" class=\"link-input fj:input fj:w-full\" required>\n <input type=\"text\" placeholder=\"Link text\" class=\"link-text-input fj:input fj:w-full\" value=\"${selectedText}\" required>\n <button type=\"submit\" class=\"submit-link fj:btn fj:btn-sm fj:self-end\">Apply</button>\n </div>\n </form>`;\n\n const modalElement = modal(event, 'fj:max-w-sm', bodyHTML);\n\n modalElement.querySelector(\".submit-link\").addEventListener(\"click\", function(e){\n e.preventDefault();\n let linkInput = modalElement.querySelector(\".link-input\");\n let linkTextInput = modalElement.querySelector(\".link-text-input\");\n\n if (!linkInput.validity.valid) {\n linkInput.reportValidity();\n } else if (!linkTextInput.validity.valid) {\n linkTextInput.reportValidity();\n } else {\n const link = linkInput.value;\n let linkText = linkTextInput.value;\n\n if(linkText == ''){\n linkText = 'Link Text';\n }\n\n let newText = '';\n if (selectedText) {\n newText = `[${selectedText}](${link})`; // Insert the link with selected text\n } else {\n newText = `[${linkText}](${link})`; // Insert a placeholder text if nothing is selected\n }\n editor.insertText(newText); // Insert the constructed link markdown\n \n linkInput.value = '';\n linkTextInput.value = '';\n modalElement.close();\n }\n });\n }\n }\n \n}\n\nexport default LinkTool;","import MakeTool from '../MakeTool.js';\n\nclass HeadingTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Heading');\n this.currentHeading = 1; // Start with Heading 1\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 12h10\" /><path d=\"M7 5v14\" /><path d=\"M17 5v14\" /><path d=\"M15 19h4\" /><path d=\"M15 5h4\" /><path d=\"M5 19h4\" /><path d=\"M5 5h4\" /></svg>\n `);\n }\n\n // Apply heading syntax (e.g., # sample text for h1, ## sample text for h2, etc.)\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n // Strip any existing heading symbols (i.e., # or ##) from the selected text\n const headingRegex = /^#+\\s*/; // Regex to match any # followed by space\n let cleanText = selectedText.replace(headingRegex, ''); // Remove existing heading\n\n let newText = '';\n\n // If there is a heading, continue from the current level\n if (selectedText) {\n const currentLevel = selectedText.match(/^#+/); // Match the number of # symbols at the start\n if (currentLevel) {\n let headingCount = currentLevel[0].length;\n if (headingCount === 6) {\n newText = cleanText; // Just plain text\n } else {\n newText = `${'#'.repeat(headingCount + 1)} ${cleanText}`;\n }\n } else {\n // If no # symbol, start from # (Heading 1)\n newText = `# ${cleanText}`;\n }\n } else {\n // If no text is selected, use default \"Heading\"\n newText = `${'#'.repeat(this.currentHeading)} Heading`;\n }\n\n // Insert the new heading text and replace any selected text\n this.editor.insertText(newText, true);\n\n // Cycle heading levels after applying the heading\n if (this.currentHeading === 6) {\n this.currentHeading = 1; // Reset to # for Heading 1 after reaching Heading 6\n } else {\n this.currentHeading++; // Increment the heading level\n }\n }\n}\n\nexport default HeadingTool;\n","import MakeTool from '../MakeTool.js';\nimport { modal } from '../../modal.js';\n\nclass ImageTool extends MakeTool {\n constructor(editor, config = {}) {\n super(editor, 'Image link');\n this.config = config;\n this.fileInputConfig = config.fileInput || false;\n // Logic: Respect config or default to true\n this.altInputConfig = config.altInput !== undefined ? config.altInput : { required: true };\n \n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M15 8h.01\" /><path d=\"M12.5 21h-6.5a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v6.5\" /><path d=\"M3 16l5 -5c.928 -.893 2.072 -.893 3 0l4 4\" /><path d=\"M14 14l1 -1c.67 -.644 1.45 -.824 2.182 -.54\" /><path d=\"M16 19h6\" /><path d=\"M19 16v6\" /></svg>\n `);\n }\n\n applySyntax(event) {\n const editor = this.editor;\n const textarea = editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const acceptFormats = this.fileInputConfig.accept\n ? this.fileInputConfig.accept.map(type => `image/${type}`).join(',')\n : 'image/*';\n\n const isAltRequired = typeof this.altInputConfig === 'boolean' \n ? this.altInputConfig \n : (this.altInputConfig.required !== false);\n\n const uploadUrl = this.fileInputConfig.uploadUrl || null;\n const customParams = this.fileInputConfig.params || {};\n\n const imageRegex = /!\\[([^\\]]*)\\]\\(([^)]+)\\)/;\n if (selectedText && imageRegex.test(selectedText)) {\n const match = selectedText.match(imageRegex);\n textarea.setRangeText(match[1], selectionStart, selectionEnd, 'select');\n return;\n }\n\n let fileInputTag = '';\n if (this.fileInputConfig) {\n fileInputTag = `\n <input type=\"file\" accept=\"${acceptFormats}\" class=\"img-file-input fj:input fj:w-full\">\n <div class=\"fj:divider fj:my-1\">OR</div>\n `;\n }\n\n const bodyHTML = `\n <div class=\"fj:flex fj:justify-between fj:items-center fj:gap-3\">\n <div class=\"fj:font-medium\">Image</div>\n <button type=\"button\" class=\"fj:btn fj:btn-ghost fj:btn-xs fj:btn-circle\" onclick=\"nezanuha_toggleModal.remove()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n </div>\n <div class=\"fj:mt-4 fj:flex fj:flex-col fj:gap-y-4\">\n ${fileInputTag}\n <input type=\"url\" placeholder=\"URL\" class=\"img-link-input fj:input fj:w-full\" required>\n <input type=\"text\" placeholder=\"Alt text\" class=\"img-link-alt-input fj:input fj:w-full\" value=\"${selectedText}\" ${isAltRequired ? 'required' : ''}>\n <button type=\"button\" class=\"submit-img-link fj:btn fj:btn-sm fj:self-end\">Apply</button>\n </div>`;\n\n const modalElement = modal(event, 'fj:max-w-sm', bodyHTML);\n const submitBtn = modalElement.querySelector(\".submit-img-link\");\n\n submitBtn.addEventListener(\"click\", async (e) => {\n e.preventDefault();\n\n const fileInputSelector = modalElement.querySelector(\".img-file-input\");\n const urlInputSelector = modalElement.querySelector(\".img-link-input\");\n const imgFileAltInput = modalElement.querySelector(\".img-link-alt-input\");\n\n const hasFile = fileInputSelector?.files[0];\n\n // --- 1. PRE-VALIDATION ---\n // If we are uploading a file, the URL is currently empty, so we temporarily\n // disable the 'required' on URL just to check the Alt text.\n if (hasFile) {\n urlInputSelector.required = false; \n }\n\n // Check if Alt (and URL if no file) are valid according to config\n if (isAltRequired && !imgFileAltInput.validity.valid) {\n imgFileAltInput.reportValidity();\n if (hasFile) urlInputSelector.required = true; // Restore\n return;\n }\n\n if (!hasFile && !urlInputSelector.validity.valid) {\n urlInputSelector.reportValidity();\n return;\n }\n\n // --- 2. ASYNC UPLOAD ---\n if (hasFile && uploadUrl) {\n const file = fileInputSelector.files[0];\n submitBtn.disabled = true;\n submitBtn.textContent = 'Uploading...';\n\n const formData = new FormData();\n formData.append('image_file', file);\n formData.append('image_alt', imgFileAltInput.value);\n\n Object.keys(customParams).forEach(key => {\n formData.append(key, customParams[key]);\n });\n\n try {\n const res = await fetch(uploadUrl, { method: 'POST', body: formData });\n const result = await res.json();\n\n if (result.success && result.image_path) {\n urlInputSelector.value = result.image_path;\n if (result.image_alt) imgFileAltInput.value = result.image_alt;\n } else {\n alert(result.error || result.message || 'Image upload failed.');\n submitBtn.disabled = false;\n submitBtn.textContent = 'Apply';\n urlInputSelector.required = true; // Restore\n return;\n }\n } catch (err) {\n alert(result.error || result.message || 'Upload failed.');\n submitBtn.disabled = false;\n submitBtn.textContent = 'Apply';\n urlInputSelector.required = true; // Restore\n return;\n }\n \n submitBtn.disabled = false;\n submitBtn.textContent = 'Apply';\n }\n\n // --- 3. FINAL INSERTION ---\n const imgLink = urlInputSelector.value;\n const imgLinkAlt = imgFileAltInput.value || '';\n \n const newText = selectedText \n ? `![${selectedText}](${imgLink})` \n : `![${imgLinkAlt}](${imgLink})`;\n\n editor.insertText(newText);\n modalElement.close();\n });\n }\n}\n\nexport default ImageTool;","import MakeTool from '../MakeTool.js';\n\nclass UndoTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Undo');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M9 14l-4 -4l4 -4\" /><path d=\"M5 10h11a4 4 0 1 1 0 8h-1\" /></svg>\n `);\n }\n\n applySyntax() {\n // Check if Undo is available and perform the undo action\n const undoRedoManager = this.editor.undoRedoManager;\n if (undoRedoManager) {\n undoRedoManager.undo();\n }\n }\n}\n\nexport default UndoTool;","import MakeTool from '../MakeTool.js';\n\nclass RedoTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Redo');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M15 14l4 -4l-4 -4\" /><path d=\"M19 10h-11a4 4 0 1 0 0 8h1\" /></svg>\n `);\n }\n\n applySyntax() {\n // Check if Redo is available and perform the redo action\n const undoRedoManager = this.editor.undoRedoManager;\n if (undoRedoManager) {\n undoRedoManager.redo();\n }\n }\n}\n\nexport default RedoTool;\n","import MakeTool from '../MakeTool.js';\n\nclass IndentTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Indent');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M20 6l-11 0\" /><path d=\"M20 12l-7 0\" /><path d=\"M20 18l-11 0\" /><path d=\"M4 8l4 4l-4 4\" /></svg>\n `);\n }\n \n applySyntax() {\n const indentManager = this.editor.indentManager;\n if (indentManager) {\n indentManager.indent();\n } \n }\n}\n\n\nexport default IndentTool;","import MakeTool from '../MakeTool.js';\n\nclass OutdentTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Outdent');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M20 6l-7 0\" /><path d=\"M20 12l-9 0\" /><path d=\"M20 18l-7 0\" /><path d=\"M8 8l-4 4l4 4\" /></svg>\n `);\n }\n \n applySyntax(e) {\n const indentManager = this.editor.indentManager;\n if (indentManager) {\n indentManager.outdent();\n } \n }\n}\n\n\nexport default OutdentTool;","import BoldTool from './tools/BoldTool.js';\nimport ItalicTool from './tools/ItalicTool.js';\nimport StrikethroughTool from './tools/StrikethroughTool.js';\nimport ULTool from './tools/ULTool.js';\nimport OLTool from './tools/OLTool.js';\nimport PreviewTool from './tools/PreviewTool.js'\nimport CheckListTool from './tools/CheckListTool.js';\nimport BlockQuoteTool from './tools/BlockQuoteTool.js';\nimport LinkTool from './tools/LinkTool.js'\nimport HeadingTool from './tools/HeadingTool.js';\nimport ImageTool from './tools/ImageTool.js';\nimport UndoTool from './tools/UndoTool.js';\nimport RedoTool from './tools/RedoTool.js';\nimport IndentTool from './tools/IndentTool.js';\nimport OutdentTool from './tools/OutdentTool.js';\n\nclass Toolbar {\n constructor(editor, options) {\n this.editor = editor;\n this.options = options;\n this.toolbar = document.createElement('div');\n this.toolbar.className = 'toolbar fj:surface fj:surface-outline fj:border-0 fj:border-b fj:flex fj:gap-x-1 fj:p-1.5 fj:overflow-x-auto';\n this.init();\n }\n\n init() {\n const toolMapping = {\n heading: HeadingTool,\n ul: ULTool,\n ol: OLTool,\n checklist: CheckListTool,\n bold: BoldTool,\n italic: ItalicTool,\n strikethrough: StrikethroughTool,\n blockquote: BlockQuoteTool,\n link: LinkTool,\n image: ImageTool,\n undo: UndoTool,\n redo: RedoTool,\n indent: IndentTool,\n outdent: OutdentTool\n };\n\n // Append all tools except preview\n // this.options.forEach(tool => {\n // if (tool !== 'preview') {\n // const ToolClass = toolMapping[tool];\n // if (ToolClass) {\n // const toolInstance = new ToolClass(this.editor);\n // this.toolbar.appendChild(toolInstance.button); // Directly append to toolbar\n // }\n // }\n // });\n\n this.options.forEach(tool => {\n let ToolClass, config;\n \n if (typeof tool === 'string') {\n ToolClass = toolMapping[tool];\n } else if (typeof tool === 'object') {\n const toolName = Object.keys(tool)[0];\n config = tool[toolName];\n ToolClass = toolMapping[toolName];\n }\n \n if (ToolClass) {\n const toolInstance = new ToolClass(this.editor, config);\n this.toolbar.appendChild(toolInstance.button);\n }\n });\n\n // Append preview button at the end\n if (this.options.includes('preview')) {\n const previewToolInstance = new PreviewTool(this.editor);\n this.toolbar.appendChild(previewToolInstance.button); // Directly append to toolbar at the end\n }\n\n this.editor.editorContainer.insertBefore(this.toolbar, this.editor.markdownEditorDiv);\n }\n}\n\nexport default Toolbar;\n","export default class IndentManager {\n constructor(editor, renderCallback) {\n this.editor = editor;\n this.textarea = editor.usertextarea;\n this.renderCallback = renderCallback;\n this.pairs = {\n '{': '}',\n '[': ']',\n '(': ')',\n '<': '>',\n '\"': '\"',\n \"'\": \"'\"\n };\n this.init();\n }\n\n init() {\n this.textarea.addEventListener('keydown', (e) => {\n switch (e.key) {\n case 'Tab':\n e.preventDefault();\n e.shiftKey ? this.outdent() : this.indent();\n this._triggerUpdate();\n break;\n case 'Enter':\n this.autoIndent(e);\n break;\n case 'Backspace':\n this.handleBackspace(e);\n break;\n default:\n if (this.pairs[e.key]) this.handlePairs(e);\n }\n });\n }\n\n handlePairs(e) {\n const { textarea } = this;\n const { selectionStart, selectionEnd, value } = textarea;\n const char = e.key;\n\n // 1. Overtyping Logic\n // If the cursor is right before the closing character and the user types it\n if (selectionStart === selectionEnd && value[selectionStart] === char) {\n const isClosingChar = Object.values(this.pairs).includes(char);\n if (isClosingChar) {\n e.preventDefault();\n const newPos = selectionStart + 1;\n textarea.setSelectionRange(newPos, newPos);\n return; // Just move the cursor, don't trigger an update\n }\n }\n\n const open = char;\n const close = this.pairs[open];\n if (!close) return; // Not a paired character\n\n // 2. Selection Wrapping\n if (selectionStart !== selectionEnd) {\n e.preventDefault();\n const selectedText = value.substring(selectionStart, selectionEnd);\n const newValue = value.substring(0, selectionStart) + open + selectedText + close + value.substring(selectionEnd);\n \n textarea.value = newValue;\n textarea.setSelectionRange(selectionStart + 1, selectionEnd + 1);\n this._triggerUpdate();\n } \n \n // 3. Standard Pair Insertion\n else {\n e.preventDefault();\n const before = value.substring(0, selectionStart);\n const after = value.substring(selectionEnd);\n \n textarea.value = before + open + close + after;\n textarea.setSelectionRange(selectionStart + 1, selectionStart + 1);\n this._triggerUpdate();\n }\n }\n\n // Add this to your init() listener for 'keydown'\n handleBackspace(e) {\n const { textarea } = this;\n const { selectionStart, selectionEnd, value } = textarea;\n\n if (selectionStart === selectionEnd && selectionStart > 0) {\n const charBefore = value[selectionStart - 1];\n const charAfter = value[selectionStart];\n\n // If user deletes '(' when text is '()', delete the ')' too\n if (this.pairs[charBefore] === charAfter) {\n e.preventDefault();\n const before = value.substring(0, selectionStart - 1);\n const after = value.substring(selectionStart + 1);\n \n textarea.value = before + after;\n textarea.setSelectionRange(selectionStart - 1, selectionStart - 1);\n this._triggerUpdate();\n }\n }\n }\n\n autoIndent(e) {\n const { textarea } = this;\n const { selectionStart, value } = textarea;\n\n const lastNewline = value.lastIndexOf('\\n', selectionStart - 1);\n const currentLine = value.substring(lastNewline + 1, selectionStart);\n const indent = (currentLine.match(/^[ \\t]*/) || [''])[0];\n\n // EXTRA: If user hits Enter between { and }, add an extra indent level\n const charBefore = value[selectionStart - 1];\n const charAfter = value[selectionStart];\n \n if (charBefore === '{' && charAfter === '}') {\n e.preventDefault();\n const tab = '\\t'; // or ' '\n const insertion = '\\n' + indent + tab + '\\n' + indent;\n \n textarea.value = value.substring(0, selectionStart) + insertion + value.substring(selectionStart);\n \n // Put cursor on the middle (indented) line\n const newPos = selectionStart + indent.length + tab.length + 1;\n textarea.setSelectionRange(newPos, newPos);\n this._triggerUpdate();\n return;\n }\n\n if (indent.length > 0) {\n e.preventDefault();\n const insertion = '\\n' + indent;\n textarea.value = value.substring(0, selectionStart) + insertion + value.substring(textarea.selectionEnd);\n const newPos = selectionStart + insertion.length;\n textarea.setSelectionRange(newPos, newPos);\n this._triggerUpdate();\n }\n }\n\n _triggerUpdate() {\n if (typeof this.renderCallback === 'function') this.renderCallback();\n this.textarea.dispatchEvent(new Event('input', { bubbles: true }));\n }\n\n // Inside IndentManager class\n indent() {\n const { textarea } = this;\n const { selectionStart, selectionEnd, value } = textarea;\n\n const startPos = value.lastIndexOf('\\n', selectionStart - 1) + 1;\n let endPos = value.indexOf('\\n', selectionEnd);\n if (endPos === -1) endPos = value.length;\n\n const targetText = value.substring(startPos, endPos);\n const lines = targetText.split('\\n');\n const indentedText = lines.map(line => '\\t' + line).join('\\n');\n \n this._applyChange(\n value.substring(0, startPos) + indentedText + value.substring(endPos),\n selectionStart + 1,\n selectionEnd + lines.length\n );\n \n // Add this so external calls auto-update\n this._triggerUpdate(); \n }\n\n outdent() {\n const { textarea } = this;\n const { selectionStart, selectionEnd, value } = textarea;\n\n // 1. Find the start and end of the affected lines\n const startPos = value.lastIndexOf('\\n', selectionStart - 1) + 1;\n let endPos = value.indexOf('\\n', selectionEnd);\n if (endPos === -1) endPos = value.length;\n\n const targetText = value.substring(startPos, endPos);\n const lines = targetText.split('\\n');\n \n let removedFromFirst = 0;\n let totalRemoved = 0;\n\n // 2. Process each line\n const unindentedText = lines.map((line, index) => {\n if (line.startsWith('\\t')) {\n if (index === 0) removedFromFirst = 1;\n totalRemoved++;\n return line.substring(1);\n } else if (line.startsWith(' ')) { // Optional: handle 4-space indent\n if (index === 0) removedFromFirst = 4;\n totalRemoved += 4;\n return line.substring(4);\n }\n return line;\n }).join('\\n');\n\n // 3. Apply the change to the DOM\n this._applyChange(\n value.substring(0, startPos) + unindentedText + value.substring(endPos),\n Math.max(startPos, selectionStart - removedFromFirst),\n Math.max(startPos, selectionEnd - totalRemoved)\n );\n\n // 4. Trigger the undo stack and re-render\n this._triggerUpdate();\n }\n\n _applyChange(newValue, newStart, newEnd) {\n this.textarea.value = newValue;\n this.textarea.setSelectionRange(newStart, newEnd);\n }\n}","class ListManager {\n constructor(editor) {\n this.editor = editor;\n this.textarea = editor.usertextarea;\n\n // Attach the listener directly here\n this.textarea.addEventListener('keydown', (e) => {\n if (e.key === 'Enter') {\n this.handleEnter(e);\n }\n });\n }\n\n handleEnter(event) {\n const { selectionStart, value } = this.textarea;\n\n const lastNewline = value.lastIndexOf('\\n', selectionStart - 1);\n const lineStart = lastNewline + 1;\n const currentLine = value.substring(lineStart, selectionStart);\n\n // Patterns\n const olMatch = currentLine.match(/^(\\s*)(\\d+)\\.\\s/);\n const ulMatch = currentLine.match(/^(\\s*)([\\-\\*] )\\s*/);\n const taskMatch = currentLine.match(/^(\\s*)(\\[[\\s xX]\\] )\\s*/);\n const isEmptyList = currentLine.match(/^(\\s*)(\\d+\\.\\s|[\\-\\*]\\s|\\[[\\s xX]\\]\\s)$/);\n\n // Exit list if line is empty\n if (isEmptyList) {\n event.preventDefault();\n const before = value.substring(0, lineStart);\n const after = value.substring(selectionStart);\n this.textarea.value = before + \"\\n\" + after;\n this.textarea.setSelectionRange(lineStart + 1, lineStart + 1);\n this.editor.render(); // Trigger editor refresh\n return;\n }\n\n let continuation = null;\n if (olMatch) {\n continuation = `${olMatch[1]}${parseInt(olMatch[2]) + 1}. `;\n } else if (taskMatch) {\n continuation = `${taskMatch[1]}[ ] `;\n } else if (ulMatch) {\n continuation = `${ulMatch[1]}${ulMatch[2]}`;\n }\n\n if (continuation) {\n event.preventDefault();\n // Use the editor's existing helper\n this.editor.insertText(`\\n${continuation}`); \n // editor.insertText usually calls render(), \n // but we call it again to be safe if it doesn't\n this.editor.render(); \n }\n }\n}\n\nexport default ListManager;","export default class Diff {\n diff(oldStr, newStr, \n // Type below is not accurate/complete - see above for full possibilities - but it compiles\n options = {}) {\n let callback;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n else if ('callback' in options) {\n callback = options.callback;\n }\n // Allow subclasses to massage the input prior to running\n const oldString = this.castInput(oldStr, options);\n const newString = this.castInput(newStr, options);\n const oldTokens = this.removeEmpty(this.tokenize(oldString, options));\n const newTokens = this.removeEmpty(this.tokenize(newString, options));\n return this.diffWithOptionsObj(oldTokens, newTokens, options, callback);\n }\n diffWithOptionsObj(oldTokens, newTokens, options, callback) {\n var _a;\n const done = (value) => {\n value = this.postProcess(value, options);\n if (callback) {\n setTimeout(function () { callback(value); }, 0);\n return undefined;\n }\n else {\n return value;\n }\n };\n const newLen = newTokens.length, oldLen = oldTokens.length;\n let editLength = 1;\n let maxEditLength = newLen + oldLen;\n if (options.maxEditLength != null) {\n maxEditLength = Math.min(maxEditLength, options.maxEditLength);\n }\n const maxExecutionTime = (_a = options.timeout) !== null && _a !== void 0 ? _a : Infinity;\n const abortAfterTimestamp = Date.now() + maxExecutionTime;\n const bestPath = [{ oldPos: -1, lastComponent: undefined }];\n // Seed editLength = 0, i.e. the content starts with the same values\n let newPos = this.extractCommon(bestPath[0], newTokens, oldTokens, 0, options);\n if (bestPath[0].oldPos + 1 >= oldLen && newPos + 1 >= newLen) {\n // Identity per the equality and tokenizer\n return done(this.buildValues(bestPath[0].lastComponent, newTokens, oldTokens));\n }\n // Once we hit the right edge of the edit graph on some diagonal k, we can\n // definitely reach the end of the edit graph in no more than k edits, so\n // there's no point in considering any moves to diagonal k+1 any more (from\n // which we're guaranteed to need at least k+1 more edits).\n // Similarly, once we've reached the bottom of the edit graph, there's no\n // point considering moves to lower diagonals.\n // We record this fact by setting minDiagonalToConsider and\n // maxDiagonalToConsider to some finite value once we've hit the edge of\n // the edit graph.\n // This optimization is not faithful to the original algorithm presented in\n // Myers's paper, which instead pointlessly extends D-paths off the end of\n // the edit graph - see page 7 of Myers's paper which notes this point\n // explicitly and illustrates it with a diagram. This has major performance\n // implications for some common scenarios. For instance, to compute a diff\n // where the new text simply appends d characters on the end of the\n // original text of length n, the true Myers algorithm will take O(n+d^2)\n // time while this optimization needs only O(n+d) time.\n let minDiagonalToConsider = -Infinity, maxDiagonalToConsider = Infinity;\n // Main worker method. checks all permutations of a given edit length for acceptance.\n const execEditLength = () => {\n for (let diagonalPath = Math.max(minDiagonalToConsider, -editLength); diagonalPath <= Math.min(maxDiagonalToConsider, editLength); diagonalPath += 2) {\n let basePath;\n const removePath = bestPath[diagonalPath - 1], addPath = bestPath[diagonalPath + 1];\n if (removePath) {\n // No one else is going to attempt to use this value, clear it\n // @ts-expect-error - perf optimisation. This type-violating value will never be read.\n bestPath[diagonalPath - 1] = undefined;\n }\n let canAdd = false;\n if (addPath) {\n // what newPos will be after we do an insertion:\n const addPathNewPos = addPath.oldPos - diagonalPath;\n canAdd = addPath && 0 <= addPathNewPos && addPathNewPos < newLen;\n }\n const canRemove = removePath && removePath.oldPos + 1 < oldLen;\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n // @ts-expect-error - perf optimisation. This type-violating value will never be read.\n bestPath[diagonalPath] = undefined;\n continue;\n }\n // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the old string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n if (!canRemove || (canAdd && removePath.oldPos < addPath.oldPos)) {\n basePath = this.addToPath(addPath, true, false, 0, options);\n }\n else {\n basePath = this.addToPath(removePath, false, true, 1, options);\n }\n newPos = this.extractCommon(basePath, newTokens, oldTokens, diagonalPath, options);\n if (basePath.oldPos + 1 >= oldLen && newPos + 1 >= newLen) {\n // If we have hit the end of both strings, then we are done\n return done(this.buildValues(basePath.lastComponent, newTokens, oldTokens)) || true;\n }\n else {\n bestPath[diagonalPath] = basePath;\n if (basePath.oldPos + 1 >= oldLen) {\n maxDiagonalToConsider = Math.min(maxDiagonalToConsider, diagonalPath - 1);\n }\n if (newPos + 1 >= newLen) {\n minDiagonalToConsider = Math.max(minDiagonalToConsider, diagonalPath + 1);\n }\n }\n }\n editLength++;\n };\n // Performs the length of edit iteration. Is a bit fugly as this has to support the\n // sync and async mode which is never fun. Loops over execEditLength until a value\n // is produced, or until the edit length exceeds options.maxEditLength (if given),\n // in which case it will return undefined.\n if (callback) {\n (function exec() {\n setTimeout(function () {\n if (editLength > maxEditLength || Date.now() > abortAfterTimestamp) {\n return callback(undefined);\n }\n if (!execEditLength()) {\n exec();\n }\n }, 0);\n }());\n }\n else {\n while (editLength <= maxEditLength && Date.now() <= abortAfterTimestamp) {\n const ret = execEditLength();\n if (ret) {\n return ret;\n }\n }\n }\n }\n addToPath(path, added, removed, oldPosInc, options) {\n const last = path.lastComponent;\n if (last && !options.oneChangePerToken && last.added === added && last.removed === removed) {\n return {\n oldPos: path.oldPos + oldPosInc,\n lastComponent: { count: last.count + 1, added: added, removed: removed, previousComponent: last.previousComponent }\n };\n }\n else {\n return {\n oldPos: path.oldPos + oldPosInc,\n lastComponent: { count: 1, added: added, removed: removed, previousComponent: last }\n };\n }\n }\n extractCommon(basePath, newTokens, oldTokens, diagonalPath, options) {\n const newLen = newTokens.length, oldLen = oldTokens.length;\n let oldPos = basePath.oldPos, newPos = oldPos - diagonalPath, commonCount = 0;\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(oldTokens[oldPos + 1], newTokens[newPos + 1], options)) {\n newPos++;\n oldPos++;\n commonCount++;\n if (options.oneChangePerToken) {\n basePath.lastComponent = { count: 1, previousComponent: basePath.lastComponent, added: false, removed: false };\n }\n }\n if (commonCount && !options.oneChangePerToken) {\n basePath.lastComponent = { count: commonCount, previousComponent: basePath.lastComponent, added: false, removed: false };\n }\n basePath.oldPos = oldPos;\n return newPos;\n }\n equals(left, right, options) {\n if (options.comparator) {\n return options.comparator(left, right);\n }\n else {\n return left === right\n || (!!options.ignoreCase && left.toLowerCase() === right.toLowerCase());\n }\n }\n removeEmpty(array) {\n const ret = [];\n for (let i = 0; i < array.length; i++) {\n if (array[i]) {\n ret.push(array[i]);\n }\n }\n return ret;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n castInput(value, options) {\n return value;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n tokenize(value, options) {\n return Array.from(value);\n }\n join(chars) {\n // Assumes ValueT is string, which is the case for most subclasses.\n // When it's false, e.g. in diffArrays, this method needs to be overridden (e.g. with a no-op)\n // Yes, the casts are verbose and ugly, because this pattern - of having the base class SORT OF\n // assume tokens and values are strings, but not completely - is weird and janky.\n return chars.join('');\n }\n postProcess(changeObjects, \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n options) {\n return changeObjects;\n }\n get useLongestToken() {\n return false;\n }\n buildValues(lastComponent, newTokens, oldTokens) {\n // First we convert our linked list of components in reverse order to an\n // array in the right order:\n const components = [];\n let nextComponent;\n while (lastComponent) {\n components.push(lastComponent);\n nextComponent = lastComponent.previousComponent;\n delete lastComponent.previousComponent;\n lastComponent = nextComponent;\n }\n components.reverse();\n const componentLen = components.length;\n let componentPos = 0, newPos = 0, oldPos = 0;\n for (; componentPos < componentLen; componentPos++) {\n const component = components[componentPos];\n if (!component.removed) {\n if (!component.added && this.useLongestToken) {\n let value = newTokens.slice(newPos, newPos + component.count);\n value = value.map(function (value, i) {\n const oldValue = oldTokens[oldPos + i];\n return oldValue.length > value.length ? oldValue : value;\n });\n component.value = this.join(value);\n }\n else {\n component.value = this.join(newTokens.slice(newPos, newPos + component.count));\n }\n newPos += component.count;\n // Common case\n if (!component.added) {\n oldPos += component.count;\n }\n }\n else {\n component.value = this.join(oldTokens.slice(oldPos, oldPos + component.count));\n oldPos += component.count;\n }\n }\n return components;\n }\n}\n","import Diff from './base.js';\nclass CharacterDiff extends Diff {\n}\nexport const characterDiff = new CharacterDiff();\nexport function diffChars(oldStr, newStr, options) {\n return characterDiff.diff(oldStr, newStr, options);\n}\n","import { diffChars } from 'diff';\n\nexport default class UndoRedoManager {\n constructor(editor) {\n this.editor = editor;\n this.textarea = editor.usertextarea;\n this.undoStack = [];\n this.redoStack = [];\n \n // Internal tracking\n this.lastValue = this.textarea.value;\n this.lastSelection = {\n selectionStart: this.textarea.selectionStart,\n selectionEnd: this.textarea.selectionEnd\n };\n\n // Settings\n this.debounceDelay = 1000;\n this.maxStackSize = 100;\n this._debounceTimer = null;\n\n this._bindEvents();\n }\n\n _bindEvents() {\n this.textarea.addEventListener('keydown', (e) => this._onKeyDown(e));\n \n // Listen for selection changes to \"pre-save\" state before an overwrite happens\n this.textarea.addEventListener('select', () => this._updateLastSelection());\n this.textarea.addEventListener('mousedown', () => {\n // Check selection after a short delay to let the click finish\n setTimeout(() => this._updateLastSelection(), 0);\n });\n\n this.textarea.addEventListener('beforeinput', (e) => {\n if (e.inputType === 'historyUndo') {\n e.preventDefault();\n this.undo();\n } else if (e.inputType === 'historyRedo') {\n e.preventDefault();\n this.redo();\n }\n });\n\n this.textarea.addEventListener('input', (e) => this._onInput(e));\n this.textarea.addEventListener('paste', () => this._saveState());\n this.textarea.addEventListener('blur', () => this._saveState());\n }\n\n _updateLastSelection() {\n // We only care about updating this if the value hasn't changed yet.\n // This marks the \"starting point\" for the next undo step.\n this.lastSelection = {\n selectionStart: this.textarea.selectionStart,\n selectionEnd: this.textarea.selectionEnd\n };\n }\n\n _onKeyDown(e) {\n const modifier = e.metaKey || e.ctrlKey;\n const isZ = e.key.toLowerCase() === 'z';\n const isY = e.key.toLowerCase() === 'y';\n const isShift = e.shiftKey;\n\n // 1. CRITICAL: Save state before selection is overwritten or deleted\n const hasSelection = this.textarea.selectionStart !== this.textarea.selectionEnd;\n const isDeletiveKey = e.key === 'Backspace' || e.key === 'Delete' || e.key === 'Enter';\n\n if (hasSelection && (e.key.length === 1 || isDeletiveKey)) {\n this._saveState();\n }\n\n // 2. Save state on structural keys (Enter, Delete, etc.) or generic Modifiers\n if (modifier || isDeletiveKey) {\n this._saveState();\n }\n\n // 3. UNDO: (Cmd+Z or Ctrl+Z)\n if (modifier && isZ && !isShift) {\n e.preventDefault();\n this.undo();\n } \n \n // 4. REDO: (Cmd+Shift+Z, Ctrl+Shift+Z, or Ctrl+Y)\n else if (modifier && ( (isShift && isZ) || (!e.metaKey && isY) )) {\n e.preventDefault();\n this.redo();\n }\n }\n\n _onInput(e) {\n clearTimeout(this._debounceTimer);\n const value = this.textarea.value;\n const lastChar = value[this.textarea.selectionStart - 1];\n \n if (lastChar && /[\\s.,;:!?()\\[\\]{}'\"`~]/.test(lastChar)) {\n this._saveState();\n } else {\n this._debounceTimer = setTimeout(() => this._saveState(), this.debounceDelay);\n }\n }\n\n _saveState() {\n const newValue = this.textarea.value || '';\n \n // 1. If nothing changed, exit immediately to save CPU\n if (newValue === this.lastValue) return;\n\n // 2. Clear any pending debounced timers so we don't save twice\n clearTimeout(this._debounceTimer);\n\n const diff = diffChars(this.lastValue, newValue);\n \n this.undoStack.push({\n diff,\n selection: { ...this.lastSelection }\n });\n\n // --- Performance Optimization: Max Depth ---\n // If the stack exceeds the limit, remove the oldest entry (bottom of stack)\n if (this.undoStack.length > this.maxStackSize) {\n this.undoStack.shift(); \n }\n\n this.lastValue = newValue;\n this._updateLastSelection();\n this.redoStack = []; // Standard: typing new text clears redo history\n }\n\n undo() {\n if (this.undoStack.length === 0) return;\n\n const lastStep = this.undoStack.pop();\n const prevValue = this._revertDiff(this.lastValue, lastStep.diff);\n\n this.redoStack.push({\n diff: lastStep.diff,\n selection: { \n selectionStart: this.textarea.selectionStart, \n selectionEnd: this.textarea.selectionEnd \n }\n });\n\n this._restoreState(prevValue, lastStep.selection);\n }\n\n redo() {\n if (this.redoStack.length === 0) return;\n\n const redoStep = this.redoStack.pop();\n const newValue = this._applyDiff(this.lastValue, redoStep.diff);\n\n this.undoStack.push({\n diff: redoStep.diff,\n selection: { ...this.lastSelection }\n });\n\n this._restoreState(newValue, redoStep.selection);\n }\n\n _applyDiff(oldValue, diff) {\n let newValue = '';\n diff.forEach(part => { if (!part.removed) newValue += part.value; });\n return newValue;\n }\n\n _revertDiff(currentValue, diff) {\n let oldValue = '';\n diff.forEach(part => { if (!part.added) oldValue += part.value; });\n return oldValue;\n }\n\n _restoreState(value, selection) {\n this.textarea.value = value;\n this.textarea.setSelectionRange(selection.selectionStart, selection.selectionEnd);\n this.lastValue = value;\n this.lastSelection = { ...selection };\n \n if (this.editor.render) this.editor.render();\n this.textarea.focus();\n }\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * marked v17.0.3 - a markdown parser\n * Copyright (c) 2018-2026, MarkedJS. (MIT License)\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction M(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var T=M();function H(u){T=u}var _={exec:()=>null};function k(u,e=\"\"){let t=typeof u==\"string\"?u:u.source,n={replace:(r,i)=>{let s=typeof i==\"string\"?i:i.source;return s=s.replace(m.caret,\"$1\"),t=t.replace(r,s),n},getRegex:()=>new RegExp(t,e)};return n}var Re=(()=>{try{return!!new RegExp(\"(?<=1)(?<!1)\")}catch{return!1}})(),m={codeRemoveIndent:/^(?: {1,4}| {0,3}\\t)/gm,outputLinkReplace:/\\\\([\\[\\]])/g,indentCodeCompensation:/^(\\s+)(?:```)/,beginningSpace:/^\\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\\n/g,tabCharGlobal:/\\t/g,multipleSpaceGlobal:/\\s+/g,blankLine:/^[ \\t]*$/,doubleBlankLine:/\\n[ \\t]*\\n[ \\t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \\t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\\[[ xX]\\] +\\S/,listReplaceTask:/^\\[[ xX]\\] +/,listTaskCheckbox:/\\[[ xX]\\]/,anyLine:/\\n.*\\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\\||\\| *$/g,tableRowBlankLine:/\\n[ \\t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\\s|>)/i,endPreScriptTag:/^<\\/(pre|code|kbd|script)(\\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,unicodeAlphaNumeric:/[\\p{L}\\p{N}]/u,escapeTest:/[&<>\"']/,escapeReplace:/[&<>\"']/g,escapeTestNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,escapeReplaceNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,unescapeTest:/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig,caret:/(^|[^\\[])\\^/g,percentDecode:/%25/g,findPipe:/\\|/g,splitPipe:/ \\|/,slashPipe:/\\\\\\|/g,carriageReturn:/\\r\\n|\\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\\S*/,endingNewline:/\\n$/,listItemRegex:u=>new RegExp(`^( {0,3}${u})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`),nextBulletRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`),hrRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),fencesBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}(?:\\`\\`\\`|~~~)`),headingBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}#`),htmlBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}<(?:[a-z].*>|!--)`,\"i\"),blockquoteBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}>`)},Te=/^(?:[ \\t]*(?:\\n|$))+/,Oe=/^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/,we=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,I=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,ye=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,N=/ {0,3}(?:[*+-]|\\d{1,9}[.)])/,re=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,se=k(re).replace(/bull/g,N).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g,\"\").getRegex(),Pe=k(re).replace(/bull/g,N).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/table/g,/ {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(),Q=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,Se=/^[^\\n]+/,F=/(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/,$e=k(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\",F).replace(\"title\",/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(),_e=k(/^(bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g,N).getRegex(),q=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",j=/<!--(?:-?>|[\\s\\S]*?(?:-->|$))/,Le=k(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\",\"i\").replace(\"comment\",j).replace(\"tag\",q).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),ie=k(Q).replace(\"hr\",I).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",q).getRegex(),Me=k(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\",ie).getRegex(),U={blockquote:Me,code:Oe,def:$e,fences:we,heading:ye,hr:I,html:Le,lheading:se,list:_e,newline:Te,paragraph:ie,table:_,text:Se},te=k(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\",I).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",q).getRegex(),ze={...U,lheading:Pe,table:te,paragraph:k(Q).replace(\"hr\",I).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"table\",te).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",q).getRegex()},Ce={...U,html:k(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\",j).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:_,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:k(Q).replace(\"hr\",I).replace(\"heading\",` *#{1,6} *[^\n]`).replace(\"lheading\",se).replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").replace(\"|tag\",\"\").getRegex()},Ae=/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,Ie=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,oe=/^( {2,}|\\\\)\\n(?!\\s*$)/,Ee=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,v=/[\\p{P}\\p{S}]/u,K=/[\\s\\p{P}\\p{S}]/u,ae=/[^\\s\\p{P}\\p{S}]/u,Be=k(/^((?![*_])punctSpace)/,\"u\").replace(/punctSpace/g,K).getRegex(),le=/(?!~)[\\p{P}\\p{S}]/u,De=/(?!~)[\\s\\p{P}\\p{S}]/u,qe=/(?:[^\\s\\p{P}\\p{S}]|~)/u,ue=/(?![*_])[\\p{P}\\p{S}]/u,ve=/(?![*_])[\\s\\p{P}\\p{S}]/u,Ge=/(?:[^\\s\\p{P}\\p{S}]|[*_])/u,He=k(/link|precode-code|html/,\"g\").replace(\"link\",/\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\",Re?\"(?<!`)()\":\"(^^|[^`])\").replace(\"code\",/(?<b>`+)[^`]+\\k<b>(?!`)/).replace(\"html\",/<(?! )[^<>]*?>/).getRegex(),pe=/^(?:\\*+(?:((?!\\*)punct)|[^\\s*]))|^_+(?:((?!_)punct)|([^\\s_]))/,Ze=k(pe,\"u\").replace(/punct/g,v).getRegex(),Ne=k(pe,\"u\").replace(/punct/g,le).getRegex(),ce=\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\",Qe=k(ce,\"gu\").replace(/notPunctSpace/g,ae).replace(/punctSpace/g,K).replace(/punct/g,v).getRegex(),Fe=k(ce,\"gu\").replace(/notPunctSpace/g,qe).replace(/punctSpace/g,De).replace(/punct/g,le).getRegex(),je=k(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\",\"gu\").replace(/notPunctSpace/g,ae).replace(/punctSpace/g,K).replace(/punct/g,v).getRegex(),Ue=k(/^~~?(?:((?!~)punct)|[^\\s~])/,\"u\").replace(/punct/g,ue).getRegex(),Ke=\"^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)\",We=k(Ke,\"gu\").replace(/notPunctSpace/g,Ge).replace(/punctSpace/g,ve).replace(/punct/g,ue).getRegex(),Xe=k(/\\\\(punct)/,\"gu\").replace(/punct/g,v).getRegex(),Je=k(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Ve=k(j).replace(\"(?:-->|$)\",\"-->\").getRegex(),Ye=k(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\",Ve).replace(\"attribute\",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(),D=/(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+[^`]*?`+(?!`)|[^\\[\\]\\\\`])*?/,et=k(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]*(?:\\n[ \\t]*)?)(title))?\\s*\\)/).replace(\"label\",D).replace(\"href\",/<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\",/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),he=k(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\",D).replace(\"ref\",F).getRegex(),ke=k(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\",F).getRegex(),tt=k(\"reflink|nolink(?!\\\\()\",\"g\").replace(\"reflink\",he).replace(\"nolink\",ke).getRegex(),ne=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,W={_backpedal:_,anyPunctuation:Xe,autolink:Je,blockSkip:He,br:oe,code:Ie,del:_,delLDelim:_,delRDelim:_,emStrongLDelim:Ze,emStrongRDelimAst:Qe,emStrongRDelimUnd:je,escape:Ae,link:et,nolink:ke,punctuation:Be,reflink:he,reflinkSearch:tt,tag:Ye,text:Ee,url:_},nt={...W,link:k(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",D).getRegex(),reflink:k(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",D).getRegex()},Z={...W,emStrongRDelimAst:Fe,emStrongLDelim:Ne,delLDelim:Ue,delRDelim:We,url:k(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\",ne).replace(\"email\",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/,text:k(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/).replace(\"protocol\",ne).getRegex()},rt={...Z,br:k(oe).replace(\"{2,}\",\"*\").getRegex(),text:k(Z.text).replace(\"\\\\b_\",\"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g,\"*\").getRegex()},E={normal:U,gfm:ze,pedantic:Ce},z={normal:W,gfm:Z,breaks:rt,pedantic:nt};var st={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},de=u=>st[u];function O(u,e){if(e){if(m.escapeTest.test(u))return u.replace(m.escapeReplace,de)}else if(m.escapeTestNoEncode.test(u))return u.replace(m.escapeReplaceNoEncode,de);return u}function X(u){try{u=encodeURI(u).replace(m.percentDecode,\"%\")}catch{return null}return u}function J(u,e){let t=u.replace(m.findPipe,(i,s,a)=>{let o=!1,l=s;for(;--l>=0&&a[l]===\"\\\\\";)o=!o;return o?\"|\":\" |\"}),n=t.split(m.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push(\"\");for(;r<n.length;r++)n[r]=n[r].trim().replace(m.slashPipe,\"|\");return n}function C(u,e,t){let n=u.length;if(n===0)return\"\";let r=0;for(;r<n;){let i=u.charAt(n-r-1);if(i===e&&!t)r++;else if(i!==e&&t)r++;else break}return u.slice(0,n-r)}function ge(u,e){if(u.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<u.length;n++)if(u[n]===\"\\\\\")n++;else if(u[n]===e[0])t++;else if(u[n]===e[1]&&(t--,t<0))return n;return t>0?-2:-1}function fe(u,e=0){let t=e,n=\"\";for(let r of u)if(r===\"\t\"){let i=4-t%4;n+=\" \".repeat(i),t+=i}else n+=r,t++;return n}function me(u,e,t,n,r){let i=e.href,s=e.title||null,a=u[1].replace(r.other.outputLinkReplace,\"$1\");n.state.inLink=!0;let o={type:u[0].charAt(0)===\"!\"?\"image\":\"link\",raw:t,href:i,title:s,text:a,tokens:n.inlineTokens(a)};return n.state.inLink=!1,o}function it(u,e,t){let n=u.match(t.other.indentCodeCompensation);if(n===null)return e;let r=n[1];return e.split(`\n`).map(i=>{let s=i.match(t.other.beginningSpace);if(s===null)return i;let[a]=s;return a.length>=r.length?i.slice(r.length):i}).join(`\n`)}var w=class{options;rules;lexer;constructor(e){this.options=e||T}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:\"space\",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,\"\");return{type:\"code\",raw:t[0],codeBlockStyle:\"indented\",text:this.options.pedantic?n:C(n,`\n`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],r=it(n,t[3]||\"\",this.rules);return{type:\"code\",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,\"$1\"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let r=C(n,\"#\");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:\"heading\",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:\"hr\",raw:C(t[0],`\n`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=C(t[0],`\n`).split(`\n`),r=\"\",i=\"\",s=[];for(;n.length>0;){let a=!1,o=[],l;for(l=0;l<n.length;l++)if(this.rules.other.blockquoteStart.test(n[l]))o.push(n[l]),a=!0;else if(!a)o.push(n[l]);else break;n=n.slice(l);let p=o.join(`\n`),c=p.replace(this.rules.other.blockquoteSetextReplace,`\n $1`).replace(this.rules.other.blockquoteSetextReplace2,\"\");r=r?`${r}\n${p}`:p,i=i?`${i}\n${c}`:c;let d=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,s,!0),this.lexer.state.top=d,n.length===0)break;let h=s.at(-1);if(h?.type===\"code\")break;if(h?.type===\"blockquote\"){let R=h,f=R.raw+`\n`+n.join(`\n`),S=this.blockquote(f);s[s.length-1]=S,r=r.substring(0,r.length-R.raw.length)+S.raw,i=i.substring(0,i.length-R.text.length)+S.text;break}else if(h?.type===\"list\"){let R=h,f=R.raw+`\n`+n.join(`\n`),S=this.list(f);s[s.length-1]=S,r=r.substring(0,r.length-h.raw.length)+S.raw,i=i.substring(0,i.length-R.raw.length)+S.raw,n=f.substring(s.at(-1).raw.length).split(`\n`);continue}}return{type:\"blockquote\",raw:r,tokens:s,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:\"list\",raw:\"\",ordered:r,start:r?+n.slice(0,-1):\"\",loose:!1,items:[]};n=r?`\\\\d{1,9}\\\\${n.slice(-1)}`:`\\\\${n}`,this.options.pedantic&&(n=r?n:\"[*+-]\");let s=this.rules.other.listItemRegex(n),a=!1;for(;e;){let l=!1,p=\"\",c=\"\";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;p=t[0],e=e.substring(p.length);let d=fe(t[2].split(`\n`,1)[0],t[1].length),h=e.split(`\n`,1)[0],R=!d.trim(),f=0;if(this.options.pedantic?(f=2,c=d.trimStart()):R?f=t[1].length+1:(f=d.search(this.rules.other.nonSpaceChar),f=f>4?1:f,c=d.slice(f),f+=t[1].length),R&&this.rules.other.blankLine.test(h)&&(p+=h+`\n`,e=e.substring(h.length+1),l=!0),!l){let S=this.rules.other.nextBulletRegex(f),V=this.rules.other.hrRegex(f),Y=this.rules.other.fencesBeginRegex(f),ee=this.rules.other.headingBeginRegex(f),xe=this.rules.other.htmlBeginRegex(f),be=this.rules.other.blockquoteBeginRegex(f);for(;e;){let G=e.split(`\n`,1)[0],A;if(h=G,this.options.pedantic?(h=h.replace(this.rules.other.listReplaceNesting,\" \"),A=h):A=h.replace(this.rules.other.tabCharGlobal,\" \"),Y.test(h)||ee.test(h)||xe.test(h)||be.test(h)||S.test(h)||V.test(h))break;if(A.search(this.rules.other.nonSpaceChar)>=f||!h.trim())c+=`\n`+A.slice(f);else{if(R||d.replace(this.rules.other.tabCharGlobal,\" \").search(this.rules.other.nonSpaceChar)>=4||Y.test(d)||ee.test(d)||V.test(d))break;c+=`\n`+h}R=!h.trim(),p+=G+`\n`,e=e.substring(G.length+1),d=A.slice(f)}}i.loose||(a?i.loose=!0:this.rules.other.doubleBlankLine.test(p)&&(a=!0)),i.items.push({type:\"list_item\",raw:p,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}),i.raw+=p}let o=i.items.at(-1);if(o)o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let l of i.items){if(this.lexer.state.top=!1,l.tokens=this.lexer.blockTokens(l.text,[]),l.task){if(l.text=l.text.replace(this.rules.other.listReplaceTask,\"\"),l.tokens[0]?.type===\"text\"||l.tokens[0]?.type===\"paragraph\"){l.tokens[0].raw=l.tokens[0].raw.replace(this.rules.other.listReplaceTask,\"\"),l.tokens[0].text=l.tokens[0].text.replace(this.rules.other.listReplaceTask,\"\");for(let c=this.lexer.inlineQueue.length-1;c>=0;c--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)){this.lexer.inlineQueue[c].src=this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask,\"\");break}}let p=this.rules.other.listTaskCheckbox.exec(l.raw);if(p){let c={type:\"checkbox\",raw:p[0]+\" \",checked:p[0]!==\"[ ]\"};l.checked=c.checked,i.loose?l.tokens[0]&&[\"paragraph\",\"text\"].includes(l.tokens[0].type)&&\"tokens\"in l.tokens[0]&&l.tokens[0].tokens?(l.tokens[0].raw=c.raw+l.tokens[0].raw,l.tokens[0].text=c.raw+l.tokens[0].text,l.tokens[0].tokens.unshift(c)):l.tokens.unshift({type:\"paragraph\",raw:c.raw,text:c.raw,tokens:[c]}):l.tokens.unshift(c)}}if(!i.loose){let p=l.tokens.filter(d=>d.type===\"space\"),c=p.length>0&&p.some(d=>this.rules.other.anyLine.test(d.raw));i.loose=c}}if(i.loose)for(let l of i.items){l.loose=!0;for(let p of l.tokens)p.type===\"text\"&&(p.type=\"paragraph\")}return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:\"html\",block:!0,raw:t[0],pre:t[1]===\"pre\"||t[1]===\"script\"||t[1]===\"style\",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,\" \"),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,\"$1\").replace(this.rules.inline.anyPunctuation,\"$1\"):\"\",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,\"$1\"):t[3];return{type:\"def\",tag:n,raw:t[0],href:r,title:i}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=J(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,\"\").split(\"|\"),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,\"\").split(`\n`):[],s={type:\"table\",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let a of r)this.rules.other.tableAlignRight.test(a)?s.align.push(\"right\"):this.rules.other.tableAlignCenter.test(a)?s.align.push(\"center\"):this.rules.other.tableAlignLeft.test(a)?s.align.push(\"left\"):s.align.push(null);for(let a=0;a<n.length;a++)s.header.push({text:n[a],tokens:this.lexer.inline(n[a]),header:!0,align:s.align[a]});for(let a of i)s.rows.push(J(a,s.header.length).map((o,l)=>({text:o,tokens:this.lexer.inline(o),header:!1,align:s.align[l]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:\"heading\",raw:t[0],depth:t[2].charAt(0)===\"=\"?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`\n`?t[1].slice(0,-1):t[1];return{type:\"paragraph\",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:\"text\",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:\"escape\",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:\"html\",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=C(n.slice(0,-1),\"\\\\\");if((n.length-s.length)%2===0)return}else{let s=ge(t[2],\"()\");if(s===-2)return;if(s>-1){let o=(t[0].indexOf(\"!\")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,o).trim(),t[3]=\"\"}}let r=t[2],i=\"\";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=t[3]?t[3].slice(1,-1):\"\";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),me(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,\"$1\"),title:i&&i.replace(this.rules.inline.anyPunctuation,\"$1\")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,\" \"),i=t[r.toLowerCase()];if(!i){let s=n[0].charAt(0);return{type:\"text\",raw:s,text:s}}return me(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=\"\"){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(r[1]||r[2]||\"\")||!n||this.rules.inline.punctuation.exec(n)){let s=[...r[0]].length-1,a,o,l=s,p=0,c=r[0][0]===\"*\"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+s);(r=c.exec(t))!=null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(o=[...a].length,r[3]||r[4]){l+=o;continue}else if((r[5]||r[6])&&s%3&&!((s+o)%3)){p+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+p);let d=[...r[0]][0].length,h=e.slice(0,s+r.index+d+o);if(Math.min(s,o)%2){let f=h.slice(1,-1);return{type:\"em\",raw:h,text:f,tokens:this.lexer.inlineTokens(f)}}let R=h.slice(2,-2);return{type:\"strong\",raw:h,text:R,tokens:this.lexer.inlineTokens(R)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal,\" \"),r=this.rules.other.nonSpaceChar.test(n),i=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&i&&(n=n.substring(1,n.length-1)),{type:\"codespan\",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:\"br\",raw:t[0]}}del(e,t,n=\"\"){let r=this.rules.inline.delLDelim.exec(e);if(!r)return;if(!(r[1]||\"\")||!n||this.rules.inline.punctuation.exec(n)){let s=[...r[0]].length-1,a,o,l=s,p=this.rules.inline.delRDelim;for(p.lastIndex=0,t=t.slice(-1*e.length+s);(r=p.exec(t))!=null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a||(o=[...a].length,o!==s))continue;if(r[3]||r[4]){l+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l);let c=[...r[0]][0].length,d=e.slice(0,s+r.index+c+o),h=d.slice(s,-s);return{type:\"del\",raw:d,text:h,tokens:this.lexer.inlineTokens(h)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,r;return t[2]===\"@\"?(n=t[1],r=\"mailto:\"+n):(n=t[1],r=n),{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,r;if(t[2]===\"@\")n=t[0],r=\"mailto:\"+n;else{let i;do i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??\"\";while(i!==t[0]);n=t[0],t[1]===\"www.\"?r=\"http://\"+t[0]:r=t[0]}return{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:\"text\",raw:t[0],text:t[0],escaped:n}}}};var x=class u{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||T,this.options.tokenizer=this.options.tokenizer||new w,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:m,block:E.normal,inline:z.normal};this.options.pedantic?(t.block=E.pedantic,t.inline=z.pedantic):this.options.gfm&&(t.block=E.gfm,this.options.breaks?t.inline=z.breaks:t.inline=z.gfm),this.tokenizer.rules=t}static get rules(){return{block:E,inline:z}}static lex(e,t){return new u(t).lex(e)}static lexInline(e,t){return new u(t).inlineTokens(e)}lex(e){e=e.replace(m.carriageReturn,`\n`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let n=this.inlineQueue[t];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.options.pedantic&&(e=e.replace(m.tabCharGlobal,\" \").replace(m.spaceLine,\"\"));e;){let r;if(this.options.extensions?.block?.some(s=>(r=s.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let s=t.at(-1);r.raw.length===1&&s!==void 0?s.raw+=`\n`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},t.push(r));continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let s=1/0,a=e.slice(1),o;this.options.extensions.startBlock.forEach(l=>{o=l.call({lexer:this},a),typeof o==\"number\"&&o>=0&&(s=Math.min(s,o))}),s<1/0&&s>=0&&(i=e.substring(0,s+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let s=t.at(-1);n&&s?.type===\"paragraph\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(e){let s=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,r=null;if(this.tokens.links){let o=Object.keys(this.tokens.links);if(o.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)o.includes(r[0].slice(r[0].lastIndexOf(\"[\")+1,-1))&&(n=n.slice(0,r.index)+\"[\"+\"a\".repeat(r[0].length-2)+\"]\"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,r.index)+\"++\"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+\"[\"+\"a\".repeat(r[0].length-i-2)+\"]\"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,a=\"\";for(;e;){s||(a=\"\"),s=!1;let o;if(this.options.extensions?.inline?.some(p=>(o=p.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let p=t.at(-1);o.type===\"text\"&&p?.type===\"text\"?(p.raw+=o.raw,p.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,a)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e,n,a)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let l=e;if(this.options.extensions?.startInline){let p=1/0,c=e.slice(1),d;this.options.extensions.startInline.forEach(h=>{d=h.call({lexer:this},c),typeof d==\"number\"&&d>=0&&(p=Math.min(p,d))}),p<1/0&&p>=0&&(l=e.substring(0,p+1))}if(o=this.tokenizer.inlineText(l)){e=e.substring(o.raw.length),o.raw.slice(-1)!==\"_\"&&(a=o.raw.slice(-1)),s=!0;let p=t.at(-1);p?.type===\"text\"?(p.raw+=o.raw,p.text+=o.text):t.push(o);continue}if(e){let p=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(p);break}else throw new Error(p)}}return t}};var y=class{options;parser;constructor(e){this.options=e||T}space(e){return\"\"}code({text:e,lang:t,escaped:n}){let r=(t||\"\").match(m.notSpaceStart)?.[0],i=e.replace(m.endingNewline,\"\")+`\n`;return r?'<pre><code class=\"language-'+O(r)+'\">'+(n?i:O(i,!0))+`</code></pre>\n`:\"<pre><code>\"+(n?i:O(i,!0))+`</code></pre>\n`}blockquote({tokens:e}){return`<blockquote>\n${this.parser.parse(e)}</blockquote>\n`}html({text:e}){return e}def(e){return\"\"}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>\n`}hr(e){return`<hr>\n`}list(e){let t=e.ordered,n=e.start,r=\"\";for(let a=0;a<e.items.length;a++){let o=e.items[a];r+=this.listitem(o)}let i=t?\"ol\":\"ul\",s=t&&n!==1?' start=\"'+n+'\"':\"\";return\"<\"+i+s+`>\n`+r+\"</\"+i+`>\n`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>\n`}checkbox({checked:e}){return\"<input \"+(e?'checked=\"\" ':\"\")+'disabled=\"\" type=\"checkbox\"> '}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>\n`}table(e){let t=\"\",n=\"\";for(let i=0;i<e.header.length;i++)n+=this.tablecell(e.header[i]);t+=this.tablerow({text:n});let r=\"\";for(let i=0;i<e.rows.length;i++){let s=e.rows[i];n=\"\";for(let a=0;a<s.length;a++)n+=this.tablecell(s[a]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),`<table>\n<thead>\n`+t+`</thead>\n`+r+`</table>\n`}tablerow({text:e}){return`<tr>\n${e}</tr>\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?\"th\":\"td\";return(e.align?`<${n} align=\"${e.align}\">`:`<${n}>`)+t+`</${n}>\n`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${O(e,!0)}</code>`}br(e){return\"<br>\"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=X(e);if(i===null)return r;e=i;let s='<a href=\"'+e+'\"';return t&&(s+=' title=\"'+O(t)+'\"'),s+=\">\"+r+\"</a>\",s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=X(e);if(i===null)return O(n);e=i;let s=`<img src=\"${e}\" alt=\"${O(n)}\"`;return t&&(s+=` title=\"${O(t)}\"`),s+=\">\",s}text(e){return\"tokens\"in e&&e.tokens?this.parser.parseInline(e.tokens):\"escaped\"in e&&e.escaped?e.text:O(e.text)}};var $=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return\"\"+e}image({text:e}){return\"\"+e}br(){return\"\"}checkbox({raw:e}){return e}};var b=class u{options;renderer;textRenderer;constructor(e){this.options=e||T,this.options.renderer=this.options.renderer||new y,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $}static parse(e,t){return new u(t).parse(e)}static parseInline(e,t){return new u(t).parseInline(e)}parse(e){let t=\"\";for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let s=r,a=this.options.extensions.renderers[s.type].call({parser:this},s);if(a!==!1||![\"space\",\"hr\",\"heading\",\"code\",\"table\",\"blockquote\",\"list\",\"html\",\"def\",\"paragraph\",\"text\"].includes(s.type)){t+=a||\"\";continue}}let i=r;switch(i.type){case\"space\":{t+=this.renderer.space(i);break}case\"hr\":{t+=this.renderer.hr(i);break}case\"heading\":{t+=this.renderer.heading(i);break}case\"code\":{t+=this.renderer.code(i);break}case\"table\":{t+=this.renderer.table(i);break}case\"blockquote\":{t+=this.renderer.blockquote(i);break}case\"list\":{t+=this.renderer.list(i);break}case\"checkbox\":{t+=this.renderer.checkbox(i);break}case\"html\":{t+=this.renderer.html(i);break}case\"def\":{t+=this.renderer.def(i);break}case\"paragraph\":{t+=this.renderer.paragraph(i);break}case\"text\":{t+=this.renderer.text(i);break}default:{let s='Token with \"'+i.type+'\" type was not found.';if(this.options.silent)return console.error(s),\"\";throw new Error(s)}}}return t}parseInline(e,t=this.renderer){let n=\"\";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let a=this.options.extensions.renderers[i.type].call({parser:this},i);if(a!==!1||![\"escape\",\"html\",\"link\",\"image\",\"strong\",\"em\",\"codespan\",\"br\",\"del\",\"text\"].includes(i.type)){n+=a||\"\";continue}}let s=i;switch(s.type){case\"escape\":{n+=t.text(s);break}case\"html\":{n+=t.html(s);break}case\"link\":{n+=t.link(s);break}case\"image\":{n+=t.image(s);break}case\"checkbox\":{n+=t.checkbox(s);break}case\"strong\":{n+=t.strong(s);break}case\"em\":{n+=t.em(s);break}case\"codespan\":{n+=t.codespan(s);break}case\"br\":{n+=t.br(s);break}case\"del\":{n+=t.del(s);break}case\"text\":{n+=t.text(s);break}default:{let a='Token with \"'+s.type+'\" type was not found.';if(this.options.silent)return console.error(a),\"\";throw new Error(a)}}}return n}};var P=class{options;block;constructor(e){this.options=e||T}static passThroughHooks=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\",\"emStrongMask\"]);static passThroughHooksRespectAsync=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?x.lex:x.lexInline}provideParser(){return this.block?b.parse:b.parseInline}};var B=class{defaults=M();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=b;Renderer=y;TextRenderer=$;Lexer=x;Tokenizer=w;Hooks=P;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case\"table\":{let i=r;for(let s of i.header)n=n.concat(this.walkTokens(s.tokens,t));for(let s of i.rows)for(let a of s)n=n.concat(this.walkTokens(a.tokens,t));break}case\"list\":{let i=r;n=n.concat(this.walkTokens(i.items,t));break}default:{let i=r;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{let a=i[s].flat(1/0);n=n.concat(this.walkTokens(a,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error(\"extension name required\");if(\"renderer\"in i){let s=t.renderers[i.name];s?t.renderers[i.name]=function(...a){let o=i.renderer.apply(this,a);return o===!1&&(o=s.apply(this,a)),o}:t.renderers[i.name]=i.renderer}if(\"tokenizer\"in i){if(!i.level||i.level!==\"block\"&&i.level!==\"inline\")throw new Error(\"extension level must be 'block' or 'inline'\");let s=t[i.level];s?s.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level===\"block\"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level===\"inline\"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}\"childTokens\"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=this.defaults.renderer||new y(this.defaults);for(let s in n.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if([\"options\",\"parser\"].includes(s))continue;let a=s,o=n.renderer[a],l=i[a];i[a]=(...p)=>{let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c||\"\"}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new w(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if([\"options\",\"rules\",\"lexer\"].includes(s))continue;let a=s,o=n.tokenizer[a],l=i[a];i[a]=(...p)=>{let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new P;for(let s in n.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if([\"options\",\"block\"].includes(s))continue;let a=s,o=n.hooks[a],l=i[a];P.passThroughHooks.has(s)?i[a]=p=>{if(this.defaults.async&&P.passThroughHooksRespectAsync.has(s))return(async()=>{let d=await o.call(i,p);return l.call(i,d)})();let c=o.call(i,p);return l.call(i,c)}:i[a]=(...p)=>{if(this.defaults.async)return(async()=>{let d=await o.apply(i,p);return d===!1&&(d=await l.apply(i,p)),d})();let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;r.walkTokens=function(a){let o=[];return o.push(s.call(this,a)),i&&(o=o.concat(i.call(this,a))),o}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return x.lex(e,t??this.defaults)}parser(e,t){return b.parse(e,t??this.defaults)}parseMarkdown(e){return(n,r)=>{let i={...r},s={...this.defaults,...i},a=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return a(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));if(typeof n>\"u\"||n===null)return a(new Error(\"marked(): input parameter is undefined or null\"));if(typeof n!=\"string\")return a(new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(n)+\", string expected\"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let o=s.hooks?await s.hooks.preprocess(n):n,p=await(s.hooks?await s.hooks.provideLexer():e?x.lex:x.lexInline)(o,s),c=s.hooks?await s.hooks.processAllTokens(p):p;s.walkTokens&&await Promise.all(this.walkTokens(c,s.walkTokens));let h=await(s.hooks?await s.hooks.provideParser():e?b.parse:b.parseInline)(c,s);return s.hooks?await s.hooks.postprocess(h):h})().catch(a);try{s.hooks&&(n=s.hooks.preprocess(n));let l=(s.hooks?s.hooks.provideLexer():e?x.lex:x.lexInline)(n,s);s.hooks&&(l=s.hooks.processAllTokens(l)),s.walkTokens&&this.walkTokens(l,s.walkTokens);let c=(s.hooks?s.hooks.provideParser():e?b.parse:b.parseInline)(l,s);return s.hooks&&(c=s.hooks.postprocess(c)),c}catch(o){return a(o)}}}onError(e,t){return n=>{if(n.message+=`\nPlease report this to https://github.com/markedjs/marked.`,e){let r=\"<p>An error occurred:</p><pre>\"+O(n.message+\"\",!0)+\"</pre>\";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}};var L=new B;function g(u,e){return L.parse(u,e)}g.options=g.setOptions=function(u){return L.setOptions(u),g.defaults=L.defaults,H(g.defaults),g};g.getDefaults=M;g.defaults=T;g.use=function(...u){return L.use(...u),g.defaults=L.defaults,H(g.defaults),g};g.walkTokens=function(u,e){return L.walkTokens(u,e)};g.parseInline=L.parseInline;g.Parser=b;g.parser=b.parse;g.Renderer=y;g.TextRenderer=$;g.Lexer=x;g.lexer=x.lex;g.Tokenizer=w;g.Hooks=P;g.parse=g;var Ut=g.options,Kt=g.setOptions,Wt=g.use,Xt=g.walkTokens,Jt=g.parseInline,Vt=g,Yt=b.parse,en=x.lex;export{P as Hooks,x as Lexer,B as Marked,b as Parser,y as Renderer,$ as TextRenderer,w as Tokenizer,T as defaults,M as getDefaults,en as lexer,g as marked,Ut as options,Vt as parse,Jt as parseInline,Yt as parser,Kt as setOptions,Wt as use,Xt as walkTokens};\n//# sourceMappingURL=marked.esm.js.map\n","import '../styles/main.css';\nimport { marked } from 'marked';\nimport Toolbar from './toolbar/Toolbar.js';\nimport Preview from './Preview.js';\nimport UndoRedoManager from '../utils/UndoRedoManager.js';\nimport IndentManager from '../utils/IndentManager.js';\nimport ListManager from '../utils/ListManager.js';\n\nmarked.setOptions({\n breaks: true\n});\n\nclass MarkdownEditor {\n constructor(selector, options = {}) {\n this.usertextarea = typeof selector === 'string' ? document.querySelector(selector) : selector;\n this.options = options;\n this.mode = options.mode || 'plain';\n this.preview = (this.options.toolbar) ? this.options.toolbar.includes('preview') : true;\n this.previewTimer = null;\n this.init();\n this.undoRedoManager = new UndoRedoManager(this);\n this.listManager = new ListManager(this);\n this.indentManager = new IndentManager(this);\n }\n\n init() {\n this.createEditor();\n this.addToolbar();\n }\n\n createEditor() {\n if (!this.isTextareaValid()) return;\n\n this.applyDefaultAttributes();\n this.buildEditorLayout();\n this.addInputListener();\n this.render();\n }\n\n isTextareaValid() {\n return this.usertextarea.tagName === 'TEXTAREA';\n }\n\n applyDefaultAttributes() {\n this.usertextarea.classList.add(\n \"textarea\",\n \"fj:focus:ring-0\",\n \"fj:focus:outline-0\",\n \"fj:border-0\",\n \"fj:px-4\",\n \"fj:py-2\",\n \"fj:max-w-full\",\n \"fj:size-full\",\n \"fj:bg-transparent\",\n \"fj:outline-0\",\n \"fj:appearance-none\",\n \"fj:overflow-y-auto\",\n );\n if (!this.usertextarea.hasAttribute('placeholder')) {\n this.usertextarea.placeholder = this.options.placeholder || 'Write your markdown...';\n }\n }\n\n buildEditorLayout() {\n this.editorContainer = document.createElement('div');\n this.editorContainer.className = `\n markdown-editor-wrapper\n fj:surface\n fj:surface-outline\n fj:surface-rounded\n fj:overflow-hidden\n `;\n this.usertextarea.parentNode.insertBefore(this.editorContainer, this.usertextarea);\n\n this.markdownEditorDiv = document.createElement('div');\n this.markdownEditorDiv.className = `editor-layout fj:relative fj:grid fj:grid-cols-1`;\n this.editorContainer.appendChild(this.markdownEditorDiv);\n\n this.addTextareaWrapper();\n if (this.preview) this.addPreviewWrapper();\n }\n\n addTextareaWrapper() {\n const textareaContainer = document.createElement('div');\n textareaContainer.className = `\n textarea-wrapper\n not-prose\n fj:surface\n fj:h-full\n fj:grid\n `;\n\n if(this.mode == 'hybrid'){\n this.displayLayer = document.createElement('div');\n this.displayLayer.setAttribute('data-placeholder', this.usertextarea.placeholder);\n this.displayLayer.setAttribute(\"aria-hidden\", true);\n this.displayLayer.className = `\n display-layer\n fj:px-4\n fj:py-2\n fj:whitespace-pre-wrap fj:wrap-break-word \n fj:pointer-events-none \n fj:[grid-area:1/1/2/2]\n fj:size-full\n fj:m-0\n fj:box-border\n fj:z-0\n fj:overflow-y-auto\n fj:empty:after:content-[attr(data-placeholder)]\n fj:empty:after:absolute\n fj:empty:after:inset-0\n fj:empty:after:px-4\n fj:empty:after:py-2\n fj:empty:after:text-[CanvasText]\n fj:empty:after:opacity-50\n `;\n\n this.usertextarea.className += `\n fj:text-transparent \n fj:caret-primary\n fj:resize-none\n fj:outline-none\n fj:[grid-area:1/1/2/2]\n fj:m-0\n fj:box-border\n fj:relative\n fj:z-10 \n `;\n\n textareaContainer.appendChild(this.displayLayer);\n }\n\n textareaContainer.appendChild(this.usertextarea);\n this.markdownEditorDiv.appendChild(textareaContainer);\n }\n\n \n\n addPreviewWrapper() {\n const previewInstance = new Preview(this.markdownEditorDiv);\n this.previewContent = previewInstance.getPreviewContent();\n }\n\n addInputListener() {\n this.usertextarea.addEventListener('input', () => {\n this.renderHybrid(); // Fast: Only Regex\n this.debouncedPreview(); // Slow: Heavy Markdown Parse\n });\n\n this.usertextarea.addEventListener('scroll', () => {\n if (this.mode === 'hybrid') {\n // PIXEL PERFECT SYNC: Do not use ratios for the hybrid layer\n this.displayLayer.scrollTop = this.usertextarea.scrollTop;\n this.displayLayer.scrollLeft = this.usertextarea.scrollLeft;\n }\n\n if (this.preview && this.previewContent) {\n // RATIO SYNC: Use ratio only for the fully rendered preview\n const textarea = this.usertextarea;\n const ratio = textarea.scrollTop / (textarea.scrollHeight - textarea.clientHeight);\n this.previewContent.scrollTop = ratio * (this.previewContent.scrollHeight - this.previewContent.clientHeight);\n }\n });\n }\n\n debouncedPreview() {\n if (!this.preview) return;\n clearTimeout(this.previewTimer);\n this.previewTimer = setTimeout(() => {\n this.previewContent.innerHTML = marked(this.usertextarea.value);\n }, 150); // 150ms delay feels instant but saves CPU\n }\n\n addToolbar() {\n new Toolbar(\n this,\n this.options.toolbar ||\n [\n // History/System (Usually far left)\n 'undo', \n 'redo',\n \n // Block Structure\n 'heading', \n 'blockquote', \n \n // Lists & Indentation\n 'ul', \n 'ol', \n 'checklist', \n 'outdent', \n 'indent', \n \n // Inline Formatting\n 'bold', \n 'italic', \n 'strikethrough', \n \n // Rich Media/Links\n 'link', \n 'image',\n \n // View/Preview (Usually far right)\n 'preview'\n ]\n );\n }\n\n insertText(text) {\n const { selectionStart, selectionEnd } = this.usertextarea;\n const value = this.usertextarea.value;\n this.usertextarea.value = `${value.substring(0, selectionStart)}${text}${value.substring(selectionEnd)}`;\n this.usertextarea.focus();\n this.usertextarea.setSelectionRange(selectionStart, selectionStart + text.length);\n\n // Scroll the textarea to the inserted text\n this.scrollToView();\n\n this.render();\n }\n\n scrollToView() {\n const textarea = this.usertextarea;\n \n // Calculate the position of the inserted text\n const selectionStart = textarea.selectionStart;\n \n // Get the line height (height of each row of text)\n const lineHeight = parseInt(window.getComputedStyle(textarea).lineHeight);\n \n // Get how many rows fit into the visible area of the textarea\n const rowsInView = Math.floor(textarea.clientHeight / lineHeight);\n \n // Calculate the current line number of the selectionStart\n const currentLine = Math.floor(selectionStart / textarea.cols);\n \n // Scroll to the line number that places the inserted text in the center\n const targetScrollTop = (currentLine - Math.floor(rowsInView / 2)) * lineHeight;\n \n // Adjust scrollTop to center the cursor's line in the view\n textarea.scrollTop = targetScrollTop;\n }\n \n\n renderHybrid() {\n if (this.mode !== 'hybrid') return;\n\n const rawValue = this.usertextarea.value;\n let highlighted = rawValue\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;');\n\n // SYNTAX HIGHLIGHTING CHAIN\n highlighted = highlighted\n\n // code block\n .replace(/```(\\w+)?\\n([\\s\\S]*?)```/g, \n '<span class=\"fj:opacity-30\">```$1</span>\\n$2<span class=\"fj:opacity-30\">```</span>')\n\n // Inline Code (Single Backtick)\n .replace(/`([^`\\n]+)`/g, \n '<span class=\"fj:bg-surface\">$1</span>')\n\n // Headers\n .replace(/^(#+ )(.*)$/gm, \n '<span class=\"fj:text-primary\"><span class=\"fj:opacity-40\">$1</span><span class=\"fj:font-bold fj:tracking-[-0.040em]\">$2</span></span>')\n \n // Bold \n .replace(/\\*\\*(.*?)\\*\\*/g, \n '<span class=\"fj:text-secondary\"><span class=\"fj:opacity-40\">**</span><span class=\"fj:font-bold fj:tracking-[-0.040em]\">$1</span><span class=\"fj:opacity-40\">**</span></span>')\n\n // Lists (UL, OL, Checklist)\n // Matches: \"- \", \"* \", \"1. \", \"[ ] \", \"[x] \"\n .replace(/^([\\s]*)([\\-\\*] |[\\d]+\\. |\\[[\\s xX]\\] )(.*)$/gm, \n '$1<span class=\"fj:text-primary fj:font-medium\">$2</span>$3')\n\n // Inline Italic (Supports both *italic* and _italic_)\n .replace(/(\\*|_)(.*?)\\1/g, \n '<span class=\"fj:text-accent\"><span class=\"fj:opacity-40\">$1</span><span class=\"fj:italic\">$2</span><span class=\"fj:opacity-40\">$1</span></span>')\n\n // Strikethrough\n // Double ~~text~~\n .replace(/~~(.*?)~~/g, \n '<span class=\"fj:line-through fj:opacity-70\"><span class=\"fj:opacity-40\">~~</span>$1<span class=\"fj:opacity-40\">~~</span></span>')\n \n // Single ~text~ (Optional, only if you want to support both)\n // We use a negative lookbehind/lookahead logic or simply run it after the double replace\n .replace(/(?<!~)(~)([^~]+)\\1(?!~)/g, \n '<span class=\"fj:line-through fj:opacity-70\"><span class=\"fj:opacity-40\">$1</span>$2<span class=\"fj:opacity-40\">$1</span></span>')\n \n // Links & Images\n // Matches ![alt](src) and [text](url)\n .replace(/(!?\\[)(.*?)(\\]\\()(.*?)(\\))/g, \n '<span class=\"fj:opacity-40\">$1</span><span class=\"fj:text-primary\">$2</span><span class=\"fj:opacity-40\">$3</span><span class=\"fj:underline fj:opacity-50\">$4</span><span class=\"fj:opacity-50\">$5</span>')\n\n // Ensure height sync when ending with newline\n if (rawValue.length > 0 && rawValue.endsWith('\\n')) {\n highlighted += ' '; \n }\n\n this.displayLayer.innerHTML = highlighted;\n }\n\n render() {\n // Initial render or manual trigger\n this.renderHybrid();\n if (this.preview) this.previewContent.innerHTML = marked(this.usertextarea.value);\n }\n}\n\nexport default MarkdownEditor;"],"names":["root","factory","exports","module","define","amd","Object","self","this","Preview","container","_classCallCheck","previewContainer","document","createElement","className","previewContent","appendChild","key","value","MakeTool","editor","title","defaultText","concat","button","createButton","iconHtml","_this","btn","btnClass","replace","toLowerCase","innerHTML","type","addEventListener","event","applySyntax","btnWrapper","_MakeTool","BoldTool","_callSuper","_inherits","textarea","usertextarea","selectionStart","selectionEnd","selectedText","substring","syntax","newText","startsWith","endsWith","slice","insertText","ItalicTool","StrikethroughTool","ULTool","OLTool","PreviewTool","preview","_this$editor$previewC","previewWrapper","parentNode","editorDiv","markdownEditorDiv","enablePreview","disablePreview","textareaWrapper","querySelector","classList","toggle","remove","add","render","querySelectorAll","forEach","contains","CheckListTool","BlockQuoteTool","modal","size","bodyHTML","mde","target","closest","modalHTML","insertAdjacentHTML","showModal","LinkTool","linkRegex","test","linkText","match","setRangeText","modalElement","e","preventDefault","linkInput","linkTextInput","validity","valid","link","close","reportValidity","HeadingTool","currentHeading","cleanText","currentLevel","headingCount","length","repeat","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_defineProperties","_toPropertyKey","_typeof","toPrimitive","String","Number","_toPrimitive","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","valueOf","_setPrototypeOf","ImageTool","config","arguments","undefined","fileInputConfig","fileInput","altInputConfig","altInput","required","acceptFormats","accept","map","join","isAltRequired","uploadUrl","customParams","params","imageRegex","fileInputTag","submitBtn","_ref","_callee","fileInputSelector","urlInputSelector","imgFileAltInput","hasFile","file","formData","res","_result","imgLink","imgLinkAlt","_context","files","disabled","textContent","FormData","append","keys","fetch","method","body","json","result","success","image_path","image_alt","alert","error","message","_next","_throw","_x","UndoTool","undoRedoManager","undo","RedoTool","redo","IndentTool","indentManager","indent","OutdentTool","outdent","Toolbar","options","toolbar","init","toolMapping","heading","ul","ol","checklist","bold","italic","strikethrough","blockquote","image","tool","ToolClass","toolName","toolInstance","includes","previewToolInstance","editorContainer","insertBefore","IndentManager","renderCallback","pairs","shiftKey","_triggerUpdate","autoIndent","handleBackspace","handlePairs","char","values","newPos","setSelectionRange","open","newValue","before","after","charBefore","charAfter","lastNewline","lastIndexOf","insertion","tab","dispatchEvent","Event","bubbles","startPos","endPos","indexOf","lines","split","indentedText","line","_applyChange","removedFromFirst","totalRemoved","unindentedText","index","Math","max","newStart","newEnd","ListManager","handleEnter","_this$textarea","lineStart","currentLine","olMatch","ulMatch","taskMatch","continuation","parseInt","Diff","diff","oldStr","newStr","callback","oldString","castInput","newString","oldTokens","removeEmpty","tokenize","newTokens","diffWithOptionsObj","_a","postProcess","setTimeout","newLen","oldLen","editLength","maxEditLength","min","maxExecutionTime","timeout","Infinity","abortAfterTimestamp","Date","now","bestPath","oldPos","lastComponent","extractCommon","buildValues","minDiagonalToConsider","maxDiagonalToConsider","execEditLength","diagonalPath","basePath","removePath","addPath","canAdd","addPathNewPos","canRemove","addToPath","exec","ret","path","added","removed","oldPosInc","last","oneChangePerToken","count","previousComponent","commonCount","equals","left","right","comparator","ignoreCase","array","push","Array","from","chars","changeObjects","useLongestToken","components","nextComponent","reverse","componentLen","componentPos","component","oldValue","characterDiff","UndoRedoManager","undoStack","redoStack","lastValue","lastSelection","debounceDelay","maxStackSize","_debounceTimer","_bindEvents","_onKeyDown","_updateLastSelection","inputType","_onInput","_saveState","modifier","metaKey","ctrlKey","isZ","isY","isShift","hasSelection","isDeletiveKey","_this2","clearTimeout","lastChar","selection","_objectSpread","shift","lastStep","pop","prevValue","_revertDiff","_restoreState","redoStep","_applyDiff","part","currentValue","focus","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","get","obj","prop","hasOwnProperty","M","async","breaks","extensions","gfm","hooks","pedantic","renderer","silent","tokenizer","walkTokens","T","H","_","k","source","s","caret","getRegex","RegExp","Re","codeRemoveIndent","outputLinkReplace","indentCodeCompensation","beginningSpace","endingHash","startingSpaceChar","endingSpaceChar","nonSpaceChar","newLineCharGlobal","tabCharGlobal","multipleSpaceGlobal","blankLine","doubleBlankLine","blockquoteStart","blockquoteSetextReplace","blockquoteSetextReplace2","listReplaceNesting","listIsTask","listReplaceTask","listTaskCheckbox","anyLine","hrefBrackets","tableDelimiter","tableAlignChars","tableRowBlankLine","tableAlignRight","tableAlignCenter","tableAlignLeft","startATag","endATag","startPreScriptTag","endPreScriptTag","startAngleBracket","endAngleBracket","pedanticHrefTitle","unicodeAlphaNumeric","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","unescapeTest","percentDecode","findPipe","splitPipe","slashPipe","carriageReturn","spaceLine","notSpaceStart","endingNewline","listItemRegex","nextBulletRegex","hrRegex","fencesBeginRegex","headingBeginRegex","htmlBeginRegex","blockquoteBeginRegex","I","N","re","se","Pe","Q","F","$e","_e","q","j","Le","ie","U","code","def","fences","hr","html","lheading","list","newline","paragraph","table","text","te","ze","Ce","oe","K","ae","Be","le","ue","He","pe","Ze","Ne","ce","Qe","Fe","je","Ue","We","Xe","Je","Ve","Ye","D","et","he","ke","ne","W","_backpedal","anyPunctuation","autolink","blockSkip","br","del","delLDelim","delRDelim","emStrongLDelim","emStrongRDelimAst","emStrongRDelimUnd","escape","nolink","punctuation","reflink","reflinkSearch","tag","url","nt","Z","rt","E","normal","z","st","de","O","X","encodeURI","J","trim","at","splice","C","charAt","fe","me","href","other","state","inLink","raw","tokens","inlineTokens","rules","lexer","space","block","codeBlockStyle","it","lang","inline","depth","top","blockTokens","h","R","S","ordered","start","loose","items","trimStart","search","V","Y","ee","xe","be","A","task","trimEnd","inlineQueue","src","checked","unshift","filter","some","pre","header","align","rows","inRawBlock","ge","emStrong","lastIndex","codespan","inlineText","escaped","x","links","lex","lexInline","startBlock","charCodeAt","console","Error","emStrongMask","startInline","parser","parse","parseInline","listitem","checkbox","tablecell","tablerow","strong","em","textRenderer","$","b","renderers","P","static","Set","preprocess","postprocess","processAllTokens","provideLexer","provideParser","L","defaults","setOptions","parseMarkdown","Parser","Renderer","TextRenderer","Lexer","Tokenizer","Hooks","use","childTokens","flat","name","level","passThroughHooks","has","passThroughHooksRespectAsync","onError","toString","all","catch","reject","g","getDefaults","marked","MarkdownEditor","selector","mode","previewTimer","listManager","createEditor","addToolbar","isTextareaValid","applyDefaultAttributes","buildEditorLayout","addInputListener","tagName","hasAttribute","placeholder","addTextareaWrapper","addPreviewWrapper","textareaContainer","displayLayer","setAttribute","previewInstance","getPreviewContent","renderHybrid","debouncedPreview","scrollTop","scrollLeft","ratio","scrollHeight","clientHeight","_this$usertextarea","scrollToView","lineHeight","window","getComputedStyle","rowsInView","floor","targetScrollTop","cols","rawValue","highlighted"],"sourceRoot":""}