{"version":3,"file":"js/2014-b062c00ca6457f60c218.js","mappings":"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","sources":["webpack://app/../usr/local/bundle/gems/decidim-core-0.26.7/app/packs/src/decidim/editor/modified_enter.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.26.7/app/packs/src/decidim/editor/attribute_diff.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.26.7/app/packs/src/decidim/editor/modified_backspace_offset1.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.26.7/app/packs/src/decidim/editor/history_override.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.26.7/app/packs/src/decidim/editor/linebreak_module.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.26.7/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:
)\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 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$next","_currentLeaf$next$dom","_nextLeaf$parent","_nextLeaf$parent$domN","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","_endFormatDelta","focus","attributeDiff","attributes1","attributes2","alpha","beta","_typeof","attributes","concat","attrs","length","backspaceBindings","collapsed","test","prefix","line","_slicedToArray","getLine","prev","statics","blotName","lastCharacterOfPreviousLine","handleListSelection","moveSelectionToPreviousLine","beforePreviousChar","_prev","formatDelta","compose","formatLine","splice","History","DEFAULTS","delay","maxStack","userOnly","HistoryOverride","_History","_inherits","_super","_createSuper","options","_this","_classCallCheck","call","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","_assertThisInitialized","redo","navigator","platform","value","dest","this","obj","updateStacks","setContents","clipboard","convert","changeDelta","ops","timestamp","Date","now","Math","abs","firstChild","innerHTML","getSelection","debug","Break","Embed","Scroll","register","linebreak","SmartBreak","_Break","apply","arguments","_createClass","ref","Reflect","prototype","insertInto","ScrollOvderride","_Scroll","_super2","mutations","undefined","batch","parchmentOptimize","emit","Container","optimize","records","_toConsumableArray","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","altKey","ctrlKey","metaKey","curFormats","prevFormats","previousLineLength","backspaceBindingsRangeAny"],"sourceRoot":""}