diff --git a/extensions/markdown/js/dist/forum.js b/extensions/markdown/js/dist/forum.js index e29f8ac39..54bfc65f5 100644 --- a/extensions/markdown/js/dist/forum.js +++ b/extensions/markdown/js/dist/forum.js @@ -1,2 +1,4 @@ -module.exports=function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=6)}([function(t,e){t.exports=flarum.core.compat["helpers/icon"]},function(t,e){t.exports=flarum.core.compat.extend},function(t,e){t.exports=flarum.core.compat["components/TextEditor"]},function(t,e){(function(){"use strict";var t=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function e(e){var n=t.has(e);return e=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(e),!n&&e}function n(t){var e=t.isConnected;if(void 0!==e)return e;for(;t&&!(t.__CE_isImportDocument||t instanceof Document);)t=t.parentNode||(window.ShadowRoot&&t instanceof ShadowRoot?t.host:void 0);return!(!t||!(t.__CE_isImportDocument||t instanceof Document))}function o(t,e){for(;e&&e!==t&&!e.nextSibling;)e=e.parentNode;return e&&e!==t?e.nextSibling:null}function i(t,e,n){n=void 0===n?new Set:n;for(var r=t;r;){if(r.nodeType===Node.ELEMENT_NODE){var l=r;e(l);var a=l.localName;if("link"===a&&"import"===l.getAttribute("rel")){if((r=l.import)instanceof Node&&!n.has(r))for(n.add(r),r=r.firstChild;r;r=r.nextSibling)i(r,e,n);r=o(t,l);continue}if("template"===a){r=o(t,l);continue}if(l=l.__CE_shadowRoot)for(l=l.firstChild;l;l=l.nextSibling)i(l,e,n)}r=r.firstChild?r.firstChild:o(t,r)}}function r(t,e,n){t[e]=n}function l(){this.a=new Map,this.f=new Map,this.c=[],this.b=!1}function a(t,e){t.b=!0,t.c.push(e)}function s(t,e){t.b&&i(e,function(e){return c(t,e)})}function c(t,e){if(t.b&&!e.__CE_patched){e.__CE_patched=!0;for(var n=0;n ",multiline:!0,surroundWithNewlines:!0}),t}return s(e,f),e}();window.customElements.get("md-quote")||(window.MarkdownQuoteButtonElement=m,window.customElements.define("md-quote",m));var v=function(t){function e(){l(this,e);var t=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.set(t,{prefix:"`",suffix:"`",blockPrefix:"```",blockSuffix:"```"}),t}return s(e,f),e}();window.customElements.get("md-code")||(window.MarkdownCodeButtonElement=v,window.customElements.define("md-code",v));var g=function(t){function e(){l(this,e);var t=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.set(t,{prefix:"[",suffix:"](url)",replaceNext:"url",scanFor:"https?://"}),t}return s(e,f),r(e,[{key:"connectedCallback",value:function(){i(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"connectedCallback",this).call(this),this.setAttribute("hotkey","k")}}]),e}();window.customElements.get("md-link")||(window.MarkdownLinkButtonElement=g,window.customElements.define("md-link",g));var w=function(t){function e(){l(this,e);var t=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.set(t,{prefix:"- ",multiline:!0,surroundWithNewlines:!0}),t}return s(e,f),e}();window.customElements.get("md-unordered-list")||(window.MarkdownUnorderedListButtonElement=w,window.customElements.define("md-unordered-list",w));var y=function(t){function e(){l(this,e);var t=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.set(t,{prefix:"1. ",multiline:!0,orderedList:!0}),t}return s(e,f),e}();window.customElements.get("md-ordered-list")||(window.MarkdownOrderedListButtonElement=y,window.customElements.define("md-ordered-list",y));var b=function(t){function e(){l(this,e);var t=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.set(t,{prefix:"- [ ] ",multiline:!0,surroundWithNewlines:!0}),t}return s(e,f),r(e,[{key:"connectedCallback",value:function(){i(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"connectedCallback",this).call(this),this.setAttribute("hotkey","L")}}]),e}();window.customElements.get("md-task-list")||(window.MarkdownTaskListButtonElement=b,window.customElements.define("md-task-list",b));var _=function(t){function e(){l(this,e);var t=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.set(t,{prefix:"@",prefixSpace:!0}),t}return s(e,f),e}();window.customElements.get("md-mention")||(window.MarkdownMentionButtonElement=_,window.customElements.define("md-mention",_));var E=function(t){function e(){l(this,e);var t=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return u.set(t,{prefix:"#",prefixSpace:!0}),t}return s(e,f),e}();window.customElements.get("md-ref")||(window.MarkdownRefButtonElement=E,window.customElements.define("md-ref",E));var C=navigator.userAgent.match(/Macintosh/)?"Meta":"Control",k=function(t){function e(){return l(this,e),a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this))}return s(e,c),r(e,[{key:"connectedCallback",value:function(){var t=function(t,e){if(e.metaKey&&"Meta"===C||e.ctrlKey&&"Control"===C){var n=t.querySelector('[hotkey="'+e.key+'"]');n&&(n.click(),e.preventDefault())}}.bind(null,this);this.field&&(this.field.addEventListener("keydown",t),x.set(this,t))}},{key:"disconnectedCallback",value:function(){var t=x.get(this);t&&this.field&&(this.field.removeEventListener("keydown",t),x.delete(this))}},{key:"field",get:function(){var t=this.getAttribute("for");if(t){var e=document.getElementById(t);return e instanceof HTMLTextAreaElement?e:null}}}]),e}(),x=new WeakMap;function O(t){return t.trim().split("\n").length>1}function S(t,e){return Array(e+1).join(t)}window.customElements.get("markdown-toolbar")||(window.MarkdownToolbarElement=k,window.customElements.define("markdown-toolbar",k));var j=null;function N(t,e){var n=t.value.slice(t.selectionStart,t.selectionEnd),o=void 0;o=e.orderedList?function(t){var e=/^\d+\.\s+/,n=void 0,o=void 0,i=t.value.slice(t.selectionStart,t.selectionEnd),r=i.split("\n");if(r.every(function(t){return e.test(t)}))r=r.map(function(t){return t.replace(e,"")}),i=r.join("\n");else{r=function(){var t=void 0,e=void 0,n=void 0,o=[];for(n=t=0,e=r.length;t0?l+"\n":i,v=O(p)&&a.length>0?"\n"+a:r;if(c){var g=t.value[t.selectionStart-1];0===t.selectionStart||null==g||g.match(/\s/)||(m=" "+m)}p=function(t,e,n){if(t.selectionStart===t.selectionEnd)t.selectionStart=function(t,e){for(;t[e]&&null!=t[e-1]&&!t[e-1].match(/\s/);)e--;return e}(t.value,t.selectionStart),t.selectionEnd=function(t,e){for(;t[e]&&!t[e].match(/\s/);)e++;return e}(t.value,t.selectionEnd);else{var o=t.selectionStart-e.length,i=t.selectionEnd+n.length,r=t.value.slice(o,t.selectionStart)===e,l=t.value.slice(t.selectionEnd,i)===n;r&&l&&(t.selectionStart=o,t.selectionEnd=i)}return t.value.slice(t.selectionStart,t.selectionEnd)}(t,m,v);var w=t.selectionStart,y=t.selectionEnd,b=s.length>0&&v.indexOf(s)>-1&&p.length>0;if(f){var _=T(t);n=_.newlinesToAppend,o=_.newlinesToPrepend,m=n+i,v+=o}if(p.startsWith(m)&&p.endsWith(v)){var E=p.slice(m.length,p.length-v.length);if(d===h){var C=d-m.length;C=Math.max(C,w),C=Math.min(C,w+E.length),w=y=C}else y=w+E.length;return{text:E,selectionStart:w,selectionEnd:y}}if(b){if(u.length>0&&p.match(u)){v=v.replace(s,p);var k=m+v;return w=y=w+m.length,{text:k,selectionStart:w,selectionEnd:y}}var x=m+p+v;return w=w+m.length+p.length+v.indexOf(s),y=w+s.length,{text:x,selectionStart:w,selectionEnd:y}}var S=m+p+v;w=d+m.length,y=h+m.length;var j=p.match(/^\s*|\s*$/g);if(e.trimFirst&&j){var N=j[0]||"",M=j[1]||"";S=N+m+p.trim()+v+M,w+=N.length,y-=M.length}return{text:S,selectionStart:w,selectionEnd:y}}(t,e),function(t,e){var n=e.text,o=e.selectionStart,i=e.selectionEnd,r=t.selectionStart,l=t.value.slice(0,r),a=t.value.slice(t.selectionEnd);if(null===j||!0===j){t.contentEditable="true";try{j=document.execCommand("insertText",!1,n)}catch(t){j=!1}t.contentEditable="false"}if(j&&!t.value.slice(0,t.selectionStart).endsWith(n)&&(j=!1),!j){try{document.execCommand("ms-beginUndoUnit")}catch(t){}t.value=l+n+a;try{document.execCommand("ms-endUndoUnit")}catch(t){}t.dispatchEvent(new CustomEvent("input",{bubbles:!0,cancelable:!0}))}null!=o&&null!=i?t.setSelectionRange(o,i):t.setSelectionRange(r,t.selectionEnd)}(t,o)}function T(t){var e=t.value.slice(0,t.selectionStart),n=t.value.slice(t.selectionEnd),o=e.match(/\n*$/),i=n.match(/^\n*/),r=o?o[0].length:0,l=i?i[0].length:0,a=void 0,s=void 0;return e.match(/\S/)&&r<2&&(a=S("\n",2-r)),n.match(/\S/)&&l<2&&(s=S("\n",2-l)),null==a&&(a=""),null==s&&(s=""),{newlinesToAppend:a,newlinesToPrepend:s}}function M(t,e){var n=t.closest("markdown-toolbar");if(n instanceof k){var i=o({},{prefix:"",suffix:"",blockPrefix:"",blockSuffix:"",multiline:!1,replaceNext:"",prefixSpace:!1,scanFor:"",surroundWithNewlines:!1,orderedList:!1,trimFirst:!1},e),r=n.field;r&&(r.focus(),N(r,i))}}e.default=k},function(t,e,n){var o,i,r;"undefined"!=typeof self&&self,i=[],void 0===(r="function"==typeof(o=function(){var t=/mac|iphone|ipad|ipod/i.test(navigator.platform)?"metaKey":"ctrlKey",e=/^["'`*_[({<>})\]]$/,n=/[*_]/,o=/^[ \t]*(?:(?:[-+*]|\d+\.)[ \t]+(?:\[[ x]][ \t]+)?|>[ \t]*)*(?::[ \t]*)?/,i=/(?:[-+*]|\d+\.)[ \t]+(?:\[[ x]][ \t]+)?$/,r=/[-+*\[\]x\d.]/g,l=/[^ \t]/g,a=/(\d+)\.(?=[ \t]+$)/,s=/(?:(?:^[ \t]+)?(?:[-+*]|\d+\.|[>:])(?:[ \t]+\[[ x]])?[ \t]*|^[ \t]+)$/,c=/^(?!$)/gm,u={"`":/^``$/m,"~":/^~~$/m},f={"[":"]","(":")","{":"}","<":">"},d={"]":"[",")":"(","}":"{",">":"<"};function h(t){this._useTab=!0,this._useInline=!0,this._indent=" ",this._reOutdent=/^[ ]{4}/gm,this._reKey=p(!0,!0),this._handleKey=this._handleKey.bind(this),this.setElement(t)}function p(t,e){return new RegExp("^(?:Enter"+(t?"|Tab":"")+"|[io"+(e?"\"'`*_([{<>}\\])":"")+"])$")}function m(t,e,n,o){if(t.value=e,t.selectionStart=n,t.selectionEnd=arguments.length>3?o:n,"InputEvent"in window)try{var i=new InputEvent("input");t.dispatchEvent(i)}catch(o){}}return h.prototype={constructor:h,getElement:function(){return this._elem},setElement:function(t){this._elem&&this._elem.removeEventListener("keydown",this._handleKey),this._elem=t,t.addEventListener("keydown",this._handleKey)},getValue:function(){return this._elem.value},setValue:function(t){this._elem.value=t},getIndent:function(){return this._indent},setIndent:function(t){this._indent="number"==typeof t?new Array(t+1).join(" "):(t+"").replace(/[^ \t]/g," "),this._reOutdent=new RegExp("^"+this._indent,"mg")},isTabUsed:function(){return this._useTab},useTab:function(){this._useTab=!0,this._reKey=p(!0,this._useInline)},ignoreTab:function(){this._useTab=!1,this._reKey=p(!1,this._useInline)},isInlineEnabled:function(){return this._useInline},enableInline:function(){this._useInline=!0,this._reKey=p(this._useTab,!0)},disableInline:function(){this._useInline=!1,this._reKey=p(this._useTab,!1)},destroy:function(){this._elem.removeEventListener("keydown",this._handleKey),this._elem=this._reKey=this._handleKey=this._indent=this._reOutdent=null},_handleKey:function(h){if(!h.defaultPrevented&&this._reKey.test(h.key)){var p=h.target.value.substring(0,h.target.selectionStart),v=h.target.value.substring(h.target.selectionStart,h.target.selectionEnd),g=h.target.value.substring(h.target.selectionEnd);if("Enter"!==h.key||h.ctrlKey||h.altKey||h.metaKey)if("Tab"===h.key&&!h.shiftKey||"i"===h.key&&h[t])!function(t,e,n,o,i){var r=e.length,l=e.lastIndexOf("\n")+1;l"},n),c()("fas fa-bold")),m("md-italic",o({title:i("italic")+" "},n),c()("fas fa-italic")),m("md-quote",o({title:i("quote")},n),c()("fas fa-quote-left")),m("md-code",o({title:i("code")},n),c()("fas fa-code")),m("md-link",o({title:i("link")+" "},n),c()("fas fa-link")),m("md-unordered-list",o({title:i("unordered_list")},n),c()("fas fa-list-ul")),m("md-ordered-list",o({title:i("ordered_list")},n),c()("fas fa-list-ol"))),100)})}})}]); +module.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}([function(e,t){e.exports=flarum.core.compat.extend},function(e,t){e.exports=flarum.core.compat["components/TextEditor"]},function(e,t){e.exports=flarum.core.compat.Component},function(e,t,n){var i,r,l;"undefined"!=typeof self&&self,r=[],void 0===(l="function"==typeof(i=function(){var e=/mac|iphone|ipad|ipod/i.test(navigator.platform)?"metaKey":"ctrlKey",t=/^["'`*_[({<>})\]]$/,n=/[*_]/,i=/^[ \t]*(?:(?:[-+*]|\d+\.)[ \t]+(?:\[[ x]][ \t]+)?|>[ \t]*)*(?::[ \t]*)?/,r=/(?:[-+*]|\d+\.)[ \t]+(?:\[[ x]][ \t]+)?$/,l=/[-+*\[\]x\d.]/g,o=/[^ \t]/g,s=/(\d+)\.(?=[ \t]+$)/,a=/(?:(?:^[ \t]+)?(?:[-+*]|\d+\.|[>:])(?:[ \t]+\[[ x]])?[ \t]*|^[ \t]+)$/,c=/^(?!$)/gm,u={"`":/^``$/m,"~":/^~~$/m},f={"[":"]","(":")","{":"}","<":">"},h={"]":"[",")":"(","}":"{",">":"<"};function d(e){this._useTab=!0,this._useInline=!0,this._indent=" ",this._reOutdent=/^[ ]{4}/gm,this._reKey=p(!0,!0),this._handleKey=this._handleKey.bind(this),this.setElement(e)}function p(e,t){return new RegExp("^(?:Enter"+(e?"|Tab":"")+"|[io"+(t?"\"'`*_([{<>}\\])":"")+"])$")}function g(e,t,n,i){if(e.value=t,e.selectionStart=n,e.selectionEnd=3this.length)&&(t=this.length),this.substring(t-e.length,t)===e})},function(e,t,n){"use strict";n.r(t);var i=n(0),r=n(1),l=n.n(r),o=n(3),s=n.n(o);n(5);function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var c=n(2),u=n.n(c),f=navigator.userAgent.match(/Macintosh/)?"Meta":"Control",h=function(e){function t(){return e.apply(this,arguments)||this}a(t,e);var n=t.prototype;return n.config=function(e){e||document.getElementById(this.props.for).addEventListener("keydown",this.shortcut.bind(this))},n.view=function(){return m("div",{id:"MarkdownToolbar","data-for":this.props.for,style:{display:"inline-block"}},this.props.children)},n.shortcut=function(e){if(e.metaKey&&"Meta"===f||e.ctrlKey&&"Control"===f){var t=this.element.querySelector('[data-hotkey="'+e.key+'"]');t&&(t.click(),e.preventDefault())}},t}(u.a),d=n(4),p=n.n(d);function g(){return(g=Object.assign||function(e){for(var t=1;t1}function x(e,t){return Array(t+1).join(e)}function b(e,t,n){for(var i=t,r=n?/\n/:/\s/;e[i]&&!e[i].match(r);)i++;return i}function _(e){var t,n,i=e.value.slice(0,e.selectionStart),r=e.value.slice(e.selectionEnd),l=i.match(/\n*$/),o=r.match(/^\n*/),s=l?l[0].length:0,a=o?o[0].length:0;return i.match(/\S/)&&s<2&&(t=x("\n",2-s)),r.match(/\S/)&&a<2&&(n=x("\n",2-a)),null==t&&(t=""),null==n&&(n=""),{newlinesToAppend:t,newlinesToPrepend:n}}var E=function(e,t){var n=t.prefix,i=t.suffix,r=t.blockPrefix,l=t.blockSuffix,o=t.replaceNext,s=t.prefixSpace,a=t.scanFor,c=t.surroundWithNewlines,u=e.selectionStart,f=e.selectionEnd,h=e.value.slice(e.selectionStart,e.selectionEnd),d=y(h)&&r.length>0?r+"\n":n,p=y(h)&&l.length>0?"\n"+l:i;if(s){var g=e.value[e.selectionStart-1];0===e.selectionStart||null==g||g.match(/\s/)||(d=" "+d)}h=function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e.selectionStart===e.selectionEnd)e.selectionStart=function(e,t){for(var n=t;e[n]&&null!=e[n-1]&&!e[n-1].match(/\s/);)n--;return n}(e.value,e.selectionStart),e.selectionEnd=b(e.value,e.selectionEnd,i);else{var r=e.selectionStart-t.length,l=e.selectionEnd+n.length,o=e.value.slice(r,e.selectionStart)===t,s=e.value.slice(e.selectionEnd,l)===n;o&&s&&(e.selectionStart=r,e.selectionEnd=l)}return e.value.slice(e.selectionStart,e.selectionEnd)}(e,d,p,t.multiline);var m=e.selectionStart,v=e.selectionEnd,x=o.length>0&&p.indexOf(o)>-1&&h.length>0;if(c){var E=_(e);d=E.newlinesToAppend+n,p+=E.newlinesToPrepend}if(h.startsWith(d)&&h.endsWith(p)){var S=h.slice(d.length,h.length-p.length);if(u===f){var k=u-d.length;k=Math.max(k,m),m=v=k=Math.min(k,m+S.length)}else v=m+S.length;return{text:S,selectionStart:m,selectionEnd:v}}if(x)return a.length>0&&h.match(a)?{text:d+(p=p.replace(o,h)),selectionStart:m=v=m+d.length,selectionEnd:v}:{text:d+h+p,selectionStart:m=m+d.length+h.length+p.indexOf(o),selectionEnd:v=m+o.length};var w=d+h+p;m=u+d.length,v=f+d.length;var T=h.match(/^\s*|\s*$/g);if(t.trimFirst&&T){var O=T[0]||"",I=T[1]||"";w=O+d+h.trim()+p+I,m+=O.length,v-=I.length}return{text:w,selectionStart:m,selectionEnd:v}},S=function(e,t){var n,i=e.value.slice(e.selectionStart,e.selectionEnd);n=t.orderedList?function(e){var t,n,i,r,l=/^\d+\.\s+/,o=e.selectionStart===e.selectionEnd,s=e.value.slice(e.selectionStart,e.selectionEnd),a=s,c=s.split("\n");if(o){var u=e.value.slice(0,e.selectionStart).split(/\n/);i=e.selectionStart-u[u.length-1].length,r=b(e.value,e.selectionStart,!0),a=e.value.slice(i,r)}var f=a.split("\n");if(f.every(function(e){return l.test(e)})){if(s=(c=f.map(function(e){return e.replace(l,"")})).join("\n"),o&&i&&r){var h=f[0].length-c[0].length;n=t=e.selectionStart-h,e.selectionStart=i,e.selectionEnd=r}}else{s=(c=function(){var e,t,n,i=[];for(n=e=0,t=c.length;e"),e},t}(u.a);app.initializers.add("flarum-markdown",function(e){var t=1;Object(i.extend)(l.a.prototype,"init",function(){this.textareaId="textarea"+t++}),Object(i.extend)(l.a.prototype,"view",function(e){e.children[0].attrs.id=this.textareaId}),Object(i.extend)(l.a.prototype,"configTextarea",function(e,t,n,i){if(!n){var r=new s.a(t);r.disableInline(),r.ignoreTab(),i.onunload=function(){r.destroy()}}}),Object(i.extend)(l.a.prototype,"toolbarItems",function(t){var n=function(t){return e.translator.trans("flarum-markdown.forum.composer."+t+"_tooltip")};t.add("markdown",m(h,{for:this.textareaId},m(w,{title:n("header"),icon:"fas fa-heading",style:{prefix:"### "}}),m(w,{title:n("bold"),icon:"fas fa-bold",style:{prefix:"**",suffix:"**",trimFirst:!0},hotkey:"b"}),m(w,{title:n("italic"),icon:"fas fa-italic",style:{prefix:"_",suffix:"_",trimFirst:!0},hotkey:"i"}),m(w,{title:n("quote"),icon:"fas fa-quote-left",style:{prefix:"> ",multiline:!0,surroundWithNewlines:!0}}),m(w,{title:n("code"),icon:"fas fa-code",style:{prefix:"`",suffix:"`",blockPrefix:"```",blockSuffix:"```"}}),m(w,{title:n("link"),icon:"fas fa-link",style:{prefix:"[",suffix:"](url)",replaceNext:"url",scanFor:"https?://"}}),m(w,{title:n("image"),icon:"fas fa-image",style:{prefix:"![",suffix:"](src)",replaceNext:"src",scanFor:"https?://"}}),m(w,{title:n("unordered_list"),icon:"fas fa-list-ul",style:{prefix:"- ",multiline:!0,surroundWithNewlines:!0}}),m(w,{title:n("ordered_list"),icon:"fas fa-list-ol",style:{prefix:"1. ",multiline:!0,orderedList:!0}})),100)})})}]); //# sourceMappingURL=forum.js.map \ No newline at end of file diff --git a/extensions/markdown/js/dist/forum.js.map b/extensions/markdown/js/dist/forum.js.map index a5694778f..ade15f94c 100644 --- a/extensions/markdown/js/dist/forum.js.map +++ b/extensions/markdown/js/dist/forum.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://@flarum/markdown/webpack/bootstrap","webpack://@flarum/markdown/external \"flarum.core.compat['helpers/icon']\"","webpack://@flarum/markdown/external \"flarum.core.compat['extend']\"","webpack://@flarum/markdown/external \"flarum.core.compat['components/TextEditor']\"","webpack://@flarum/markdown/./node_modules/@webcomponents/custom-elements/custom-elements.min.js","webpack://@flarum/markdown/./node_modules/@github/markdown-toolbar-element/dist/index.esm.js","webpack://@flarum/markdown/./node_modules/mdarea/mdarea.js","webpack://@flarum/markdown/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@flarum/markdown/./src/forum/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","flarum","core","compat","aa","Set","split","g","b","a","has","test","isConnected","__CE_isImportDocument","Document","parentNode","window","ShadowRoot","host","nextSibling","q","nodeType","Node","ELEMENT_NODE","e","f","localName","getAttribute","import","add","firstChild","__CE_shadowRoot","u","this","Map","v","push","w","x","__CE_patched","length","y","__CE_state","connectedCallback","z","A","disconnectedCallback","B","h","__CE_hasRegistry","readyState","__CE_documentLoadHandled","addEventListener","delete","ownerDocument","defaultView","constructionStack","constructorFunction","Error","pop","__CE_definition","attributeChangedCallback","observedAttributes","C","document","MutationObserver","observe","childList","subtree","D","disconnect","ca","Promise","E","F","j","indexOf","addedNodes","Function","TypeError","SyntaxError","k","adoptedCallback","set","ba","shift","da","reject","some","CustomElementRegistry","define","upgrade","whenDefined","polyfillWrapFlushCallback","G","createElement","H","createElementNS","ea","importNode","fa","prepend","ha","append","ia","DocumentFragment","ja","I","cloneNode","J","appendChild","K","insertBefore","L","removeChild","M","replaceChild","N","getOwnPropertyDescriptor","O","Element","attachShadow","P","Q","R","setAttribute","S","removeAttribute","T","getAttributeNS","U","setAttributeNS","ka","removeAttributeNS","la","insertAdjacentElement","ma","insertAdjacentHTML","na","oa","V","before","pa","after","qa","replaceWith","ra","remove","sa","HTMLElement","W","ta","ua","va","Y","arguments","apply","Z","customElements","forcePolyfill","X","constructor","setPrototypeOf","writable","configurable","xa","TEXT_NODE","childNodes","Array","slice","textContent","join","createTextNode","ya","toLowerCase","previousSibling","lastChild","String","innerHTML","content","namespaceURI","console","warn","za","Aa","self","__webpack_exports__","_extends","assign","target","source","_get","receiver","desc","undefined","parent","getPrototypeOf","_createClass","defineProperties","props","descriptor","Constructor","protoProps","staticProps","_classCallCheck","instance","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","__proto__","_CustomElement","Reflect","construct","styles","WeakMap","MarkdownButtonElement","_CustomElement2","fn","_this","style","applyStyle","event","preventDefault","hasAttribute","MarkdownHeaderButtonElement","_MarkdownButtonElemen","_this2","prefix","MarkdownBoldButtonElement","_MarkdownButtonElemen2","_this3","suffix","trimFirst","MarkdownItalicButtonElement","_MarkdownButtonElemen3","_this4","MarkdownQuoteButtonElement","_MarkdownButtonElemen4","_this5","multiline","surroundWithNewlines","MarkdownCodeButtonElement","_MarkdownButtonElemen5","_this6","blockPrefix","blockSuffix","MarkdownLinkButtonElement","_MarkdownButtonElemen6","_this7","replaceNext","scanFor","MarkdownUnorderedListButtonElement","_MarkdownButtonElemen7","_this8","MarkdownOrderedListButtonElement","_MarkdownButtonElemen8","_this9","orderedList","MarkdownTaskListButtonElement","_MarkdownButtonElemen9","_this10","MarkdownMentionButtonElement","_MarkdownButtonElemen10","_this11","prefixSpace","MarkdownRefButtonElement","_MarkdownButtonElemen11","_this12","modifierKey","navigator","userAgent","match","MarkdownToolbarElement","_CustomElement3","toolbar","metaKey","ctrlKey","button","querySelector","click","field","shortcutListeners","removeEventListener","id","getElementById","HTMLTextAreaElement","isMultipleLines","string","trim","repeat","canInsertText","styleSelectedText","textarea","styleArgs","text","selectionStart","selectionEnd","result","orderedListRegex","lines","every","line","map","replace","len","index","results","_newlinesToSurroundSe2","newlinesToSurroundSelectedText","_newlinesToAppend2","newlinesToAppend","_newlinesToPrepend2","newlinesToPrepend","arg","startsWith","endsWith","_newlinesToSurroundSe","_newlinesToAppend","_newlinesToPrepend","multilineStyle","originalSelectionStart","originalSelectionEnd","selectedText","prefixToUse","suffixToUse","beforeSelection","wordSelectionStart","wordSelectionEnd","expandedSelectionStart","expandedSelectionEnd","beginsWithPrefix","endsWithSuffix","expandSelectedText","hasReplaceNext","ref","replacementText","position","Math","max","min","_replacementText2","_replacementText3","_replacementText","whitespaceEdges","leadingWhitespace","trailingWhitespace","blockStyle","_ref","contentEditable","execCommand","error","dispatchEvent","CustomEvent","bubbles","cancelable","setSelectionRange","insertText","afterSelection","breaksBefore","breaksAfter","newlinesBeforeSelection","newlinesAfterSelection","closest","focus","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","platform","reInlineKey","reDoubledInline","rePrefix","reList","reCleanIndent","rePureIndent","reIncrement","reStripLast","reMkIndent","codeBlocks","`","~","openingParens","[","(","{","<","closingParens","]",")","}",">","MarkdownArea","elem","_useTab","_useInline","_indent","_reOutdent","_reKey","makeKeyRe","_handleKey","setElement","tab","inline","RegExp","evt","InputEvent","getElement","_elem","getValue","setValue","getIndent","setIndent","indent","isTabUsed","useTab","ignoreTab","isInlineEnabled","enableInline","disableInline","destroy","defaultPrevented","substring","selection","postfix","altKey","shiftKey","lastIndexOf","handleIndentKey","reOutdent","handleOutdentKey","charAt","handleInlineKey","str","offset","info","exec","isList","_","parseInt","increment","pure","toIndent","stripLast","handleEnterKey","require","app","initializers","extend","TextEditor","textareaId","vdom","children","attrs","element","isInitialized","context","editor","onunload","items","className","config","elm","$","tooltip","translator","trans","for","title","icon"],"mappings":"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","file":"forum.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n","module.exports = flarum.core.compat['helpers/icon'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['components/TextEditor'];","(function(){\n'use strict';var aa=new Set(\"annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph\".split(\" \"));function g(b){var a=aa.has(b);b=/^[a-z][.0-9_a-z]*-[\\-.0-9_a-z]*$/.test(b);return!a&&b}function l(b){var a=b.isConnected;if(void 0!==a)return a;for(;b&&!(b.__CE_isImportDocument||b instanceof Document);)b=b.parentNode||(window.ShadowRoot&&b instanceof ShadowRoot?b.host:void 0);return!(!b||!(b.__CE_isImportDocument||b instanceof Document))}\nfunction p(b,a){for(;a&&a!==b&&!a.nextSibling;)a=a.parentNode;return a&&a!==b?a.nextSibling:null}\nfunction q(b,a,d){d=void 0===d?new Set:d;for(var c=b;c;){if(c.nodeType===Node.ELEMENT_NODE){var e=c;a(e);var f=e.localName;if(\"link\"===f&&\"import\"===e.getAttribute(\"rel\")){c=e.import;if(c instanceof Node&&!d.has(c))for(d.add(c),c=c.firstChild;c;c=c.nextSibling)q(c,a,d);c=p(b,e);continue}else if(\"template\"===f){c=p(b,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)q(e,a,d)}c=c.firstChild?c.firstChild:p(b,c)}}function t(b,a,d){b[a]=d};function u(){this.a=new Map;this.f=new Map;this.c=[];this.b=!1}function ba(b,a,d){b.a.set(a,d);b.f.set(d.constructorFunction,d)}function v(b,a){b.b=!0;b.c.push(a)}function w(b,a){b.b&&q(a,function(a){return x(b,a)})}function x(b,a){if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var d=0;d ', multiline: true, surroundWithNewlines: true });\n return _this5;\n }\n\n return MarkdownQuoteButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-quote')) {\n window.MarkdownQuoteButtonElement = MarkdownQuoteButtonElement;\n window.customElements.define('md-quote', MarkdownQuoteButtonElement);\n}\n\nvar MarkdownCodeButtonElement = function (_MarkdownButtonElemen5) {\n _inherits(MarkdownCodeButtonElement, _MarkdownButtonElemen5);\n\n function MarkdownCodeButtonElement() {\n _classCallCheck(this, MarkdownCodeButtonElement);\n\n var _this6 = _possibleConstructorReturn(this, (MarkdownCodeButtonElement.__proto__ || Object.getPrototypeOf(MarkdownCodeButtonElement)).call(this));\n\n styles.set(_this6, { prefix: '`', suffix: '`', blockPrefix: '```', blockSuffix: '```' });\n return _this6;\n }\n\n return MarkdownCodeButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-code')) {\n window.MarkdownCodeButtonElement = MarkdownCodeButtonElement;\n window.customElements.define('md-code', MarkdownCodeButtonElement);\n}\n\nvar MarkdownLinkButtonElement = function (_MarkdownButtonElemen6) {\n _inherits(MarkdownLinkButtonElement, _MarkdownButtonElemen6);\n\n function MarkdownLinkButtonElement() {\n _classCallCheck(this, MarkdownLinkButtonElement);\n\n var _this7 = _possibleConstructorReturn(this, (MarkdownLinkButtonElement.__proto__ || Object.getPrototypeOf(MarkdownLinkButtonElement)).call(this));\n\n styles.set(_this7, { prefix: '[', suffix: '](url)', replaceNext: 'url', scanFor: 'https?://' });\n return _this7;\n }\n\n _createClass(MarkdownLinkButtonElement, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n _get(MarkdownLinkButtonElement.prototype.__proto__ || Object.getPrototypeOf(MarkdownLinkButtonElement.prototype), 'connectedCallback', this).call(this);\n this.setAttribute('hotkey', 'k');\n }\n }]);\n\n return MarkdownLinkButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-link')) {\n window.MarkdownLinkButtonElement = MarkdownLinkButtonElement;\n window.customElements.define('md-link', MarkdownLinkButtonElement);\n}\n\nvar MarkdownUnorderedListButtonElement = function (_MarkdownButtonElemen7) {\n _inherits(MarkdownUnorderedListButtonElement, _MarkdownButtonElemen7);\n\n function MarkdownUnorderedListButtonElement() {\n _classCallCheck(this, MarkdownUnorderedListButtonElement);\n\n var _this8 = _possibleConstructorReturn(this, (MarkdownUnorderedListButtonElement.__proto__ || Object.getPrototypeOf(MarkdownUnorderedListButtonElement)).call(this));\n\n styles.set(_this8, { prefix: '- ', multiline: true, surroundWithNewlines: true });\n return _this8;\n }\n\n return MarkdownUnorderedListButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-unordered-list')) {\n window.MarkdownUnorderedListButtonElement = MarkdownUnorderedListButtonElement;\n window.customElements.define('md-unordered-list', MarkdownUnorderedListButtonElement);\n}\n\nvar MarkdownOrderedListButtonElement = function (_MarkdownButtonElemen8) {\n _inherits(MarkdownOrderedListButtonElement, _MarkdownButtonElemen8);\n\n function MarkdownOrderedListButtonElement() {\n _classCallCheck(this, MarkdownOrderedListButtonElement);\n\n var _this9 = _possibleConstructorReturn(this, (MarkdownOrderedListButtonElement.__proto__ || Object.getPrototypeOf(MarkdownOrderedListButtonElement)).call(this));\n\n styles.set(_this9, { prefix: '1. ', multiline: true, orderedList: true });\n return _this9;\n }\n\n return MarkdownOrderedListButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-ordered-list')) {\n window.MarkdownOrderedListButtonElement = MarkdownOrderedListButtonElement;\n window.customElements.define('md-ordered-list', MarkdownOrderedListButtonElement);\n}\n\nvar MarkdownTaskListButtonElement = function (_MarkdownButtonElemen9) {\n _inherits(MarkdownTaskListButtonElement, _MarkdownButtonElemen9);\n\n function MarkdownTaskListButtonElement() {\n _classCallCheck(this, MarkdownTaskListButtonElement);\n\n var _this10 = _possibleConstructorReturn(this, (MarkdownTaskListButtonElement.__proto__ || Object.getPrototypeOf(MarkdownTaskListButtonElement)).call(this));\n\n styles.set(_this10, { prefix: '- [ ] ', multiline: true, surroundWithNewlines: true });\n return _this10;\n }\n\n _createClass(MarkdownTaskListButtonElement, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n _get(MarkdownTaskListButtonElement.prototype.__proto__ || Object.getPrototypeOf(MarkdownTaskListButtonElement.prototype), 'connectedCallback', this).call(this);\n this.setAttribute('hotkey', 'L');\n }\n }]);\n\n return MarkdownTaskListButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-task-list')) {\n window.MarkdownTaskListButtonElement = MarkdownTaskListButtonElement;\n window.customElements.define('md-task-list', MarkdownTaskListButtonElement);\n}\n\nvar MarkdownMentionButtonElement = function (_MarkdownButtonElemen10) {\n _inherits(MarkdownMentionButtonElement, _MarkdownButtonElemen10);\n\n function MarkdownMentionButtonElement() {\n _classCallCheck(this, MarkdownMentionButtonElement);\n\n var _this11 = _possibleConstructorReturn(this, (MarkdownMentionButtonElement.__proto__ || Object.getPrototypeOf(MarkdownMentionButtonElement)).call(this));\n\n styles.set(_this11, { prefix: '@', prefixSpace: true });\n return _this11;\n }\n\n return MarkdownMentionButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-mention')) {\n window.MarkdownMentionButtonElement = MarkdownMentionButtonElement;\n window.customElements.define('md-mention', MarkdownMentionButtonElement);\n}\n\nvar MarkdownRefButtonElement = function (_MarkdownButtonElemen11) {\n _inherits(MarkdownRefButtonElement, _MarkdownButtonElemen11);\n\n function MarkdownRefButtonElement() {\n _classCallCheck(this, MarkdownRefButtonElement);\n\n var _this12 = _possibleConstructorReturn(this, (MarkdownRefButtonElement.__proto__ || Object.getPrototypeOf(MarkdownRefButtonElement)).call(this));\n\n styles.set(_this12, { prefix: '#', prefixSpace: true });\n return _this12;\n }\n\n return MarkdownRefButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-ref')) {\n window.MarkdownRefButtonElement = MarkdownRefButtonElement;\n window.customElements.define('md-ref', MarkdownRefButtonElement);\n}\n\nvar modifierKey = navigator.userAgent.match(/Macintosh/) ? 'Meta' : 'Control';\n\nvar MarkdownToolbarElement = function (_CustomElement3) {\n _inherits(MarkdownToolbarElement, _CustomElement3);\n\n function MarkdownToolbarElement() {\n _classCallCheck(this, MarkdownToolbarElement);\n\n return _possibleConstructorReturn(this, (MarkdownToolbarElement.__proto__ || Object.getPrototypeOf(MarkdownToolbarElement)).call(this));\n }\n\n _createClass(MarkdownToolbarElement, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var fn = shortcut.bind(null, this);\n if (this.field) {\n this.field.addEventListener('keydown', fn);\n shortcutListeners.set(this, fn);\n }\n }\n }, {\n key: 'disconnectedCallback',\n value: function disconnectedCallback() {\n var fn = shortcutListeners.get(this);\n if (fn && this.field) {\n this.field.removeEventListener('keydown', fn);\n shortcutListeners.delete(this);\n }\n }\n }, {\n key: 'field',\n get: function get() {\n var id = this.getAttribute('for');\n if (!id) return;\n var field = document.getElementById(id);\n return field instanceof HTMLTextAreaElement ? field : null;\n }\n }]);\n\n return MarkdownToolbarElement;\n}(_CustomElement);\n\nvar shortcutListeners = new WeakMap();\n\nfunction shortcut(toolbar, event) {\n if (event.metaKey && modifierKey === 'Meta' || event.ctrlKey && modifierKey === 'Control') {\n var button = toolbar.querySelector('[hotkey=\"' + event.key + '\"]');\n if (button) {\n button.click();\n event.preventDefault();\n }\n }\n}\n\nif (!window.customElements.get('markdown-toolbar')) {\n window.MarkdownToolbarElement = MarkdownToolbarElement;\n window.customElements.define('markdown-toolbar', MarkdownToolbarElement);\n}\n\nfunction isMultipleLines(string) {\n return string.trim().split('\\n').length > 1;\n}\n\nfunction repeat(string, n) {\n return Array(n + 1).join(string);\n}\n\nfunction wordSelectionStart(text, index) {\n while (text[index] && text[index - 1] != null && !text[index - 1].match(/\\s/)) {\n index--;\n }\n return index;\n}\n\nfunction wordSelectionEnd(text, index) {\n while (text[index] && !text[index].match(/\\s/)) {\n index++;\n }\n return index;\n}\n\nvar canInsertText = null;\n\nfunction insertText(textarea, _ref) {\n var text = _ref.text,\n selectionStart = _ref.selectionStart,\n selectionEnd = _ref.selectionEnd;\n\n var originalSelectionStart = textarea.selectionStart;\n var before = textarea.value.slice(0, originalSelectionStart);\n var after = textarea.value.slice(textarea.selectionEnd);\n\n if (canInsertText === null || canInsertText === true) {\n textarea.contentEditable = 'true';\n try {\n canInsertText = document.execCommand('insertText', false, text);\n } catch (error) {\n canInsertText = false;\n }\n textarea.contentEditable = 'false';\n }\n\n if (canInsertText && !textarea.value.slice(0, textarea.selectionStart).endsWith(text)) {\n canInsertText = false;\n }\n\n if (!canInsertText) {\n try {\n document.execCommand('ms-beginUndoUnit');\n } catch (e) {\n // Do nothing.\n }\n textarea.value = before + text + after;\n try {\n document.execCommand('ms-endUndoUnit');\n } catch (e) {\n // Do nothing.\n }\n textarea.dispatchEvent(new CustomEvent('input', { bubbles: true, cancelable: true }));\n }\n\n if (selectionStart != null && selectionEnd != null) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n } else {\n textarea.setSelectionRange(originalSelectionStart, textarea.selectionEnd);\n }\n}\n\nfunction styleSelectedText(textarea, styleArgs) {\n var text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n\n var result = void 0;\n if (styleArgs.orderedList) {\n result = orderedList(textarea);\n } else if (styleArgs.multiline && isMultipleLines(text)) {\n result = multilineStyle(textarea, styleArgs);\n } else {\n result = blockStyle(textarea, styleArgs);\n }\n\n insertText(textarea, result);\n}\n\nfunction expandSelectedText(textarea, prefixToUse, suffixToUse) {\n if (textarea.selectionStart === textarea.selectionEnd) {\n textarea.selectionStart = wordSelectionStart(textarea.value, textarea.selectionStart);\n textarea.selectionEnd = wordSelectionEnd(textarea.value, textarea.selectionEnd);\n } else {\n var expandedSelectionStart = textarea.selectionStart - prefixToUse.length;\n var expandedSelectionEnd = textarea.selectionEnd + suffixToUse.length;\n var beginsWithPrefix = textarea.value.slice(expandedSelectionStart, textarea.selectionStart) === prefixToUse;\n var endsWithSuffix = textarea.value.slice(textarea.selectionEnd, expandedSelectionEnd) === suffixToUse;\n if (beginsWithPrefix && endsWithSuffix) {\n textarea.selectionStart = expandedSelectionStart;\n textarea.selectionEnd = expandedSelectionEnd;\n }\n }\n return textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n}\n\nfunction newlinesToSurroundSelectedText(textarea) {\n var beforeSelection = textarea.value.slice(0, textarea.selectionStart);\n var afterSelection = textarea.value.slice(textarea.selectionEnd);\n\n var breaksBefore = beforeSelection.match(/\\n*$/);\n var breaksAfter = afterSelection.match(/^\\n*/);\n var newlinesBeforeSelection = breaksBefore ? breaksBefore[0].length : 0;\n var newlinesAfterSelection = breaksAfter ? breaksAfter[0].length : 0;\n\n var newlinesToAppend = void 0;\n var newlinesToPrepend = void 0;\n\n if (beforeSelection.match(/\\S/) && newlinesBeforeSelection < 2) {\n newlinesToAppend = repeat('\\n', 2 - newlinesBeforeSelection);\n }\n\n if (afterSelection.match(/\\S/) && newlinesAfterSelection < 2) {\n newlinesToPrepend = repeat('\\n', 2 - newlinesAfterSelection);\n }\n\n if (newlinesToAppend == null) {\n newlinesToAppend = '';\n }\n\n if (newlinesToPrepend == null) {\n newlinesToPrepend = '';\n }\n\n return { newlinesToAppend: newlinesToAppend, newlinesToPrepend: newlinesToPrepend };\n}\n\nfunction blockStyle(textarea, arg) {\n var newlinesToAppend = void 0;\n var newlinesToPrepend = void 0;\n\n var prefix = arg.prefix,\n suffix = arg.suffix,\n blockPrefix = arg.blockPrefix,\n blockSuffix = arg.blockSuffix,\n replaceNext = arg.replaceNext,\n prefixSpace = arg.prefixSpace,\n scanFor = arg.scanFor,\n surroundWithNewlines = arg.surroundWithNewlines;\n\n var originalSelectionStart = textarea.selectionStart;\n var originalSelectionEnd = textarea.selectionEnd;\n\n var selectedText = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n var prefixToUse = isMultipleLines(selectedText) && blockPrefix.length > 0 ? blockPrefix + '\\n' : prefix;\n var suffixToUse = isMultipleLines(selectedText) && blockSuffix.length > 0 ? '\\n' + blockSuffix : suffix;\n\n if (prefixSpace) {\n var beforeSelection = textarea.value[textarea.selectionStart - 1];\n if (textarea.selectionStart !== 0 && beforeSelection != null && !beforeSelection.match(/\\s/)) {\n prefixToUse = ' ' + prefixToUse;\n }\n }\n selectedText = expandSelectedText(textarea, prefixToUse, suffixToUse);\n var selectionStart = textarea.selectionStart;\n var selectionEnd = textarea.selectionEnd;\n var hasReplaceNext = replaceNext.length > 0 && suffixToUse.indexOf(replaceNext) > -1 && selectedText.length > 0;\n if (surroundWithNewlines) {\n var ref = newlinesToSurroundSelectedText(textarea);\n newlinesToAppend = ref.newlinesToAppend;\n newlinesToPrepend = ref.newlinesToPrepend;\n prefixToUse = newlinesToAppend + prefix;\n suffixToUse += newlinesToPrepend;\n }\n\n if (selectedText.startsWith(prefixToUse) && selectedText.endsWith(suffixToUse)) {\n var replacementText = selectedText.slice(prefixToUse.length, selectedText.length - suffixToUse.length);\n if (originalSelectionStart === originalSelectionEnd) {\n var position = originalSelectionStart - prefixToUse.length;\n position = Math.max(position, selectionStart);\n position = Math.min(position, selectionStart + replacementText.length);\n selectionStart = selectionEnd = position;\n } else {\n selectionEnd = selectionStart + replacementText.length;\n }\n return { text: replacementText, selectionStart: selectionStart, selectionEnd: selectionEnd };\n } else if (!hasReplaceNext) {\n var _replacementText = prefixToUse + selectedText + suffixToUse;\n selectionStart = originalSelectionStart + prefixToUse.length;\n selectionEnd = originalSelectionEnd + prefixToUse.length;\n var whitespaceEdges = selectedText.match(/^\\s*|\\s*$/g);\n if (arg.trimFirst && whitespaceEdges) {\n var leadingWhitespace = whitespaceEdges[0] || '';\n var trailingWhitespace = whitespaceEdges[1] || '';\n _replacementText = leadingWhitespace + prefixToUse + selectedText.trim() + suffixToUse + trailingWhitespace;\n selectionStart += leadingWhitespace.length;\n selectionEnd -= trailingWhitespace.length;\n }\n return { text: _replacementText, selectionStart: selectionStart, selectionEnd: selectionEnd };\n } else if (scanFor.length > 0 && selectedText.match(scanFor)) {\n suffixToUse = suffixToUse.replace(replaceNext, selectedText);\n var _replacementText2 = prefixToUse + suffixToUse;\n selectionStart = selectionEnd = selectionStart + prefixToUse.length;\n return { text: _replacementText2, selectionStart: selectionStart, selectionEnd: selectionEnd };\n } else {\n var _replacementText3 = prefixToUse + selectedText + suffixToUse;\n selectionStart = selectionStart + prefixToUse.length + selectedText.length + suffixToUse.indexOf(replaceNext);\n selectionEnd = selectionStart + replaceNext.length;\n return { text: _replacementText3, selectionStart: selectionStart, selectionEnd: selectionEnd };\n }\n}\n\nfunction multilineStyle(textarea, arg) {\n var prefix = arg.prefix,\n suffix = arg.suffix,\n surroundWithNewlines = arg.surroundWithNewlines;\n\n var text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n var selectionStart = textarea.selectionStart;\n var selectionEnd = textarea.selectionEnd;\n var lines = text.split('\\n');\n var undoStyle = lines.every(function (line) {\n return line.startsWith(prefix) && line.endsWith(suffix);\n });\n\n if (undoStyle) {\n text = lines.map(function (line) {\n return line.slice(prefix.length, line.length - suffix.length);\n }).join('\\n');\n selectionEnd = selectionStart + text.length;\n } else {\n text = lines.map(function (line) {\n return prefix + line + suffix;\n }).join('\\n');\n if (surroundWithNewlines) {\n var _newlinesToSurroundSe = newlinesToSurroundSelectedText(textarea),\n _newlinesToAppend = _newlinesToSurroundSe.newlinesToAppend,\n _newlinesToPrepend = _newlinesToSurroundSe.newlinesToPrepend;\n\n selectionStart += _newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n text = _newlinesToAppend + text + _newlinesToPrepend;\n }\n }\n\n return { text: text, selectionStart: selectionStart, selectionEnd: selectionEnd };\n}\n\nfunction orderedList(textarea) {\n var orderedListRegex = /^\\d+\\.\\s+/;\n var selectionEnd = void 0;\n var selectionStart = void 0;\n var text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n var lines = text.split('\\n');\n\n var undoStyling = lines.every(function (line) {\n return orderedListRegex.test(line);\n });\n\n if (undoStyling) {\n lines = lines.map(function (line) {\n return line.replace(orderedListRegex, '');\n });\n text = lines.join('\\n');\n } else {\n lines = function () {\n var i = void 0;\n var len = void 0;\n var index = void 0;\n var results = [];\n for (index = i = 0, len = lines.length; i < len; index = ++i) {\n var line = lines[index];\n results.push(index + 1 + '. ' + line);\n }\n return results;\n }();\n text = lines.join('\\n');\n\n var _newlinesToSurroundSe2 = newlinesToSurroundSelectedText(textarea),\n _newlinesToAppend2 = _newlinesToSurroundSe2.newlinesToAppend,\n _newlinesToPrepend2 = _newlinesToSurroundSe2.newlinesToPrepend;\n\n selectionStart = textarea.selectionStart + _newlinesToAppend2.length;\n selectionEnd = selectionStart + text.length;\n text = _newlinesToAppend2 + text + _newlinesToPrepend2;\n }\n\n return { text: text, selectionStart: selectionStart, selectionEnd: selectionEnd };\n}\n\nfunction applyStyle(button, styles) {\n var toolbar = button.closest('markdown-toolbar');\n if (!(toolbar instanceof MarkdownToolbarElement)) return;\n\n var defaults = {\n prefix: '',\n suffix: '',\n blockPrefix: '',\n blockSuffix: '',\n multiline: false,\n replaceNext: '',\n prefixSpace: false,\n scanFor: '',\n surroundWithNewlines: false,\n orderedList: false,\n trimFirst: false\n };\n\n var style = _extends({}, defaults, styles);\n\n var field = toolbar.field;\n if (field) {\n field.focus();\n styleSelectedText(field, style);\n }\n}\n\nexport default MarkdownToolbarElement;\n","(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.MarkdownArea = factory();\n }\n})(typeof self !== 'undefined' ? self : this, function() {\n\n var isMac = /mac|iphone|ipad|ipod/i.test(navigator.platform),\n ctrlKey = isMac ? 'metaKey' : 'ctrlKey',\n reInlineKey = /^[\"'`*_[({<>})\\]]$/,\n reDoubledInline = /[*_]/,\n rePrefix = /^[ \\t]*(?:(?:[-+*]|\\d+\\.)[ \\t]+(?:\\[[ x]][ \\t]+)?|>[ \\t]*)*(?::[ \\t]*)?/,\n reList = /(?:[-+*]|\\d+\\.)[ \\t]+(?:\\[[ x]][ \\t]+)?$/,\n reCleanIndent = /[-+*\\[\\]x\\d.]/g,\n rePureIndent = /[^ \\t]/g,\n reIncrement = /(\\d+)\\.(?=[ \\t]+$)/,\n reStripLast = /(?:(?:^[ \\t]+)?(?:[-+*]|\\d+\\.|[>:])(?:[ \\t]+\\[[ x]])?[ \\t]*|^[ \\t]+)$/,\n reMkIndent = /^(?!$)/mg,\n codeBlocks = {'`': /^``$/m, '~': /^~~$/m},\n openingParens = {'[': ']', '(': ')', '{': '}', '<': '>'},\n closingParens = {']': '[', ')': '(', '}': '{', '>': '<'};\n\n\n function MarkdownArea(elem) {\n this._useTab = true;\n this._useInline = true;\n this._indent = ' ';\n this._reOutdent = /^[ ]{4}/mg;\n this._reKey = makeKeyRe(true, true);\n this._handleKey = this._handleKey.bind(this);\n this.setElement(elem);\n }\n\n MarkdownArea.prototype = {\n constructor: MarkdownArea,\n\n getElement: function () {\n return this._elem;\n },\n\n setElement: function (elem) {\n if (this._elem) {\n this._elem.removeEventListener('keydown', this._handleKey);\n }\n\n this._elem = elem;\n elem.addEventListener('keydown', this._handleKey);\n },\n\n getValue: function () {\n return this._elem.value;\n },\n\n setValue: function (value) {\n this._elem.value = value;\n },\n\n getIndent: function () {\n return this._indent;\n },\n\n setIndent: function (indent) {\n if (typeof indent === 'number') {\n this._indent = new Array(indent + 1).join(' ');\n } else {\n this._indent = (indent + '').replace(/[^ \\t]/g, ' ');\n }\n\n this._reOutdent = new RegExp('^' + this._indent, 'mg');\n },\n\n isTabUsed: function () {\n return this._useTab;\n },\n\n useTab: function () {\n this._useTab = true;\n this._reKey = makeKeyRe(true, this._useInline);\n },\n\n ignoreTab: function () {\n this._useTab = false;\n this._reKey = makeKeyRe(false, this._useInline);\n },\n\n isInlineEnabled: function() {\n return this._useInline;\n },\n\n enableInline: function () {\n this._useInline = true;\n this._reKey = makeKeyRe(this._useTab, true);\n },\n\n disableInline: function () {\n this._useInline = false;\n this._reKey = makeKeyRe(this._useTab, false);\n },\n\n destroy: function () {\n this._elem.removeEventListener('keydown', this._handleKey);\n this._elem = this._reKey = this._handleKey = this._indent = this._reOutdent = null;\n },\n\n _handleKey: function (evt) {\n if (!evt.defaultPrevented && this._reKey.test(evt.key)) {\n var prefix = evt.target.value.substring(0, evt.target.selectionStart),\n selection = evt.target.value.substring(evt.target.selectionStart, evt.target.selectionEnd),\n postfix = evt.target.value.substring(evt.target.selectionEnd);\n\n if (evt.key === 'Enter' && !evt.ctrlKey && !evt.altKey && !evt.metaKey) {\n handleEnterKey(this._elem, prefix, selection, postfix, evt.shiftKey);\n } else if (evt.key === 'Tab' && !evt.shiftKey || evt.key === 'i' && evt[ctrlKey]) {\n handleIndentKey(this._elem, prefix, selection, postfix, this._indent);\n } else if (evt.key === 'Tab' && evt.shiftKey || evt.key === 'o' && evt[ctrlKey]) {\n handleOutdentKey(this._elem, prefix, selection, postfix, this._indent, this._reOutdent);\n } else if (reInlineKey.test(evt.key)) {\n handleInlineKey(this._elem, prefix, selection, postfix, evt.key);\n } else {\n return;\n }\n\n evt.preventDefault();\n }\n }\n };\n\n\n function makeKeyRe(tab, inline) {\n return new RegExp('^(?:Enter' + (tab ? '|Tab' : '') + '|[io' + (inline ? '\"\\'`*_([{<>}\\\\])' : '') + '])$');\n }\n\n\n function handleEnterKey (elem, prefix, selection, postfix, shift) {\n var info = !selection ? getLineInfo(prefix) : null;\n\n if (!selection && info.prefix) {\n if (!shift && info.prefix === info.line) {\n prefix = prefix.substring(0, info.offset) + stripLast(info.prefix);\n } else if (!shift && isList(info.prefix)) {\n prefix += \"\\n\" + increment(info.prefix);\n } else {\n prefix += \"\\n\" + toIndent(info.prefix, shift);\n }\n } else {\n prefix += \"\\n\";\n }\n\n apply(elem, prefix + postfix, prefix.length);\n }\n\n function handleIndentKey (elem, prefix, selection, postfix, indent) {\n var s = prefix.length,\n n = prefix.lastIndexOf(\"\\n\") + 1;\n\n if (n < s) {\n selection = prefix.substring(n) + selection;\n prefix = prefix.substring(0, n);\n }\n\n if (n < s || !selection) {\n s += indent.length;\n }\n\n if (selection) {\n selection = selection.replace(reMkIndent, indent);\n } else {\n prefix += indent;\n }\n\n apply(elem, prefix + selection + postfix, s, selection ? n + selection.length : s);\n }\n\n function handleOutdentKey (elem, prefix, selection, postfix, indent, reOutdent) {\n var s = prefix.length,\n n = prefix.lastIndexOf(\"\\n\") + 1;\n\n if (n < s) {\n selection = prefix.substring(n) + selection;\n prefix = prefix.substring(0, n);\n\n if (selection.substring(0, indent.length) === indent) {\n s -= indent.length;\n }\n }\n\n selection = selection.replace(reOutdent, '');\n apply(elem, prefix + selection + postfix, s, n + selection.length);\n }\n\n function handleInlineKey (elem, prefix, selection, postfix, key) {\n if (!selection && !(key in openingParens) && postfix.charAt(0) === key) {\n apply(elem, prefix + (reDoubledInline.test(key) ? key + key : '') + postfix, prefix.length + 1);\n } else if (!selection && (key === \"'\" || key in closingParens)) {\n apply(elem, prefix + key + postfix, prefix.length + 1);\n } else if (!selection && key in codeBlocks && codeBlocks[key].test(prefix)) {\n apply(elem, prefix + key + \"language\\n\" + key + key + key + (postfix.charAt(0) !== \"\\n\" ? \"\\n\" : '') + postfix, prefix.length + 1, prefix.length + 9);\n } else {\n apply(\n elem,\n prefix + (closingParens[key] || key) + selection + (openingParens[key] || key) + postfix,\n prefix.length + 1,\n prefix.length + 1 + selection.length\n );\n }\n }\n\n function apply(elem, value, s, e) {\n elem.value = value;\n elem.selectionStart = s;\n elem.selectionEnd = arguments.length > 3 ? e : s;\n\n if ('InputEvent' in window) try {\n var evt = new InputEvent('input');\n elem.dispatchEvent(evt);\n } catch (e) { }\n }\n\n function getLineInfo(str) {\n var offset = str.lastIndexOf(\"\\n\") + 1,\n line = str.substring(offset),\n m = rePrefix.exec(line);\n\n return {\n line: line,\n offset: offset,\n prefix: m && m[0]\n };\n }\n\n function isList(prefix) {\n return reList.test(prefix);\n }\n\n function toIndent(prefix, pure) {\n return prefix.replace(pure ? rePureIndent : reCleanIndent, ' ');\n }\n\n function increment(prefix) {\n return prefix.replace(reIncrement, function (_, n) {\n return (parseInt(n) + 1) + '.';\n })\n }\n\n function stripLast(prefix) {\n return prefix.replace(reStripLast, '');\n }\n\n\n return MarkdownArea;\n\n});\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import { extend } from 'flarum/extend';\nimport TextEditor from 'flarum/components/TextEditor';\nimport icon from 'flarum/helpers/icon';\n\nlet MarkdownArea;\n\nif (window.Reflect) {\n require('@webcomponents/custom-elements');\n require('@github/markdown-toolbar-element');\n MarkdownArea = require('mdarea/mdarea.js');\n}\n\napp.initializers.add('flarum-markdown', function(app) {\n if (!MarkdownArea) return;\n\n let index = 1;\n\n extend(TextEditor.prototype, 'init', function() {\n this.textareaId = 'textarea'+(index++);\n });\n\n extend(TextEditor.prototype, 'view', function(vdom) {\n vdom.children[0].attrs.id = this.textareaId;\n });\n\n extend(TextEditor.prototype, 'configTextarea', function(value, element, isInitialized, context) {\n if (isInitialized) return;\n\n const editor = new MarkdownArea(element);\n editor.disableInline();\n\n context.onunload = function() {\n editor.destroy();\n };\n });\n\n extend(TextEditor.prototype, 'toolbarItems', function(items) {\n const attrs = {\n className: 'Button Button--icon Button--link',\n config: elm => $(elm).tooltip()\n };\n\n const tooltip = name => app.translator.trans(`flarum-markdown.forum.composer.${name}_tooltip`);\n\n items.add('markdown', (\n \n {icon('fas fa-heading')}\n '} {...attrs}>{icon('fas fa-bold')}\n '} {...attrs}>{icon('fas fa-italic')}\n {icon('fas fa-quote-left')}\n {icon('fas fa-code')}\n '} {...attrs}>{icon('fas fa-link')}\n {icon('fas fa-list-ul')}\n {icon('fas fa-list-ol')}\n \n ), 100);\n });\n});\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://@flarum/markdown/webpack/bootstrap","webpack://@flarum/markdown/external \"flarum.core.compat['extend']\"","webpack://@flarum/markdown/external \"flarum.core.compat['components/TextEditor']\"","webpack://@flarum/markdown/external \"flarum.core.compat['Component']\"","webpack://@flarum/markdown/./node_modules/mdarea/mdarea.min.js","webpack://@flarum/markdown/external \"flarum.core.compat['helpers/icon']\"","webpack://@flarum/markdown/./src/forum/polyfills.js","webpack://@flarum/markdown/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@flarum/markdown/./src/forum/components/MarkdownToolbar.js","webpack://@flarum/markdown/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@flarum/markdown/./src/forum/util/insertText.js","webpack://@flarum/markdown/./src/forum/util/styles.js","webpack://@flarum/markdown/./src/forum/util/apply.js","webpack://@flarum/markdown/./src/forum/components/MarkdownButton.js","webpack://@flarum/markdown/./src/forum/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","flarum","core","compat","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","self","undefined","a","test","navigator","platform","f","_","g","y","b","`","~","v","[","(","{","<","K","]",")","}",">","e","this","_useTab","_useInline","_indent","_reOutdent","_reKey","_handleKey","setElement","RegExp","x","selectionStart","selectionEnd","arguments","length","window","InputEvent","dispatchEvent","constructor","getElement","_elem","removeEventListener","addEventListener","getValue","setValue","getIndent","setIndent","Array","join","replace","isTabUsed","useTab","ignoreTab","isInlineEnabled","enableInline","disableInline","destroy","defaultPrevented","target","substring","ctrlKey","altKey","metaKey","shiftKey","lastIndexOf","h","u","charAt","exec","line","offset","prefix","parseInt","preventDefault","apply","String","startsWith","search","pos","endsWith","this_len","_inheritsLoose","subClass","superClass","__proto__","modifierKey","userAgent","match","MarkdownToolbar","config","isInitialized","document","getElementById","props","for","shortcut","view","id","data-for","style","display","children","event","button","element","querySelector","click","Component","_extends","assign","source","canInsertText","isMultipleLines","string","trim","split","repeat","wordSelectionEnd","text","multiline","index","breakpoint","newlinesToSurroundSelectedText","textarea","newlinesToAppend","newlinesToPrepend","beforeSelection","slice","afterSelection","breaksBefore","breaksAfter","newlinesBeforeSelection","newlinesAfterSelection","blockStyle","arg","suffix","blockPrefix","blockSuffix","replaceNext","prefixSpace","scanFor","surroundWithNewlines","originalSelectionStart","originalSelectionEnd","selectedText","prefixToUse","suffixToUse","wordSelectionStart","expandedSelectionStart","expandedSelectionEnd","beginsWithPrefix","endsWithSuffix","expandSelectedText","hasReplaceNext","indexOf","ref","replacementText","position","Math","max","min","whitespaceEdges","trimFirst","leadingWhitespace","trailingWhitespace","styleSelectedText","styleArgs","result","orderedList","startOfLine","endOfLine","orderedListRegex","noInitialSelection","textToUnstyle","lines","linesBefore","linesToUnstyle","every","map","lengthDiff","len","results","push","_newlinesToSurroundSe2","_newlinesToSurroundSe","multilineStyle","_ref","before","after","contentEditable","execCommand","error","createEvent","initEvent","setSelectionRange","insertText","MarkdownButton","$","tooltip","className","title","data-hotkey","hotkey","onclick","onkeydown","keydown","icon","stylesToApply","toolbar","parentElement","field","dataset","focus","app","initializers","add","extend","TextEditor","textareaId","vdom","attrs","context","editor","MarkdownArea","onunload","items","translator","trans","MarkdownToolbar_MarkdownToolbar","MarkdownButton_MarkdownButton"],"mappings":"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","file":"forum.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['components/TextEditor'];","module.exports = flarum.core.compat['Component'];","!function(e,t){\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof module&&module.exports?module.exports=t():e.MarkdownArea=t()}(\"undefined\"!=typeof self?self:this,function(){var a=/mac|iphone|ipad|ipod/i.test(navigator.platform)?\"metaKey\":\"ctrlKey\",o=/^[\"'`*_[({<>})\\]]$/,f=/[*_]/,_=/^[ \\t]*(?:(?:[-+*]|\\d+\\.)[ \\t]+(?:\\[[ x]][ \\t]+)?|>[ \\t]*)*(?::[ \\t]*)?/,c=/(?:[-+*]|\\d+\\.)[ \\t]+(?:\\[[ x]][ \\t]+)?$/,g=/[-+*\\[\\]x\\d.]/g,y=/[^ \\t]/g,p=/(\\d+)\\.(?=[ \\t]+$)/,m=/(?:(?:^[ \\t]+)?(?:[-+*]|\\d+\\.|[>:])(?:[ \\t]+\\[[ x]])?[ \\t]*|^[ \\t]+)$/,d=/^(?!$)/gm,b={\"`\":/^``$/m,\"~\":/^~~$/m},v={\"[\":\"]\",\"(\":\")\",\"{\":\"}\",\"<\":\">\"},K={\"]\":\"[\",\")\":\"(\",\"}\":\"{\",\">\":\"<\"};function e(e){this._useTab=!0,this._useInline=!0,this._indent=\" \",this._reOutdent=/^[ ]{4}/gm,this._reKey=t(!0,!0),this._handleKey=this._handleKey.bind(this),this.setElement(e)}function t(e,t){return new RegExp(\"^(?:Enter\"+(e?\"|Tab\":\"\")+\"|[io\"+(t?\"\\\"'`*_([{<>}\\\\])\":\"\")+\"])$\")}function x(e,t,n,i){if(e.value=t,e.selectionStart=n,e.selectionEnd=3 this.length) {\n this_len = this.length;\n }\n return this.substring(this_len - search.length, this_len) === search;\n };\n}\n","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import Component from 'flarum/Component';\n\nconst modifierKey = navigator.userAgent.match(/Macintosh/) ? 'Meta' : 'Control';\n\nexport default class MarkdownToolbar extends Component {\n config(isInitialized) {\n if (isInitialized) return;\n\n const field = document.getElementById(this.props.for);\n\n field.addEventListener('keydown', this.shortcut.bind(this));\n }\n\n view() {\n return
\n {this.props.children}\n
;\n }\n\n shortcut(event) {\n if ((event.metaKey && modifierKey === 'Meta') || (event.ctrlKey && modifierKey === 'Control')) {\n const button = this.element.querySelector(`[data-hotkey=\"${event.key}\"]`);\n\n if (button) {\n button.click();\n event.preventDefault()\n }\n }\n }\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export let canInsertText = null;\n\nexport default (textarea, { text, selectionStart, selectionEnd }) => {\n const originalSelectionStart = textarea.selectionStart;\n const before = textarea.value.slice(0, originalSelectionStart);\n const after = textarea.value.slice(textarea.selectionEnd);\n\n if (canInsertText === null || canInsertText === true) {\n textarea.contentEditable = 'true';\n try {\n canInsertText = document.execCommand('insertText', false, text);\n }\n catch (error) {\n canInsertText = false;\n }\n textarea.contentEditable = 'false';\n }\n if (canInsertText && !textarea.value.slice(0, textarea.selectionStart).endsWith(text)) {\n canInsertText = false;\n }\n if (!canInsertText) {\n try {\n document.execCommand('ms-beginUndoUnit');\n }\n catch (e) {\n // Do nothing.\n }\n textarea.value = before + text + after;\n try {\n document.execCommand('ms-endUndoUnit');\n }\n catch (e) {\n // Do nothing.\n }\n\n // fire custom event, works on IE\n const event = document.createEvent('Event');\n\n event.initEvent('input', true, true);\n\n textarea.dispatchEvent(event);\n }\n if (selectionStart != null && selectionEnd != null) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n else {\n textarea.setSelectionRange(originalSelectionStart, textarea.selectionEnd);\n }\n};\n","export function isMultipleLines(string) {\n return string.trim().split('\\n').length > 1;\n}\n\nexport function repeat(string, n) {\n return Array(n + 1).join(string);\n}\n\nexport function wordSelectionStart(text, i) {\n let index = i;\n\n while (text[index] && text[index - 1] != null && !text[index - 1].match(/\\s/)) {\n index--;\n }\n\n return index;\n}\n\nexport function wordSelectionEnd(text, i, multiline) {\n let index = i;\n const breakpoint = multiline ? /\\n/ : /\\s/;\n\n while (text[index] && !text[index].match(breakpoint)) {\n index++;\n }\n\n return index;\n}\n\nexport function expandSelectedText(textarea, prefixToUse, suffixToUse) {\n let multiline = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (textarea.selectionStart === textarea.selectionEnd) {\n textarea.selectionStart = wordSelectionStart(textarea.value, textarea.selectionStart);\n textarea.selectionEnd = wordSelectionEnd(textarea.value, textarea.selectionEnd, multiline);\n } else {\n const expandedSelectionStart = textarea.selectionStart - prefixToUse.length;\n const expandedSelectionEnd = textarea.selectionEnd + suffixToUse.length;\n const beginsWithPrefix = textarea.value.slice(expandedSelectionStart, textarea.selectionStart) === prefixToUse;\n const endsWithSuffix = textarea.value.slice(textarea.selectionEnd, expandedSelectionEnd) === suffixToUse;\n\n if (beginsWithPrefix && endsWithSuffix) {\n textarea.selectionStart = expandedSelectionStart;\n textarea.selectionEnd = expandedSelectionEnd;\n }\n }\n\n return textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n}\n\nexport function newlinesToSurroundSelectedText(textarea) {\n const beforeSelection = textarea.value.slice(0, textarea.selectionStart);\n const afterSelection = textarea.value.slice(textarea.selectionEnd);\n const breaksBefore = beforeSelection.match(/\\n*$/);\n const breaksAfter = afterSelection.match(/^\\n*/);\n const newlinesBeforeSelection = breaksBefore ? breaksBefore[0].length : 0;\n const newlinesAfterSelection = breaksAfter ? breaksAfter[0].length : 0;\n let newlinesToAppend;\n let newlinesToPrepend;\n\n if (beforeSelection.match(/\\S/) && newlinesBeforeSelection < 2) {\n newlinesToAppend = repeat('\\n', 2 - newlinesBeforeSelection);\n }\n\n if (afterSelection.match(/\\S/) && newlinesAfterSelection < 2) {\n newlinesToPrepend = repeat('\\n', 2 - newlinesAfterSelection);\n }\n\n if (newlinesToAppend == null) {\n newlinesToAppend = '';\n }\n\n if (newlinesToPrepend == null) {\n newlinesToPrepend = '';\n }\n\n return {\n newlinesToAppend,\n newlinesToPrepend\n };\n}\n\nexport const blockStyle = (textarea, arg) => {\n let newlinesToAppend;\n let newlinesToPrepend;\n const { prefix, suffix, blockPrefix, blockSuffix, replaceNext, prefixSpace, scanFor, surroundWithNewlines } = arg;\n const originalSelectionStart = textarea.selectionStart;\n const originalSelectionEnd = textarea.selectionEnd;\n let selectedText = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n let prefixToUse = isMultipleLines(selectedText) && blockPrefix.length > 0 ? `${blockPrefix}\\n` : prefix;\n let suffixToUse = isMultipleLines(selectedText) && blockSuffix.length > 0 ? `\\n${blockSuffix}` : suffix;\n\n if (prefixSpace) {\n const beforeSelection = textarea.value[textarea.selectionStart - 1];\n if (textarea.selectionStart !== 0 && beforeSelection != null && !beforeSelection.match(/\\s/)) {\n prefixToUse = ` ${prefixToUse}`;\n }\n }\n\n selectedText = expandSelectedText(textarea, prefixToUse, suffixToUse, arg.multiline);\n let selectionStart = textarea.selectionStart;\n let selectionEnd = textarea.selectionEnd;\n const hasReplaceNext = replaceNext.length > 0 && suffixToUse.indexOf(replaceNext) > -1 && selectedText.length > 0;\n\n if (surroundWithNewlines) {\n const ref = newlinesToSurroundSelectedText(textarea);\n newlinesToAppend = ref.newlinesToAppend;\n newlinesToPrepend = ref.newlinesToPrepend;\n prefixToUse = newlinesToAppend + prefix;\n suffixToUse += newlinesToPrepend;\n }\n\n if (selectedText.startsWith(prefixToUse) && selectedText.endsWith(suffixToUse)) {\n const replacementText = selectedText.slice(prefixToUse.length, selectedText.length - suffixToUse.length);\n if (originalSelectionStart === originalSelectionEnd) {\n let position = originalSelectionStart - prefixToUse.length;\n position = Math.max(position, selectionStart);\n position = Math.min(position, selectionStart + replacementText.length);\n selectionStart = selectionEnd = position;\n }\n else {\n selectionEnd = selectionStart + replacementText.length;\n }\n return { text: replacementText, selectionStart, selectionEnd };\n }\n else if (!hasReplaceNext) {\n let replacementText = prefixToUse + selectedText + suffixToUse;\n selectionStart = originalSelectionStart + prefixToUse.length;\n selectionEnd = originalSelectionEnd + prefixToUse.length;\n const whitespaceEdges = selectedText.match(/^\\s*|\\s*$/g);\n if (arg.trimFirst && whitespaceEdges) {\n const leadingWhitespace = whitespaceEdges[0] || '';\n const trailingWhitespace = whitespaceEdges[1] || '';\n replacementText = leadingWhitespace + prefixToUse + selectedText.trim() + suffixToUse + trailingWhitespace;\n selectionStart += leadingWhitespace.length;\n selectionEnd -= trailingWhitespace.length;\n }\n return { text: replacementText, selectionStart, selectionEnd };\n }\n else if (scanFor.length > 0 && selectedText.match(scanFor)) {\n suffixToUse = suffixToUse.replace(replaceNext, selectedText);\n const replacementText = prefixToUse + suffixToUse;\n selectionStart = selectionEnd = selectionStart + prefixToUse.length;\n return { text: replacementText, selectionStart, selectionEnd };\n }\n else {\n const replacementText = prefixToUse + selectedText + suffixToUse;\n selectionStart = selectionStart + prefixToUse.length + selectedText.length + suffixToUse.indexOf(replaceNext);\n selectionEnd = selectionStart + replaceNext.length;\n return { text: replacementText, selectionStart, selectionEnd };\n }\n}\n\nexport const multilineStyle = (textarea, arg) => {\n const { prefix, suffix, surroundWithNewlines } = arg;\n let text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n let selectionStart = textarea.selectionStart;\n let selectionEnd = textarea.selectionEnd;\n const lines = text.split('\\n');\n const undoStyle = lines.every(line => line.startsWith(prefix) && line.endsWith(suffix));\n if (undoStyle) {\n text = lines.map(line => line.slice(prefix.length, line.length - suffix.length)).join('\\n');\n selectionEnd = selectionStart + text.length;\n }\n else {\n text = lines.map(line => prefix + line + suffix).join('\\n');\n if (surroundWithNewlines) {\n const { newlinesToAppend, newlinesToPrepend } = newlinesToSurroundSelectedText(textarea);\n selectionStart += newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n text = newlinesToAppend + text + newlinesToPrepend;\n }\n }\n return { text, selectionStart, selectionEnd };\n}\n\nexport const orderedList = (textarea) => {\n const orderedListRegex = /^\\d+\\.\\s+/;\n const noInitialSelection = textarea.selectionStart === textarea.selectionEnd;\n let selectionEnd;\n let selectionStart;\n let text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n let textToUnstyle = text;\n let lines = text.split('\\n');\n let startOfLine, endOfLine;\n if (noInitialSelection) {\n const linesBefore = textarea.value.slice(0, textarea.selectionStart).split(/\\n/);\n startOfLine = textarea.selectionStart - linesBefore[linesBefore.length - 1].length;\n endOfLine = wordSelectionEnd(textarea.value, textarea.selectionStart, true);\n textToUnstyle = textarea.value.slice(startOfLine, endOfLine);\n }\n const linesToUnstyle = textToUnstyle.split('\\n');\n const undoStyling = linesToUnstyle.every(line => orderedListRegex.test(line));\n if (undoStyling) {\n lines = linesToUnstyle.map(line => line.replace(orderedListRegex, ''));\n text = lines.join('\\n');\n if (noInitialSelection && startOfLine && endOfLine) {\n const lengthDiff = linesToUnstyle[0].length - lines[0].length;\n selectionStart = selectionEnd = textarea.selectionStart - lengthDiff;\n textarea.selectionStart = startOfLine;\n textarea.selectionEnd = endOfLine;\n }\n }\n else {\n lines = (function () {\n let i;\n let len;\n let index;\n const results = [];\n for (index = i = 0, len = lines.length; i < len; index = ++i) {\n const line = lines[index];\n results.push(`${index + 1}. ${line}`);\n }\n return results;\n })();\n text = lines.join('\\n');\n const { newlinesToAppend, newlinesToPrepend } = newlinesToSurroundSelectedText(textarea);\n selectionStart = textarea.selectionStart + newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n if (noInitialSelection)\n selectionStart = selectionEnd;\n text = newlinesToAppend + text + newlinesToPrepend;\n }\n return { text, selectionStart, selectionEnd };\n}\n","import insertText from './insertText';\nimport { blockStyle, isMultipleLines, multilineStyle, orderedList } from './styles';\n\nexport const styleSelectedText = (textarea, styleArgs) => {\n const text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n let result;\n if (styleArgs.orderedList) {\n result = orderedList(textarea);\n }\n else if (styleArgs.multiline && isMultipleLines(text)) {\n result = multilineStyle(textarea, styleArgs);\n }\n else {\n result = blockStyle(textarea, styleArgs);\n }\n\n insertText(textarea, result);\n};\n\nexport default (button, stylesToApply) => {\n const toolbar = button.parentElement;\n\n const defaults = {\n prefix: '',\n suffix: '',\n blockPrefix: '',\n blockSuffix: '',\n multiline: false,\n replaceNext: '',\n prefixSpace: false,\n scanFor: '',\n surroundWithNewlines: false,\n orderedList: false,\n trimFirst: false\n };\n\n const style = Object.assign({}, defaults, stylesToApply);\n\n const field = document.getElementById(toolbar.dataset.for);\n\n if (field) {\n field.focus();\n styleSelectedText(field, style);\n }\n}\n","import Component from 'flarum/Component';\nimport icon from 'flarum/helpers/icon';\nimport apply from '../util/apply';\n\nconst modifierKey = navigator.userAgent.match(/Macintosh/) ? '⌘' : 'ctrl';\n\nexport default class MarkdownButton extends Component {\n config(isInitialized) {\n if (isInitialized) return;\n\n this.$().tooltip();\n }\n\n view() {\n return ;\n }\n\n keydown(event) {\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n this.click();\n }\n }\n\n click() {\n return apply(this.element, this.props.style);\n }\n\n title() {\n let tooltip = this.props.title;\n\n if (this.props.hotkey) tooltip += ` <${modifierKey}-${this.props.hotkey}>`;\n\n return tooltip;\n }\n}\n","import { extend } from 'flarum/extend';\nimport TextEditor from 'flarum/components/TextEditor';\nimport MarkdownArea from 'mdarea';\n\nimport './polyfills';\nimport MarkdownToolbar from './components/MarkdownToolbar';\nimport MarkdownButton from './components/MarkdownButton';\n\napp.initializers.add('flarum-markdown', function(app) {\n\n let index = 1;\n\n extend(TextEditor.prototype, 'init', function() {\n this.textareaId = 'textarea'+(index++);\n });\n\n extend(TextEditor.prototype, 'view', function(vdom) {\n vdom.children[0].attrs.id = this.textareaId;\n });\n\n extend(TextEditor.prototype, 'configTextarea', function(value, element, isInitialized, context) {\n if (isInitialized) return;\n\n const editor = new MarkdownArea(element);\n editor.disableInline();\n editor.ignoreTab();\n\n context.onunload = function() {\n editor.destroy();\n };\n });\n\n extend(TextEditor.prototype, 'toolbarItems', function(items) {\n const tooltip = name => app.translator.trans(`flarum-markdown.forum.composer.${name}_tooltip`);\n\n items.add('markdown', (\n \n \n \n \n ', multiline: true, surroundWithNewlines: true }} />\n \n \n \n \n \n \n ), 100);\n });\n});\n"],"sourceRoot":""} \ No newline at end of file