{"version":3,"file":"js/1470-a284007b347f678a04c9.js","mappings":"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","sources":["webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/editor/modified_enter.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/editor/attribute_diff.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/editor/modified_backspace_offset1.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/editor/history_override.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/editor/linebreak_module.js","webpack://freiwillig/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.25.2/app/packs/src/decidim/editor/modified_backspace_offset_any.js"],"sourcesContent":["/* eslint-disable require-jsdoc */\n\nconst Parchment = Quill.import(\"parchment\")\nconst Delta = Quill.import(\"delta\");\n\nconst getLineFormats = (context) => {\n return Object.keys(context.format).reduce(\n (formats, format) => {\n // See Parchment registry.ts => (1 << 3) | ((1 << 2) - 1) = 8 | 3 = 11\n const blockScope = 11;\n if (\n Parchment.query(format, blockScope) &&\n !Array.isArray(context.format[format])\n ) {\n formats[format] = context.format[format];\n }\n return formats;\n },\n {},\n );\n}\n\nconst continueFormats = (quill, context, lineFormats) => {\n Object.keys(context.format).forEach((name) => {\n if (typeof lineFormats[name] !== \"undefined\" && lineFormats[name] !== null) {\n return;\n }\n if (Array.isArray(context.format[name])) {\n return;\n }\n if (name === \"link\") {\n return;\n }\n quill.format(name, context.format[name], Quill.sources.USER);\n });\n}\n\nconst lineBreakHandler = (quill, range, context) => {\n const currentLeaf = quill.getLeaf(range.index)[0];\n const nextLeaf = quill.getLeaf(range.index + 1)[0];\n const previousChar = quill.getText(range.index - 1, 1);\n const formats = quill.getFormat(range.index);\n\n if (currentLeaf?.next?.domNode?.tagName === \"A\" || nextLeaf?.parent?.domNode?.tagName === \"A\") {\n quill.insertEmbed(range.index, \"break\", true, \"user\");\n quill.removeFormat(range.index, 1, Quill.sources.SILENT)\n } else {\n quill.insertEmbed(range.index, \"break\", true, \"user\");\n }\n\n if (nextLeaf === null) {\n quill.insertEmbed(range.index, \"break\", true, \"user\");\n } else if (context.offset === 1 && previousChar === \"\\n\") {\n const delta = new Delta().retain(range.index).insert(\"\\n\");\n quill.updateContents(delta, Quill.sources.USER);\n }\n\n Object.keys(formats).forEach((format) => {\n quill.format(format, context.format[format], Quill.sources.USER);\n });\n quill.setSelection(range.index + 1, Quill.sources.SILENT);\n\n const lineFormats = getLineFormats(context);\n continueFormats(quill, context, lineFormats);\n};\n\nexport default function addEnterBindings(quill) {\n quill.keyboard.addBinding({\n key: 13,\n shiftKey: true\n }, (range, context) => {\n lineBreakHandler(quill, range, context);\n });\n\n // HAX: make our SHIFT+ENTER binding the second (first is added below) in order to override Quill defaults\n quill.keyboard.bindings[13].unshift(quill.keyboard.bindings[13].pop());\n\n quill.keyboard.addBinding({ key: 13, shiftKey: false }, (range, context) => {\n const lineFormats = getLineFormats(context);\n const previousChar = quill.getText(range.index - 1, 1);\n const nextChar = quill.getText(range.index, 1);\n const delta = new Delta().retain(range.index).insert(\"\\n\", lineFormats);\n // const length = context.prefix.length;\n if (previousChar === \"\" || previousChar === \"\\n\") {\n if (lineFormats.list && nextChar === \"\\n\") {\n if (quill.getLength() - range.index > 2) {\n const endFormatDelta = new Delta().retain(range.index - 1).delete(1);\n quill.updateContents(endFormatDelta, Quill.sources.USER);\n } else {\n // Delete empty list item and end the list\n const endFormatDelta = new Delta().retain(range.index - 1).delete(1).retain(range.index).insert(\"\\n\");\n quill.updateContents(endFormatDelta, Quill.sources.USER);\n quill.setSelection(range.index + 1, Quill.sources.SILENT);\n }\n } else {\n quill.updateContents(delta, Quill.sources.USER);\n if (context.offset === 1 && previousChar === \"\\n\") {\n quill.setSelection(range.index + 1, Quill.sources.SILENT);\n } else {\n quill.setSelection(range.index + 2, Quill.sources.SILENT);\n }\n }\n } else {\n quill.updateContents(delta, Quill.sources.USER);\n quill.setSelection(range.index + 1, Quill.sources.SILENT);\n }\n quill.focus();\n\n continueFormats(quill, context, lineFormats);\n });\n\n // Replace the default enter handling because we have modified the break element\n quill.keyboard.bindings[13].unshift(quill.keyboard.bindings[13].pop());\n return;\n}\n\n","/* eslint-disable require-jsdoc */\n\n// ORGINAL: https://github.com/quilljs/delta/blob/ddda3bf088cda3ec03d5dbcc1179679d147f3a02/src/AttributeMap.ts\nexport default function attributeDiff(attributes1, attributes2) {\n let alpha = attributes1;\n let beta = attributes2;\n if (typeof alpha !== \"object\") {\n alpha = {};\n }\n if (typeof beta !== \"object\") {\n beta = {};\n }\n const attributes = Object.keys(alpha).concat(Object.keys(beta)).reduce((attrs, key) => {\n // ORGINAL: import isEqual from 'lodash.isequal'; if (!isEqual(a[key], b[key]))\n if ((alpha[key] !== beta[key])) {\n attrs[key] = null;\n if (beta[key]) {\n attrs[key] = beta[key]\n }\n }\n return attrs;\n }, {});\n\n if (Object.keys(attributes).length > 0) {\n return attributes;\n }\n return null;\n}\n","/* eslint-disable require-jsdoc */\n\nimport attributeDiff from \"src/decidim/editor/attribute_diff\"\n\nconst Delta = Quill.import(\"delta\");\n\nconst previousChar = (quill, range) => {\n return quill.getText(range.index - 1, 1);\n}\n\nconst beforePreviousChar = (quill, range) => {\n return quill.getText(range.index - 2, 1);\n}\n\nconst nextChar = (quill, range) => {\n return quill.getText(range.index, 1);\n}\n\nconst handleListSelection = (quill, range) => {\n const lastCharacterOfPreviousLine = quill.getText(range.index - 3, 1);\n if (nextChar(quill, range) === \"\\n\" || lastCharacterOfPreviousLine !== \"\\n\") {\n quill.setSelection(range.index - 1, Quill.sources.SILENT);\n } else {\n quill.setSelection(range.index - 3, Quill.sources.SILENT);\n }\n}\n\nconst moveSelectionToPreviousLine = (quill, range) => {\n const lastCharacterOfPreviousLine = quill.getText(range.index - 3, 1);\n if (nextChar(quill, range) === \"\\n\" || lastCharacterOfPreviousLine !== \"\\n\") {\n quill.setSelection(range.index - 1, Quill.sources.SILENT);\n } else {\n quill.setSelection(range.index - 3, Quill.sources.SILENT);\n }\n}\n\nexport default function backspaceBindings(quill) {\n quill.keyboard.addBinding({ key: 8, offset: 1, collapsed: true }, (range, context) => {\n let length = 1\n if ((/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/).test(context.prefix)) {\n length = 2;\n }\n\n if (range.index === 0 || quill.getLength() <= 1) {\n return;\n }\n let formats = {};\n const [line] = quill.getLine(range.index);\n let delta = new Delta().retain(range.index - length).delete(length);\n if (context.offset === 1 && previousChar(quill, range) === \"\\n\") {\n const [prev] = quill.getLine(range.index - 2);\n if (prev && prev.statics.blotName === \"list-item\") {\n formats = handleListSelection(quill, range);\n if (prev !== null && prev.length() > 1) {\n let curFormats = line.formats();\n let prevFormats = quill.getFormat(range.index - 2, 1);\n formats = attributeDiff(curFormats, prevFormats) || {};\n length += 1;\n }\n delta = new Delta().retain(range.index - 2).delete(2);\n moveSelectionToPreviousLine(quill, range);\n } else {\n delta = new Delta().retain(range.index - 1).delete(1);\n if (range.index < 2) {\n delta = new Delta().delete(1).retain(range.index + line.length() - 1);\n } else if (previousChar(quill, range) === \"\\n\" && beforePreviousChar(quill, range) === \"\\n\") {\n delta = new Delta().retain(range.index - 2).delete(2);\n }\n }\n } else {\n const [prev] = quill.getLine(range.index - 1);\n if (prev) {\n const isPrevLineEmpty =\n prev.statics.blotName === \"block\" && prev.length() <= 1;\n if (!isPrevLineEmpty) {\n const curFormats = line.formats();\n const prevFormats = quill.getFormat(range.index - 1, 1);\n formats = attributeDiff(curFormats, prevFormats) || {};\n if (Object.keys(formats).length > 0) {\n // line.length() - 1 targets \\n in line, another -1 for newline being deleted\n const formatDelta = new Delta().retain(range.index + line.length() - 2).retain(1, formats);\n delta = delta.compose(formatDelta);\n }\n }\n }\n }\n quill.updateContents(delta, Quill.sources.USER);\n if (Object.keys(formats).length > 0) {\n quill.formatLine(range.index - length, length, formats, Quill.sources.USER);\n }\n quill.focus();\n });\n\n // Put this backspace binding to second\n quill.keyboard.bindings[8].splice(1, 0, quill.keyboard.bindings[8].pop());\n}\n","/* eslint-disable require-jsdoc */\n\nconst History = Quill.import(\"modules/history\");\nHistory.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: true\n};\n\n/**\n * Linebreak module brokes quill's default history class.\n * So here we are moving innerHTML to undo and redo stack\n * instead of deltas.\n */\nexport default class HistoryOverride extends History {\n constructor(quill, options) {\n super(quill, options);\n this.lastRecorded = 0;\n this.ignoreChange = false;\n this.init = false;\n this.quill.emitter.on(\"editor-ready\", () => {\n this.clear();\n const $input = $(this.quill.container).siblings('input[type=\"hidden\"]');\n this.stack.undo.push({content: $input.val() || \"\", index: this.quill.getLength() - 2 });\n this.lastLength = this.quill.getLength();\n })\n /* eslint-disable max-params */\n this.quill.on(Quill.events.EDITOR_CHANGE, (eventName, delta, oldDelta, source) => {\n if (!delta) {\n return;\n }\n if (!this.init && eventName === \"selection-change\") {\n this.stack.undo[0].index = delta.index;\n }\n if (eventName !== Quill.events.TEXT_CHANGE || this.ignoreChange) {\n return;\n }\n\n if (!this.options.userOnly || source === Quill.sources.USER) {\n this.record(delta, oldDelta);\n }\n });\n this.quill.keyboard.addBinding({ key: \"Z\", shortKey: true }, this.undo.bind(this));\n this.quill.keyboard.addBinding({ key: \"Z\", shortKey: true, shiftKey: true }, this.redo.bind(this));\n if ((/Win/i).test(navigator.platform)) {\n this.quill.keyboard.addBinding({ key: \"Y\", shortKey: true }, this.redo.bind(this));\n }\n }\n /* eslint-enable max-params */\n\n change(source, dest) {\n if (this.stack[source].length === 0) {\n return;\n }\n let obj = this.updateStacks(source, dest);\n if (!obj.content) {\n return;\n }\n if (!obj.index) {\n obj.index = 0\n }\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.setContents(this.quill.clipboard.convert(obj.content));\n this.ignoreChange = false;\n let index = obj.index;\n this.quill.setSelection(index);\n }\n\n updateStacks(source, dest) {\n if (source === \"undo\") {\n if (this.stack.undo.length === 1) {\n return this.stack.undo[0]\n }\n this.stack[dest].push(this.stack.undo.pop())\n return this.stack.undo[this.stack.undo.length - 1]\n }\n let content = this.stack.redo.pop();\n this.stack.undo.push(content)\n return content\n }\n\n record(changeDelta) {\n if (changeDelta.ops.length === 0) {\n return\n } else if (!this.init) {\n this.init = true;\n }\n this.stack.redo = [];\n let timestamp = Date.now();\n // Should not return after length check, because after linebreak a keypress replaces invisible characters with\n // visible characters.\n // For example:

-> [press X] ->
X

.\n if (Math.abs(this.lastLength === this.quill.getLength()) || this.lastRecorded + this.options.delay > timestamp) {\n if (this.stack.undo.length > 1) {\n this.stack.undo.pop();\n }\n } else {\n this.lastLength = this.quill.getLength();\n if (this.lastRecorded + this.options.delay <= timestamp) {\n this.lastRecorded = timestamp;\n }\n }\n this.stack.undo.push({content: this.quill.container.firstChild.innerHTML, index: this.quill.getSelection()})\n }\n\n transform() {\n return;\n }\n}\n","/* 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","/* eslint-disable require-jsdoc */\n\nimport attributeDiff from \"src/decidim/editor/attribute_diff\"\n\nexport default function backspaceBindingsRangeAny(quill) {\n quill.keyboard.addBinding({ key: 8, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null, collapsed: true }, (range, context) => {\n let length = 1;\n if (range.index === 0 || quill.getLength() <= 1) {\n return;\n }\n let [line] = quill.getLine(range.index);\n let formats = {};\n if (context.offset === 0) {\n let [prev] = quill.getLine(range.index - 1);\n if (prev !== null && prev.length() > 1) {\n let curFormats = line.formats();\n let prevFormats = quill.getFormat(range.index - 1, 1);\n formats = attributeDiff(curFormats, prevFormats) || {};\n const previousLineLength = quill.getLine(range.index - 1)[1];\n const previousChar = quill.getText(range.index - 1, 1)\n const beforePreviousChar = quill.getText(range.index - 2, 1);\n if (previousLineLength && previousLineLength === 1 && beforePreviousChar === \"\\n\") {\n if (prevFormats && prevFormats.list) {\n quill.setSelection(range.index - 2, Quill.sources.SILENT);\n } else if (previousChar === \"\\n\" && beforePreviousChar === \"\\n\") {\n length += 1;\n }\n }\n }\n }\n\n if ((/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/).test(context.prefix)) {\n length += 1;\n }\n quill.deleteText(range.index - length, length, Quill.sources.USER);\n\n if (Object.keys(formats).length > 0) {\n quill.formatLine(range.index - length, length, formats, Quill.sources.USER);\n }\n quill.focus();\n })\n\n // Put this backspace binding to second (after backspce_offset1 it's going to be third)\n quill.keyboard.bindings[8].splice(1, 0, quill.keyboard.bindings[8].pop());\n}\n\n"],"names":["Parchment","Quill","Delta","getLineFormats","context","Object","keys","format","reduce","formats","query","Array","isArray","continueFormats","quill","lineFormats","forEach","name","sources","USER","addEnterBindings","keyboard","addBinding","key","shiftKey","range","currentLeaf","getLeaf","index","nextLeaf","previousChar","getText","getFormat","next","domNode","tagName","parent","insertEmbed","removeFormat","SILENT","offset","delta","retain","insert","updateContents","setSelection","lineBreakHandler","bindings","unshift","pop","nextChar","list","getLength","endFormatDelta","focus","attributeDiff","attributes1","attributes2","alpha","beta","_typeof","attributes","concat","attrs","length","backspaceBindings","collapsed","test","prefix","line","getLine","prev","statics","blotName","lastCharacterOfPreviousLine","handleListSelection","moveSelectionToPreviousLine","beforePreviousChar","formatDelta","compose","formatLine","splice","History","DEFAULTS","delay","maxStack","userOnly","HistoryOverride","options","_this","lastRecorded","ignoreChange","init","emitter","on","clear","$input","$","container","siblings","stack","undo","push","content","val","lastLength","events","EDITOR_CHANGE","eventName","oldDelta","source","TEXT_CHANGE","record","shortKey","bind","redo","navigator","platform","dest","this","obj","updateStacks","setContents","clipboard","convert","changeDelta","ops","timestamp","Date","now","Math","abs","firstChild","innerHTML","getSelection","debug","Break","Embed","Scroll","register","linebreak","icons","SmartBreak","ref","Reflect","apply","prototype","insertInto","ScrollOvderride","mutations","batch","parchmentOptimize","emit","Container","optimize","records","observer","takeRecords","mark","blot","markParent","parentNode","__blot","children","remaining","ind","Error","mutation","find","target","type","previousSibling","addedNodes","node","child","grandChild","slice","lineBreakButtonHandler","selection","getRange","getModule","addHandler","deleteText","addMatcher","altKey","ctrlKey","metaKey","curFormats","prevFormats","previousLineLength","backspaceBindingsRangeAny"],"sourceRoot":""}