{"version":3,"file":"js/9860-2971dcb00b4c26a14ec8.js","mappings":"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","sources":["webpack://decidim-development-app/../usr/local/bundle/gems/decidim-core-0.27.0/app/packs/src/decidim/editor/linebreak_module.js","webpack://decidim-development-app/./app/packs/src/decidim/editor/clipboard_utilities.js","webpack://decidim-development-app/./app/packs/src/decidim/editor/clipboard_override.js","webpack://decidim-development-app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.3/app/packs/src/decidim/decidim_awesome/editors/editor.js","webpack://decidim-development-app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.3/app/packs/src/decidim/decidim_awesome/forms/rich_text_plugin.js","webpack://decidim-development-app/./app/packs/src/decidim/decidim_awesome/forms/custom_fields_renderer.js","webpack://decidim-development-app/../usr/local/bundle/gems/decidim-decidim_awesome-0.9.3/app/packs/src/decidim/decidim_awesome/proposals/custom_fields.js"],"sourcesContent":["/* eslint-disable require-jsdoc */\n\nimport addEnterBindings from \"src/decidim/editor/modified_enter\"\nimport backspaceBindingsRangeAny from \"src/decidim/editor/modified_backspace_offset_any\"\nimport backspaceBindings from \"src/decidim/editor/modified_backspace_offset1\"\nimport HistoryOverride from \"src/decidim/editor/history_override\"\n\n// Disable warning messages from overwritting modules\nQuill.debug(\"error\");\n\n// It all started with these snippets of code: https://github.com/quilljs/quill/issues/252\nconst Delta = Quill.import(\"delta\");\nconst Break = Quill.import(\"blots/break\");\nconst Embed = Quill.import(\"blots/embed\");\nconst Scroll = Quill.import(\"blots/scroll\");\nconst Parchment = Quill.import(\"parchment\");\nQuill.register({\"modules/history\": HistoryOverride}, true);\nlet icons = Quill.import(\"ui/icons\");\nicons.linebreak = \"⏎\";\n\nclass SmartBreak extends Break {\n length() {\n return 1;\n }\n\n value() {\n return \"\\n\";\n }\n\n insertInto(parent, ref) {\n // Embed.prototype.insertInto.call(this, parent, ref);\n Reflect.apply(Embed.prototype.insertInto, this, [parent, ref]);\n }\n}\nQuill.register(SmartBreak);\n\n// Override quill/blots/scroll.js\nclass ScrollOvderride extends Scroll {\n optimize(mutations = [], context = {}) {\n if (this.batch === true) {\n return;\n }\n\n this.parchmentOptimize(mutations, context);\n\n if (mutations.length > 0) {\n // quill/core/emitter.js, Emitter.events.SCROLL_OPTIMIZE = \"scroll-optimize\"\n this.emitter.emit(\"scroll-optimize\", mutations, context);\n }\n }\n\n // Override parchment/src/blot/scroll.ts\n parchmentOptimize(mutations = [], context = {}) {\n // super.optimize(context);\n Reflect.apply(Parchment.Container.prototype.optimize, this, [context]);\n\n // We must modify mutations directly, cannot make copy and then modify\n // let records = [].slice.call(this.observer.takeRecords());\n let records = [...this.observer.takeRecords()];\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0) {\n mutations.push(records.pop());\n }\n let mark = (blot, markParent) => {\n if (!blot || blot === this) {\n return;\n }\n if (!blot.domNode.parentNode) {\n return;\n }\n if (blot.domNode.__blot && blot.domNode.__blot.mutations === null) {\n blot.domNode.__blot.mutations = [];\n }\n if (markParent) {\n mark(blot.parent);\n }\n };\n let optimize = (blot) => {\n // Post-order traversal\n if (!blot.domNode.__blot) {\n return;\n }\n\n if (blot instanceof Parchment.Container) {\n blot.children.forEach(optimize);\n }\n blot.optimize(context);\n };\n let remaining = mutations;\n for (let ind = 0; remaining.length > 0; ind += 1) {\n // MAX_OPTIMIZE_ITERATIONS = 100\n if (ind >= 100) {\n throw new Error(\"[Parchment] Maximum optimize iterations reached\");\n }\n remaining.forEach((mutation) => {\n let blot = Parchment.find(mutation.target, true);\n if (!blot) {\n return;\n }\n if (blot.domNode === mutation.target) {\n if (mutation.type === \"childList\") {\n mark(Parchment.find(mutation.previousSibling, false));\n\n mutation.addedNodes.forEach((node) => {\n let child = Parchment.find(node, false);\n mark(child, false);\n if (child instanceof Parchment.Container) {\n child.children.forEach(function(grandChild) {\n mark(grandChild, false);\n });\n }\n });\n } else if (mutation.type === \"attributes\") {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [...this.observer.takeRecords()];\n records = remaining.slice();\n while (records.length > 0) {\n mutations.push(records.pop());\n }\n }\n }\n};\nQuill.register(\"blots/scroll\", ScrollOvderride, true);\nParchment.register(ScrollOvderride);\n\n\nexport default function lineBreakButtonHandler(quill) {\n let range = quill.selection.getRange()[0];\n let currentLeaf = quill.getLeaf(range.index)[0];\n let nextLeaf = quill.getLeaf(range.index + 1)[0];\n const previousChar = quill.getText(range.index - 1, 1);\n\n // Insert a second break if:\n // At the end of the editor, OR next leaf has a different parent (

)\n if (nextLeaf === null || (currentLeaf.parent !== nextLeaf.parent)) {\n quill.insertEmbed(range.index, \"break\", true, \"user\");\n quill.insertEmbed(range.index, \"break\", true, \"user\");\n } else if (previousChar === \"\\n\") {\n const delta = new Delta().retain(range.index).insert(\"\\n\");\n quill.updateContents(delta, Quill.sources.USER);\n } else {\n quill.insertEmbed(range.index, \"break\", true, \"user\");\n }\n\n // Now that we've inserted a line break, move the cursor forward\n quill.setSelection(range.index + 1, Quill.sources.SILENT);\n}\n\nQuill.register(\"modules/linebreak\", (quill) => {\n quill.getModule(\"toolbar\").addHandler(\"linebreak\", () => {\n lineBreakButtonHandler(quill);\n });\n\n quill.emitter.on(\"editor-ready\", () => {\n const length = quill.getLength();\n const text = quill.getText(length - 2, 2);\n\n // Remove extraneous new lines\n if (text === \"\\n\\n\") {\n quill.deleteText(quill.getLength() - 2, 2);\n }\n });\n\n quill.clipboard.addMatcher(\"BR\", (node) => {\n if (node?.parentNode?.tagName === \"A\") {\n return new Delta().insert(\"\\n\");\n }\n return new Delta().insert({\"break\": \"\"});\n });\n\n addEnterBindings(quill);\n backspaceBindingsRangeAny(quill);\n backspaceBindings(quill);\n\n return;\n});\n\n","import { BlockEmbed } from \"quill/blots/block\";\n\nconst Delta = Quill.import(\"delta\");\nconst Parchment = Quill.import(\"parchment\");\n\n// Newer version used only for the pasting, not compatible with the version of\n// Quill in use.\nconst traverse = (scroll, node, elementMatchers, textMatchers, nodeMatches) => { // eslint-disable-line max-params\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce((delta, matcher) => {\n return matcher(node, delta, scroll);\n }, new Delta());\n }\n if (node.nodeType === node.ELEMENT_NODE) {\n return Array.from(node.childNodes || []).reduce((delta, childNode) => {\n let childrenDelta = traverse(\n scroll,\n childNode,\n elementMatchers,\n textMatchers,\n nodeMatches,\n );\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce((reducedDelta, matcher) => {\n return matcher(childNode, reducedDelta, scroll);\n }, childrenDelta);\n childrenDelta = (nodeMatches.get(childNode) || []).reduce(\n (reducedDelta, matcher) => {\n return matcher(childNode, reducedDelta, scroll);\n },\n childrenDelta,\n );\n }\n return delta.concat(childrenDelta);\n }, new Delta());\n }\n return new Delta();\n}\n\nconst deltaEndsWith = (delta, text) => {\n let endText = \"\";\n for (let idx = delta.ops.length - 1; idx >= 0 && endText.length < text.length; idx -= 1) {\n const op = delta.ops[idx];\n if (typeof op.insert !== \"string\") {\n break;\n }\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\n\nconst isLine = (node) => {\n if (node.childNodes.length === 0) {\n // Exclude embed blocks\n return false;\n }\n return [\n \"address\", \"article\", \"blockquote\", \"canvas\", \"dd\", \"div\", \"dl\", \"dt\",\n \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\",\n \"h4\", \"h5\", \"h6\", \"header\", \"iframe\", \"li\", \"main\", \"nav\", \"ol\", \"output\",\n \"p\", \"pre\", \"section\", \"table\", \"td\", \"tr\", \"ul\", \"video\"\n ].includes(node.tagName.toLowerCase());\n}\n\nconst matchNewLineScroll = (nextSibling, delta, scroll) => {\n if (!scroll) {\n return null;\n }\n\n const match = Parchment.query(nextSibling)\n if (match && match.prototype instanceof BlockEmbed) {\n return delta.insert(\"\\n\");\n }\n return null;\n}\n\nconst matchNewline = (node, delta, scroll) => {\n if (!deltaEndsWith(delta, \"\\n\")) {\n // When scroll is defined, it was initiated from the paste event. Otherwise\n // it is a normal Quill initiated traversal which handles adding the line\n // breaks already.\n if (scroll && node.nodeType === node.ELEMENT_NODE && node.tagName === \"BR\") {\n return delta.insert({\"break\": \"\"});\n }\n if (isLine(node)) {\n return delta.insert(\"\\n\");\n }\n if (delta.length() > 0 && node.nextSibling) {\n let { nextSibling } = node;\n while (nextSibling !== null) {\n if (isLine(nextSibling)) {\n return delta.insert(\"\\n\");\n }\n const scrollMatch = matchNewLineScroll(nextSibling, delta, scroll);\n if (scrollMatch) {\n return scrollMatch;\n }\n nextSibling = nextSibling.firstChild;\n }\n }\n }\n return delta;\n}\n\nconst matchBreak = (node, delta) => {\n if (!deltaEndsWith(delta, \"\\n\")) {\n delta.insert({\"break\": \"\"});\n }\n return delta;\n}\n\nexport {\n traverse,\n deltaEndsWith,\n isLine,\n matchNewline,\n matchBreak\n}\n","/* eslint max-lines: [\"error\", 350] */\n\n/**\n * Quill clipboard utilities\n *\n * Copyright (c) 2017, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n * BSD 3-Clause \"New\" or \"Revised\" License\n *\n * Extends the original version from https://github.com/quilljs/quill\n * Relevant parts converted from TypeScript to JavaScript\n */\n\nimport CodeBlock from \"quill/formats/code\";\nimport { matchNewline, matchBreak, deltaEndsWith, traverse } from \"src/decidim/editor/clipboard_utilities\";\n\nconst Delta = Quill.import(\"delta\");\nconst Clipboard = Quill.import(\"modules/clipboard\");\n\n/**\n * Pasting bold text is broken in Quill as described at:\n * https://github.com/quilljs/quill/issues/306\n *\n * The reason is that the `` nodes are not recognized as bold types.\n * This override fixes the issue by introducing parts of the newer Quill code\n * at GitHub and defining the `` tags as bold tags.\n */\nexport default class ClipboardOverride extends Clipboard {\n constructor(quill, options) {\n super(quill, options);\n this.overrideMatcher(\"b\", \"b, strong\");\n this.overrideMatcher(\"br\", \"br\", matchBreak);\n\n // Change the matchNewLine matchers to the newer version\n this.matchers[1][1] = matchNewline;\n this.matchers[3][1] = matchNewline;\n\n // Remove `matchSpacing` as that is also removed in the newer versions.\n this.removeMatcher(Node.ELEMENT_NODE, \"matchSpacing\");\n }\n\n overrideMatcher(originalSelector, newSelector, newMatcher = null) {\n const idx = this.matchers.findIndex((item) => item[0] === originalSelector);\n if (idx >= 0) {\n this.matchers[idx][0] = newSelector;\n if (newMatcher) {\n this.matchers[idx][1] = newMatcher;\n }\n }\n }\n\n removeMatcher(selector, matcherName) {\n const idx = this.matchers.findIndex((item) => item[0] === selector && item[1].name === matcherName);\n if (idx >= 0) {\n this.matchers.splice(idx, 1);\n }\n }\n\n onPaste(ev) {\n if (ev.defaultPrevented || !this.quill.isEnabled()) {\n return;\n }\n ev.preventDefault();\n const range = this.quill.getSelection(true);\n if (range === null) {\n return;\n }\n const html = ev.clipboardData.getData(\"text/html\");\n const text = ev.clipboardData.getData(\"text/plain\");\n const files = Array.from(ev.clipboardData.files || []);\n if (!html && files.length > 0) {\n this.quill.uploader.upload(range, files);\n return;\n }\n if (html && files.length > 0) {\n const doc = new DOMParser().parseFromString(html, \"text/html\");\n if (\n doc.body.childElementCount === 1 &&\n doc.body.firstElementChild.tagName === \"IMG\"\n ) {\n this.quill.uploader.upload(range, files);\n return;\n }\n }\n this.onPasteRange(range, { html, text });\n }\n\n onPasteRange(range, { text, html }) {\n const formats = this.quill.getFormat(range.index);\n const pastedDelta = this.convertPaste({ text, html }, formats);\n // debug.log('onPaste\", pastedDelta, { text, html });\n const delta = new Delta().retain(range.index).delete(range.length).concat(pastedDelta);\n this.quill.updateContents(delta, Quill.sources.USER);\n // range.length contributes to delta.length()\n this.quill.setSelection(\n delta.length() - range.length,\n Quill.sources.SILENT,\n );\n this.quill.scrollIntoView();\n }\n\n convertPaste({ html, text }, formats = {}) {\n if (formats[CodeBlock.blotName]) {\n return new Delta().insert(text, {\n [CodeBlock.blotName]: formats[CodeBlock.blotName]\n });\n }\n if (!html) {\n return new Delta().insert(text || \"\");\n }\n const delta = this.convertPasteHTML(html);\n // Remove trailing newline\n if (\n deltaEndsWith(delta, \"\\n\") &&\n (delta.ops[delta.ops.length - 1].attributes === null || formats.table)\n ) {\n return delta.compose(new Delta().retain(delta.length() - 1).delete(1));\n }\n return delta;\n }\n\n convertPasteHTML(html) {\n const doc = new DOMParser().parseFromString(html, \"text/html\");\n const container = doc.body;\n const nodeMatches = new WeakMap();\n const [elementMatchers, textMatchers] = this.prepareMatching(\n container,\n nodeMatches\n );\n return traverse(\n this.quill.scroll,\n container,\n elementMatchers,\n textMatchers,\n nodeMatches\n );\n }\n}\n\n// Disable warning messages from overwritting modules\nQuill.debug(\"error\");\nQuill.register({\"modules/clipboard\": ClipboardOverride}, true);\n","/* eslint-disable require-jsdoc, func-style */\n\n/*\n* Since version 0.25 we follow a different strategy and opt to destroy and override completely the original editor\n* That's because editors are instantiated directly instead of creating a global function to instantiate them\n*/\n\nimport lineBreakButtonHandler from \"src/decidim/editor/linebreak_module\"\nimport InscrybMDE from \"inscrybmde\"\nimport Europa from \"europa\"\nimport \"inline-attachment/src/inline-attachment\";\nimport \"inline-attachment/src/codemirror-4.inline-attachment\";\nimport \"inline-attachment/src/jquery.inline-attachment\";\nimport hljs from \"highlight.js\";\nimport \"highlight.js/styles/github.css\";\nimport \"src/decidim/editor/clipboard_override\"\nimport \"src/decidim/vendor/image-resize.min\"\nimport \"src/decidim/vendor/image-upload.min\"\n\nconst DecidimAwesome = window.DecidimAwesome || {};\nconst quillFormats = [\"bold\", \"italic\", \"link\", \"underline\", \"header\", \"list\", \"video\", \"image\", \"alt\", \"break\", \"width\", \"style\", \"code\", \"blockquote\", \"indent\"];\n\n// A tricky way to destroy the quill editor\nexport function destroyQuillEditor(container) {\n if (container) {\n const content = $(container).find(\".ql-editor\").html();\n $(container).html(content);\n $(container).siblings(\".ql-toolbar\").remove();\n $(container).find(\"*[class*='ql-']\").removeClass((index, className) => (className.match(/(^|\\s)ql-\\S+/g) || []).join(\" \"));\n $(container).removeClass((index, className) => (className.match(/(^|\\s)ql-\\S+/g) || []).join(\" \"));\n if ($(container).next().is(\"p.help-text\")) {\n $(container).next().remove();\n }\n }\n else {\n console.error(`editor [${container}] not exists`);\n }\n}\n\nexport function createQuillEditor(container) {\n const toolbar = $(container).data(\"toolbar\");\n const disabled = $(container).data(\"disabled\");\n const allowedEmptyContentSelector = \"iframe\";\n\n let quillToolbar = [\n [\"bold\", \"italic\", \"underline\", \"linebreak\"],\n [{ list: \"ordered\" }, { list: \"bullet\" }],\n [\"link\", \"clean\"],\n [\"code\", \"blockquote\"],\n [{ \"indent\": \"-1\"}, { \"indent\": \"+1\" }]\n ];\n\n let addImage = false;\n\n if (toolbar === \"full\") {\n quillToolbar = [\n [{ header: [2, 3, 4, 5, 6, false] }],\n ...quillToolbar\n ];\n if (DecidimAwesome.allow_images_in_full_editor) {\n quillToolbar.push([\"video\", \"image\"]);\n addImage = true;\n } else {\n quillToolbar.push([\"video\"]);\n }\n } else if (toolbar === \"basic\") {\n if (DecidimAwesome.allow_images_in_small_editor) {\n quillToolbar.push([\"video\", \"image\"]);\n addImage = true;\n } else {\n quillToolbar.push([\"video\"]);\n }\n } else if (DecidimAwesome.allow_images_in_small_editor) {\n quillToolbar.push([\"image\"]);\n addImage = true;\n }\n\n let modules = {\n linebreak: {},\n toolbar: {\n container: quillToolbar,\n handlers: {\n \"linebreak\": lineBreakButtonHandler\n }\n }\n };\n\n const $input = $(container).siblings('input[type=\"hidden\"]');\n container.innerHTML = $input.val() || \"\";\n const token = $('meta[name=\"csrf-token\"]').attr(\"content\");\n if (addImage) {\n modules.imageResize = {\n modules: [\"Resize\", \"DisplaySize\"]\n }\n modules.imageUpload = {\n url: DecidimAwesome.editor_uploader_path,\n method: \"POST\",\n name: \"image\",\n withCredentials: false,\n headers: { \"X-CSRF-Token\": token },\n callbackOK: (serverResponse, next) => {\n $(\"div.ql-toolbar\").last().removeClass(\"editor-loading\")\n next(serverResponse.url);\n },\n callbackKO: (serverError) => {\n $(\"div.ql-toolbar\").last().removeClass(\"editor-loading\")\n let msg = serverError && serverError.body;\n try { \n msg = JSON.parse(msg).message; \n } catch (evt) { console.error(\"Parsing error\", evt); }\n console.error(`Image upload error: ${msg}`);\n let $p = $(`

${msg}

`);\n $(container).after($p)\n setTimeout(() => {\n $p.fadeOut(1000, () => { \n $p.destroy();\n });\n }, 3000);\n },\n checkBeforeSend: (file, next) => {\n $(\"div.ql-toolbar\").last().addClass(\"editor-loading\")\n next(file);\n }\n }\n }\n const quill = new Quill(container, {\n modules: modules,\n formats: quillFormats,\n theme: \"snow\"\n });\n\n if (disabled) {\n quill.disable();\n }\n\n quill.on(\"text-change\", () => {\n const text = quill.getText();\n\n // Triggers CustomEvent with the cursor position\n // It is required in input_mentions.js\n let event = new CustomEvent(\"quill-position\", {\n detail: quill.getSelection()\n });\n container.dispatchEvent(event);\n\n if (text === \"\\n\" || text === \"\\n\\n\") {\n $input.val(\"\");\n } else {\n $input.val(quill.root.innerHTML);\n }\n if ((text === \"\\n\" || text === \"\\n\\n\") && quill.root.querySelectorAll(allowedEmptyContentSelector).length === 0) {\n $input.val(\"\");\n } else {\n const emptyParagraph = \"


\";\n const cleanHTML = quill.root.innerHTML.replace(\n new RegExp(`^${emptyParagraph}|${emptyParagraph}$`, \"g\"),\n \"\"\n );\n $input.val(cleanHTML);\n }\n });\n // After editor is ready, linebreak_module deletes two extraneous new lines\n quill.emitter.emit(\"editor-ready\");\n\n if (addImage) {\n const text = $(container).data(\"dragAndDropHelpText\") || DecidimAwesome.texts.drag_and_drop_image;\n $(container).after(`

${text}

`);\n }\n\n // After editor is ready, linebreak_module deletes two extraneous new lines\n quill.emitter.emit(\"editor-ready\");\n\n return quill;\n}\n\nexport function createMarkdownEditor(container) {\n const text = DecidimAwesome.texts.drag_and_drop_image;\n const token = $('meta[name=\"csrf-token\"]').attr(\"content\");\n const $input = $(container).siblings('input[type=\"hidden\"]');\n const $faker = $('