From e05d8419141226b1e5e9a1ed2418d4fa1ef0777c Mon Sep 17 00:00:00 2001 From: junghwan-park Date: Fri, 4 Nov 2016 18:40:10 +0900 Subject: [PATCH] Update to 0.10.11 --- bower.json | 2 +- dist/tui-editor.css | 1 - dist/tui-editor.js | 1082 ++++++++++++++++++++++++++++++---------- dist/tui-editor.min.js | 26 +- package.json | 2 +- 5 files changed, 821 insertions(+), 292 deletions(-) diff --git a/bower.json b/bower.json index ced97c05e7..102d909911 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "tui-editor", - "version": "0.10.10", + "version": "0.10.11", "description": "private", "authors": [ { diff --git a/dist/tui-editor.css b/dist/tui-editor.css index 6218f977ea..fd7fe6de00 100644 --- a/dist/tui-editor.css +++ b/dist/tui-editor.css @@ -555,7 +555,6 @@ .tui-popup-color .te-apply-button { height: 21px; width: 35px; - border: 0; background: #fff; border: 1px solid #efefef; position: absolute; diff --git a/dist/tui-editor.js b/dist/tui-editor.js index b6eb0a3e25..8941bea204 100644 --- a/dist/tui-editor.js +++ b/dist/tui-editor.js @@ -64,27 +64,27 @@ */ // codemirror modes&addons - __webpack_require__(86); - __webpack_require__(87); - __webpack_require__(88); - __webpack_require__(89); __webpack_require__(90); - - // default extensions __webpack_require__(91); __webpack_require__(92); + __webpack_require__(93); + __webpack_require__(94); + + // default extensions __webpack_require__(95); __webpack_require__(96); + __webpack_require__(99); + __webpack_require__(100); window.tui = window.tui || {}; window.tui.Editor = _editor2.default; // langs - __webpack_require__(103); - __webpack_require__(104); - __webpack_require__(105); - __webpack_require__(106); __webpack_require__(107); + __webpack_require__(108); + __webpack_require__(109); + __webpack_require__(110); + __webpack_require__(111); // for jquery $.fn.tuiEditor = function () { @@ -171,11 +171,11 @@ var _convertor2 = _interopRequireDefault(_convertor); - var _viewOnly = __webpack_require__(35); + var _viewOnly = __webpack_require__(37); var _viewOnly2 = _interopRequireDefault(_viewOnly); - var _defaultUI = __webpack_require__(36); + var _defaultUI = __webpack_require__(38); var _defaultUI2 = _interopRequireDefault(_defaultUI); @@ -183,147 +183,155 @@ var _i18n2 = _interopRequireDefault(_i18n); - var _bold = __webpack_require__(50); + var _bold = __webpack_require__(52); var _bold2 = _interopRequireDefault(_bold); - var _italic = __webpack_require__(51); + var _italic = __webpack_require__(53); var _italic2 = _interopRequireDefault(_italic); - var _strike = __webpack_require__(52); + var _strike = __webpack_require__(54); var _strike2 = _interopRequireDefault(_strike); - var _blockquote = __webpack_require__(53); + var _blockquote = __webpack_require__(55); var _blockquote2 = _interopRequireDefault(_blockquote); - var _heading = __webpack_require__(54); + var _heading = __webpack_require__(56); var _heading2 = _interopRequireDefault(_heading); - var _hr = __webpack_require__(55); + var _paragraph = __webpack_require__(57); + + var _paragraph2 = _interopRequireDefault(_paragraph); + + var _hr = __webpack_require__(58); var _hr2 = _interopRequireDefault(_hr); - var _addLink = __webpack_require__(56); + var _addLink = __webpack_require__(59); var _addLink2 = _interopRequireDefault(_addLink); - var _addImage = __webpack_require__(57); + var _addImage = __webpack_require__(60); var _addImage2 = _interopRequireDefault(_addImage); - var _ul = __webpack_require__(58); + var _ul = __webpack_require__(61); var _ul2 = _interopRequireDefault(_ul); - var _ol = __webpack_require__(59); + var _ol = __webpack_require__(62); var _ol2 = _interopRequireDefault(_ol); - var _table = __webpack_require__(60); + var _table = __webpack_require__(63); var _table2 = _interopRequireDefault(_table); - var _task = __webpack_require__(61); + var _task = __webpack_require__(64); var _task2 = _interopRequireDefault(_task); - var _code = __webpack_require__(62); + var _code = __webpack_require__(65); var _code2 = _interopRequireDefault(_code); - var _codeBlock = __webpack_require__(63); + var _codeBlock = __webpack_require__(66); var _codeBlock2 = _interopRequireDefault(_codeBlock); - var _bold3 = __webpack_require__(64); + var _bold3 = __webpack_require__(67); var _bold4 = _interopRequireDefault(_bold3); - var _italic3 = __webpack_require__(65); + var _italic3 = __webpack_require__(68); var _italic4 = _interopRequireDefault(_italic3); - var _strike3 = __webpack_require__(66); + var _strike3 = __webpack_require__(69); var _strike4 = _interopRequireDefault(_strike3); - var _blockquote3 = __webpack_require__(67); + var _blockquote3 = __webpack_require__(70); var _blockquote4 = _interopRequireDefault(_blockquote3); - var _addImage3 = __webpack_require__(68); + var _addImage3 = __webpack_require__(71); var _addImage4 = _interopRequireDefault(_addImage3); - var _addLink3 = __webpack_require__(69); + var _addLink3 = __webpack_require__(72); var _addLink4 = _interopRequireDefault(_addLink3); - var _hr3 = __webpack_require__(70); + var _hr3 = __webpack_require__(73); var _hr4 = _interopRequireDefault(_hr3); - var _heading3 = __webpack_require__(71); + var _heading3 = __webpack_require__(74); var _heading4 = _interopRequireDefault(_heading3); - var _ul3 = __webpack_require__(72); + var _paragraph3 = __webpack_require__(75); + + var _paragraph4 = _interopRequireDefault(_paragraph3); + + var _ul3 = __webpack_require__(76); var _ul4 = _interopRequireDefault(_ul3); - var _ol3 = __webpack_require__(73); + var _ol3 = __webpack_require__(77); var _ol4 = _interopRequireDefault(_ol3); - var _table3 = __webpack_require__(74); + var _table3 = __webpack_require__(78); var _table4 = _interopRequireDefault(_table3); - var _tableAddRow = __webpack_require__(75); + var _tableAddRow = __webpack_require__(79); var _tableAddRow2 = _interopRequireDefault(_tableAddRow); - var _tableAddCol = __webpack_require__(76); + var _tableAddCol = __webpack_require__(80); var _tableAddCol2 = _interopRequireDefault(_tableAddCol); - var _tableRemoveRow = __webpack_require__(77); + var _tableRemoveRow = __webpack_require__(81); var _tableRemoveRow2 = _interopRequireDefault(_tableRemoveRow); - var _tableRemoveCol = __webpack_require__(78); + var _tableRemoveCol = __webpack_require__(82); var _tableRemoveCol2 = _interopRequireDefault(_tableRemoveCol); - var _tableAlignCol = __webpack_require__(79); + var _tableAlignCol = __webpack_require__(83); var _tableAlignCol2 = _interopRequireDefault(_tableAlignCol); - var _tableRemove = __webpack_require__(80); + var _tableRemove = __webpack_require__(84); var _tableRemove2 = _interopRequireDefault(_tableRemove); - var _increaseDepth = __webpack_require__(81); + var _increaseDepth = __webpack_require__(85); var _increaseDepth2 = _interopRequireDefault(_increaseDepth); - var _decreaseDepth = __webpack_require__(82); + var _decreaseDepth = __webpack_require__(86); var _decreaseDepth2 = _interopRequireDefault(_decreaseDepth); - var _task3 = __webpack_require__(83); + var _task3 = __webpack_require__(87); var _task4 = _interopRequireDefault(_task3); - var _code3 = __webpack_require__(84); + var _code3 = __webpack_require__(88); var _code4 = _interopRequireDefault(_code3); - var _codeBlock3 = __webpack_require__(85); + var _codeBlock3 = __webpack_require__(89); var _codeBlock4 = _interopRequireDefault(_codeBlock3); @@ -967,6 +975,7 @@ tuiEditor.addCommand(_italic2.default); tuiEditor.addCommand(_blockquote2.default); tuiEditor.addCommand(_heading2.default); + tuiEditor.addCommand(_paragraph2.default); tuiEditor.addCommand(_hr2.default); tuiEditor.addCommand(_addLink2.default); tuiEditor.addCommand(_addImage2.default); @@ -987,6 +996,7 @@ tuiEditor.addCommand(_addLink4.default); tuiEditor.addCommand(_hr4.default); tuiEditor.addCommand(_heading4.default); + tuiEditor.addCommand(_paragraph4.default); tuiEditor.addCommand(_increaseDepth2.default); tuiEditor.addCommand(_decreaseDepth2.default); tuiEditor.addCommand(_task4.default); @@ -4610,29 +4620,44 @@ } /** - * Wrap textNodes with div element + * Wrap orphan node(inline, text) with div element * @param {DocumentFragment} fragment - Fragment of paste data * @memberOf WwPasteContentHelper + * @returns {DocumentFragment} * @private */ }, { - key: '_wrapTextNodeWithDiv', - value: function _wrapTextNodeWithDiv(fragment) { + key: '_wrapOrphanNodeWithDiv', + value: function _wrapOrphanNodeWithDiv(fragment) { + var newFrag = document.createDocumentFragment(); var array = util.toArray(fragment.childNodes); + var currentDiv = void 0; util.forEachArray(array, function (node) { var isTextNode = node.nodeType === 3; + /* eslint-disable max-len */ + var isInlineNode = /^(SPAN|A|CODE|EM|I|STRONG|B|S|ABBR|ACRONYM|CITE|DFN|KBD|SAMP|VAR|BDO|Q|SUB|SUP)$/ig.test(node.tagName); + /* eslint-enable max-len */ + + if (isTextNode || isInlineNode) { + if (!currentDiv) { + currentDiv = document.createElement('div'); + newFrag.appendChild(currentDiv); + } - if (isTextNode) { - var divElement = document.createElement('div'); - - divElement.textContent = node.nodeValue; - divElement.appendChild($('
')[0]); + currentDiv.appendChild(node); + } else { + if (currentDiv && currentDiv.lastChild.tagName !== 'BR') { + currentDiv.appendChild($('
')[0]); + } - fragment.replaceChild(divElement, node); + currentDiv = null; + newFrag.appendChild(node); } }); + + return newFrag; } /** @@ -4662,7 +4687,7 @@ this._removeUnnecessaryBlocks(fragment, blockTags); this._removeStyles(fragment); - this._wrapTextNodeWithDiv(fragment); + fragment = this._wrapOrphanNodeWithDiv(fragment); this._preElementAid(fragment); @@ -4719,12 +4744,10 @@ }, { key: '_unwrapNestedBlocks', value: function _unwrapNestedBlocks(fragment, blockTags) { - var _this2 = this; - - var leafElements = $(fragment).find(':not(:has(*))').not('b,s,i,em,code'); + var leafElements = $(fragment).find(':not(:has(*))').not('b,s,i,em,code,span'); leafElements.each(function (i, node) { - var leafElement = node.nodeName === 'BR' ? $(node.parentNode) : $(_this2); + var leafElement = node.nodeName === 'BR' ? $(node.parentNode) : $(node); var parent = void 0; while (leafElement.parents(blockTags).length) { @@ -4886,7 +4909,7 @@ }, { key: '_wrapCurrentFormat', value: function _wrapCurrentFormat(nodes) { - var _this3 = this; + var _this2 = this; var currentTagName = void 0; @@ -4901,7 +4924,7 @@ } if (path.tagName !== currentTagName) { - nodes = _this3._makeNodeAndAppend(path, nodes); + nodes = _this2._makeNodeAndAppend(path, nodes); } } }); @@ -5058,7 +5081,7 @@ * @param {jQuery} $html jQuery instance */ function removeUnnecessaryTags($html) { - $html.find('script, iframe, textarea, form, button, select, .Apple-converted-space').remove(); + $html.find('script, iframe, textarea, form, button, select').remove(); } /** @@ -5250,6 +5273,16 @@ } } }); + + this.wwe.addKeyEventHandler('BACK_SPACE', function (ev, range) { + if (range.collapsed) { + if (_this2.wwe.getEditor().hasFormat('LI')) { + _this2.wwe.defer(function () { + _this2._removeBranchListAll(); + }); + } + } + }); } /** @@ -9463,11 +9496,9 @@ value: function removeEventHandler(typeStr) { var _this = this; - var _getTypeInfo2 = this._getTypeInfo(typeStr); - - var type = _getTypeInfo2.type; - var namespace = _getTypeInfo2.namespace; - + var _getTypeInfo2 = this._getTypeInfo(typeStr), + type = _getTypeInfo2.type, + namespace = _getTypeInfo2.namespace; if (type && !namespace) { // dont use dot notation cuz eslint @@ -10380,11 +10411,19 @@ var _markdownitCodeBlockPlugin2 = _interopRequireDefault(_markdownitCodeBlockPlugin); - var _markdownitTableRenderer = __webpack_require__(33); + var _markdownitCodeRenderer = __webpack_require__(33); + + var _markdownitCodeRenderer2 = _interopRequireDefault(_markdownitCodeRenderer); + + var _markdownitBlockQuoteRenderer = __webpack_require__(34); + + var _markdownitBlockQuoteRenderer2 = _interopRequireDefault(_markdownitBlockQuoteRenderer); + + var _markdownitTableRenderer = __webpack_require__(35); var _markdownitTableRenderer2 = _interopRequireDefault(_markdownitTableRenderer); - var _markdownitHtmlBlockRenderer = __webpack_require__(34); + var _markdownitHtmlBlockRenderer = __webpack_require__(36); var _markdownitHtmlBlockRenderer2 = _interopRequireDefault(_markdownitHtmlBlockRenderer); @@ -10401,8 +10440,8 @@ breaks: true, quotes: '“”‘’', langPrefix: 'lang-', - highlight: function highlight(code, type) { - return hljs.getLanguage(type) ? hljs.highlight(type, code).value : escape(code, false); + highlight: function highlight(codeText, type) { + return hljs.getLanguage(type) ? hljs.highlight(type, codeText).value : escape(codeText, false); } }); var markdownit = markdownIt({ @@ -10413,11 +10452,15 @@ }); markdownitHighlight.block.ruler.at('table', _markdownitTableRenderer2.default, ['paragraph', 'reference']); + markdownitHighlight.block.ruler.at('code', _markdownitCodeRenderer2.default); + markdownitHighlight.block.ruler.at('blockquote', _markdownitBlockQuoteRenderer2.default, ['paragraph', 'reference', 'list']); markdownitHighlight.block.ruler.at('html_block', _markdownitHtmlBlockRenderer2.default, ['paragraph', 'reference', 'blockquote']); markdownitHighlight.use(_markdownitTaskPlugin2.default); markdownitHighlight.use(_markdownitCodeBlockPlugin2.default); markdownit.block.ruler.at('table', _markdownitTableRenderer2.default, ['paragraph', 'reference']); + markdownit.block.ruler.at('code', _markdownitCodeRenderer2.default); + markdownit.block.ruler.at('blockquote', _markdownitBlockQuoteRenderer2.default, ['paragraph', 'reference', 'list']); markdownit.block.ruler.at('html_block', _markdownitHtmlBlockRenderer2.default, ['paragraph', 'reference', 'blockquote']); markdownit.use(_markdownitTaskPlugin2.default); markdownit.use(_markdownitCodeBlockPlugin2.default); @@ -10450,10 +10493,12 @@ _createClass(Convertor, [{ key: '_markdownToHtmlWithCodeHighlight', value: function _markdownToHtmlWithCodeHighlight(markdown) { - markdown = this._addLineBreaksIfNeed(markdown); markdown = markdown.replace(/
/ig, '
'); - return markdownitHighlight.render(markdown); + var renderedHTML = markdownitHighlight.render(markdown); + renderedHTML = this._removeBrToMarkPassAttributeInCode(renderedHTML); + + return renderedHTML; } /** @@ -10468,10 +10513,36 @@ }, { key: '_markdownToHtml', value: function _markdownToHtml(markdown) { - markdown = this._addLineBreaksIfNeed(markdown); markdown = markdown.replace(/
/ig, '
'); - return markdownitHighlight.render(markdown); + var renderedHTML = markdownitHighlight.render(markdown); + renderedHTML = this._removeBrToMarkPassAttributeInCode(renderedHTML); + + return renderedHTML; + } + + /** + * Remove BR's data-tomark-pass attribute text when br in code element + * @param {string} renderedHTML Rendered HTML string from markdown editor + * @returns {string} + * @private + */ + + }, { + key: '_removeBrToMarkPassAttributeInCode', + value: function _removeBrToMarkPassAttributeInCode(renderedHTML) { + var $wrapperDiv = $('
'); + + $wrapperDiv.html(renderedHTML); + + $wrapperDiv.find('code, pre').each(function (i, codeOrPre) { + var $code = $(codeOrPre); + $code.html($code.html().replace(/<br data-tomark-pass>/, '<br>')); + }); + + renderedHTML = $wrapperDiv.html(); + + return renderedHTML; } /** @@ -10532,10 +10603,21 @@ }, { key: 'toMarkdown', value: function toMarkdown(html) { + var resultArray = []; var markdown = toMark(this._appendAttributeForBrIfNeed(html)); markdown = this.eventManager.emitReduce('convertorAfterHtmlToMarkdownConverted', markdown); - return markdown; + tui.util.forEach(markdown.split('\n'), function (line, index) { + var FIND_TABLE_RX = /^\|[^|]*\|/ig; + var FIND_CODE_RX = /`[^`]*
[^`]*`/ig; + + if (!FIND_CODE_RX.test(line) && !FIND_TABLE_RX.test(line)) { + line = line.replace(/
/ig, '
\n'); + } + resultArray[index] = line; + }); + + return resultArray.join('\n'); } }, { key: '_appendAttributeForBrIfNeed', @@ -10543,7 +10625,7 @@ var FIND_BR_RX = /
/ig; var FIND_DOUBLE_BR_RX = /

/ig; var FIND_PASSING_AND_NORMAL_BR_RX = /

(.)/ig; - var FIND_FIRST_TWO_BRS_RX = /((?:[^b][^r]|[^p][^a][^s][^s]).[^/].)
/g; + var FIND_FIRST_TWO_BRS_RX = /([^>])

/g; html = html.replace(FIND_BR_RX, '
'); @@ -10552,7 +10634,7 @@ var div = document.createElement('div'); var $div = $(div); $div.html(html); - $div.find('pre br').each(function (index, node) { + $div.find('pre br,code br').each(function (index, node) { if (node.hasAttribute('data-tomark-pass')) { node.removeAttribute('data-tomark-pass'); } @@ -10567,32 +10649,6 @@ return html; } - /** - * Add line breaks for image section process - * @param {string} markdown Markdown text - * @returns {string} - * @private - */ - - }, { - key: '_addLineBreaksIfNeed', - value: function _addLineBreaksIfNeed(markdown) { - var FIND_IMAGE_RX = /(!\[(?:[^\[\]]*)]\((?:[^)]*)\))/g; - var resultArray = []; - tui.util.forEach(markdown.split('\n'), function (line, index) { - var FIND_IMAGE_IN_LIST_OR_QUOTE_RX = /^ *(?:\*|-|\d+\.|[*-] \[[ xX]])\s|(?: *> *)+/g; - var FIND_TABLE_RX = /^\|[^|]*\|/ig; - var FIND_INLINE_CODEBLOCK_RX = /^ {4}[^\s]*/ig; - - if (!FIND_TABLE_RX.test(line) && !FIND_IMAGE_IN_LIST_OR_QUOTE_RX.test(line) && !FIND_INLINE_CODEBLOCK_RX.test(line)) { - line = line.replace(FIND_IMAGE_RX, '\n\n$1\n\n'); - } - resultArray[index] = line; - }); - - return resultArray.join('\n'); - } - /** * factory * Convertor factory @@ -10816,6 +10872,302 @@ 'use strict'; + // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. + // Distributed under an ISC license: https://github.com/markdown-it/markdown-it/ + /** + * @fileoverview Implements MarkdownItCodeRenderer + * @modifier Sungho Kim(sungho-kim@nhnent.com) FE Development Lab/NHN Ent. + * @modifier Junghwan Park(junghwan.park@nhnent.com) FE Development Lab/NHN Ent. + */ + + /* eslint-disable */ + module.exports = function code(state, startLine, endLine /*, silent*/) { + // Added by Junghwan Park + var FIND_LIST_RX = / {0,3}(?:-|\*|\d\.) /; + var lines = state.src.split('\n'); + var currentLine = lines[startLine]; + // Added by Junghwan Park + + var nextLine, + last, + token, + emptyLines = 0; + + // Add condition by Junghwan Park + if (currentLine.match(FIND_LIST_RX) || state.sCount[startLine] - state.blkIndent < 4) { + // Add condition by Junghwan Park + return false; + } + + last = nextLine = startLine + 1; + + while (nextLine < endLine) { + if (state.isEmpty(nextLine)) { + emptyLines++; + + // workaround for lists: 2 blank lines should terminate indented + // code block, but not fenced code block + if (emptyLines >= 2 && state.parentType === 'list') { + break; + } + + nextLine++; + continue; + } + + emptyLines = 0; + + if (state.sCount[nextLine] - state.blkIndent >= 4) { + nextLine++; + last = nextLine; + continue; + } + break; + } + + state.line = last; + + token = state.push('code_block', 'code', 0); + token.content = state.getLines(startLine, last, 4 + state.blkIndent, true); + token.map = [startLine, state.line]; + + return true; + }; + /* eslint-enable */ + +/***/ }, +/* 34 */ +/***/ function(module, exports) { + + 'use strict'; + + // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. + // Distributed under an ISC license: https://github.com/markdown-it/markdown-it/ + /** + * @fileoverview Implements MarkdownItBlockQuoteRenderer + * @modifier Sungho Kim(sungho-kim@nhnent.com) FE Development Lab/NHN Ent. + * @modifier Junghwan Park(junghwan.park@nhnent.com) FE Development Lab/NHN Ent. + */ + + /* eslint-disable */ + module.exports = function blockquote(state, startLine, endLine, silent) { + // Added by Junghwan Park + var FIND_LIST_RX = /(?:-|\*|\d+\.) {1,4}(?:> {0,3})[^>]*$/; + var sourceLines = state.src.split('\n'); + var currentLine = sourceLines[startLine]; + // Added by Junghwan Park + + var nextLine, + lastLineEmpty, + oldTShift, + oldSCount, + oldBMarks, + oldIndent, + oldParentType, + lines, + initial, + offset, + ch, + terminatorRules, + token, + i, + l, + terminate, + pos = state.bMarks[startLine] + state.tShift[startLine], + max = state.eMarks[startLine]; + + // check the block quote marker + // Add condition by Junghwan Park + if (currentLine.match(FIND_LIST_RX) /*&& !currentLine.match(/^ {0,6}>/)*/ || state.src.charCodeAt(pos++) !== 0x3E /* > */) { + return false; + } + + // we know that it's going to be a valid blockquote, + // so no point trying to find the end of it in silent mode + if (silent) { + return true; + } + + // skip one optional space (but not tab, check cmark impl) after '>' + if (state.src.charCodeAt(pos) === 0x20) { + pos++; + } + + oldIndent = state.blkIndent; + state.blkIndent = 0; + + // skip spaces after ">" and re-calculate offset + initial = offset = state.sCount[startLine] + pos - (state.bMarks[startLine] + state.tShift[startLine]); + + oldBMarks = [state.bMarks[startLine]]; + state.bMarks[startLine] = pos; + + while (pos < max) { + ch = state.src.charCodeAt(pos); + + if (isSpace(ch)) { + if (ch === 0x09) { + offset += 4 - offset % 4; + } else { + offset++; + } + } else { + break; + } + + pos++; + } + + lastLineEmpty = pos >= max; + + oldSCount = [state.sCount[startLine]]; + state.sCount[startLine] = offset - initial; + + oldTShift = [state.tShift[startLine]]; + state.tShift[startLine] = pos - state.bMarks[startLine]; + + terminatorRules = state.md.block.ruler.getRules('blockquote'); + + // Search the end of the block + // + // Block ends with either: + // 1. an empty line outside: + // ``` + // > test + // + // ``` + // 2. an empty line inside: + // ``` + // > + // test + // ``` + // 3. another tag + // ``` + // > test + // - - - + // ``` + for (nextLine = startLine + 1; nextLine < endLine; nextLine++) { + if (state.sCount[nextLine] < oldIndent) { + break; + } + + pos = state.bMarks[nextLine] + state.tShift[nextLine]; + max = state.eMarks[nextLine]; + + if (pos >= max) { + // Case 1: line is not inside the blockquote, and this line is empty. + break; + } + + if (state.src.charCodeAt(pos++) === 0x3E /* > */) { + // This line is inside the blockquote. + + // skip one optional space (but not tab, check cmark impl) after '>' + if (state.src.charCodeAt(pos) === 0x20) { + pos++; + } + + // skip spaces after ">" and re-calculate offset + initial = offset = state.sCount[nextLine] + pos - (state.bMarks[nextLine] + state.tShift[nextLine]); + + oldBMarks.push(state.bMarks[nextLine]); + state.bMarks[nextLine] = pos; + + while (pos < max) { + ch = state.src.charCodeAt(pos); + + if (isSpace(ch)) { + if (ch === 0x09) { + offset += 4 - offset % 4; + } else { + offset++; + } + } else { + break; + } + + pos++; + } + + lastLineEmpty = pos >= max; + + oldSCount.push(state.sCount[nextLine]); + state.sCount[nextLine] = offset - initial; + + oldTShift.push(state.tShift[nextLine]); + state.tShift[nextLine] = pos - state.bMarks[nextLine]; + continue; + } + + // Case 2: line is not inside the blockquote, and the last line was empty. + if (lastLineEmpty) { + break; + } + + // Case 3: another tag found. + terminate = false; + for (i = 0, l = terminatorRules.length; i < l; i++) { + if (terminatorRules[i](state, nextLine, endLine, true)) { + terminate = true; + break; + } + } + if (terminate) { + break; + } + + oldBMarks.push(state.bMarks[nextLine]); + oldTShift.push(state.tShift[nextLine]); + oldSCount.push(state.sCount[nextLine]); + + // A negative indentation means that this is a paragraph continuation + // + state.sCount[nextLine] = -1; + } + + oldParentType = state.parentType; + state.parentType = 'blockquote'; + + token = state.push('blockquote_open', 'blockquote', 1); + token.markup = '>'; + token.map = lines = [startLine, 0]; + + state.md.block.tokenize(state, startLine, nextLine); + + token = state.push('blockquote_close', 'blockquote', -1); + token.markup = '>'; + + state.parentType = oldParentType; + lines[1] = state.line; + + // Restore original tShift; this might not be necessary since the parser + // has already been here, but just to make sure we can do that. + for (i = 0; i < oldTShift.length; i++) { + state.bMarks[i + startLine] = oldBMarks[i]; + state.tShift[i + startLine] = oldTShift[i]; + state.sCount[i + startLine] = oldSCount[i]; + } + state.blkIndent = oldIndent; + + return true; + }; + + function isSpace(code) { + switch (code) { + case 0x09: + case 0x20: + return true; + } + return false; + } + /* eslint-enable */ + +/***/ }, +/* 35 */ +/***/ function(module, exports) { + + 'use strict'; + // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. // Distributed under an ISC license: https://github.com/markdown-it/markdown-it/ @@ -11020,7 +11372,7 @@ /*eslint-enable */ /***/ }, -/* 34 */ +/* 36 */ /***/ function(module, exports) { // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. @@ -11117,7 +11469,7 @@ /* eslint-enable */ /***/ }, -/* 35 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -11340,44 +11692,44 @@ module.exports = ToastUIEditorViewOnly; /***/ }, -/* 36 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _toolbar = __webpack_require__(37); + var _toolbar = __webpack_require__(39); var _toolbar2 = _interopRequireDefault(_toolbar); - var _tab = __webpack_require__(41); + var _tab = __webpack_require__(43); var _tab2 = _interopRequireDefault(_tab); - var _layerpopup = __webpack_require__(43); + var _layerpopup = __webpack_require__(45); var _layerpopup2 = _interopRequireDefault(_layerpopup); - var _modeSwitch = __webpack_require__(44); + var _modeSwitch = __webpack_require__(46); var _modeSwitch2 = _interopRequireDefault(_modeSwitch); - var _popupAddLink = __webpack_require__(45); + var _popupAddLink = __webpack_require__(47); var _popupAddLink2 = _interopRequireDefault(_popupAddLink); - var _popupAddImage = __webpack_require__(46); + var _popupAddImage = __webpack_require__(48); var _popupAddImage2 = _interopRequireDefault(_popupAddImage); - var _popupTableUtils = __webpack_require__(47); + var _popupTableUtils = __webpack_require__(49); var _popupTableUtils2 = _interopRequireDefault(_popupTableUtils); - var _popupAddTable = __webpack_require__(48); + var _popupAddTable = __webpack_require__(50); var _popupAddTable2 = _interopRequireDefault(_popupAddTable); - var _popupAddHeading = __webpack_require__(49); + var _popupAddHeading = __webpack_require__(51); var _popupAddHeading2 = _interopRequireDefault(_popupAddHeading); @@ -11564,16 +11916,16 @@ module.exports = DefaultUI; /***/ }, -/* 37 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _uicontroller = __webpack_require__(38); + var _uicontroller = __webpack_require__(40); var _uicontroller2 = _interopRequireDefault(_uicontroller); - var _button = __webpack_require__(39); + var _button = __webpack_require__(41); var _button2 = _interopRequireDefault(_button); @@ -11771,7 +12123,7 @@ module.exports = Toolbar; /***/ }, -/* 38 */ +/* 40 */ /***/ function(module, exports) { 'use strict'; @@ -12015,7 +12367,7 @@ module.exports = UIController; /***/ }, -/* 39 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -12025,8 +12377,8 @@ * @author Sungho Kim(sungho-kim@nhnent.com) FE Development Team/NHN Ent. */ - var UIController = __webpack_require__(38); - var Tooltip = __webpack_require__(40); + var UIController = __webpack_require__(40); + var Tooltip = __webpack_require__(42); var util = tui.util; var tooltip = new Tooltip(); @@ -12115,7 +12467,7 @@ module.exports = Button; /***/ }, -/* 40 */ +/* 42 */ /***/ function(module, exports) { 'use strict'; @@ -12157,16 +12509,16 @@ module.exports = Tooltip; /***/ }, -/* 41 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _uicontroller = __webpack_require__(38); + var _uicontroller = __webpack_require__(40); var _uicontroller2 = _interopRequireDefault(_uicontroller); - var _templater = __webpack_require__(42); + var _templater = __webpack_require__(44); var _templater2 = _interopRequireDefault(_templater); @@ -12358,7 +12710,7 @@ module.exports = Tab; /***/ }, -/* 42 */ +/* 44 */ /***/ function(module, exports) { 'use strict'; @@ -12399,12 +12751,12 @@ module.exports = templater; /***/ }, -/* 43 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _uicontroller = __webpack_require__(38); + var _uicontroller = __webpack_require__(40); var _uicontroller2 = _interopRequireDefault(_uicontroller); @@ -12651,12 +13003,12 @@ module.exports = LayerPopup; /***/ }, -/* 44 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _uicontroller = __webpack_require__(38); + var _uicontroller = __webpack_require__(40); var _uicontroller2 = _interopRequireDefault(_uicontroller); @@ -12742,12 +13094,12 @@ module.exports = ModeSwitch; /***/ }, -/* 45 */ +/* 47 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _layerpopup = __webpack_require__(43); + var _layerpopup = __webpack_require__(45); var _layerpopup2 = _interopRequireDefault(_layerpopup); @@ -12850,16 +13202,16 @@ module.exports = PopupAddLink; /***/ }, -/* 46 */ +/* 48 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _layerpopup = __webpack_require__(43); + var _layerpopup = __webpack_require__(45); var _layerpopup2 = _interopRequireDefault(_layerpopup); - var _tab = __webpack_require__(41); + var _tab = __webpack_require__(43); var _tab2 = _interopRequireDefault(_tab); @@ -13037,12 +13389,12 @@ module.exports = PopupAddImage; /***/ }, -/* 47 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _layerpopup = __webpack_require__(43); + var _layerpopup = __webpack_require__(45); var _layerpopup2 = _interopRequireDefault(_layerpopup); @@ -13167,12 +13519,12 @@ module.exports = PopupTableUtils; /***/ }, -/* 48 */ +/* 50 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _layerpopup = __webpack_require__(43); + var _layerpopup = __webpack_require__(45); var _layerpopup2 = _interopRequireDefault(_layerpopup); @@ -13519,12 +13871,12 @@ module.exports = PopupAddTable; /***/ }, -/* 49 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - var _layerpopup = __webpack_require__(43); + var _layerpopup = __webpack_require__(45); var _layerpopup2 = _interopRequireDefault(_layerpopup); @@ -13552,7 +13904,7 @@ */ function PopupAddHeading(options) { /* eslint-disable indent */ - var POPUP_CONTENT = ['
    ', '
  • ' + _i18n2.default.get('Heading') + ' 1

  • ', '
  • ' + _i18n2.default.get('Heading') + ' 2

  • ', '
  • ' + _i18n2.default.get('Heading') + ' 3

  • ', '
  • ' + _i18n2.default.get('Heading') + ' 4

  • ', '
  • ' + _i18n2.default.get('Heading') + ' 5
  • ', '
  • ' + _i18n2.default.get('Heading') + ' 6
  • ', '
'].join(''); + var POPUP_CONTENT = ['
    ', '
  • ' + _i18n2.default.get('Heading') + ' 1

  • ', '
  • ' + _i18n2.default.get('Heading') + ' 2

  • ', '
  • ' + _i18n2.default.get('Heading') + ' 3

  • ', '
  • ' + _i18n2.default.get('Heading') + ' 4

  • ', '
  • ' + _i18n2.default.get('Heading') + ' 5
  • ', '
  • ' + _i18n2.default.get('Heading') + ' 6
  • ', '
  • ' + _i18n2.default.get('Paragraph') + '
  • ', '
'].join(''); /* eslint-enable indent */ options = util.extend({ @@ -13596,7 +13948,7 @@ /* eslint-disable prefer-arrow-callback*/ this.on('click li', /** @this Node */function () { - self.eventManager.emit('command', 'Heading', $(this).data('value')); + self.eventManager.emit('command', $(this).data('type'), $(this).data('value')); }); /* eslint-enable prefer-arrow-callback*/ }; @@ -13604,7 +13956,7 @@ module.exports = PopupAddHeading; /***/ }, -/* 50 */ +/* 52 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -13730,7 +14082,7 @@ module.exports = Bold; /***/ }, -/* 51 */ +/* 53 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -13938,7 +14290,7 @@ module.exports = Italic; /***/ }, -/* 52 */ +/* 54 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14038,7 +14390,7 @@ module.exports = Strike; /***/ }, -/* 53 */ +/* 55 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14107,7 +14459,7 @@ module.exports = Blockquote; /***/ }, -/* 54 */ +/* 56 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14118,7 +14470,14 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var util = tui.util; + var util = tui.util; /** + * @fileoverview Implements Heading markdown command + * @author Sungho Kim(sungho-kim@nhnent.com) FE Development Lab/NHN Ent. + * @author Junghwan Park(junghwan.park@nhnent.com) FE Development Lab/NHN Ent. + * @author Jiung Kang(jiung-kang@nhnent.com) FE Development Lab/NHN Ent. + */ + + var FIND_HEADING_RX = /^#+\s/g; /** * Heading @@ -14126,11 +14485,6 @@ * @exports Heading * @augments Command */ - /** - * @fileoverview Implements Heading markdown command - * @author Sungho Kim(sungho-kim@nhnent.com) FE Development Team/NHN Ent. - */ - var Heading = _commandManager2.default.command('markdown', /** @lends Heading */{ name: 'Heading', /** @@ -14172,14 +14526,12 @@ range.to.ch += doc.getLine(to.line).length - lengthOfCurrentLineBefore; - doc.setCursor(range.to); + doc.setSelection(from, range.to); cm.focus(); } }); - var FIND_HEADING_RX = /^#+\s/g; - /** * Get heading markdown * @param {string} text Source test @@ -14205,7 +14557,83 @@ module.exports = Heading; /***/ }, -/* 55 */ +/* 57 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + var _commandManager = __webpack_require__(24); + + var _commandManager2 = _interopRequireDefault(_commandManager); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var util = tui.util; + + /** + * Paragraph + * Convert selected lines to paragraph + * @exports Paragraph + * @augments Command + */ + /** + * @fileoverview Implements Paragraph markdown command + * @author Sungho Kim(sungho-kim@nhnent.com) FE Development Team/NHN Ent. + * @author Junghwan Park(junghwan.park@nhnent.com) FE Development Team/NHN Ent. + * @author Jiung Kang(jiung-kang@nhnent.com) FE Development Team/NHN Ent. + */ + + var Paragraph = _commandManager2.default.command('markdown', /** @lends Paragraph */{ + name: 'Paragraph', + /** + * Command Handler + * @param {MarkdownEditor} mde MarkdownEditor instance + */ + exec: function exec(mde) { + var cm = mde.getEditor(); + var doc = cm.getDoc(); + var range = mde.getCurrentRange(); + var from = { + line: range.from.line, + ch: 0 + }; + var to = { + line: range.to.line, + ch: doc.getLineHandle(range.to.line).text.length + }; + + var lengthOfCurrentLineBefore = doc.getLine(to.line).length; + var textToModify = doc.getRange(from, to); + var textLines = textToModify.split('\n'); + + util.forEachArray(textLines, function (line, index) { + textLines[index] = getParagraphMarkdown(line); + }); + + doc.replaceRange(textLines.join('\n'), from, to); + + range.to.ch += doc.getLine(to.line).length - lengthOfCurrentLineBefore; + + doc.setSelection(from, to); + + cm.focus(); + } + }); + /** + * Get paragraph markdown lineText + * @param {string} lineText line lineText + * @returns {string} + */ + function getParagraphMarkdown(lineText) { + var headingRx = /^(#{1,6}| *((?:\*|-|\d\.)(?: \[[ xX]])?)) /; + + return lineText.replace(headingRx, ''); + } + + module.exports = Paragraph; + +/***/ }, +/* 58 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14270,7 +14698,7 @@ module.exports = HR; /***/ }, -/* 56 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14324,7 +14752,7 @@ module.exports = AddLink; /***/ }, -/* 57 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14378,7 +14806,7 @@ module.exports = AddImage; /***/ }, -/* 58 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14443,7 +14871,7 @@ module.exports = UL; /***/ }, -/* 59 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14509,7 +14937,7 @@ module.exports = OL; /***/ }, -/* 60 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14624,7 +15052,7 @@ module.exports = Table; /***/ }, -/* 61 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14678,7 +15106,7 @@ module.exports = Task; /***/ }, -/* 62 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14734,7 +15162,7 @@ module.exports = Code; /***/ }, -/* 63 */ +/* 66 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14788,7 +15216,7 @@ module.exports = CodeBlock; /***/ }, -/* 64 */ +/* 67 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14853,7 +15281,7 @@ module.exports = Bold; /***/ }, -/* 65 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14918,7 +15346,7 @@ module.exports = Italic; /***/ }, -/* 66 */ +/* 69 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -14982,7 +15410,7 @@ module.exports = Strike; /***/ }, -/* 67 */ +/* 70 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15024,7 +15452,7 @@ module.exports = Blockquote; /***/ }, -/* 68 */ +/* 71 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15065,7 +15493,7 @@ module.exports = AddImage; /***/ }, -/* 69 */ +/* 72 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15114,7 +15542,7 @@ module.exports = AddLink; /***/ }, -/* 70 */ +/* 73 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15193,54 +15621,128 @@ module.exports = HR; /***/ }, -/* 71 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - /** - * @fileoverview Implements Heading wysiwyg command - * @author Sungho Kim(sungho-kim@nhnent.com) FE Development Team/NHN Ent. - * @author Junghwan Park(junghwan.park@nhnent.com) FE Development Team/NHN Ent. - */ + var _commandManager = __webpack_require__(24); - var CommandManager = __webpack_require__(24); - var domUtils = __webpack_require__(8); + var _commandManager2 = _interopRequireDefault(_commandManager); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Heading - * Add horizontal line markdown syntax to wysiwyg Editor + * Convert selected root level contents to heading with size wysiwyg Editor * @exports Heading * @augments Command * @augments WysiwygCommand */ - var Heading = CommandManager.command('wysiwyg', /** @lends Heading */{ + var Heading = _commandManager2.default.command('wysiwyg', /** @lends Heading */{ name: 'Heading', /** - * 커맨드 핸들러 - * @param {WysiwygEditor} wwe WYsiwygEditor instance - * @param {Number} size size + * Command handler + * @param {WysiwygEditor} wwe WYSIWYGEditor instance + * @param {Number} size size */ exec: function exec(wwe, size) { var sq = wwe.getEditor(); + var blockTagName = 'h1, h2, h3, h4, h5, h6, div'; sq.focus(); - var range = sq.getSelection().cloneRange(); - var nodeName = domUtils.getNodeName(range.commonAncestorContainer); - if (!sq.hasFormat('TABLE') && !sq.hasFormat('PRE')) { - if (range.collapsed || nodeName === 'DIV' || nodeName === 'TEXT') { - wwe.changeBlockFormatTo('H' + size); - } + sq.modifyBlocks(function (fragment) { + $(fragment).children(blockTagName).each(function (index, block) { + var headingHTML = ''; + var $block = $(block); + + if ($block.is('DIV')) { + $block.wrap(headingHTML); + } else { + var $wrapperHeading = $(headingHTML); + + $wrapperHeading.insertBefore(block); + $wrapperHeading.html($block.html()); + $block.remove(); + } + }); + + return fragment; + }); } } - }); + }); /** + * @fileoverview Implements Heading wysiwyg command + * @author Sungho Kim(sungho-kim@nhnent.com) FE Development Lab/NHN Ent. + * @author Junghwan Park(junghwan.park@nhnent.com) FE Development Lab/NHN Ent. + * @author Jiung Kang(jiung-kang@nhnent.com) FE Development Lab/NHN Ent. + */ module.exports = Heading; /***/ }, -/* 72 */ +/* 75 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + var _commandManager = __webpack_require__(24); + + var _commandManager2 = _interopRequireDefault(_commandManager); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /** + * Paragraph + * Convert selected contents to paragraph only heading and list + * @exports Heading + * @augments Command + * @augments WysiwygCommand + */ + var Paragraph = _commandManager2.default.command('wysiwyg', /** @lends Paragraph */{ + name: 'Paragraph', + /** + * Command handler + * @param {WysiwygEditor} wwe WYSIWYGEditor instance + */ + exec: function exec(wwe) { + var sq = wwe.getEditor(); + + sq.focus(); + + if (!sq.hasFormat('TABLE') && !sq.hasFormat('PRE')) { + sq.modifyBlocks(function (fragment) { + var $newFragment = $(document.createDocumentFragment()); + + $(fragment).children().each(function (index, block) { + if (block.nodeName.match(/h\d/i)) { + $newFragment.append($(block).children()); + } else if (block.nodeName.match(/ul|ol/i)) { + $(block).find('li').each(function (i, listItem) { + $newFragment.append($(listItem).children()); + }); + } else { + $newFragment.append(block); + } + }); + + return $newFragment[0]; + }); + } + } + }); /** + * @fileoverview Implements Paragraph wysiwyg command + * @author Sungho Kim(sungho-kim@nhnent.com) FE Development Lab/NHN Ent. + * @author Junghwan Park(junghwan.park@nhnent.com) FE Development Lab/NHN Ent. + * @author Jiung Kang(jiung-kang@nhnent.com) FE Development Lab/NHN Ent. + */ + + module.exports = Paragraph; + +/***/ }, +/* 76 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15295,7 +15797,7 @@ module.exports = UL; /***/ }, -/* 73 */ +/* 77 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15351,7 +15853,7 @@ module.exports = OL; /***/ }, -/* 74 */ +/* 78 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15488,7 +15990,7 @@ module.exports = Table; /***/ }, -/* 75 */ +/* 79 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15573,7 +16075,7 @@ module.exports = AddRow; /***/ }, -/* 76 */ +/* 80 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15681,7 +16183,7 @@ module.exports = AddCol; /***/ }, -/* 77 */ +/* 81 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15813,7 +16315,7 @@ module.exports = RemoveRow; /***/ }, -/* 78 */ +/* 82 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -15918,7 +16420,7 @@ module.exports = RemoveCol; /***/ }, -/* 79 */ +/* 83 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -16061,7 +16563,7 @@ module.exports = AlignCol; /***/ }, -/* 80 */ +/* 84 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -16107,7 +16609,7 @@ module.exports = RemoveTable; /***/ }, -/* 81 */ +/* 85 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -16172,7 +16674,7 @@ module.exports = IncreaseTask; /***/ }, -/* 82 */ +/* 86 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -16227,7 +16729,7 @@ module.exports = DecreaseDepth; /***/ }, -/* 83 */ +/* 87 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -16279,7 +16781,7 @@ module.exports = Task; /***/ }, -/* 84 */ +/* 88 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -16365,7 +16867,7 @@ module.exports = Code; /***/ }, -/* 85 */ +/* 89 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -16460,7 +16962,7 @@ module.exports = CodeBlock; /***/ }, -/* 86 */ +/* 90 */ /***/ function(module, exports) { "use strict"; @@ -16538,7 +17040,7 @@ /*eslint-enable */ /***/ }, -/* 87 */ +/* 91 */ /***/ function(module, exports) { // CodeMirror, copyright (c) by Marijn Haverbeke and others @@ -17359,7 +17861,7 @@ /*eslint-enable */ /***/ }, -/* 88 */ +/* 92 */ /***/ function(module, exports) { 'use strict'; @@ -17490,7 +17992,7 @@ CodeMirror.defineMIME("text/x-gfm", "gfm"); /*eslint-enable */ /***/ }, -/* 89 */ +/* 93 */ /***/ function(module, exports) { "use strict"; @@ -17512,12 +18014,13 @@ var line = cm.getLine(pos.line); var cursorBeforeTextInline = line.substr(0, pos.ch); - if (emptyListRE.test(cursorBeforeTextInline)) { + if (listRE.test(cursorBeforeTextInline)) { cm.replaceRange(Array(cm.getOption("indentUnit") + 1).join(" ") + line, { line: pos.line, ch: 0 }, { line: pos.line, ch: line.length }, '+input'); + cm.setCursor(pos.line, pos.ch + 4); } else { if (cm.somethingSelected()) cm.indentSelection("add");else cm.execCommand("insertSoftTab"); } @@ -17587,7 +18090,7 @@ /*eslint-enable */ /***/ }, -/* 90 */ +/* 94 */ /***/ function(module, exports) { "use strict"; @@ -17734,7 +18237,7 @@ /*eslint-enable */ /***/ }, -/* 91 */ +/* 95 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -17784,7 +18287,7 @@ }); /***/ }, -/* 92 */ +/* 96 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -17793,15 +18296,15 @@ var _extManager2 = _interopRequireDefault(_extManager); - var _scrollFollow = __webpack_require__(93); + var _scrollFollow = __webpack_require__(97); var _scrollFollow2 = _interopRequireDefault(_scrollFollow); - var _scrollFollow3 = __webpack_require__(94); + var _scrollFollow3 = __webpack_require__(98); var _scrollFollow4 = _interopRequireDefault(_scrollFollow3); - var _button = __webpack_require__(39); + var _button = __webpack_require__(41); var _button2 = _interopRequireDefault(_button); @@ -17814,8 +18317,8 @@ _extManager2.default.defineExtension('scrollFollow', function (editor) { var className = 'tui-scrollfollow'; var TOOL_TIP = { - active: _i18n2.default.get('Enable auto scroll'), - inActive: _i18n2.default.get('Disable auto scroll') + active: _i18n2.default.get('Auto scroll enabled'), + inActive: _i18n2.default.get('Auto scroll disabled') }; if (editor.isViewOnly()) { @@ -17842,20 +18345,10 @@ editor.getUI().toolbar.addButton(button); - if (editor.currentMode === 'wysiwyg' || editor.mdPreviewStyle === 'tab') { - button.$el.hide(); - } - + changeButtonVisiblityStateIfNeed(); // hide scroll follow button in wysiwyg - editor.on('changeModeToWysiwyg', function () { - button.$el.hide(); - }); - - editor.on('changeModeToMarkdown', function () { - if (editor.mdPreviewStyle !== 'tab') { - button.$el.show(); - } - }); + editor.on('changeMode', changeButtonVisiblityStateIfNeed); + editor.on('changePreviewStyle', changeButtonVisiblityStateIfNeed); // Commands editor.addCommand('markdown', { @@ -17881,6 +18374,14 @@ sectionManager.makeSectionList(); }); + function changeButtonVisiblityStateIfNeed() { + if (editor.mdPreviewStyle === 'vertical' && editor.currentMode === 'markdown') { + button.$el.show(); + } else { + button.$el.hide(); + } + } + editor.on('previewRenderAfter', function () { sectionManager.sectionMatch(); scrollSync.syncPreviewScrollTopToMarkdown(); @@ -17908,7 +18409,7 @@ */ /***/ }, -/* 93 */ +/* 97 */ /***/ function(module, exports) { 'use strict'; @@ -18324,7 +18825,7 @@ module.exports = ScrollSync; /***/ }, -/* 94 */ +/* 98 */ /***/ function(module, exports) { 'use strict'; @@ -18341,7 +18842,7 @@ var FIND_HEADER_RX = /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/; var FIND_LIST_RX = /^ *(\*|-|\d+\.|[*-] \[[ xX]])\s/; var FIND_QUOTE_RX = /^ {0,3}(> ?)+\s/; - var FIND_IMAGE_RX = / *!\[([^\[\]]*)]\(([^)]*)\)/; + var FIND_IMAGE_RX = /^ {0,3}!\[([^\[\]]*)]\(([^)]*)\)/; var FIND_SETEXT_HEADER_RX = /^ *(?:={1,}|-{1,})\s*$/; var FIND_CODEBLOCK_END_RX = /^ *(`{3,}|~{3,})[ ]*$/; var FIND_CODEBLOCK_START_RX = /^ *(`{3,}|~{3,})[ .]*(\S+)? */; @@ -18455,6 +18956,7 @@ onCodeBlock = false, trimCapture = ''; var isRightAfterImageSection = false; + var isEnsuredSection = false; var codeblockStartLineIndex = void 0; var lineLength = this.cm.getDoc().lineCount(); @@ -18480,20 +18982,32 @@ codeblockStartLineIndex = i; } - // atx header - if (this._isAtxHeader(lineString)) { + if (isEnsuredSection && lineString.length !== 0) { + if (this._isIndependentImage(onCodeBlock, onTable, lineString, prevLineString)) { + isRightAfterImageSection = true; + isEnsuredSection = true; + } else { + isRightAfterImageSection = false; + isEnsuredSection = false; + } + + isSection = true; + } else if (this._isAtxHeader(lineString)) { isRightAfterImageSection = false; isSection = true; + isEnsuredSection = false; // setext header } else if (!this._isCodeBlockEnd(lineString) && !onTable && this._isSeTextHeader(lineString, nextLineString)) { isRightAfterImageSection = false; isSection = true; - } else if (!onCodeBlock && !onTable && this._isImage(lineString) && !this._isList(lineString) && !this._isQuote(lineString)) { + isEnsuredSection = false; + } else if (this._isIndependentImage(onCodeBlock, onTable, lineString, prevLineString)) { isRightAfterImageSection = true; isSection = true; - } else if (isRightAfterImageSection && lineString.length !== 0) { + isEnsuredSection = false; + } else if (isRightAfterImageSection && lineString.length === 0) { isRightAfterImageSection = false; - isSection = true; + isEnsuredSection = true; } // 빈공간으로 시작되다다가 헤더를 만난경우 섹션은 두개가 생성되는데 @@ -18512,6 +19026,22 @@ } } + /** + * Return whether is independent image line with padding lines top and bottom + * @param {boolean} onCodeBlock Is on codeblock + * @param {boolean} onTable Is on table + * @param {string} lineString Current line string + * @param {string} prevLineString Previous line string + * @returns {boolean} + * @private + */ + + }, { + key: '_isIndependentImage', + value: function _isIndependentImage(onCodeBlock, onTable, lineString, prevLineString) { + return !onCodeBlock && !onTable && this._isImage(lineString) && !this._isList(lineString) && !this._isQuote(lineString) && prevLineString.length === 0; + } + /** * _doFollowedLinesHaveCodeBlockEnd * Check if follow lines have codeblock end @@ -18716,7 +19246,7 @@ this.$previewContent.contents().filter(findElementNodeFilter).each(function (index, el) { var isParagraph = el.tagName === 'P'; var isHeading = el.tagName.match(/^(H1|H2|H3|H4|H5|H6)$/); - var isImage = isParagraph && $(el).children('IMG').length !== 0; + var isImage = isParagraph && el.childNodes[0].nodeName === 'IMG'; if ((isHeading || isImage || isRightAfterImageSection) && sections[lastSection].length) { sections.push([]); @@ -18779,7 +19309,7 @@ module.exports = SectionManager; /***/ }, -/* 95 */ +/* 99 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19030,7 +19560,7 @@ } /***/ }, -/* 96 */ +/* 100 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19039,23 +19569,23 @@ var _extManager2 = _interopRequireDefault(_extManager); - var _markerList = __webpack_require__(97); + var _markerList = __webpack_require__(101); var _markerList2 = _interopRequireDefault(_markerList); - var _markerManager = __webpack_require__(98); + var _markerManager = __webpack_require__(102); var _markerManager2 = _interopRequireDefault(_markerManager); - var _wysiwygMarkerHelper = __webpack_require__(100); + var _wysiwygMarkerHelper = __webpack_require__(104); var _wysiwygMarkerHelper2 = _interopRequireDefault(_wysiwygMarkerHelper); - var _viewOnlyMarkerHelper = __webpack_require__(101); + var _viewOnlyMarkerHelper = __webpack_require__(105); var _viewOnlyMarkerHelper2 = _interopRequireDefault(_viewOnlyMarkerHelper); - var _markdownMarkerHelper = __webpack_require__(102); + var _markdownMarkerHelper = __webpack_require__(106); var _markdownMarkerHelper2 = _interopRequireDefault(_markdownMarkerHelper); @@ -19310,7 +19840,7 @@ }); /***/ }, -/* 97 */ +/* 101 */ /***/ function(module, exports) { "use strict"; @@ -19523,7 +20053,7 @@ module.exports = Markerlist; /***/ }, -/* 98 */ +/* 102 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19537,7 +20067,7 @@ * @author Sungho Kim(sungho-kim@nhnent.com) FE Development Team/NHN Ent. */ - var DiffMatchPatch = __webpack_require__(99); + var DiffMatchPatch = __webpack_require__(103); var util = tui.util; @@ -19766,7 +20296,7 @@ module.exports = MarkerManager; /***/ }, -/* 99 */ +/* 103 */ /***/ function(module, exports) { 'use strict'; @@ -21842,7 +22372,7 @@ //this['DIFF_EQUAL'] = DIFF_EQUAL; /***/ }, -/* 100 */ +/* 104 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -22094,7 +22624,7 @@ module.exports = WysiwygMarkerHelper; /***/ }, -/* 101 */ +/* 105 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -22365,7 +22895,7 @@ module.exports = ViewOnlyMarkerHelper; /***/ }, -/* 102 */ +/* 106 */ /***/ function(module, exports) { 'use strict'; @@ -22642,7 +23172,7 @@ module.exports = MarkdownMarkerHelper; /***/ }, -/* 103 */ +/* 107 */ /***/ function(module, exports) { 'use strict'; @@ -22684,12 +23214,12 @@ 'Remove table': 'Remove table', 'Would you like to paste as table?': 'Would you like to paste as table?', 'Text color': 'Text color', - 'Enable auto scroll': 'Enable auto scroll', - 'Disable auto scroll': 'Disable auto scroll' + 'Auto scroll enabled': 'Auto scroll enabled', + 'Auto scroll disabled': 'Auto scroll disabled' }); /***/ }, -/* 104 */ +/* 108 */ /***/ function(module, exports) { 'use strict'; @@ -22731,12 +23261,12 @@ 'Remove table': '표 삭제', 'Would you like to paste as table?': '표형태로 붙여 넣겠습니까?', 'Text color': '글자 색상', - 'Enable auto scroll': '자동 스크롤 켜짐', - 'Disable auto scroll': '자동 스크롤 꺼짐' + 'Auto scroll enabled': '자동 스크롤 켜짐', + 'Auto scroll disabled': '자동 스크롤 꺼짐' }); /***/ }, -/* 105 */ +/* 109 */ /***/ function(module, exports) { 'use strict'; @@ -22778,12 +23308,12 @@ 'Remove table': '删除表', 'Would you like to paste as table?': '你想粘贴表吗?', 'Text color': '文字色相', - 'Enable auto scroll': '自动的滚动使用', - 'Disable auto scroll': '自动的滚动作非使用' + 'Auto scroll enabled': '自动滚动启用', + 'Auto scroll disabled': '自动的滚动作非使用' }); /***/ }, -/* 106 */ +/* 110 */ /***/ function(module, exports) { 'use strict'; @@ -22825,12 +23355,12 @@ 'Remove table': 'テーブル削除', 'Would you like to paste as table?': 'テーブルを貼り付けますか?', 'Text color': '文字色相', - 'Enable auto scroll': '自動スクロール使用', - 'Disable auto scroll': '自動スクロール非使用' + 'Auto scroll enabled': '自動スクロールが有効', + 'Auto scroll disabled': '自動スクロールを無効に' }); /***/ }, -/* 107 */ +/* 111 */ /***/ function(module, exports) { 'use strict'; @@ -22872,8 +23402,8 @@ 'Remove table': 'Verwijder tabel', 'Would you like to paste as table?': 'Wil je dit als tabel plakken?', 'Text color': 'tekst kleur', - 'Enable auto scroll': 'Auto scroll gebruik', - 'Disable auto scroll': 'Auto scroll niet gebruik' + 'Auto scroll enabled': 'Auto scroll enabled', + 'Auto scroll disabled': 'Auto scroll uitgeschakeld' }); /***/ } diff --git a/dist/tui-editor.min.js b/dist/tui-editor.min.js index a7dc2c9966..3f004a227b 100644 --- a/dist/tui-editor.min.js +++ b/dist/tui-editor.min.js @@ -1,13 +1,13 @@ -!function e(t,o,n){function i(s,l){if(!o[s]){if(!t[s]){var a="function"==typeof require&&require;if(!l&&a)return a(s,!0);if(r)return r(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=o[s]={exports:{}};t[s][0].call(u.exports,function(e){var o=t[s][1][e];return i(o?o:e)},u,u.exports,e,t,o,n)}return o[s].exports}for(var r="function"==typeof require&&require,s=0;st)return e+"";for(;n1?void r(a.call(arguments),function(e){this.add(e)},this):(t=this.getItemID(e),o=this.items,o[t]||(this.length+=1),void(o[t]=e))},o.prototype.remove=function(e){var t,o,i=[];return this.length?arguments.length>1?i=n.map(a.call(arguments),function(e){return this.remove(e)},this):(t=this.items,l(e)&&(e=this.getItemID(e)),t[e]?(this.length-=1,o=t[e],delete t[e],o):i):i},o.prototype.clear=function(){this.items={},this.length=0},o.prototype.has=function(e){var t,o;return!!this.length&&(t=s(e),o=!1,t?this.each(function(t){if(e(t)===!0)return o=!0,!1}):(e=l(e)?this.getItemID(e):e,o=n.isExisty(this.items[e])),o)},o.prototype.doWhenHas=function(e,t,o){var i=this.items[e];n.isExisty(i)&&t.call(o||this,i)},o.prototype.find=function(e){var t=new o;return this.hasOwnProperty("getItemID")&&(t.getItemID=this.getItemID),this.each(function(o){e(o)===!0&&t.add(o)}),t},o.prototype.groupBy=function(e,t){var i,r,s={},l=n.isFunction,a=l(e),c=this.getItemID;if(n.isArray(e)){if(n.forEachArray(e,function(e){s[e+""]=new o(c)}),!t)return s;e=t,a=!0}return this.each(function(t){a?r=e(t):(r=t[e],l(r)&&(r=r.apply(t))),i=s[r],i||(i=s[r]=new o(c)),i.add(t)}),s},o.prototype.single=function(){var e;return this.each(function(t){return e=t,!1},this),e},o.prototype.sort=function(e){var t=[];return this.each(function(e){t.push(e)}),s(e)&&(t=t.sort(e)),t},o.prototype.each=function(e,t){i(this.items,e,t||this)},o.prototype.toArray=function(){return this.length?n.map(this.items,function(e){return e}):[]},t.exports=o}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,o){(function(e){"use strict";var o=e.tui.util,n=o.browser,i="_evt",r={START:["touchstart","mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"}},s={on:function(e,t,n,i){return o.isString(t)?void o.forEach(t.split(" "),function(t){s._on(e,t,n,i)}):void o.forEachOwnProperties(t,function(t,o){s._on(e,o,t,n)})},_on:function(e,t,n,r){var l,a,c;l=t+o.stamp(n)+(r?"_"+o.stamp(r):""),e[i]&&e[i][l]||(a=function(t){n.call(r||e,t||window.event)},c=a,"addEventListener"in e?"mouseenter"===t||"mouseleave"===t?(a=function(t){t=t||window.event,s._checkMouse(e,t)&&c(t)},e.addEventListener("mouseenter"===t?"mouseover":"mouseout",a,!1)):("mousewheel"===t&&e.addEventListener("DOMMouseScroll",a,!1),e.addEventListener(t,a,!1)):"attachEvent"in e&&e.attachEvent("on"+t,a),e[i]=e[i]||{},e[i][l]=a)},off:function(e,t,n,i){return o.isString(t)?void o.forEach(t.split(" "),function(t){s._off(e,t,n,i)}):void o.forEachOwnProperties(t,function(t,o){s._off(e,o,t,n)})},_off:function(e,t,n,r){var s=t+o.stamp(n)+(r?"_"+o.stamp(r):""),l=e[i]&&e[i][s];if(l){if("removeEventListener"in e)"mouseenter"===t||"mouseleave"===t?e.removeEventListener("mouseenter"===t?"mouseover":"mouseout",l,!1):("mousewheel"===t&&e.removeEventListener("DOMMouseScroll",l,!1),e.removeEventListener(t,l,!1));else if("detachEvent"in e)try{e.detachEvent("on"+t,l)}catch(a){}if(delete e[i][s],!o.keys(e[i]).length)return o.browser.msie&&o.browser.version<9?void(e[i]=null):void delete e[i]}},once:function(e,t,n,i){function r(){n.apply(i||e,arguments),l._off(e,t,r,i)}var l=this;return o.isObject(t)?void o.forEachOwnProperties(t,function(t,o){s.once(e,o,t,n)}):void s.on(e,t,r,i)},stopPropagation:function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},preventDefault:function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},stop:function(e){s.preventDefault(e),s.stopPropagation(e)},disableScrollPropagation:function(e){s.on(e,"mousewheel MozMousePixelScroll",s.stopPropagation)},disableClickPropagation:function(e){s.on(e,r.START.join(" ")+" click dblclick",s.stopPropagation)},getMousePosition:function(e,t){var o;return t?(o=t.getBoundingClientRect(),[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]):[e.clientX,e.clientY]},getWheelDelta:function(e){var t=0;return e.wheelDelta&&(t=e.wheelDelta/120),e.detail&&(t=-e.detail/3),t},_checkMouse:function(e,t){var o=t.relatedTarget;if(!o)return!0;try{for(;o&&o!==e;)o=o.parentNode}catch(n){return!1}return o!==e},trigger:function(e,t,n){var i=/(mouse|click)/;o.isUndefined(n)&&i.exec(t)&&(n=s.mouseEvent(t)),e.dispatchEvent?e.dispatchEvent(n):e.fireEvent&&e.fireEvent("on"+t,n)},mouseEvent:function(e,t){var i,r;return r=o.extend({bubbles:!0,cancelable:"mousemove"!==e,view:window,wheelDelta:0,detail:0,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:void 0},t),n.msie&&n.version<9&&delete r.wheelDelta,"function"==typeof document.createEvent?(i=document.createEvent("MouseEvents"),i.initMouseEvent(e,r.bubbles,r.cancelable,r.view,r.detail,r.screenX,r.screenY,r.clientX,r.clientY,r.ctrlKey,r.altKey,r.shiftKey,r.metaKey,r.button,document.body.parentNode)):document.createEventObject&&(i=document.createEventObject(),o.forEach(r,function(e,t){i[t]=e},this),i.button={0:1,1:4,2:2}[i.button]||i.button),i},getMouseButton:function(e){var t,o="0,1,3,5,7",n="2,6",i="4";return document.implementation.hasFeature("MouseEvents","2.0")?e.button:(t=e.button+"",~o.indexOf(t)?0:~n.indexOf(t)?2:~i.indexOf(t)?1:void 0)}};t.exports=s}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,t,o){(function(o){"use strict";function n(e){return e.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}var i,r=e("./domevent"),s=e("./collection"),l=o.tui.util,a="_pos",c=/^auto$|^$|%/;i={appendHTMLElement:function(e,t,o){var n;return o=o||"",n=document.createElement(e),n.className=o,t?t.appendChild(n):document.body.appendChild(n),n},remove:function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},get:function(e){return document.getElementById(e)},_matcher:function(e,t){var o=/^\./,n=/^#/;return o.test(t)?i.hasClass(e,t.replace(".","")):n.test(t)?e.id===t.replace("#",""):e.nodeName.toLowerCase()===t.toLowerCase()},find:function(e,t,o){function n(e,t){for(var l,u=e.childNodes,d=0,f=u.length;d0&&(n(l,t),s))break}var r=[],s=!1,a=l.isUndefined(o)||o===!1,c=l.isFunction(o);return l.isString(t)&&(t=i.get(t)),t=t||window.document.body,n(t,e),a?r[0]||null:r},closest:function(e,t){var o=e.parentNode;if(i._matcher(e,t))return e;for(;o&&o!==window.document.body;){if(i._matcher(o,t))return o;o=o.parentNode}},text:function(e){var t="",o=0,n=e.nodeType;if(n){if(1===n||9===n||11===n){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)t+=i.text(e)}else if(3===n||4===n)return e.nodeValue}else for(;e[o];o+=1)t+=i.text(e[o]);return t},setData:function(e,t,o){return"dataset"in e?void(e.dataset[t]=o):void e.setAttribute("data-"+t,o)},getData:function(e,t){return"dataset"in e?e.dataset[t]:e.getAttribute("data-"+t)},hasClass:function(e,t){var o;return l.isUndefined(e.classList)?(o=i.getClass(e),o.length>0&&new RegExp("(^|\\s)"+t+"(\\s|$)").test(o)):e.classList.contains(t)},addClass:function(e,t){var o;l.isUndefined(e.classList)?i.hasClass(e,t)||(o=i.getClass(e),i.setClass(e,(o?o+" ":"")+t)):l.forEachArray(t.split(" "),function(t){e.classList.add(t)})},setClass:function(e,t){l.isUndefined(e.className.baseVal)?e.className=t:e.className.baseVal=t},removeClass:function(e,t){var o="";l.isUndefined(e.classList)?(o=(" "+i.getClass(e)+" ").replace(" "+t+" "," "),i.setClass(e,n(o))):e.classList.remove(t)},getClass:function(e){return e&&e.className?l.isUndefined(e.className.baseVal)?e.className:e.className.baseVal:""},getStyle:function(e,t){var o,n=e.style[t]||e.currentStyle&&e.currentStyle[t];return n&&"auto"!==n||!document.defaultView||(o=document.defaultView.getComputedStyle(e,null),n=o?o[t]:null),"auto"===n?null:n},getComputedStyle:function(e){var t=document.defaultView;return t&&t.getComputedStyle?document.defaultView.getComputedStyle(e):{getPropertyValue:function(t){var o=/(\-([a-z]){1})/g;return"float"===t&&(t="styleFloat"),o.test(t)&&(t=t.replace(o,function(){return arguments[2].toUpperCase()})),e.currentStyle[t]?e.currentStyle[t]:null}}},setPosition:function(e,t,o){t=l.isUndefined(t)?0:t,o=l.isUndefined(o)?0:o,e[a]=[t,o],e.style.left=t+"px",e.style.top=o+"px"},getPosition:function(e,t){var o,n,i;return t&&(e[a]=null),e[a]?e[a]:(o=0,n=0,(c.test(e.style.left)||c.test(e.style.top))&&"getBoundingClientRect"in e?(i=e.getBoundingClientRect(),o=i.left,n=i.top):(o=parseFloat(e.style.left||0),n=parseFloat(e.style.top||0)),[o,n])},getSize:function(e){var t,o=i.getStyle(e,"width"),n=i.getStyle(e,"height");return(c.test(o)||c.test(n))&&"getBoundingClientRect"in e?(t=e.getBoundingClientRect(),o=t.width,n=t.height):(o=parseFloat(o||0),n=parseFloat(n||0)),[o,n]},testProp:function(e){for(var t=document.documentElement.style,o=0,n=e.length;o50?"white":"black",l.setStrokeColor(i,n),o||this.fire("_selectColor",{color:a.rgbToHEX.apply(null,this.getRGB())})},n.prototype.moveSaturationAndValue=function(e,t,o){var n,i,r,s;e=e||0,t=t||0,n=Math.abs(f[0]),i=f[1],r=e*i/100-n,s=i-t*i/100-n,this._moveColorSliderHandle(r,s,o)},n.prototype._moveColorSliderByPosition=function(e,t){var o=f[0];this._moveColorSliderHandle(e+o,t+o)},n.prototype.getSaturationAndValue=function(){var e,t,o=Math.abs(f[0]),n=o+f[1],i=l.getTranslateXY(this.sliderHandleElement);return e=(i[1]+o)/n*100,t=100-(i[0]+o)/n*100,[e,t]},n.prototype._moveHueHandle=function(e,t){var o,n,i=this.huebarHandleElement,r=this.baseColorElement;e=Math.max(p[0],e),e=Math.min(p[1],e),l.setTranslateY(i,e),o=a.hsvToRGB(this.getHue(),100,100),n=a.rgbToHEX.apply(null,o),l.setGradientColorStop(r,n),t||this.fire("_selectColor",{color:a.rgbToHEX.apply(null,this.getRGB())})},n.prototype.moveHue=function(e,t){var o,n,i=0;o=Math.abs(p[0]),n=o+p[1],e=e||0,i=n*e/h-o,this._moveHueHandle(i,t)},n.prototype._moveHueByPosition=function(e){var t=p[0];this._moveHueHandle(e+t)},n.prototype.getHue=function(){var e,t,o=this.huebarHandleElement,n=l.getTranslateXY(o);return e=Math.abs(p[0]),t=e+p[1],(n[0]+e)*h/t},n.prototype.getHSV=function(){var e=this.getSaturationAndValue(),t=this.getHue();return[t].concat(e)},n.prototype.getRGB=function(){return a.hsvToRGB.apply(null,this.getHSV())},n.prototype._prepareColorSliderForMouseEvent=function(e){var t,o=this.options,n=r.closest(e.target,"."+o.cssPrefix+"slider-part");return t=this._dragDataCache={isColorSlider:r.hasClass(n,o.cssPrefix+"slider-left"),parentElement:n}},n.prototype._onClick=function(e){var t=this._prepareColorSliderForMouseEvent(e),o=s.getMousePosition(e.originEvent,t.parentElement);t.isColorSlider?this._moveColorSliderByPosition(o[0],o[1]):this._moveHueByPosition(o[1]),this._dragDataCache=null},n.prototype._onDragStart=function(e){this._prepareColorSliderForMouseEvent(e)},n.prototype._onDrag=function(e){var t=this._dragDataCache,o=s.getMousePosition(e.originEvent,t.parentElement);t.isColorSlider?this._moveColorSliderByPosition(o[0],o[1]):this._moveHueByPosition(o[1])},n.prototype._onDragEnd=function(){this._dragDataCache=null},i.CustomEvents.mixin(n),t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../template/slider":14,"./colorutil":2,"./core/domevent":4,"./core/domutil":5,"./core/drag":6,"./core/view":7,"./svgvml":12}],12:[function(e,t,o){(function(e){"use strict";var o=e.tui.util,n=/[\.\-0-9]+/g,i=-6,r={isOldBrowser:function(){var e=r._isOldBrowser;return o.isExisty(e)||(r._isOldBrowser=e=o.browser.msie&&o.browser.version<9),e},getTranslateXY:function(e){var t;return r.isOldBrowser()?(t=e.style,[parseFloat(t.top),parseFloat(t.left)]):(t=e.getAttribute("transform"))?(t=t.match(n),[parseFloat(t[1]),parseFloat(t[0])]):[0,0]},setTranslateXY:function(e,t,o){r.isOldBrowser()?(e.style.left=t+"px",e.style.top=o+"px"):e.setAttribute("transform","translate("+t+","+o+")")},setTranslateY:function(e,t){r.isOldBrowser()?e.style.top=t+"px":e.setAttribute("transform","translate("+i+","+t+")")},setStrokeColor:function(e,t){r.isOldBrowser()?e.strokecolor=t:e.setAttribute("stroke",t)},setGradientColorStop:function(e,t){r.isOldBrowser()?e.color=t:e.setAttribute("stop-color",t)}};t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],13:[function(e,t,o){"use strict";var n=['
    {{colorList}}
','
','','','{{color}}',"
"].join("\n"),i='
  • ';t.exports={layout:n,item:i}},{}],14:[function(e,t,o){(function(e){"use strict";var o=e.tui.util,n=['
    {{slider}}
    ','
    {{huebar}}
    '].join("\n"),i=['',"",'','','',"",'','','',"","",'','','',""].join("\n"),r=['
    ','','',"",'','',"",'',"
    "].join("\n"),s=['',"",'','','','','','','','',"","",'','',""].join("\n"),l=['
    ','','',"",'',"
    "].join("\n"),a=o.browser.msie&&o.browser.version<9;a&&e.document.namespaces.add("v","urn:schemas-microsoft-com:vml"),t.exports={layout:n,slider:a?r:i,huebar:a?l:s}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1]);(function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:false};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.loaded=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.p="";return __webpack_require__(0)})([function(module,exports,__webpack_require__){"use strict";var _editor=__webpack_require__(1);var _editor2=_interopRequireDefault(_editor);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i=0;i-=1){if(__nedInstance[i]===this){__nedInstance.splice(i,1)}}}},{key:"hide",value:function hide(){this.eventManager.emit("hide",this)}},{key:"show",value:function show(){this.eventManager.emit("show",this);this.getCodeMirror().refresh()}},{key:"scrollTop",value:function scrollTop(value){return this.getCurrentModeEditor().scrollTop(value)}},{key:"setUI",value:function setUI(UI){this._ui=UI}},{key:"getUI",value:function getUI(){return this._ui}},{key:"reset",value:function reset(){this.wwEditor.reset();this.mdEditor.reset()}},{key:"getRange",value:function getRange(){return this.getCurrentModeEditor().getRange()}},{key:"getTextObject",value:function getTextObject(range){return this.getCurrentModeEditor().getTextObject(range)}}],[{key:"getInstances",value:function getInstances(){return __nedInstance}},{key:"defineExtension",value:function defineExtension(name,ext){_extManager2.default.defineExtension(name,ext)}},{key:"factory",value:function factory(options){var tuiEditor=void 0;if(options.viewOnly){tuiEditor=new _viewOnly2.default(options)}else{tuiEditor=new ToastUIEditor(options);tuiEditor.addCommand(_bold2.default);tuiEditor.addCommand(_italic2.default);tuiEditor.addCommand(_blockquote2.default);tuiEditor.addCommand(_heading2.default);tuiEditor.addCommand(_hr2.default);tuiEditor.addCommand(_addLink2.default);tuiEditor.addCommand(_addImage2.default);tuiEditor.addCommand(_ul2.default);tuiEditor.addCommand(_ol2.default);tuiEditor.addCommand(_table2.default);tuiEditor.addCommand(_task2.default);tuiEditor.addCommand(_code2.default);tuiEditor.addCommand(_codeBlock2.default);tuiEditor.addCommand(_strike2.default);tuiEditor.addCommand(_bold4.default);tuiEditor.addCommand(_italic4.default);tuiEditor.addCommand(_blockquote4.default);tuiEditor.addCommand(_ul4.default);tuiEditor.addCommand(_ol4.default);tuiEditor.addCommand(_addImage4.default);tuiEditor.addCommand(_addLink4.default);tuiEditor.addCommand(_hr4.default);tuiEditor.addCommand(_heading4.default);tuiEditor.addCommand(_increaseDepth2.default);tuiEditor.addCommand(_decreaseDepth2.default);tuiEditor.addCommand(_task4.default);tuiEditor.addCommand(_table4.default);tuiEditor.addCommand(_tableAddRow2.default);tuiEditor.addCommand(_tableAddCol2.default);tuiEditor.addCommand(_tableRemoveRow2.default);tuiEditor.addCommand(_tableRemoveCol2.default);tuiEditor.addCommand(_tableAlignCol2.default);tuiEditor.addCommand(_tableRemove2.default);tuiEditor.addCommand(_code4.default);tuiEditor.addCommand(_codeBlock4.default);tuiEditor.addCommand(_strike4.default)}return tuiEditor}}]);return ToastUIEditor}();ToastUIEditor.i18n=_i18n2.default;ToastUIEditor.markdownItRenderer=_convertor2.default.getMarkdownHighlightRenderer();module.exports=ToastUIEditor},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i");if(initialValue){cmTextarea.text(initialValue);this._emitMarkdownEditorContentChangedEvent(initialValue)}this.$editorContainerEl.append(cmTextarea);this.cm=CodeMirror.fromTextArea(cmTextarea[0],{lineWrapping:true,mode:"gfm",theme:"default",dragDrop:true,allowDropFileTypes:["image"],extraKeys:{Enter:"newlineAndIndentContinue",Tab:"subListIndentTab","Shift-Tab":"indentLess","Alt-Up":"replaceLineTextToUpper","Alt-Down":"replaceLineTextToLower"},indentUnit:4});this._initEvent()}},{key:"_initEvent",value:function _initEvent(){var _this=this;this.cm.getWrapperElement().addEventListener("click",function(){_this.eventManager.emit("click",{source:"markdown"})});this.cm.on("beforeChange",function(cm,ev){if(ev.origin==="paste"){_this.eventManager.emit("pasteBefore",{source:"markdown",data:ev})}});this.cm.on("change",function(cm,cmEvent){_this._emitMarkdownEditorContentChangedEvent();_this._emitMarkdownEditorChangeEvent(cmEvent)});this.cm.on("focus",function(){_this.eventManager.emit("focus",{source:"markdown"});_this.getEditor().refresh()});this.cm.on("blur",function(){_this.eventManager.emit("blur",{source:"markdown"})});this.cm.on("scroll",function(cm,eventData){_this.eventManager.emit("scroll",{source:"markdown",data:eventData})});this.cm.on("keydown",function(cm,keyboardEvent){_this.eventManager.emit("keydown",{source:"markdown",data:keyboardEvent});_this.eventManager.emit("keyMap",{source:"markdown",keyMap:keyMapper.convert(keyboardEvent),data:keyboardEvent})});this.cm.on("keyup",function(cm,keyboardEvent){_this.eventManager.emit("keyup",{source:"markdown",data:keyboardEvent})});this.cm.on("copy",function(cm,ev){_this.eventManager.emit("copy",{source:"markdown",data:ev})});this.cm.on("cut",function(cm,ev){_this.eventManager.emit("cut",{source:"markdown",data:ev})});this.cm.on("paste",function(cm,clipboardEvent){_this.eventManager.emit("paste",{source:"markdown",data:clipboardEvent})});this.cm.on("drop",function(cm,eventData){eventData.preventDefault();_this.eventManager.emit("drop",{source:"markdown",data:eventData})});this.cm.on("cursorActivity",function(){var token=_this.cm.getTokenAt(_this.cm.getCursor());var base=token.state.base;var overlay=token.state.overlay;var state={bold:!!base.strong,italic:!!base.em,code:!!overlay.code,codeBlock:!!overlay.codeBlock,quote:!!base.quote,list:!!base.list,task:!!base.task,source:"markdown"};if(!_this._latestState||_this._isStateChanged(_this._latestState,state)){_this.eventManager.emit("stateChange",state);_this._latestState=state}})}},{key:"getCurrentRange",value:function getCurrentRange(){var from=this.cm.getCursor("from"),to=this.cm.getCursor("to");return{from:from,to:to,collapsed:from===to}}},{key:"focus",value:function focus(){this.cm.focus()}},{key:"blur",value:function blur(){this.cm.getInputField().blur()}},{key:"remove",value:function remove(){this.cm.toTextArea()}},{key:"setValue",value:function setValue(markdown){this.getEditor().setValue(markdown);this._emitMarkdownEditorContentChangedEvent();this.moveCursorToEnd();this.getEditor().refresh()}},{key:"getValue",value:function getValue(){return this.cm.getValue("\n")}},{key:"getEditor",value:function getEditor(){return this.cm}},{key:"reset",value:function reset(){this.setValue("")}},{key:"_emitMarkdownEditorContentChangedEvent",value:function _emitMarkdownEditorContentChangedEvent(){this.eventManager.emit("contentChangedFromMarkdown",this)}},{key:"_cloneCMEventObject",value:function _cloneCMEventObject(e){return{from:{line:e.from.line,ch:e.from.ch},to:{line:e.to.line,ch:e.to.ch}}}},{key:"_emitMarkdownEditorChangeEvent",value:function _emitMarkdownEditorChangeEvent(e){if(e.origin!=="setValue"){var eventObj={source:"markdown"};this.eventManager.emit("changeFromMarkdown",eventObj);this.eventManager.emit("change",eventObj)}}},{key:"getCaretPosition",value:function getCaretPosition(){return this.cm.cursorCoords()}},{key:"addWidget",value:function addWidget(selection,node,style,offset){if(offset){selection.ch+=offset}this.cm.addWidget(selection.end,node,true,style)}},{key:"replaceSelection",value:function replaceSelection(content,selection){if(selection){this.cm.setSelection(selection.from,selection.to)}this.cm.replaceSelection(content);this.focus()}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){var cursor=this.cm.getCursor(),selection={from:{line:cursor.line,ch:cursor.ch+offset},to:{line:cursor.line,ch:cursor.ch+offset+overwriteLength}};this.replaceSelection(content,selection)}},{key:"setHeight",value:function setHeight(height){this.$editorContainerEl.height(height);if(height==="auto"){this.$editorContainerEl.find(".CodeMirror").height("auto")}}},{key:"moveCursorToEnd",value:function moveCursorToEnd(){var doc=this.getEditor().getDoc(),lastLine=doc.lastLine();doc.setCursor(lastLine,doc.getLine(lastLine).length)}},{key:"moveCursorToStart",value:function moveCursorToStart(){var doc=this.getEditor().getDoc(),firstLine=doc.firstLine();doc.setCursor(firstLine,0)}},{key:"scrollTop",value:function scrollTop(value){if(value){this.cm.scrollTo(0,value)}return this.cm.getScrollInfo().top}},{key:"getRange",value:function getRange(){var start=this.getEditor().getCursor("from");var end=this.getEditor().getCursor("to");return{start:{line:start.line,ch:start.ch},end:{line:end.line,ch:end.ch}}}},{key:"getTextObject",value:function getTextObject(range){return new _mdTextObject2.default(this,range)}},{key:"_isStateChanged",value:function _isStateChanged(previousState,currentState){var result=false;tui.util.forEach(currentState,function(currentStateTypeValue,stateType){result=previousState[stateType]!==currentStateTypeValue;return!result});return result}}]);return MarkdownEditor}();module.exports=MarkdownEditor},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i","?","AT","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","","","CONTEXT_MENU","","SLEEP","NUMPAD0","NUMPAD1","NUMPAD2","NUMPAD3","NUMPAD4","NUMPAD5","NUMPAD6","NUMPAD7","NUMPAD8","NUMPAD9","MULTIPLY","ADD","SEPARATOR","SUBTRACT","DECIMAL","DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","","","","","","","","","NUM_LOCK","SCROLL_LOCK","WIN_OEM_FJ_JISHO","WIN_OEM_FJ_MASSHOU","WIN_OEM_FJ_TOUROKU","WIN_OEM_FJ_LOYA","WIN_OEM_FJ_ROYA","","","","","","","","","","@","!",'"',"#","$","%","&","_","(",")","*","+","|","-","{","}","~","","","","","VOLUME_MUTE","VOLUME_DOWN","VOLUME_UP","","",";","=",",","-",".","/","`","","","","","","","","","","","","","","","","","","","","","","","","","","","[","\\","]","'","","META","ALTGR","","WIN_ICO_HELP","WIN_ICO_00","","WIN_ICO_CLEAR","","","WIN_OEM_RESET","WIN_OEM_JUMP","WIN_OEM_PA1","WIN_OEM_PA2","WIN_OEM_PA3","WIN_OEM_WSCTRL","WIN_OEM_CUSEL","WIN_OEM_ATTN","WIN_OEM_FINISH","WIN_OEM_COPY","WIN_OEM_AUTO","WIN_OEM_ENLW","WIN_OEM_BACKTAB","ATTN","CRSEL","EXSEL","EREOF","PLAY","ZOOM","","PA1","WIN_OEM_CLEAR",""];var sharedInstance=void 0;var KeyMapper=function(){function KeyMapper(options){_classCallCheck(this,KeyMapper);this._setSplitter(options)}_createClass(KeyMapper,[{key:"_setSplitter",value:function _setSplitter(options){var splitter=options?options.splitter:"+";this._splitter=splitter}},{key:"convert",value:function convert(event){var keyMap=[];if(event.shiftKey){keyMap.push("SHIFT")}if(event.ctrlKey){keyMap.push("CTRL")}if(event.metaKey){keyMap.push("META")}if(event.altKey){keyMap.push("ALT")}var keyChar=this._getKeyCodeChar(event.keyCode);if(keyChar){keyMap.push(keyChar)}return keyMap.join(this._splitter)}},{key:"_getKeyCodeChar",value:function _getKeyCodeChar(keyCode){var keyCodeCharacter=KEYBOARD_MAP[keyCode];return keyCodeCharacter}}],[{key:"getSharedInstance",value:function getSharedInstance(){if(!sharedInstance){sharedInstance=new KeyMapper}return sharedInstance}}]);return KeyMapper}();module.exports=KeyMapper},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i\n/g,"
    "))}});this.eventManager.listen("previewNeedsRefresh",function(value){_this.refresh(value||latestMarkdownValue)});this.$el.on("scroll",function(event){_this.eventManager.emit("scroll",{source:"preview",data:event})})}},{key:"_initContentSection",value:function _initContentSection(){this.$previewContent=$('
    ');this.$el.append(this.$previewContent)}},{key:"refresh",value:function refresh(markdown){this.render(this.converter.toHTMLWithCodeHightlight(markdown))}},{key:"render",value:function render(html){var finalHtml=html;var processedDataByHook=this.eventManager.emit("previewBeforeHook",html);if(processedDataByHook){finalHtml=processedDataByHook[0]}this.$previewContent.empty();this.$previewContent.html(finalHtml);this.eventManager.emit("previewRenderAfter",this)}},{key:"setHeight",value:function setHeight(height){this.$el.height(height)}},{key:"isVisible",value:function isVisible(){return this.$el.css("display")!=="none"}}]);return Preview}();module.exports=Preview},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i(
    |
    |
    |
    )<\/\1>/g,FIND_UNNECESSARY_BR=/(?:
    |
    |
    |
    )<\/(.+?)>/g,FIND_BLOCK_TAGNAME_RX=/\b(H[\d]|LI|P|BLOCKQUOTE|TD|PRE)\b/;var EDITOR_CONTENT_CSS_CLASSNAME="tui-editor-contents";var canObserveMutations=typeof MutationObserver!=="undefined";var WysiwygEditor=function(){function WysiwygEditor($el,eventManager){var _this=this;_classCallCheck(this,WysiwygEditor);this.eventManager=eventManager;this.$editorContainerEl=$el;this._height=0;this._silentChange=false;this._keyEventHandlers={};this._managers={};this._initEvent();this._initDefaultKeyEventHandler();this.postProcessForChange=util.debounce(function(){return _this._postProcessForChange()},0)}_createClass(WysiwygEditor,[{key:"init",value:function init(){var $editorBody=$("
    ");this.$editorContainerEl.append($editorBody);this.editor=new _squireExt2.default($editorBody[0],{blockTag:"DIV",leafNodeNames:{HR:false}});this._clipboardManager=new _wwClipboardManager2.default(this);this._initSquireEvent();this._clipboardManager.init();this.get$Body().addClass(EDITOR_CONTENT_CSS_CLASSNAME);this.$editorContainerEl.css("position","relative")}},{key:"_preprocessForInlineElement",value:function _preprocessForInlineElement(html){return html.replace(/
    ( *)
    $1B|>STRONG|^B$|^STRONG$)/.test(data.path),italic:/(>I|>EM|^I$|^EM$)/.test(data.path),code:/CODE/.test(data.path),codeBlock:/PRE/.test(data.path),quote:/BLOCKQUOTE/.test(data.path),list:/LI(?!.task-list-item)/.test(self._getLastLiString(data.path)),task:/LI.task-list-item/.test(self._getLastLiString(data.path)),source:"wysiwyg"};self.eventManager.emit("stateChange",state)})}},{key:"_getLastLiString",value:function _getLastLiString(path){var foundedListItem=/LI[^UO]*$/.exec(path);var result=void 0;if(foundedListItem){result=foundedListItem[0]}else{result=""}return result}},{key:"_onKeyDown",value:function _onKeyDown(keyboardEvent){var keyMap=keyMapper.convert(keyboardEvent);if(keyboardEvent.keyCode){this.eventManager.emit("keyMap",{source:"wysiwyg",keyMap:keyMap,data:keyboardEvent});if(!keyboardEvent.defaultPrevented){this.eventManager.emit("wysiwygKeyEvent",{keyMap:keyMap,data:keyboardEvent})}}}},{key:"_initDefaultKeyEventHandler",value:function _initDefaultKeyEventHandler(){var self=this;this.addKeyEventHandler("ENTER",function(ev,range){if(self._isInOrphanText(range)){self.defer(function(){self._wrapDefaultBlockToOrphanTexts();self.breakToNewDefaultBlock(range,"before")})}self.defer(function(){self._scrollToRangeIfNeed()})});this.addKeyEventHandler("TAB",function(ev){var sq=self.getEditor();var range=sq.getSelection();var isAbleToInput4Spaces=range.collapsed&&self._isCursorNotInRestrictedAreaOfTabAction(sq);var isTextSelection=!range.collapsed&&_domUtils2.default.isTextNode(range.commonAncestorContainer);ev.preventDefault();if(isAbleToInput4Spaces||isTextSelection){sq.insertPlainText("    ");return false}return true})}},{key:"_wrapDefaultBlockToOrphanTexts",value:function _wrapDefaultBlockToOrphanTexts(){var textNodes=this.get$Body().contents().filter(this.findTextNodeFilter);textNodes.each(function(i,node){if(node.nextSibling&&node.nextSibling.tagName==="BR"){$(node.nextSibling).remove()}$(node).wrap("
    ")})}},{key:"_scrollToRangeIfNeed",value:function _scrollToRangeIfNeed(){var range=this.getEditor().getSelection().cloneRange();var cursorTop=this.getEditor().getCursorPosition(range).top-this.$editorContainerEl.offset().top;if(cursorTop>=this.get$Body().height()){range.endContainer.scrollIntoView()}}},{key:"_isInOrphanText",value:function _isInOrphanText(range){return range.startContainer.nodeType===Node.TEXT_NODE&&range.startContainer.parentNode===this.get$Body()[0]}},{key:"_wrapDefaultBlockTo",value:function _wrapDefaultBlockTo(range){this.saveSelection(range);this._joinSplitedTextNodes();this.restoreSavedSelection();range=this.getEditor().getSelection().cloneRange();var textElem=range.startContainer;var cursorOffset=range.startOffset;var block=this.getEditor().createDefaultBlock([range.startContainer]);var insertTargetNode=_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset);if(insertTargetNode){range.setStartBefore(insertTargetNode)}else{range.selectNodeContents(range.startContainer)}range.collapse(true);range.insertNode(block);range.setStart(textElem,cursorOffset);range.collapse(true);this.getEditor().setSelection(range)}},{key:"findTextNodeFilter",value:function findTextNodeFilter(){return this.nodeType===Node.TEXT_NODE}},{key:"_joinSplitedTextNodes",value:function _joinSplitedTextNodes(){var prevNode=void 0,lastGroup=void 0;var nodesToRemove=[];var textNodes=this.get$Body().contents().filter(this.findTextNodeFilter);textNodes.each(function(i,node){if(prevNode===node.previousSibling){lastGroup.nodeValue+=node.nodeValue;nodesToRemove.push(node)}else{lastGroup=node}prevNode=node});$(nodesToRemove).remove()}},{key:"saveSelection",value:function saveSelection(range){var sq=this.getEditor();if(!range){range=sq.getSelection().cloneRange()}this.getEditor()._saveRangeToBookmark(range)}},{key:"restoreSavedSelection",value:function restoreSavedSelection(){var sq=this.getEditor();sq.setSelection(sq._getRangeAndRemoveBookmark())}},{key:"reset",value:function reset(){this.setValue("")}},{key:"changeBlockFormatTo",value:function changeBlockFormatTo(targetTagName){this.getEditor().changeBlockFormatTo(targetTagName);this.eventManager.emit("wysiwygRangeChangeAfter",this)}},{key:"makeEmptyBlockCurrentSelection",value:function makeEmptyBlockCurrentSelection(){var self=this;this.getEditor().modifyBlocks(function(frag){if(!frag.textContent){frag=self.getEditor().createDefaultBlock()}return frag})}},{key:"focus",value:function focus(){this.editor.focus()}},{key:"blur",value:function blur(){this.editor.blur()}},{key:"remove",value:function remove(){this.getEditor().destroy();this.editor=null;this.$body=null}},{key:"setHeight",value:function setHeight(height){this._height=height;if(height==="auto"){this.get$Body().css("overflow","visible");this.get$Body().css("height","auto")}else{this.get$Body().css("overflow","auto");this.get$Body().css("height","100%");this.$editorContainerEl.height(height)}}},{key:"setValue",value:function setValue(html){html=this.eventManager.emitReduce("wysiwygSetValueBefore",html);this.editor.setHTML(html);this.eventManager.emit("wysiwygSetValueAfter",this);this.eventManager.emit("contentChangedFromWysiwyg",this);this.moveCursorToEnd();this.getEditor().preserveLastLine();this.getEditor().removeLastUndoStack();this.getEditor().saveUndoState()}},{key:"getValue",value:function getValue(){this._prepareGetHTML();var html=this.editor.getHTML();html=html.replace(FIND_EMPTY_LINE,function(match,tag){var result=void 0;if(tag==="li"){result=match}else if(tag==="td"||tag==="th"){result="<"+tag+">"}else{result="
    "}return result});html=html.replace(FIND_UNNECESSARY_BR,"");html=html.replace(/
    /g,"");html=html.replace(/<\/div>/g,"
    ");html=this.eventManager.emitReduce("wysiwygProcessHTMLText",html);return html}},{key:"_prepareGetHTML",value:function _prepareGetHTML(){var self=this;self.get$Body().attr("lastGetValue",Date.now());self._joinSplitedTextNodes();self.getEditor().modifyDocument(function(){self.eventManager.emit("wysiwygGetValueBefore",self)})}},{key:"_postProcessForChange",value:function _postProcessForChange(){var self=this;self.getEditor().modifyDocument(function(){self.eventManager.emit("wysiwygRangeChangeAfter",self)})}},{key:"readySilentChange",value:function readySilentChange(){if(canObserveMutations&&!this.getEditor().isIgnoreChange()){this._silentChange=true}}},{key:"getEditor",value:function getEditor(){return this.editor}},{key:"replaceSelection",value:function replaceSelection(content,range){this.getEditor().replaceSelection(content,range)}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){this.getEditor().replaceRelativeOffset(content,offset,overwriteLength)}},{key:"addWidget",value:function addWidget(range,node,style,offset){var pos=this.getEditor().getSelectionPosition(range,style,offset);var editorContainerPos=this.$editorContainerEl.offset();this.$editorContainerEl.append(node);$(node).css({position:"absolute",top:pos.top-editorContainerPos.top,left:pos.left-editorContainerPos.left})}},{key:"get$Body",value:function get$Body(){return this.getEditor().get$Body()}},{key:"hasFormatWithRx",value:function hasFormatWithRx(rx){return this.getEditor().getPath().match(rx)}},{key:"breakToNewDefaultBlock",value:function breakToNewDefaultBlock(range,where){var div=this.editor.createDefaultBlock();var currentNode=_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset)||_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset-1);var appendBefore=_domUtils2.default.getParentUntil(currentNode,this.get$Body()[0]);if(where==="before"){$(appendBefore).before(div)}else{$(appendBefore).after(div)}range.setStart(div,0);range.collapse(true);this.editor.setSelection(range)}},{key:"replaceContentText",value:function replaceContentText(container,from,to){var before=$(container).html();$(container).html(before.replace(from,to))}},{key:"unwrapBlockTag",value:function unwrapBlockTag(condition){if(!condition){condition=function condition(tagName){return FIND_BLOCK_TAGNAME_RX.test(tagName)}}this.getEditor().changeBlockFormat(condition);this.eventManager.emit("wysiwygRangeChangeAfter",this)}},{key:"addManager",value:function addManager(name,Manager){if(!Manager){Manager=name;name=null}var instance=new Manager(this);this._managers[name||instance.name]=instance}},{key:"getManager",value:function getManager(name){return this._managers[name]}},{key:"moveCursorToEnd",value:function moveCursorToEnd(){this.getEditor().moveCursorToEnd();this.getEditor().scrollTop(this.get$Body().height());this._correctRangeAfterMoveCursor("end")}},{key:"moveCursorToStart",value:function moveCursorToStart(){this.getEditor().moveCursorToStart();this.getEditor().scrollTop(0)}},{key:"scrollTop",value:function scrollTop(value){return this.getEditor().scrollTop(value)}},{key:"_correctRangeAfterMoveCursor",value:function _correctRangeAfterMoveCursor(direction){var range=this.getEditor().getSelection().cloneRange();var cursorContainer=this.get$Body()[0];if(direction==="start"){while(cursorContainer.firstChild){cursorContainer=cursorContainer.firstChild}}else{while(cursorContainer.lastChild){cursorContainer=cursorContainer.lastChild}}if(cursorContainer.tagName==="BR"){range.setStartBefore(cursorContainer)}else{range.setStartAfter(cursorContainer)}range.collapse(true);this.getEditor().setSelection(range)}},{key:"getRange",value:function getRange(){return this.getEditor().getSelection().cloneRange()}},{key:"getTextObject",value:function getTextObject(range){return new _wwTextObject2.default(this,range)}},{key:"defer",value:function defer(callback,delayOffset){var self=this;var delay=delayOffset?delayOffset:0;setTimeout(function(){if(self.isEditorValid()){callback(self)}},delay)}},{key:"isEditorValid",value:function isEditorValid(){return this.getEditor()&&$.contains(this.$editorContainerEl[0].ownerDocument,this.$editorContainerEl[0])}},{key:"_isCursorNotInRestrictedAreaOfTabAction",value:function _isCursorNotInRestrictedAreaOfTabAction(editor){return!editor.hasFormat("li")&&!editor.hasFormat("blockquote")&&!editor.hasFormat("table")}}],[{key:"factory",value:function factory($el,eventManager){var wwe=new WysiwygEditor($el,eventManager);wwe.init();wwe.addManager(_wwListManager2.default);wwe.addManager(_wwTaskManager2.default);wwe.addManager(_wwTableSelectionManager2.default);wwe.addManager(_wwTableManager2.default);wwe.addManager(_wwHrManager2.default);wwe.addManager(_wwPManager2.default);wwe.addManager(_wwHeadingManager2.default);wwe.addManager(_wwCodeBlockManager2.default);return wwe}}]);return WysiwygEditor}();module.exports=WysiwygEditor},function(module,exports){"use strict";var FIND_ZWB=/\u200B/g;var util=tui.util;var isTextNode=function isTextNode(node){return node&&node.nodeType===Node.TEXT_NODE};var isElemNode=function isElemNode(node){return node&&node.nodeType===Node.ELEMENT_NODE};var getNodeName=function getNodeName(node){if(isElemNode(node)){return node.tagName}return"TEXT"};var getTextLength=function getTextLength(node){var len=void 0;if(isElemNode(node)){len=node.textContent.replace(FIND_ZWB,"").length}else if(isTextNode(node)){len=node.nodeValue.replace(FIND_ZWB,"").length}return len};var getOffsetLength=function getOffsetLength(node){var len=void 0;if(isElemNode(node)){len=node.childNodes.length}else if(isTextNode(node)){len=node.nodeValue.replace(FIND_ZWB,"").length}return len};var getNodeOffsetOfParent=function getNodeOffsetOfParent(node){var childNodesOfParent=node.parentNode.childNodes;var i=void 0,t=void 0,found=void 0;for(i=0,t=childNodesOfParent.length;i=0){currentNode=node.childNodes[index]}return currentNode};var getNodeWithDirectionUntil=function getNodeWithDirectionUntil(direction,node,untilNodeName){var directionKey=direction+"Sibling";var nodeName=void 0,foundedNode=void 0;while(node&&!node[directionKey]){nodeName=getNodeName(node.parentNode);if(nodeName===untilNodeName||nodeName==="BODY"){break}node=node.parentNode}if(node[directionKey]){foundedNode=node[directionKey]}return foundedNode};var getPrevOffsetNodeUntil=function getPrevOffsetNodeUntil(node,index,untilNodeName){var prevNode=void 0;if(index>0){prevNode=getChildNodeByOffset(node,index-1)}else{prevNode=getNodeWithDirectionUntil("previous",node,untilNodeName)}return prevNode};var getParentUntilBy=function getParentUntilBy(node,condition){var foundedNode=void 0;while(node.parentNode&&!condition(node.parentNode)){node=node.parentNode}if(condition(node.parentNode)){foundedNode=node}return foundedNode};var getParentUntil=function getParentUntil(node,untilNode){var foundedNode=void 0;if(util.isString(untilNode)){foundedNode=getParentUntilBy(node,function(targetNode){return untilNode===getNodeName(targetNode)})}else{foundedNode=getParentUntilBy(node,function(targetNode){return untilNode===targetNode})}return foundedNode};var getNodeWithDirectionUnderParent=function getNodeWithDirectionUnderParent(direction,node,underNode){var directionKey=direction+"Sibling";var foundedNode=void 0;node=getParentUntil(node,underNode);if(node&&node[directionKey]){foundedNode=node[directionKey]}return foundedNode};var getTopPrevNodeUnder=function getTopPrevNodeUnder(node,underNode){return getNodeWithDirectionUnderParent("previous",node,underNode)};var getTopNextNodeUnder=function getTopNextNodeUnder(node,underNode){return getNodeWithDirectionUnderParent("next",node,underNode)};var getTopBlockNode=function getTopBlockNode(node){return getParentUntil(node,"BODY")};var getPrevTextNode=function getPrevTextNode(node){node=node.previousSibling||node.parentNode;while(!isTextNode(node)&&getNodeName(node)!=="BODY"){if(node.previousSibling){node=node.previousSibling;while(node.lastChild){node=node.lastChild}}else{node=node.parentNode}}if(getNodeName(node)==="BODY"){node=null}return node};var findOffsetNode=function findOffsetNode(root,offsetList,textNodeFilter){var result=[];var text="";var walkerOffset=0;var newWalkerOffset=void 0;if(!offsetList.length){return result}var offset=offsetList.shift();var walker=document.createTreeWalker(root,4,null,false);while(walker.nextNode()){text=walker.currentNode.nodeValue||"";if(textNodeFilter){text=textNodeFilter(text)}newWalkerOffset=walkerOffset+text.length;while(newWalkerOffset>=offset){result.push({container:walker.currentNode,offsetInContainer:offset-walkerOffset,offset:offset});if(!offsetList.length){return result}offset=offsetList.shift()}walkerOffset=newWalkerOffset}do{result.push({container:walker.currentNode,offsetInContainer:text.length,offset:offset});offset=offsetList.shift()}while(!util.isUndefined(offset));return result};var getNodeInfo=function getNodeInfo(node){var path={};path.tagName=node.nodeName;if(node.id){path.id=node.id}var className=node.className.trim();if(className){path.className=className}return path};var getPath=function getPath(node,root){var paths=[];while(node&&node!==root){if(isElemNode(node)){paths.unshift(getNodeInfo(node))}node=node.parentNode}return paths};var getTableCellByDirection=function getTableCellByDirection(node,direction){var isForward=true;var targetElement=null;if(tui.util.isUndefined(direction)||direction!=="next"&&direction!=="previous"){return null}else if(direction==="previous"){isForward=false}if(isForward){targetElement=node.nextElementSibling}else{targetElement=node.previousElementSibling}return targetElement};var getSiblingRowCellByDirection=function getSiblingRowCellByDirection(node,direction,needEdgeCell){var isForward=true;var tableCellElement=null;var $node=void 0,index=void 0,$targetRowElement=void 0,$currentContainer=void 0,$siblingContainer=void 0,isSiblingContainerExists=void 0;if(tui.util.isUndefined(direction)||direction!=="next"&&direction!=="previous"){return null}else if(direction==="previous"){isForward=false}if(node){$node=$(node);if(isForward){$targetRowElement=$node.parent().next();$currentContainer=$node.parents("thead");$siblingContainer=$currentContainer[0]&&$currentContainer.next();isSiblingContainerExists=$siblingContainer&&getNodeName($siblingContainer[0])==="TBODY";index=0}else{$targetRowElement=$node.parent().prev();$currentContainer=$node.parents("tbody");$siblingContainer=$currentContainer[0]&&$currentContainer.prev();isSiblingContainerExists=$siblingContainer&&getNodeName($siblingContainer[0])==="THEAD";index=node.parentNode.childNodes.length-1}if(tui.util.isUndefined(needEdgeCell)||!needEdgeCell){index=getNodeOffsetOfParent(node)}if($targetRowElement[0]){tableCellElement=$targetRowElement.children("td,th")[index]}else if($currentContainer[0]&&isSiblingContainerExists){tableCellElement=$siblingContainer.find("td,th")[index]}return tableCellElement}return null};module.exports={getNodeName:getNodeName,isTextNode:isTextNode,isElemNode:isElemNode,getTextLength:getTextLength,getOffsetLength:getOffsetLength,getPrevOffsetNodeUntil:getPrevOffsetNodeUntil,getNodeOffsetOfParent:getNodeOffsetOfParent,getChildNodeByOffset:getChildNodeByOffset,getTopPrevNodeUnder:getTopPrevNodeUnder,getTopNextNodeUnder:getTopNextNodeUnder,getParentUntil:getParentUntil,getTopBlockNode:getTopBlockNode,getPrevTextNode:getPrevTextNode,findOffsetNode:findOffsetNode,getPath:getPath,getNodeInfo:getNodeInfo,getTableCellByDirection:getTableCellByDirection,getSiblingRowCellByDirection:getSiblingRowCellByDirection}},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")[0]);fragment.replaceChild(divElement,node)}})}},{key:"_pasteFirstAid",value:function _pasteFirstAid(fragment){var _this=this;var blockTags="div, section, article, aside, nav, menus, p";fragment=(0,_htmlSanitizer2.default)(fragment);$(fragment).find("*").each(function(i,node){_this._removeStyles(node)});this._unwrapIfNonBlockElementHasBr(fragment);this._unwrapNestedBlocks(fragment,blockTags);this._removeUnnecessaryBlocks(fragment,blockTags);this._removeStyles(fragment);this._wrapTextNodeWithDiv(fragment);this._preElementAid(fragment);this._tableElementAid(fragment);$(fragment).children("br").remove();return fragment}},{key:"_preElementAid",value:function _preElementAid(nodes){var codeblockManager=this.wwe.getManager("codeblock");codeblockManager.splitCodeblockToEachLine(nodes)}},{key:"_unwrapIfNonBlockElementHasBr",value:function _unwrapIfNonBlockElementHasBr(fragment){var nonBlockElements=$(fragment).find("span, a, b, em, i, s");nonBlockElements.each(function(i,node){var brChildren=$(node).children("br");if(brChildren.length&&node.nodeName!=="LI"&&node.nodeName!=="UL"){brChildren.eq(0).unwrap()}})}},{key:"_unwrapNestedBlocks",value:function _unwrapNestedBlocks(fragment,blockTags){var _this2=this;var leafElements=$(fragment).find(":not(:has(*))").not("b,s,i,em,code");leafElements.each(function(i,node){var leafElement=node.nodeName==="BR"?$(node.parentNode):$(_this2);var parent=void 0;while(leafElement.parents(blockTags).length){parent=leafElement.parent(blockTags);if(parent.length){leafElement.unwrap()}else{leafElement=leafElement.parent()}}})}},{key:"_removeUnnecessaryBlocks",value:function _removeUnnecessaryBlocks(fragment,blockTags){$(fragment).find(blockTags).each(function(index,blockElement){var $blockElement=$(blockElement);var tagName=blockElement.tagName;var isDivElement=tagName==="DIV";var isInListItem=$blockElement.parent("li").length!==0;var isInBlockquote=$blockElement.parent("blockquote").length!==0;var hasBlockChildElement=$blockElement.children(blockTags).length;if(isDivElement&&(isInListItem||isInBlockquote||!hasBlockChildElement)){return}$blockElement.replaceWith($blockElement.html())})}},{key:"_removeStyles",value:function _removeStyles(node){var $node=$(node);var colorValue=void 0;if(_domUtils2.default.getNodeName($node[0])!=="SPAN"){$node.removeAttr("style")}else{if($node.attr("style")){colorValue=$node.css("color")}$node.removeAttr("style");if(colorValue){$node.css("color",colorValue)}else{$node.contents().unwrap()}}}},{key:"_prepareToPasteList",value:function _prepareToPasteList(nodes,rangeInfo,firstBlockIsTaken){var nodeName=_domUtils2.default.getNodeName(nodes[0]);var node=nodes.shift();var newFragment=this.wwe.getEditor().getDocument().createDocumentFragment();if(nodeName!=="LI"&&nodes.length&&nodes[0].tagName==="LI"){nodeName="LI";node=this._makeNodeAndAppend({tagName:nodeName},node)}if(nodeName==="OL"||nodeName==="UL"){if(!firstBlockIsTaken&&this.wwe.getEditor().hasFormat("LI")){$(newFragment).append(this._wrapCurrentFormat(node))}else{$(newFragment).append(node)}}else if(nodeName==="LI"){var listGroup=this.wwe.getEditor().getDocument().createDocumentFragment();listGroup.appendChild(node);while(nodes.length&&nodes[0].tagName==="LI"){listGroup.appendChild(nodes.shift())}if(!firstBlockIsTaken&&this.wwe.getEditor().hasFormat("LI")){$(newFragment).append(this._wrapCurrentFormat(listGroup))}else if(rangeInfo&&(rangeInfo.commonAncestorName==="UL"||rangeInfo.commonAncestorName==="OL")){$(newFragment).append(this._makeNodeAndAppend({tagName:rangeInfo.commonAncestorName},listGroup))}else{$(newFragment).append(this._makeNodeAndAppend({tagName:"UL"},listGroup))}}return newFragment}},{key:"_unwrapFragmentFirstChildForPasteAsInline",value:function _unwrapFragmentFirstChildForPasteAsInline(node){$(node).find("br").remove();return node.childNodes}},{key:"_wrapCurrentFormat",value:function _wrapCurrentFormat(nodes){var _this3=this;var currentTagName=void 0;this._eachCurrentPath(function(path){if(path.tagName!=="DIV"){if(_domUtils2.default.isElemNode(nodes)){currentTagName=nodes.tagName}else{currentTagName=nodes.firstChild.tagName}if(path.tagName!==currentTagName){nodes=_this3._makeNodeAndAppend(path,nodes)}}});return nodes}},{key:"_eachCurrentPath",value:function _eachCurrentPath(iteratee){var paths=_domUtils2.default.getPath(this.wwe.getEditor().getSelection().startContainer,this.wwe.get$Body()[0]);for(var i=paths.length-1;i>-1;i-=1){iteratee(paths[i])}}},{key:"_makeNodeAndAppend",value:function _makeNodeAndAppend(pathInfo,content){var node=$("<"+pathInfo.tagName+"/>");node.append(content);if(pathInfo.id){node.attr("id",pathInfo.id)}if(pathInfo.className){node.addClass(pathInfo.className)}return node[0]}},{key:"_tableElementAid",value:function _tableElementAid(fragment){this._completeTableIfNeed(fragment);this._updateTableIDClassName(fragment)}},{key:"_completeTableIfNeed",value:function _completeTableIfNeed(fragment){var tableManager=this.wwe.getManager("table");var wrapperTr=tableManager.wrapDanglingTableCellsIntoTrIfNeed(fragment);if(wrapperTr){$(fragment).append(wrapperTr)}var wrapperTbody=tableManager.wrapTrsIntoTbodyIfNeed(fragment);if(wrapperTbody){$(fragment).append(wrapperTbody)}var wrapperTable=tableManager.wrapTheadAndTbodyIntoTableIfNeed(fragment);if(wrapperTable){$(fragment).append(wrapperTable)}}},{key:"_updateTableIDClassName",value:function _updateTableIDClassName(fragment){var tableManager=this.wwe.getManager("table");$(fragment).find("table").each(function(index,table){$(table).removeClass(function(idx,className){return className.replace(/.*\s*(te-content-table-\d+)\s*.*/,"$1")})});$(fragment).find("table").each(function(index,table){$(table).addClass(tableManager.getTableIDClassName())})}}]);return WwPasteContentHelper}();module.exports=WwPasteContentHelper},function(module,exports){"use strict";var util=tui.util;var HTML_ATTR_LIST_RX=new RegExp("^(abbr|align|alt|axis|bgcolor|border|cellpadding|cellspacing|class|clear|"+"color|cols|colspan|compact|coords|dir|face|headers|height|hreflang|hspace|"+"ismap|lang|language|nohref|nowrap|rel|rev|rows|rowspan|rules|"+"scope|scrolling|shape|size|span|start|summary|tabindex|target|title|type|"+"valign|value|vspace|width|checked|mathvariant|encoding|id|name|"+"background|cite|href|longdesc|src|usemap|xlink:href|data-+|checked|style)","g");var SVG_ATTR_LIST_RX=new RegExp("^(accent-height|accumulate|additive|alphabetic|arabic-form|ascent|"+"baseProfile|bbox|begin|by|calcMode|cap-height|class|color|color-rendering|content|"+"cx|cy|d|dx|dy|descent|display|dur|end|fill|fill-rule|font-family|font-size|font-stretch|"+"font-style|font-variant|font-weight|from|fx|fy|g1|g2|glyph-name|gradientUnits|hanging|"+"height|horiz-adv-x|horiz-origin-x|ideographic|k|keyPoints|keySplines|keyTimes|lang|"+"marker-end|marker-mid|marker-start|markerHeight|markerUnits|markerWidth|mathematical|"+"max|min|offset|opacity|orient|origin|overline-position|overline-thickness|panose-1|"+"path|pathLength|points|preserveAspectRatio|r|refX|refY|repeatCount|repeatDur|"+"requiredExtensions|requiredFeatures|restart|rotate|rx|ry|slope|stemh|stemv|stop-color|"+"stop-opacity|strikethrough-position|strikethrough-thickness|stroke|stroke-dasharray|"+"stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|"+"stroke-width|systemLanguage|target|text-anchor|to|transform|type|u1|u2|underline-position|"+"underline-thickness|unicode|unicode-range|units-per-em|values|version|viewBox|visibility|"+"width|widths|x|x-height|x1|x2|xlink:actuate|xlink:arcrole|xlink:role|xlink:show|xlink:title|"+"xlink:type|xml:base|xml:lang|xml:space|xmlns|xmlns:xlink|y|y1|y2|zoomAndPan)","g");function htmlSanitizer(html,needHtmlText){var $html=$("
    ");$html.append(html);removeUnnecessaryTags($html);leaveOnlyWhitelistAttribute($html);return finalizeHtml($html,needHtmlText)}function removeUnnecessaryTags($html){$html.find("script, iframe, textarea, form, button, select, .Apple-converted-space").remove()}function leaveOnlyWhitelistAttribute($html){$html.find("*").each(function(index,node){var blacklist=util.toArray(node.attributes).filter(function(attr){var isHTMLAttr=attr.name.match(HTML_ATTR_LIST_RX);var isSVGAttr=attr.name.match(SVG_ATTR_LIST_RX);return!isHTMLAttr&&!isSVGAttr});util.forEachArray(blacklist,function(attr){node.attributes.removeNamedItem(attr.name)})})}function finalizeHtml($html,needHtmlText){var returnValue=void 0;if(needHtmlText){returnValue=$html[0].innerHTML}else{var frag=document.createDocumentFragment();var childNodes=tui.util.toArray($html[0].childNodes);var length=childNodes.length;for(var i=0;i");$(node).find("div").children("ul, ol").appendTo(node)}})}},{key:"_prepareInsertBlankToBetweenSameList",value:function _prepareInsertBlankToBetweenSameList(html){return html.replace(/<\/(ul|ol)>(
    |
    ){0,}<\1>/g,":BLANK_LINE:<$1>")}}]);return WwListManager}();module.exports=WwListManager},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i(<\/td>|<\/th>)/g,"$1")});this.wwe.getEditor().addEventListener("paste",function(ev){var range=_this.wwe.getEditor().getSelection();var isNotPastingIntoTextNode=!_domUtils2.default.isTextNode(range.commonAncestorContainer);if(_this.isInTable(range)&&!range.collapsed&&isNotPastingIntoTextNode){ev.preventDefault()}_this.wwe.defer(function(){_this._completeTableIfNeed()},TABLE_COMPLETION_DELAY)})}},{key:"_initKeyHandler",value:function _initKeyHandler(){var _this2=this;var selectionManager=this.wwe.getManager("tableSelection");this.wwe.addKeyEventHandler(function(ev,range,keymap){var isRangeInTable=_this2.isInTable(range);if(isRangeInTable&&!_this2._isSingleModifierKey(keymap)){_this2._recordUndoStateIfNeed(range);_this2._removeBRIfNeed(range);_this2._removeContentsAndChangeSelectionIfNeed(range,keymap,ev)}else if(!isRangeInTable&&_this2._lastCellNode){_this2._recordUndoStateAndResetCellNode(range)}if(isRangeInTable&&!_this2._isModifierKeyPushed(ev)){_this2.wwe.getEditor().modifyDocument(function(){selectionManager.removeClassAttrbuteFromAllCellsIfNeed()})}});this.wwe.addKeyEventHandler("ENTER",function(ev,range){var isNeedNext=void 0;if(_this2._isAfterTable(range)){ev.preventDefault();range.setStart(range.startContainer,range.startOffset-1);_this2.wwe.breakToNewDefaultBlock(range);isNeedNext=false}else if(_this2._isBeforeTable(range)){ev.preventDefault();_this2.wwe.breakToNewDefaultBlock(range,"before");isNeedNext=false}else if(_this2.isInTable(range)){_this2._appendBrIfTdOrThNotHaveAsLastChild(range);isNeedNext=false}return isNeedNext});this.wwe.addKeyEventHandler("BACK_SPACE",function(ev,range,keymap){return _this2._handleBackspaceAndDeleteKeyEvent(ev,range,keymap)});this.wwe.addKeyEventHandler("DELETE",function(ev,range,keymap){return _this2._handleBackspaceAndDeleteKeyEvent(ev,range,keymap)});this.wwe.addKeyEventHandler("TAB",function(){return _this2._moveCursorTo("next","cell")});this.wwe.addKeyEventHandler("SHIFT+TAB",function(ev){return _this2._moveCursorTo("previous","cell",ev)});this.wwe.addKeyEventHandler("UP",function(ev){return _this2._moveCursorTo("previous","row",ev)});this.wwe.addKeyEventHandler("DOWN",function(ev){return _this2._moveCursorTo("next","row",ev)});this._bindKeyEventForTableCopyAndCut()}},{key:"isInTable",value:function isInTable(range){var target=void 0,result=void 0;if(range.collapsed){target=range.startContainer;result=!!$(target).closest("table").length}else{target=range.commonAncestorContainer;result=!!$(target).closest("table").length||!!$(range.cloneContents()).find("table").length}return result}},{key:"_isBeforeTable",value:function _isBeforeTable(range){return _domUtils2.default.getNodeName(_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset))==="TABLE"}},{key:"_isAfterTable",value:function _isAfterTable(range){var prevElem=_domUtils2.default.getPrevOffsetNodeUntil(range.startContainer,range.startOffset);return _domUtils2.default.getNodeName(prevElem)==="TABLE"&&range.commonAncestorContainer===this.wwe.get$Body()[0]}},{key:"_handleBackspaceAndDeleteKeyEvent",value:function _handleBackspaceAndDeleteKeyEvent(ev,range,keymap){var isBackspace=keymap==="BACK_SPACE";var isTextOrElementDelete=range.commonAncestorContainer.nodeType!==3&&range.commonAncestorContainer!==this.wwe.get$Body()[0];var isNeedNext=void 0;if(range.collapsed){if(this.isInTable(range)){if(isBackspace){this._tableHandlerOnBackspace(range,ev)}else{this._tableHandlerOnDelete(range,ev)}this._insertBRIfNeed(range);this._removeContentsAndChangeSelectionIfNeed(range,keymap,ev);isNeedNext=false}else if(!isBackspace&&this._isBeforeTable(range)||isBackspace&&this._isAfterTable(range)){ev.preventDefault();var startOffset=isBackspace?range.startOffset-1:range.startOffset;this._removeTable(range,_domUtils2.default.getChildNodeByOffset(range.startContainer,startOffset));isNeedNext=false}}else if(this.isInTable(range)){if(isTextOrElementDelete){ev.preventDefault();this._removeContentsAndChangeSelectionIfNeed(range,keymap,ev);isNeedNext=false}}return isNeedNext}},{key:"_tableHandlerOnBackspace",value:function _tableHandlerOnBackspace(range,event){var prevNode=_domUtils2.default.getPrevOffsetNodeUntil(range.startContainer,range.startOffset,"TR"),prevNodeName=_domUtils2.default.getNodeName(prevNode);if(!prevNode||prevNodeName==="TD"||prevNodeName==="TH"){event.preventDefault()}else if(prevNodeName==="BR"&&prevNode.parentNode.childNodes.length!==1){event.preventDefault();$(prevNode).remove()}}},{key:"isNonTextDeleting",value:function isNonTextDeleting(range){var currentElement=range.startContainer;var nextNode=currentElement.nextSibling;var nextNodeName=_domUtils2.default.getNodeName(nextNode);var currentNodeName=_domUtils2.default.getNodeName(currentElement);var isCellDeleting=currentNodeName===nextNodeName&¤tNodeName!=="TEXT";var isEndOfText=(!nextNode||nextNodeName==="BR"&&nextNode.parentNode.lastChild===nextNode)&&_domUtils2.default.isTextNode(currentElement)&&range.startOffset===currentElement.nodeValue.length;var isLastCellOfRow=!isEndOfText&&$(currentElement).parents("tr").children().last()[0]===currentElement&&(currentNodeName==="TD"||currentNodeName==="TH");return isCellDeleting||isEndOfText||isLastCellOfRow}},{key:"_tableHandlerOnDelete",value:function _tableHandlerOnDelete(range,event){var needPreventDefault=this.isNonTextDeleting(range);if(needPreventDefault){event.preventDefault();range.startContainer.normalize()}}},{key:"_appendBrIfTdOrThNotHaveAsLastChild",value:function _appendBrIfTdOrThNotHaveAsLastChild(range){var startContainerNodeName=_domUtils2.default.getNodeName(range.startContainer);var tdOrTh=void 0;if(startContainerNodeName==="TD"||startContainerNodeName==="TH"){tdOrTh=range.startContainer}else{var paths=$(range.startContainer).parentsUntil("tr");tdOrTh=paths[paths.length-1]}if(_domUtils2.default.getNodeName(tdOrTh.lastChild)!=="BR"&&_domUtils2.default.getNodeName(tdOrTh.lastChild)!=="DIV"&&!isIE10And11){$(tdOrTh).append($("
    ")[0])}}},{key:"_unwrapBlockInTable",value:function _unwrapBlockInTable(){this.wwe.get$Body().find("td div,th div,tr>br,td>br,th>br").each(function(index,node){if(_domUtils2.default.getNodeName(node)==="BR"){var parentNodeName=_domUtils2.default.getNodeName(node.parentNode);var isInTableCell=/TD|TH/.test(parentNodeName);var isEmptyTableCell=node.parentNode.textContent.length===0;var isLastBR=node.parentNode.lastChild===node;if(parentNodeName==="TR"||isInTableCell&&!isEmptyTableCell&&isLastBR){$(node).remove()}}else{$(node).children().unwrap()}})}},{key:"_insertDefaultBlockBetweenTable",value:function _insertDefaultBlockBetweenTable(){this.wwe.get$Body().find("table").each(function(index,node){if(node.nextElementSibling&&node.nextElementSibling.nodeName==="TABLE"){$("

    ").insertAfter(node)}})}},{key:"_removeTable",value:function _removeTable(range,table){if(table.tagName==="TABLE"){this.wwe.getEditor().saveUndoState(range);this.wwe.saveSelection(range);$(table).remove();this.wwe.restoreSavedSelection()}}},{key:"_recordUndoStateIfNeed",value:function _recordUndoStateIfNeed(range){var currentCellNode=_domUtils2.default.getParentUntil(range.startContainer,"TR");if(range.collapsed&&this._lastCellNode!==currentCellNode){this.wwe.getEditor().saveUndoState(range);this._lastCellNode=currentCellNode}}},{key:"_recordUndoStateAndResetCellNode",value:function _recordUndoStateAndResetCellNode(range){this.wwe.getEditor().saveUndoState(range);this.resetLastCellNode()}},{key:"_pasteDataIntoTable",value:function _pasteDataIntoTable(fragment){var range=this.wwe.getEditor().getSelection();var tableData=this._getTableDataFromTable(fragment);var startContainer=range.startContainer;var parentNode=startContainer.parentNode;var isTextInTableCell=parentNode.tagName==="TD"||parentNode.tagName==="TH";var isTableCell=startContainer.tagName==="TD"||startContainer.tagName==="TH";var isTextNode=startContainer.nodeType===3;var brString=isIE10?"":"
    ";var anchorElement=void 0,td=void 0,tr=void 0,tdContent=void 0;if(isTextNode&&isTextInTableCell){anchorElement=parentNode}else if(isTableCell){anchorElement=startContainer}else{anchorElement=$(startContainer).find("th,td")[0]}td=anchorElement;while(tableData.length){tr=tableData.shift();while(td&&tr.length){tdContent=tr.shift();if(tdContent.length){td.textContent=tdContent}else{td.innerHTML=brString}td=_domUtils2.default.getTableCellByDirection(td,"next")}td=_domUtils2.default.getSiblingRowCellByDirection(anchorElement,"next",false);anchorElement=td}}},{key:"_getTableDataFromTable",value:function _getTableDataFromTable(fragment){var $fragment=$(fragment);var tableData=[];var trs=$fragment.find("tr");trs.each(function(i,tr){var trData=[];var tds=$(tr).children();tds.each(function(index,cell){trData.push(cell.textContent)});if(trData.length){tableData.push(trData)}});return tableData}},{key:"_removeTableContents",value:function _removeTableContents(selectedCells){this.wwe.getEditor().saveUndoState();selectedCells.each(function(i,cell){var brHTMLString=isIE10?"":"
    ";$(cell).html(brHTMLString)})}},{key:"wrapDanglingTableCellsIntoTrIfNeed",value:function wrapDanglingTableCellsIntoTrIfNeed(fragment){var danglingTableCells=$(fragment).children("td,th");var tr=void 0;if(danglingTableCells.length){(function(){var $wrapperTr=$("");danglingTableCells.each(function(i,cell){$wrapperTr.append(cell)});tr=$wrapperTr[0]})()}return tr}},{key:"wrapTrsIntoTbodyIfNeed",value:function wrapTrsIntoTbodyIfNeed(fragment){var danglingTrs=$(fragment).children("tr");var ths=danglingTrs.find("th");var tbody=void 0;if(ths.length){ths.each(function(i,node){var $node=$(node);var td=$("");td.html($node.html());td.insertBefore(node);$node.detach()})}if(danglingTrs.length){(function(){var $wrapperTableBody=$("");danglingTrs.each(function(i,tr){$wrapperTableBody.append(tr)});tbody=$wrapperTableBody[0]})()}return tbody}},{key:"wrapTheadAndTbodyIntoTableIfNeed",value:function wrapTheadAndTbodyIntoTableIfNeed(fragment){var danglingThead=$(fragment).children("thead");var danglingTbody=$(fragment).children("tbody");var $wrapperTable=$("
    ");var table=void 0;if(!danglingTbody.length&&danglingThead.length){$wrapperTable.append(danglingThead[0]);$wrapperTable.append("");table=$wrapperTable[0]}else if(danglingTbody.length&&!danglingThead.length){$wrapperTable.append("");$wrapperTable.append(danglingTbody[0]);table=$wrapperTable[0]}else if(danglingTbody.length&&danglingThead.length){$wrapperTable.append(danglingThead[0]);$wrapperTable.append(danglingTbody[0]);table=$wrapperTable[0]}return table}},{key:"prepareToPasteOnTable",value:function prepareToPasteOnTable(pasteData,node){var newFragment=document.createDocumentFragment();if(this._isTableOrSubTableElement(node.nodeName)){this._expandTableIfNeed(pasteData.fragment);this._pasteDataIntoTable(pasteData.fragment);pasteData.fragment=newFragment}else{newFragment.textContent=newFragment.textContent+pasteData.fragment.textContent}return newFragment}},{key:"_isTableOrSubTableElement",value:function _isTableOrSubTableElement(pastingNodeName){return pastingNodeName==="TABLE"||pastingNodeName==="TBODY"||pastingNodeName==="THEAD"||pastingNodeName==="TR"||pastingNodeName==="TD"}},{key:"_stuffTableCellsIntoIncompleteRow",value:function _stuffTableCellsIntoIncompleteRow($trs,maximumCellLength){$trs.each(function(rowIndex,row){var $row=$(row);var tableCells=$row.find("th,td");var parentNodeName=_domUtils2.default.getNodeName($row.parent()[0]);var cellTagName=parentNodeName==="THEAD"?"th":"td";for(var cellLength=tableCells.length;cellLength")[0];table.prepend(absentNode)}else if(isTbodyNotExists){absentNode=$("")[0];table.append(absentNode)}}},{key:"_tableCellAppendAidForTableElement",value:function _tableCellAppendAidForTableElement(node){var table=$(node);this._addTbodyOrTheadIfNeed(table);this._addTrIntoContainerIfNeed(table);var trs=table.find("tr");var tableAidInformation=this._prepareToTableCellStuffing(trs);var maximumCellLength=tableAidInformation.maximumCellLength;var needTableCellStuffingAid=tableAidInformation.needTableCellStuffingAid;if(needTableCellStuffingAid){this._stuffTableCellsIntoIncompleteRow(trs,maximumCellLength)}}},{key:"_generateTheadAndTbodyFromTbody",value:function _generateTheadAndTbodyFromTbody(node){var tr=$("");var thead=$("");tr.append(tableCellGenerator($(node).find("tr").eq(0).find("td").length,"th"));thead.append(tr);return{thead:thead[0],tbody:node}}},{key:"_generateTheadAndTbodyFromThead",value:function _generateTheadAndTbodyFromThead(node){var tr=$("");var tbody=$("");tr.append(tableCellGenerator($(node).find("th").length,"td"));tbody.append(tr);return{thead:node,tbody:tbody[0]}}},{key:"_generateTheadAndTbodyFromTr",value:function _generateTheadAndTbodyFromTr(node){var $node=$(node);var thead=$("");var tbody=$("");var theadRow=void 0,tbodyRow=void 0;if($node.children()[0].tagName==="TH"){theadRow=node; -tbodyRow=$(""+tableCellGenerator($node.find("th").length,"td")+"")[0]}else{theadRow=$(""+tableCellGenerator($node.find("td").length,"th")+"")[0];tbodyRow=node}thead.append(theadRow);tbody.append(tbodyRow);return{thead:thead[0],tbody:tbody[0]}}},{key:"_completeIncompleteTable",value:function _completeIncompleteTable(node){var nodeName=node.tagName;var table=void 0,completedTableContents=void 0;if(nodeName==="TABLE"){table=node}else{table=$("
    ");table.insertAfter(node);if(nodeName==="TBODY"){completedTableContents=this._generateTheadAndTbodyFromTbody(node)}else if(nodeName==="THEAD"){completedTableContents=this._generateTheadAndTbodyFromThead(node)}else if(nodeName==="TR"){completedTableContents=this._generateTheadAndTbodyFromTr(node)}table.append(completedTableContents.thead);table.append(completedTableContents.tbody)}this._tableCellAppendAidForTableElement(table)}},{key:"_completeTableIfNeed",value:function _completeTableIfNeed(){var _this3=this;var $body=this.wwe.getEditor().get$Body();$body.children().each(function(index,node){var $node=$(node);if(!_this3._isTableOrSubTableElement(node.nodeName)){return}else if(node.nodeName==="TABLE"&&$node.find("thead").length===0&&$node.find("tbody").length===0){$node.remove()}_this3._completeIncompleteTable(node)})}},{key:"resetLastCellNode",value:function resetLastCellNode(){this._lastCellNode=null}},{key:"setLastCellNode",value:function setLastCellNode(node){this._lastCellNode=node}},{key:"_isSingleModifierKey",value:function _isSingleModifierKey(keymap){return keymap==="META"&&keymap==="SHIFT"&&keymap==="ALT"&&keymap==="CONTROL"}},{key:"_isModifierKeyPushed",value:function _isModifierKeyPushed(ev){return ev.metaKey||ev.ctrlKey||ev.altKey||ev.shiftKey}},{key:"_addTrIntoContainerIfNeed",value:function _addTrIntoContainerIfNeed($table){var $trContainers=$table.children();$trContainers.each(function(i,container){var hasNoRows=$(container).find("tr").length===0;if(hasNoRows){$(container).append($("")[0])}})}},{key:"_expandTableIfNeed",value:function _expandTableIfNeed(fragment){var range=this.wwe.getEditor().getSelection().cloneRange();var $table=$(range.startContainer).parents("table");var difference=this._getColumnAndRowDifference(fragment,range);if(difference.column<0){this._appendCellForAllRow($table,difference.column)}if(difference.row<0){this._appendRow($table,difference.row)}}},{key:"_getColumnAndRowDifference",value:function _getColumnAndRowDifference(fragment,range){var tableData=this._getTableDataFromTable(fragment);var rowLength=tableData.length;var columnLength=tableData[0].length;var $currentCell=$(range.startContainer).closest("th,td");var $currentRow=$currentCell.parent();var currentColumnIndex=_domUtils2.default.getNodeOffsetOfParent($currentCell[0]);var currentRowIndex=_domUtils2.default.getNodeOffsetOfParent($currentCell[0].parentNode);var $table=$currentRow.parents("table");var tableColumnLength=$table.find("tr").eq(0).children().length;var tableRowLength=$table.find("tr").length;var isInTbody=$currentRow.parents("tbody").length;if(isInTbody){currentRowIndex+=1}return{row:tableRowLength-(currentRowIndex+rowLength),column:tableColumnLength-(currentColumnIndex+columnLength)}}},{key:"_appendCellForAllRow",value:function _appendCellForAllRow($table,columnDifference){var brString=isIE10?"":"
    ";$table.find("tr").each(function(i,row){var tagName=void 0;for(var index=columnDifference;index<0;index+=1){if(i===0){tagName="th"}else{tagName="td"}$(row).append($("<"+tagName+">"+brString+"")[0])}})}},{key:"_appendRow",value:function _appendRow($table,rowDifference){var newRow=$table.find("tr").last().clone();var brHTMLSting=isIE10?"":"
    ";newRow.find("td").html(brHTMLSting);for(;rowDifference<0;rowDifference+=1){$table.find("tbody").append(newRow.clone()[0])}}},{key:"_getSiblingTextNodeByDirection",value:function _getSiblingTextNodeByDirection(currentTextNode,isNext){var isPreviousLineExist=currentTextNode.previousSibling&¤tTextNode.previousSibling.nodeName==="BR"&¤tTextNode.previousSibling.previousSibling&¤tTextNode.previousSibling.previousSibling.nodeType===3;var isNextLineExist=currentTextNode.nextSibling&¤tTextNode.nextSibling.nodeName==="BR"&¤tTextNode.nextSibling.nextSibling&¤tTextNode.nextSibling.nextSibling.nodeType===3;var target=void 0;if(isNext&&isNextLineExist){target=currentTextNode.nextSibling.nextSibling}else if(!isNext&&isPreviousLineExist){target=currentTextNode.previousSibling.previousSibling}return target}},{key:"_changeSelectionToTargetCell",value:function _changeSelectionToTargetCell(currentCell,range,direction,scale){var startContainer=range.startContainer;var isNext=direction==="next";var isRow=scale==="row";var target=void 0,textOffset=void 0;if(isRow){if(_domUtils2.default.isTextNode(startContainer)){target=this._getSiblingTextNodeByDirection(startContainer,isNext);if(target){textOffset=target.length")}}}]);return WwTableManager}();function tableCellGenerator(amount,tagName){var brHTMLString="
    ";var cellString="<"+tagName+">"+brHTMLString+"";var tdString="";for(var i=0;i0;if(isSameRow){if(isColumnIncreases){range.setStart(selectionEnd,0);range.setEnd(selectionStart,1)}else{range.setStart(selectionStart,0);range.setEnd(selectionEnd,1)}}else if(isRowIncreases){range.setStart(selectionStart,0);range.setEnd(selectionEnd,1)}else{range.setStart(selectionEnd,0);range.setEnd(selectionStart,1)}return range}},{key:"_getTableCell",value:function _getTableCell(node){return node.nodeType===3?$(node).parent("td,th")[0]:node}},{key:"getSelectionRangeFromTable",value:function getSelectionRangeFromTable(selectionStart,selectionEnd){var nodeOffsetOfParent=_domUtils2.default.getNodeOffsetOfParent;var startRowOffset=nodeOffsetOfParent(selectionStart.parentNode);var endRowOffset=nodeOffsetOfParent(selectionEnd.parentNode);var startCellOffset=nodeOffsetOfParent(selectionStart);var endCellOffset=nodeOffsetOfParent(selectionEnd);var startCellContainer=_domUtils2.default.getParentUntil(selectionStart,"TABLE");var endCellContainer=_domUtils2.default.getParentUntil(selectionEnd,"TABLE");var isReversedTheadAndTbodySelect=_domUtils2.default.getNodeName(startCellContainer)==="TBODY"&&_domUtils2.default.getNodeName(endCellContainer)==="THEAD";var isTheadAndTbodySelect=startCellContainer!==endCellContainer;var isBothInTbody=!!$(selectionStart).parents("tbody").length&&!!$(selectionEnd).parents("tbody").length;var start={row:startRowOffset,cell:startCellOffset};var end={row:endRowOffset,cell:endCellOffset};var from=void 0,to=void 0;if(isReversedTheadAndTbodySelect){start.row+=1}else if(isTheadAndTbodySelect){end.row+=1}else if(isBothInTbody){start.row+=1;end.row+=1}if(startRowOffset>endRowOffset||startRowOffset===endRowOffset&&startCellOffset>endCellOffset){from=end;to=start}else{from=start;to=end}return{from:from,to:to}}},{key:"_highlightTableCellsBy",value:function _highlightTableCellsBy(selectionStart,selectionEnd){var trs=$(selectionStart).parents("table").find("tr");var selection=this.getSelectionRangeFromTable(selectionStart,selectionEnd);var rowFrom=selection.from.row;var cellFrom=selection.from.cell;var rowTo=selection.to.row;var cellTo=selection.to.cell;trs.each(function(rowIndex,row){$(row).find("td,th").each(function(cellIndex,cell){var $cell=$(cell);var isFromRow=rowIndex===rowFrom;var isToRow=rowIndex===rowTo;if(isFromRow&&cellIndexcellTo||rowIndexrowTo){$cell.removeClass(TABLE_CELL_SELECTED_CLASS_NAME)}else{$cell.addClass(TABLE_CELL_SELECTED_CLASS_NAME)}})})}},{key:"removeClassAttrbuteFromAllCellsIfNeed",value:function removeClassAttrbuteFromAllCellsIfNeed(){this.wwe.get$Body().find("td."+TABLE_CELL_SELECTED_CLASS_NAME+",th."+TABLE_CELL_SELECTED_CLASS_NAME).each(function(i,node){var $node=$(node);$node.removeClass(TABLE_CELL_SELECTED_CLASS_NAME);if(!$node.attr("class").length){$node.removeAttr("class")}})}},{key:"getSelectedCells",value:function getSelectedCells(){return this.wwe.get$Body().find("."+TABLE_CELL_SELECTED_CLASS_NAME)}},{key:"createRangeBySelectedCells",value:function createRangeBySelectedCells(){var sq=this.wwe.getEditor();var range=sq.getSelection().cloneRange();var selectedCells=this.getSelectedCells();var tableManager=this.wwe.getManager("table");if(selectedCells.length&&tableManager.isInTable(range)){range.setStart(selectedCells.first()[0],0);range.setEnd(selectedCells.last()[0],1);sq.setSelection(range)}}}]);return WwTableSelectionManager}();module.exports=WwTableSelectionManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")})}}]);return WwHrManager}();function findTextNodeFilter(){return this.nodeType===Node.TEXT_NODE}module.exports=WwHrManager},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i([\s\S]*?)<\/p>/gi,function(whole,content){var lines=content.split(/
    /gi);var linesLenIndex=lines.length-1;var splitedContent="";splitedContent=lines.map(function(line,index){var result="";if(index>0&&index"}if(line){result="
    "+line+"
    "}return result});splitedContent.push("

    ");return splitedContent.join("")});return html}},{key:"_ensurePtagContentWrappedWithDiv",value:function _ensurePtagContentWrappedWithDiv(){this.wwe.get$Body().find("p").each(function(index,node){if($(node).find("div").length<=0){$(node).wrapInner("
    ")}if($(node).next().is("p")){$(node).append("

    ")}})}},{key:"_unwrapPtags",value:function _unwrapPtags(){this.wwe.get$Body().find("div").each(function(index,node){if($(node).parent().is("p")){$(node).unwrap()}})}}]);return WwPManager}();module.exports=WwPManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")}})}},{key:"_unwrapHeading",value:function _unwrapHeading(){this.wwe.unwrapBlockTag(function(node){return FIND_HEADING_RX.test(node)})}},{key:"_onEnter",value:function _onEnter(event,range){var _this3=this;if(range.startOffset>0){this.wwe.defer(function(wwe){_this3._unwrapHeading();wwe.getEditor().removeLastUndoStack()})}else{event.preventDefault();this._insertEmptyBlockToPrevious(range)}}},{key:"_insertEmptyBlockToPrevious",value:function _insertEmptyBlockToPrevious(range){this.wwe.getEditor().saveUndoState(range);$("

    ").insertBefore(_domUtils2.default.getParentUntil(range.startContainer,this.wwe.get$Body()[0]))}},{key:"_removePrevTopNodeIfNeed",value:function _removePrevTopNodeIfNeed(event,range){var isHandled=false;if(range.collapsed&&range.startOffset===0){var startContainer=range.startContainer;var prevTopNode=_domUtils2.default.getTopPrevNodeUnder(startContainer,this.wwe.get$Body()[0]);var isPrevTopNodeEmpty=prevTopNode&&prevTopNode.textContent.length===0;var sq=this.wwe.getEditor();if(startContainer.textContent.length===0){isHandled=this._removeHedingAndChangeSelection(event,range,prevTopNode)}else if(isPrevTopNodeEmpty){event.preventDefault();sq.saveUndoState(range);$(prevTopNode).remove();isHandled=true}}return isHandled}},{key:"_removeHedingAndChangeSelection",value:function _removeHedingAndChangeSelection(event,range,prevTopNode){var startContainer=range.startContainer;var sq=this.wwe.getEditor();var $Body=this.wwe.get$Body();var isHeading=FIND_HEADING_RX.test(_domUtils2.default.getNodeName(startContainer));var headingElement=isHeading?startContainer:$(startContainer).parents("h1,h2,h3,h4,h5,h6")[0];var targetNode=prevTopNode;var offset=1;if(!event.defaultPrevented){event.preventDefault();sq.saveUndoState(range)}$(headingElement).remove();if(!prevTopNode){targetNode=$Body.children("div").first()[0];offset=0}range.setStart(targetNode,offset);range.collapse(true);sq.setSelection(range);return true}}]);return WwHeadingManager}();module.exports=WwHeadingManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i":">"};var FIND_ZWS_RX=/\u200B/g;var CODEBLOCK_ATTR_NAME="data-te-codeblock";var WwCodeBlockManager=function(){function WwCodeBlockManager(wwe){_classCallCheck(this,WwCodeBlockManager);this.wwe=wwe;this.eventManager=wwe.eventManager;this.name="codeblock";this._init()}_createClass(WwCodeBlockManager,[{key:"_init",value:function _init(){this._initKeyHandler();this._initEvent()}},{key:"_initKeyHandler",value:function _initKeyHandler(){this.wwe.addKeyEventHandler("BACK_SPACE",this._removeCodeblockIfNeed.bind(this))}},{key:"_initEvent",value:function _initEvent(){var self=this;this.eventManager.listen("wysiwygSetValueAfter",function(){self.splitCodeblockToEachLine()});this.eventManager.listen("wysiwygProcessHTMLText",function(html){return self._mergeCodeblockEachlinesFromHTMLText(html)})}},{key:"prepareToPasteOnCodeblock",value:function prepareToPasteOnCodeblock(nodes){var range=this.wwe.getEditor().getSelection().cloneRange();var frag=this.wwe.getEditor().getDocument().createDocumentFragment();if(nodes.length===1&&this._isCodeBlock(nodes[0])){frag.appendChild(this._copyCodeblockTypeFromRangeCodeblock(nodes.shift(),range))}else{frag.appendChild(this._copyCodeblockTypeFromRangeCodeblock(this.convertToCodeblock(nodes),range))}return frag}},{key:"convertToCodeblock",value:function convertToCodeblock(nodes){var $codeblock=$("
    ");var self=this;var node=nodes.shift();while(util.isTruthy(node)){$codeblock.append(self._makeCodeBlockLineHtml(util.isString(node)?node:node.textContent));node=nodes.shift()}$codeblock.attr(CODEBLOCK_ATTR_NAME,"");return $codeblock[0]}},{key:"_copyCodeblockTypeFromRangeCodeblock",value:function _copyCodeblockTypeFromRangeCodeblock(element,range){var blockNode=_domUtils2.default.getParentUntil(range.commonAncestorContainer,this.wwe.get$Body()[0]);if(_domUtils2.default.getNodeName(blockNode)==="PRE"){var attrs=$(blockNode).prop("attributes");util.forEach(attrs,function(attr){$(element).attr(attr.name,attr.value)})}return element}},{key:"_mergeCodeblockEachlinesFromHTMLText",value:function _mergeCodeblockEachlinesFromHTMLText(html){html=html.replace(/(.*?)<\/pre>/g,function(match,codeAttr,code){code=code.replace(/
    /g,"\n");code=code.replace(/
    /g,"");code=code.replace(/\n$/,"");return"
    "+code+"
    "});return html}},{key:"splitCodeblockToEachLine",value:function splitCodeblockToEachLine(node){var self=this;if(!node){node=this.wwe.get$Body()}$(node).find("pre").each(function(index,pre){var $pre=$(pre);var lang=$pre.find("code").attr("data-language");var textLines=void 0;if($pre.children().length>1){textLines=[];$pre.children().each(function(idx,childNode){if((childNode.nodeName==="DIV"||childNode.nodeName==="P")&&!$(childNode).find("br").length){$(childNode).append("
    ")}})}$pre.find("br").replaceWith("\n");textLines=$pre.text().replace(/\s+$/,"").split(/\n/g);if(lang){$pre.attr("data-language",lang);$pre.addClass("lang-"+lang)}$pre.empty();util.forEach(textLines,function(line){$pre.append(self._makeCodeBlockLineHtml(line)); -});$pre.attr(CODEBLOCK_ATTR_NAME,"")})}},{key:"_makeCodeBlockLineHtml",value:function _makeCodeBlockLineHtml(lineContent){if(!lineContent){lineContent="
    "}else{lineContent=sanitizeHtmlCode(lineContent)}return"
    "+lineContent+"
    "}},{key:"_removeCodeblockIfNeed",value:function _removeCodeblockIfNeed(ev,range){var self=this;if(!this.isInCodeBlock(range)){return true}var pre=$(range.startContainer).closest("pre");var $div=$(pre).find("div").eq(0);var codeContent=$div.text().replace(FIND_ZWS_RX,"");if((range.startOffset===0||codeContent.length===0)&&$(pre).find("div").length<=1){this.wwe.getEditor().modifyBlocks(function(){var newFrag=self.wwe.getEditor().getDocument().createDocumentFragment();var content=void 0;if(codeContent.length===0){content="
    "}else{content=$div.html().replace(FIND_ZWS_RX,"")}$(newFrag).append($("
    "+content+"
    "));return newFrag});return false}return true}},{key:"isInCodeBlock",value:function isInCodeBlock(range){var target=void 0;if(range.collapsed){target=range.startContainer}else{target=range.commonAncestorContainer}return this._isCodeBlock(target)}},{key:"_isCodeBlock",value:function _isCodeBlock(element){return!!$(element).closest("pre").length}}]);return WwCodeBlockManager}();function sanitizeHtmlCode(code){return code.replace(/[<>&]/g,function(tag){return tagEntities[tag]||tag})}module.exports=WwCodeBlockManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1){throw new Error("too many"+eventName+"handlers in squire")}var handler=handlers[0].bind(this);handlers[0]=function(event){if(!event.defaultPrevented){handler(event)}}}},{key:"changeBlockFormat",value:function changeBlockFormat(srcCondition,targetTagName){var _this2=this;this.modifyBlocks(function(frag){var current=void 0,newFrag=void 0,newBlock=void 0,nextBlock=void 0,tagName=void 0,lastNodeOfNextBlock=void 0,appendChidToNextBlock=void 0;if(frag.childNodes.length){current=frag.childNodes[0]}else{current=_this2.createDefaultBlock();frag.appendChild(current)}if(srcCondition){while(current.firstChild){current=current.firstChild}appendChidToNextBlock=function appendChidToNextBlock(node){nextBlock.appendChild(node)};while(current!==frag){tagName=current.tagName;if(util.isFunction(srcCondition)?srcCondition(tagName):tagName===srcCondition){nextBlock=current.childNodes[0];if(!_domUtils2.default.isElemNode(nextBlock)||current.childNodes.length>1){nextBlock=_this2.createDefaultBlock();util.forEachArray(util.toArray(current.childNodes),appendChidToNextBlock);lastNodeOfNextBlock=nextBlock.lastChild;if(lastNodeOfNextBlock&&_domUtils2.default.getNodeName(lastNodeOfNextBlock)==="BR"){nextBlock.removeChild(lastNodeOfNextBlock)}}if(targetTagName){newBlock=_this2.createElement(targetTagName,[nextBlock])}else{newBlock=nextBlock}newFrag=_this2.getDocument().createDocumentFragment();newFrag.appendChild(newBlock);frag=newFrag;break}current=current.parentNode}}if((!newFrag||!srcCondition)&&targetTagName&&_domUtils2.default.getNodeName(frag.childNodes[0])==="DIV"){frag=_this2.createElement(targetTagName,[frag.childNodes[0]])}return frag})}},{key:"changeBlockFormatTo",value:function changeBlockFormatTo(targetTagName){this.changeBlockFormat(function(tagName){return FIND_BLOCK_TAGNAME_RX.test(tagName)},targetTagName)}},{key:"getCaretPosition",value:function getCaretPosition(){return this.getCursorPosition()}},{key:"replaceSelection",value:function replaceSelection(content,selection){if(selection){this.setSelection(selection)}this._ignoreChange=true;this.insertHTML(content)}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){var selection=this.getSelection().cloneRange();this._replaceRelativeOffsetOfSelection(content,offset,overwriteLength,selection)}},{key:"_replaceRelativeOffsetOfSelection",value:function _replaceRelativeOffsetOfSelection(content,offset,overwriteLength,selection){var startSelectionInfo=void 0,endSelectionInfo=void 0,finalOffset=void 0;var endOffsetNode=selection.endContainer;var endTextOffset=selection.endOffset;if(_domUtils2.default.getNodeName(endOffsetNode)!=="TEXT"){endOffsetNode=this._getClosestTextNode(endOffsetNode,endTextOffset);if(endOffsetNode){if(_domUtils2.default.isTextNode(endOffsetNode)){endTextOffset=endOffsetNode.nodeValue.length}else{endTextOffset=endOffsetNode.textContent.length}}}if(endOffsetNode){startSelectionInfo=this.getSelectionInfoByOffset(endOffsetNode,endTextOffset+offset);selection.setStart(startSelectionInfo.element,startSelectionInfo.offset);finalOffset=endTextOffset+(offset+overwriteLength);endSelectionInfo=this.getSelectionInfoByOffset(endOffsetNode,finalOffset);selection.setEnd(endSelectionInfo.element,endSelectionInfo.offset);this.replaceSelection(content,selection)}else{this.replaceSelection(content)}}},{key:"_getClosestTextNode",value:function _getClosestTextNode(node,offset){var foundNode=_domUtils2.default.getChildNodeByOffset(node,offset-1);if(_domUtils2.default.getNodeName(foundNode)!=="TEXT"){foundNode=foundNode.previousSibling}return foundNode}},{key:"getSelectionInfoByOffset",value:function getSelectionInfoByOffset(anchorElement,offset){var traceElement=void 0,traceElementLength=void 0,traceOffset=void 0,stepLength=void 0;var direction=offset>=0?"next":"previous";var offsetAbs=Math.abs(offset);var latestAvailableElement=traceElement;if(direction==="next"){traceElement=anchorElement}else{traceElement=anchorElement.previousSibling}traceOffset=offsetAbs;stepLength=0;while(traceElement){if(_domUtils2.default.isTextNode(traceElement)){traceElementLength=traceElement.nodeValue.length}else{traceElementLength=traceElement.textContent.length}stepLength+=traceElementLength;if(offsetAbs<=stepLength){break}traceOffset-=traceElementLength;if(_domUtils2.default.getTextLength(traceElement)>0){latestAvailableElement=traceElement}traceElement=traceElement[direction+"Sibling"]}if(!traceElement){traceElement=latestAvailableElement;traceOffset=_domUtils2.default.getTextLength(traceElement)}if(direction==="previous"){traceOffset=_domUtils2.default.getTextLength(traceElement)-traceOffset}return{element:traceElement,offset:traceOffset}}},{key:"getSelectionPosition",value:function getSelectionPosition(selection,style,offset){var marker=this.createElement("INPUT");var range=selection.cloneRange();var endSelectionInfo=this.getSelectionInfoByOffset(selection.endContainer,selection.endOffset+(offset||0));range.setStart(range.startContainer,range.startOffset);range.setEnd(endSelectionInfo.element,endSelectionInfo.offset);this._ignoreChange=true;this.insertElement(marker,range);var pos=$(marker).offset();if(style!=="over"){pos.top+=$(marker).outerHeight()}marker.parentNode.removeChild(marker);selection.setStart(selection.endContainer,selection.endOffset);selection.collapse(true);this.setSelection(selection);return pos}},{key:"removeLastUndoStack",value:function removeLastUndoStack(){if(this._undoStack.length){this._undoStackLength-=1;this._undoIndex-=1;this._undoStack.pop();this._isInUndoState=false}}},{key:"replaceParent",value:function replaceParent(node,from,to){var target=$(node).closest(from);if(target.length){target.wrapInner("<"+to+"/>");target.children().unwrap()}}},{key:"preserveLastLine",value:function preserveLastLine(){var lastBlock=this.get$Body().children().last();if(_domUtils2.default.getNodeName(lastBlock[0])!=="DIV"){this._ignoreChange=true;$(this.createDefaultBlock()).insertAfter(lastBlock)}}},{key:"scrollTop",value:function scrollTop(top){if(util.isUndefined(top)){return this.get$Body().scrollTop()}return this.get$Body().scrollTop(top)}},{key:"isIgnoreChange",value:function isIgnoreChange(){return this._ignoreChange}},{key:"focus",value:function focus(){var scrollTop=this.scrollTop();Squire.prototype.focus.call(this);if(scrollTop!==this.scrollTop()){this.scrollTop(scrollTop)}return this}}]);return SquireExt}(Squire);module.exports=SquireExt},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0){range.setStart(range.startContainer,range.startOffset-1)}}},{key:"expandEndOffset",value:function expandEndOffset(){var range=this._range;if(_domUtils2.default.isTextNode(range.endContainer)&&range.endOffset','
    ','
    ','
    ','
    ',"
    ",'
    ','
    ',"
    ","
    "].join("");var Layout=function(){function Layout(options,eventManager){_classCallCheck(this,Layout);this.$el=$(options.el);this.height=options.height;this.type=options.initialEditType;this.eventManager=eventManager;this.init();this._initEvent()}_createClass(Layout,[{key:"init",value:function init(){this._renderLayout();this._initMarkdownAndPreviewSection();this._initWysiwygSection()}},{key:"_initEvent",value:function _initEvent(){this.eventManager.listen("hide",this.hide.bind(this));this.eventManager.listen("show",this.show.bind(this))}},{key:"_renderLayout",value:function _renderLayout(){this.$containerEl=$(containerTmpl).appendTo(this.$el)}},{key:"switchToWYSIWYG",value:function switchToWYSIWYG(){this.$containerEl.removeClass("te-md-mode");this.$containerEl.addClass("te-ww-mode")}},{key:"switchToMarkdown",value:function switchToMarkdown(){this.$containerEl.removeClass("te-ww-mode");this.$containerEl.addClass("te-md-mode")}},{key:"_initMarkdownAndPreviewSection",value:function _initMarkdownAndPreviewSection(){this.$mdEditorContainerEl=this.$containerEl.find(".te-md-container .te-editor");this.$previewEl=this.$containerEl.find(".te-md-container .te-preview")}},{key:"_initWysiwygSection",value:function _initWysiwygSection(){this.$wwEditorContainerEl=this.$containerEl.find(".te-ww-container .te-editor")}},{key:"_verticalSplitStyle",value:function _verticalSplitStyle(){this.$containerEl.find(".te-md-container").removeClass("te-preview-style-tab");this.$containerEl.find(".te-md-container").addClass("te-preview-style-vertical")}},{key:"_tabStyle",value:function _tabStyle(){this.$containerEl.find(".te-md-container").removeClass("te-preview-style-vertical");this.$containerEl.find(".te-md-container").addClass("te-preview-style-tab")}},{key:"changePreviewStyle",value:function changePreviewStyle(style){if(style==="tab"){this._tabStyle()}else if(style==="vertical"){this._verticalSplitStyle()}}},{key:"hide",value:function hide(){this.$el.find(".tui-editor").addClass("te-hide")}},{key:"show",value:function show(){this.$el.find(".tui-editor").removeClass("te-hide")}},{key:"remove",value:function remove(){this.$el.find(".tui-editor").remove()}},{key:"getEditorEl",value:function getEditorEl(){return this.$containerEl}},{key:"getPreviewEl",value:function getPreviewEl(){return this.$previewEl}},{key:"getMdEditorContainerEl",value:function getMdEditorContainerEl(){return this.$mdEditorContainerEl}},{key:"getWwEditorContainerEl",value:function getWwEditorContainerEl(){return this.$wwEditorContainerEl}}]);return Layout}();module.exports=Layout},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}if(args.length){command=CommandManager.command.apply(CommandManager,[command].concat(args))}var name=command.getName();var commandBase=void 0;if(command.isMDType()){commandBase=this._mdCommand}else if(command.isWWType()){commandBase=this._wwCommand}else if(command.isGlobalType()){commandBase=this._command}commandBase.set(name,command);if(command.keyMap){this.keyMapCommand[command.keyMap[KEYMAP_OS_INDEX]]=name}return command}},{key:"_initEvent",value:function _initEvent(){var _this=this;this.base.eventManager.listen("command",function(){_this.exec.apply(_this,arguments)});this.base.eventManager.listen("keyMap",function(ev){var command=_this.keyMapCommand[ev.keyMap];if(command){ev.data.preventDefault();_this.exec(command)}})}},{key:"exec",value:function exec(name){var commandToRun=void 0,result=void 0;var context=this.base;commandToRun=this._command.get(name);if(!commandToRun){if(this.base.isMarkdownMode()){commandToRun=this._mdCommand.get(name);context=this.base.mdEditor}else{commandToRun=this._wwCommand.get(name);context=this.base.wwEditor}}if(commandToRun){var _commandToRun;for(var _len2=arguments.length,args=Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2]}args.unshift(context);result=(_commandToRun=commandToRun).exec.apply(_commandToRun,args)}return result}}]);return CommandManager}();CommandManager.command=function(type,props){var command=_command2.default.factory(type,props.name,props.keyMap);util.extend(command,props);return command};module.exports=CommandManager},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")});content=content.replace(/(\r\n$)|(\r$)|(\n$)/,"");content=content.replace(/(\r\n)|(\r)/g,"\n");return content.split("\n")}module.exports=excelTableParser},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i/gi,"
    ");return markdownitHighlight.render(markdown)}},{key:"_markdownToHtml",value:function _markdownToHtml(markdown){markdown=this._addLineBreaksIfNeed(markdown);markdown=markdown.replace(/
    /gi,"
    ");return markdownitHighlight.render(markdown)}},{key:"toHTMLWithCodeHightlight",value:function toHTMLWithCodeHightlight(markdown){var html=this._markdownToHtmlWithCodeHighlight(markdown);html=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",html);return html}},{key:"toHTML",value:function toHTML(markdown){var html=this._markdownToHtml(markdown);html=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",html);return html}},{key:"initHtmlSanitizer",value:function initHtmlSanitizer(){this.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(html){return(0,_htmlSanitizer2.default)(html,true)})}},{key:"toMarkdown",value:function toMarkdown(html){var markdown=toMark(this._appendAttributeForBrIfNeed(html));markdown=this.eventManager.emitReduce("convertorAfterHtmlToMarkdownConverted",markdown);return markdown}},{key:"_appendAttributeForBrIfNeed",value:function _appendAttributeForBrIfNeed(html){var FIND_BR_RX=/
    /gi;var FIND_DOUBLE_BR_RX=/

    /gi;var FIND_PASSING_AND_NORMAL_BR_RX=/

    (.)/gi;var FIND_FIRST_TWO_BRS_RX=/((?:[^b][^r]|[^p][^a][^s][^s]).[^\/].)
    /g;html=html.replace(FIND_BR_RX,"
    ");html=html.replace(FIND_DOUBLE_BR_RX,"

    ");var div=document.createElement("div");var $div=$(div);$div.html(html);$div.find("pre br").each(function(index,node){if(node.hasAttribute("data-tomark-pass")){node.removeAttribute("data-tomark-pass")}});html=$div.html().replace(/
    /gi,"
    ");html=html.replace(FIND_BR_RX,"
    ");html=html.replace(FIND_PASSING_AND_NORMAL_BR_RX,"

    $1");html=html.replace(FIND_FIRST_TWO_BRS_RX,"$1

    ");return html}},{key:"_addLineBreaksIfNeed",value:function _addLineBreaksIfNeed(markdown){var FIND_IMAGE_RX=/(!\[(?:[^\[\]]*)]\((?:[^)]*)\))/g;var resultArray=[];tui.util.forEach(markdown.split("\n"),function(line,index){var FIND_IMAGE_IN_LIST_OR_QUOTE_RX=/^ *(?:\*|-|\d+\.|[*-] \[[ xX]])\s|(?: *> *)+/g;var FIND_TABLE_RX=/^\|[^|]*\|/gi;var FIND_INLINE_CODEBLOCK_RX=/^ {4}[^\s]*/gi;if(!FIND_TABLE_RX.test(line)&&!FIND_IMAGE_IN_LIST_OR_QUOTE_RX.test(line)&&!FIND_INLINE_CODEBLOCK_RX.test(line)){line=line.replace(FIND_IMAGE_RX,"\n\n$1\n\n")}resultArray[index]=line});return resultArray.join("\n")}}],[{key:"factory",value:function factory(eventManager){return new Convertor(eventManager)}},{key:"getMarkdownHighlightRenderer",value:function getMarkdownHighlightRenderer(){return markdownitHighlight}}]);return Convertor}();function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}module.exports=Convertor},function(module,exports){"use strict";var MarkdownitTaskRenderer=function MarkdownitTaskRenderer(markdownit){markdownit.core.ruler.after("inline","tui-task-list",function(state){var TASK_LIST_ITEM_CLASS_NAME="task-list-item";var CHECKED_CLASS_NAME="checked";var tokens=state.tokens;var className;var tokenIndex;for(tokenIndex=2;tokenIndex/g,">").replace(/"/g,""").replace(/'/g,"'")}module.exports=MarkdownitCodeBlockRenderer},function(module,exports){"use strict";function getLine(state,line){var pos=state.bMarks[line]+state.blkIndent,max=state.eMarks[line];return state.src.substr(pos,max-pos)}function escapedSplit(str){var result=[],pos=0,max=str.length,ch,escapes=0,lastPos=0,backTicked=false,lastBackTick=0;ch=str.charCodeAt(pos);while(posendLine){return false}nextLine=startLine+1;if(state.sCount[nextLine]=state.eMarks[nextLine]){return false}ch=state.src.charCodeAt(pos);if(ch!==124&&ch!==45&&ch!==58){return false}lineText=getLine(state,startLine+1);if(!/^[-:| ]+$/.test(lineText)){return false}columns=lineText.split("|");aligns=[];for(i=0;ialigns.length){return false}if(silent){return true}token=state.push("table_open","table",1);token.map=tableLines=[startLine,0];token=state.push("thead_open","thead",1);token.map=[startLine,startLine+1];token=state.push("tr_open","tr",1);token.map=[startLine,startLine+1];for(i=0;i|$))/i,/<\/(script|pre|style)>/i,true],[/^/,true],[/^<\?/,/\?>/,true],[/^/,true],[/^/,true],[new RegExp("^<("+voidTagNames.join("|")+")","i"),/^\/?>$/,true],[new RegExp("^|$))","i"),/^$/,true],[/^(?:<[A-Za-z][A-Za-z0-9\-]*(?:\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\s*=\s*(?:[^"'=<>`\x00-\x20]+|'[^']*'|"[^"]*"))?)*\s*\/?>|<\/[A-Za-z][A-Za-z0-9\-]*\s*>)\s*$/,/^$/,false]];module.exports=function html_block(state,startLine,endLine,silent){var i,nextLine,token,lineText,pos=state.bMarks[startLine]+state.tShift[startLine],max=state.eMarks[startLine];if(!state.md.options.html){return false}if(state.src.charCodeAt(pos)!==60){return false}lineText=state.src.slice(pos,max);for(i=0;i18;if(ev.target.hasAttribute(TASK_ATTR_NAME)&&!isBeneathTaskBox){$(ev.target).toggleClass(TASK_CHECKED_CLASS_NAME);_this.eventManager.emit("change",{source:"viewOnly",data:ev})}});_extManager2.default.applyExtension(this,this.options.exts);this.setValue(this.options.initialValue);this.eventManager.emit("load",this)}_createClass(ToastUIEditorViewOnly,[{key:"setValue",value:function setValue(markdown){this.markdownValue=markdown=markdown||"";this.preview.refresh(this.markdownValue);this.eventManager.emit("setValueAfter",this.markdownValue)}},{key:"on",value:function on(type,handler){this.eventManager.listen(type,handler)}},{key:"off",value:function off(type){this.eventManager.removeEventHandler(type)}},{key:"remove",value:function remove(){this.eventManager.emit("removeEditor");this.options=null;this.eventManager=null;this.commandManager=null;this.convertor=null;this.preview=null}},{key:"addHook",value:function addHook(type,handler){this.eventManager.removeEventHandler(type);this.eventManager.listen(type,handler)}},{key:"isViewOnly",value:function isViewOnly(){return true}},{key:"isMarkdownMode",value:function isMarkdownMode(){return false}},{key:"isWysiwygMode",value:function isWysiwygMode(){return false}}]);return ToastUIEditorViewOnly}();module.exports=ToastUIEditorViewOnly},function(module,exports,__webpack_require__){"use strict";var _toolbar=__webpack_require__(37);var _toolbar2=_interopRequireDefault(_toolbar);var _tab=__webpack_require__(41);var _tab2=_interopRequireDefault(_tab);var _layerpopup=__webpack_require__(43);var _layerpopup2=_interopRequireDefault(_layerpopup);var _modeSwitch=__webpack_require__(44);var _modeSwitch2=_interopRequireDefault(_modeSwitch);var _popupAddLink=__webpack_require__(45);var _popupAddLink2=_interopRequireDefault(_popupAddLink);var _popupAddImage=__webpack_require__(46);var _popupAddImage2=_interopRequireDefault(_popupAddImage);var _popupTableUtils=__webpack_require__(47);var _popupTableUtils2=_interopRequireDefault(_popupTableUtils);var _popupAddTable=__webpack_require__(48);var _popupAddTable2=_interopRequireDefault(_popupAddTable);var _popupAddHeading=__webpack_require__(49);var _popupAddHeading2=_interopRequireDefault(_popupAddHeading);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var containerTmpl=['
    ','
    ','
    ','
    ','
    ',"
    "].join("");function DefaultUI(editor){this.name="default";this.type=editor.options.initialEditType;this.editor=editor;this.init(editor.options.el);this._initEvent()}DefaultUI.prototype.init=function($container){this._renderLayout($container);this._initEditorSection();this._initToolbar();this._initModeSwitch();this._initPopupAddLink();this._initPopupAddImage();this._initPopupAddTable();this._initPopupAddHeading();this._initPopupTableUtils();this._initMarkdownTab()};DefaultUI.prototype._initEditorSection=function(){this.$el.find(".te-editor-section").append(this.editor.layout.getEditorEl())};DefaultUI.prototype._initEvent=function(){var self=this;this.editor.eventManager.listen("hide",this.hide.bind(this));this.editor.eventManager.listen("show",this.show.bind(this));this.editor.eventManager.listen("changeMode",function(){self.markdownTabControl()});this.editor.eventManager.listen("changePreviewStyle",function(){self.markdownTabControl()})};DefaultUI.prototype._renderLayout=function($container){this.$el=$(containerTmpl).appendTo($container)};DefaultUI.prototype._initToolbar=function(){this.toolbar=new _toolbar2.default(this.editor.eventManager);this.$el.find(".te-toolbar-section").append(this.toolbar.$el)};DefaultUI.prototype._initModeSwitch=function(){var self=this;this.modeSwitch=new _modeSwitch2.default(this.type==="markdown"?_modeSwitch2.default.TYPE.MARKDOWN:_modeSwitch2.default.TYPE.WYSIWYG);this.$el.find(".te-mode-switch-section").append(this.modeSwitch.$el);this.modeSwitch.on("modeSwitched",function(ev,type){self.editor.changeMode(type)})};DefaultUI.prototype.markdownTabControl=function(){if(this.editor.isMarkdownMode()&&this.editor.getCurrentPreviewStyle()==="tab"){this.$el.find(".te-markdown-tab-section").show();this.markdownTab.activate("Editor")}else{this.$el.find(".te-markdown-tab-section").hide()}};DefaultUI.prototype._initMarkdownTab=function(){var editor=this.editor;this.markdownTab=new _tab2.default({items:["Editor","Preview"],sections:[editor.layout.getMdEditorContainerEl(),editor.layout.getPreviewEl()]});this.$el.find(".te-markdown-tab-section").append(this.markdownTab.$el);this.markdownTab.on("itemClick",function(ev,itemText){if(itemText==="Preview"){editor.eventManager.emit("previewNeedsRefresh")}else{editor.getCodeMirror().focus()}})};DefaultUI.prototype._initPopupAddLink=function(){this.popupAddLink=new _popupAddLink2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype._initPopupAddImage=function(){this.popupAddImage=new _popupAddImage2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype._initPopupAddTable=function(){this.popupAddTable=new _popupAddTable2.default({$target:this.$el,eventManager:this.editor.eventManager,$button:this.$el.find("button.tui-table"),css:{position:"absolute"}})};DefaultUI.prototype._initPopupAddHeading=function(){this.popupAddHeading=new _popupAddHeading2.default({$target:this.$el,eventManager:this.editor.eventManager,$button:this.$el.find("button.tui-heading"),css:{position:"absolute"}})};DefaultUI.prototype._initPopupTableUtils=function(){var self=this;this.editor.eventManager.listen("contextmenu",function(ev){if($(ev.data.target).parents("table").length>0){ev.data.preventDefault();self.editor.eventManager.emit("openPopupTableUtils",ev.data)}});this.popupTableUtils=new _popupTableUtils2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype.hide=function(){this.$el.addClass("te-hide")};DefaultUI.prototype.show=function(){this.$el.removeClass("te-hide")};DefaultUI.prototype.remove=function(){this.$el.remove()};DefaultUI.prototype.createPopup=function(options){return _layerpopup2.default.factory(options)};module.exports=DefaultUI},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(38);var _uicontroller2=_interopRequireDefault(_uicontroller);var _button=__webpack_require__(39);var _button2=_interopRequireDefault(_button);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function Toolbar(eventManager){_uicontroller2.default.call(this,{tagName:"div",className:"tui-editor-defaultUI-toolbar"});this.buttons=[];this.eventManager=eventManager;this.render();this._initButton()}Toolbar.prototype=util.extend({},_uicontroller2.default.prototype);Toolbar.prototype.render=function(){this.$buttonContainer=this.$el};Toolbar.prototype.addButton=function(buttons,index){var _this=this;var TOOLBAR_GROUP_CLASS_NAME="tui-toolbar-button-group";var $buttonWrap=$('
    ');if(util.isArray(buttons)){util.forEach(buttons,function(button){$buttonWrap.append(_this._setButton(button).$el)})}else{$buttonWrap.append(this._setButton(buttons).$el)}if(index){this.$buttonContainer.find("."+TOOLBAR_GROUP_CLASS_NAME).eq(index-1).after($buttonWrap)}else{this.$buttonContainer.append($buttonWrap)}};Toolbar.prototype._setButton=function(button){var ev=this.eventManager;if(!button.render){button=new _button2.default(button)}button.on("command",function emitCommandEvent($,commandName){ev.emit("command",commandName)});button.on("event",function emitEventByCommand($,eventName){ev.emit(eventName)});this.buttons.push(button);return button};Toolbar.prototype._initButton=function(){var _this2=this;this.addButton(new _button2.default({className:"tui-heading",event:"openHeadingSelect",tooltip:_i18n2.default.get("Headings")}));this.addButton([new _button2.default({className:"tui-bold",command:"Bold",tooltip:_i18n2.default.get("Bold"),state:"bold"}),new _button2.default({className:"tui-italic",command:"Italic",tooltip:_i18n2.default.get("Italic"),state:"italic"}),new _button2.default({className:"tui-strike",command:"Strike",text:"~",tooltip:_i18n2.default.get("Strike")})]);this.addButton([new _button2.default({className:"tui-ul",command:"UL",tooltip:_i18n2.default.get("Unordered list")}),new _button2.default({className:"tui-ol",command:"OL",tooltip:_i18n2.default.get("Ordered list")}),new _button2.default({className:"tui-task",command:"Task",tooltip:_i18n2.default.get("Task")})]);this.addButton([new _button2.default({className:"tui-hrline",command:"HR",tooltip:_i18n2.default.get("Line")}),new _button2.default({className:"tui-table",event:"openPopupAddTable",tooltip:_i18n2.default.get("Insert table")})]);this.addButton([new _button2.default({className:"tui-image",event:"openPopupAddImage",tooltip:_i18n2.default.get("Insert image")}),new _button2.default({className:"tui-link",event:"openPopupAddLink",tooltip:_i18n2.default.get("Insert link")})]);this.addButton(new _button2.default({className:"tui-quote",command:"Blockquote",tooltip:_i18n2.default.get("Blockquote"),state:"quote"}));this.addButton([new _button2.default({className:"tui-codeblock",command:"CodeBlock",text:"CB",tooltip:_i18n2.default.get("Insert codeblock"),state:"codeBlock"}),new _button2.default({className:"tui-code",command:"Code",tooltip:_i18n2.default.get("Code"),state:"code"})]);this.eventManager.listen("stateChange",function(ev){util.forEach(_this2.buttons,function(button){if(button.state){if(ev[button.state]){button.$el.addClass("active")}else{button.$el.removeClass("active")}}})})};module.exports=Toolbar},function(module,exports){"use strict";var util=tui.util;var _id=0;function UIController(options){options=util.extend({tagName:"div"},options||{});this.tagName=options.tagName;this.className=options.className;this.$el=null;this._initID();this.setRootElement(options.rootElement)}UIController.prototype.on=function(aType,aFn){var self=this;if(util.isObject(aType)){util.forEach(aType,function(fn,type){self._addEvent(type,fn)})}else{this._addEvent(aType,aFn)}};UIController.prototype._addEvent=function(type,fn){var parsedType=this._parseEventType(type),event=parsedType[0],selector=parsedType[1];if(selector){this.$el.on(event,selector,fn)}else{this.$el.on(event,fn)}};UIController.prototype.off=function(type,fn){if(type){var parsedType=this._parseEventType(type);var event=parsedType[0];var selector=parsedType[1];if(selector){this.$el.off(event,selector,fn)}else{this.$el.off(event,fn)}}else{this.$el.off()}};UIController.prototype._parseEventType=function(type){var splitType=type.split(" "),event=splitType.shift(),selector=splitType.join(" ");return[event,selector]};UIController.prototype.attachEvents=function(events){var self=this;var eventlist=events||this.events;var handler=void 0;if(eventlist){util.forEach(eventlist,function(handlerName,type){if(self[handlerName]){type=self.getEventNameWithNamespace(type);handler=util.bind(self[handlerName],self);self.on(type,handler)}else{throw new Error("UIController#attachEvents: "+handlerName+"란 메서드가 없습니다.")}})}};UIController.prototype.detachEvents=function(){this.$el.off(".uicEvent"+this.id)};UIController.prototype.setRootElement=function($el){var className=this.className;var tagName=this.tagName;if(!$el){className=className||"uic"+this.id;$el=$("<"+tagName+' class="'+className+'"/>')}this.$el=$el};UIController.prototype.trigger=function(){var _$el;(_$el=this.$el).trigger.apply(_$el,arguments)};UIController.prototype._initID=function(){this.id=_id;_id+=1};UIController.prototype.getEventNameWithNamespace=function(event){var eventSplited=event.split(" ");eventSplited[0]+=".uicEvent"+this.id;return eventSplited.join(" ")};UIController.prototype.addUIC=function(uic,targetSEL){if(targetSEL){this.$el.find(targetSEL).append(uic.$el)}else{this.$el.append(uic.$el)}};UIController.prototype.remove=function(){this.detachEvents();this.$el.remove()};UIController.prototype.destroy=function(){var self=this;this.remove();this.detachEvents();util.forEachOwnProperties(this,function(value,key){self[key]=null})};UIController.extend=function(props){var newUIC=util.defineClass(this,props);newUIC.extend=UIController.extend;return newUIC};module.exports=UIController},function(module,exports,__webpack_require__){"use strict";var UIController=__webpack_require__(38);var Tooltip=__webpack_require__(40);var util=tui.util;var tooltip=new Tooltip;function Button(options){UIController.call(this,{tagName:"button",className:options.className+" tui-toolbar-icons",rootElement:options.$el});this._setOptions(options);this.render();this.attachEvents({click:"_onClick"});if(options.tooltip){this.attachEvents({mouseover:"_onOver",mouseout:"_onOut"})}}Button.prototype=util.extend({},UIController.prototype);Button.prototype._setOptions=function(options){this.command=options.command;this.event=options.event;this.text=options.text;this.tooltip=options.tooltip;this.style=options.style;this.state=options.state};Button.prototype.render=function(){this.$el.text(this.text);this.$el.attr("type","button");if(this.style){this.$el.attr("style",this.style)}};Button.prototype._onClick=function(){if(this.command){this.trigger("command",this.command)}else{this.trigger("event",this.event)}this.trigger("clicked")};Button.prototype._onOver=function(){tooltip.show(this.$el,this.tooltip)};Button.prototype._onOut=function(){tooltip.hide()};module.exports=Button},function(module,exports){"use strict";var TOOLTIP_CONTENT='
    ';function Tooltip(){this.$el=$(TOOLTIP_CONTENT);this.$el.appendTo("body");this.$el.hide()}Tooltip.prototype.show=function(target,text){this.$el.css({top:target.offset().top+target.height()+13,left:target.offset().left+3}).find(".text").html(text).end().show()};Tooltip.prototype.hide=function(){this.$el.hide()};module.exports=Tooltip},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(38);var _uicontroller2=_interopRequireDefault(_uicontroller);var _templater=__webpack_require__(42);var _templater2=_interopRequireDefault(_templater);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var buttonTmpl='';function Tab(options){_uicontroller2.default.call(this,{tagName:"div",className:"te-tab"});options=util.extend({},options);this.items=options.items;this.sections=options.sections;this._$activeButton=null;this.render();this._initItemClickEvent(options.onItemClick);this._applyInitName(options.initName)}Tab.prototype=util.extend({},_uicontroller2.default.prototype);Tab.prototype.render=function(){var buttonHtml=(0,_templater2.default)(buttonTmpl,this._getButtonData()); -this.$el.html(buttonHtml);this.attachEvents({"click button":"_onButtonClick"})};Tab.prototype._applyInitName=function(initName){if(initName){this.activate(initName)}};Tab.prototype._getButtonData=function(){var buttonData=[];for(var i=0,len=this.items.length;i','','',"
    ",'
    '].join("");function LayerPopup(options){options=util.extend({},options);_uicontroller2.default.call(this,{tagName:"div",className:CLASS_PREFIX+"wrapper",rootElement:options.$el});options=util.extend({},options);this._setId();this._initTarget(options);this._initExternalPopupHtmlIfNeed(options);this._initCloserOpener(options);this._initContent(options);this._initTitle(options);this._initClassName(options);this._initCssStyles(options)}LayerPopup.prototype=util.extend({},_uicontroller2.default.prototype);LayerPopup.prototype._initTarget=function(options){this.$target=options.$target||$("body")};LayerPopup.prototype._initExternalPopupHtmlIfNeed=function(options){if(options.$el){this.$el=options.$el;this._isExternalHtmlUse=true}};LayerPopup.prototype._initCloserOpener=function(options){this.openerCssQuery=options.openerCssQuery;this.closerCssQuery=options.closerCssQuery};LayerPopup.prototype._initContent=function(options){if(options.content){this.$content=$(options.content)}else if(options.textContent){this.$content=options.textContent}};LayerPopup.prototype._initTitle=function(options){this.title=options.title};LayerPopup.prototype._initClassName=function(options){if(options.className){this.className=options.className}};LayerPopup.prototype.render=function(){this._renderLayout();this._renderTitle();this._renderContent();this._attachPopupEvent()};LayerPopup.prototype._renderLayout=function(){if(!this._isExternalHtmlUse){this.$el.html(LAYOUT_TEMPLATE);this.$el.addClass(this.className);this.hide();this.$target.append(this.$el);this.$body=this.$el.find(this._getFullClassName("body"));if(this.title===false){this.$el.find(this._getFullClassName("header")).remove()}}else{this.hide();if(this.$target){this.$target.append(this.$el)}}};LayerPopup.prototype._renderContent=function(){if(!this._isExternalHtmlUse){this.setContent(this.$content)}};LayerPopup.prototype._renderTitle=function(){if(!this._isExternalHtmlUse&&this.title!==false){this.setTitle(this.title)}};LayerPopup.prototype._getFullClassName=function(lastName){return"."+CLASS_PREFIX+lastName};LayerPopup.prototype._attachOpenerCloserEvent=function(){var self=this;if(this.openerCssQuery){$(this.openerCssQuery).on("click."+this._getId(),function(){self.show()})}if(this.closerCssQuery){$(this.closerCssQuery).on("click."+this._getId(),function(){self.hide()})}};LayerPopup.prototype._detachOpenerCloserEvent=function(){if(this.openerCssQuery){$(this.openerCssQuery).off("."+this._getId())}if(this.closerCssQuery){$(this.closerCssQuery).off("."+this._getId())}};LayerPopup.prototype._attachPopupControlEvent=function(){var self=this;this.on("click "+this._getFullClassName("close-button"),function(){self.hide()})};LayerPopup.prototype._detachPopupEvent=function(){this.off();this._detachOpenerCloserEvent()};LayerPopup.prototype._attachPopupEvent=function(){this._attachPopupControlEvent();this._attachOpenerCloserEvent()};LayerPopup.prototype._setId=function(){this._id=_id;_id+=1};LayerPopup.prototype._getId=function(){return this._id};LayerPopup.prototype.setContent=function($content){this.$body.empty();this.$body.append($content)};LayerPopup.prototype.setTitle=function(title){var $title=this.$el.find(this._getFullClassName("title"));$title.empty();$title.append(title)};LayerPopup.prototype.hide=function(){this.$el.css("display","none");this._isShow=false;this.trigger("hidden",this)};LayerPopup.prototype.show=function(){this.$el.css("display","block");this._isShow=true;this.trigger("shown",this)};LayerPopup.prototype.isShow=function(){return this._isShow};LayerPopup.prototype.remove=function(){this.trigger("remove",this);this._detachPopupEvent();this.$el.empty();this.$el.remove()};LayerPopup.prototype.css=function(){var _$el;(_$el=this.$el).css.apply(_$el,arguments)};LayerPopup.prototype._initCssStyles=function(options){if(options.css){this.css(options.css)}};LayerPopup.factory=function(options){var popup=new LayerPopup(options);popup.render();return popup};LayerPopup.CLASS_PREFIX=CLASS_PREFIX;module.exports=LayerPopup},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(38);var _uicontroller2=_interopRequireDefault(_uicontroller);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var TYPE={MARKDOWN:"markdown",WYSIWYG:"wysiwyg"};function ModeSwitch(initialType){_uicontroller2.default.call(this,{tagName:"div",className:"te-mode-switch"});this._render();this._switchType(util.isExisty(initialType)?initialType:TYPE.MARKDOWN)}ModeSwitch.prototype=util.extend({},_uicontroller2.default.prototype);ModeSwitch.prototype._render=function(){this.$buttons={};this.$buttons.markdown=$('");this.$buttons.wysiwyg=$('");this.$el.append(this.$buttons.markdown);this.$el.append(this.$buttons.wysiwyg);this.attachEvents({"click .markdown":"_changeMarkdown","click .wysiwyg":"_changeWysiwyg"})};ModeSwitch.prototype._changeMarkdown=function(){this._switchType(TYPE.MARKDOWN)};ModeSwitch.prototype._changeWysiwyg=function(){this._switchType(TYPE.WYSIWYG)};ModeSwitch.prototype._setActiveButton=function(type){util.forEach(this.$buttons,function($button){$button.removeClass("active")});this.$buttons[type].addClass("active")};ModeSwitch.prototype._switchType=function(type){if(this.type===type){return}this.type=type;this._setActiveButton(type);this.trigger("modeSwitched",this.type)};ModeSwitch.TYPE=TYPE;module.exports=ModeSwitch},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(43);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddLink(options){var POPUP_CONTENT=['",'','",'','
    ','",'","
    "].join("");options=util.extend({title:_i18n2.default.get("Insert link"),className:"te-popup-add-link tui-editor-popup",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.render();this._bindContentEvent();this._linkWithEventManager(options.eventManager)}PopupAddLink.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddLink.prototype._bindContentEvent=function(){var self=this;this.on("click .te-ok-button",function(){self.trigger("okButtonClicked",self);self.hide()});this.on("click .te-close-button",function(){self.trigger("closeButtonClicked",self);self.hide()});this.on("shown",function(){self.$el.find(".te-link-text-input").focus()});this.on("hidden",function(){self.resetInputs()})};PopupAddLink.prototype._linkWithEventManager=function(eventManager){var self=this;eventManager.listen("focus",function(){self.hide()});eventManager.listen("openPopupAddLink",function(){eventManager.emit("closeAllPopup");self.show()});eventManager.listen("closeAllPopup",function(){self.hide()});this.on("okButtonClicked",function(){eventManager.emit("command","AddLink",self.getValue())})};PopupAddLink.prototype.getValue=function(){return{linkText:this.$el.find(".te-link-text-input").val(),url:this.$el.find(".te-url-input").val().replace(/\(/g,"%28").replace(/\)/g,"%29")}};PopupAddLink.prototype.resetInputs=function(){this.$el.find("input").val("")};module.exports=PopupAddLink},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(43);var _layerpopup2=_interopRequireDefault(_layerpopup);var _tab=__webpack_require__(41);var _tab2=_interopRequireDefault(_tab);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddImage(options){var POPUP_CONTENT=['
    ','
    ','",'',"
    ",'
    ','",'',"
    ",'",'','
    ','",'","
    "].join("");options=util.extend({title:_i18n2.default.get("Insert image"),className:"te-popup-add-image tui-editor-popup",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.render();this._bindContentEvent();this._linkWithEventManager();this._initApplyImageBindContext()}PopupAddImage.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddImage.prototype._bindContentEvent=function(){var self=this;this.on("click .te-ok-button",function(){self.trigger("okButtonClicked",self);self.hide()});this.on("click .te-close-button",function(){self.trigger("closeButtonClicked",self);self.hide()});this.on("shown",function(){self.$el.find(".te-image-url-input").focus()});this.on("hidden",function(){self.resetInputs()});this.tab.on("itemClick",function(){self.resetInputs()});this.on("change .te-image-file-input",function(){var filename=self.$el.find(".te-image-file-input").val().split("\\").pop();self.$el.find(".te-alt-text-input").val(filename)})};PopupAddImage.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("openPopupAddImage",function(){self.eventManager.emit("closeAllPopup");self.show()});this.eventManager.listen("closeAllPopup",function(){self.hide()});this.on("okButtonClicked",function(){if(self._isUrlType()){self.applyImage()}else{self._preAltValue=self.$el.find(".te-alt-text-input").val();self.eventManager.emit("addImageBlobHook",self.$el.find(".te-image-file-input")[0].files[0],self.applyImage)}})};PopupAddImage.prototype._initApplyImageBindContext=function(){var self=this;this.applyImage=function(url){var info=void 0;if(url){info=self._getImageInfoWithGivenUrl(url)}else{info=self._getImageInfo()}self.eventManager.emit("command","AddImage",info);self.hide()}};PopupAddImage.prototype._isUrlType=function(){return!!this.$el.find(".te-image-url-input").val()};PopupAddImage.prototype._renderContent=function(){var $popup=this.$el;_layerpopup2.default.prototype._renderContent.call(this);this.tab=new _tab2.default({initName:_i18n2.default.get("File"),items:[_i18n2.default.get("File"),_i18n2.default.get("URL")],sections:[$popup.find(".te-file-type"),$popup.find(".te-url-type")]});this.$body.find(".te-tab-section").append(this.tab.$el)};PopupAddImage.prototype._getImageInfoWithGivenUrl=function(imageUrl){var altText=this._preAltValue;this._preAltValue="";return this._makeImageInfo(imageUrl,altText)};PopupAddImage.prototype._getImageInfo=function(){var imageUrl=this.$el.find(".te-image-url-input").val(),altText=this.$el.find(".te-alt-text-input").val();return this._makeImageInfo(imageUrl,altText)};PopupAddImage.prototype._makeImageInfo=function(url,alt){return{imageUrl:url,altText:alt}};PopupAddImage.prototype._getImageFileForm=function(){return this.$el.find("form")};PopupAddImage.prototype.resetInputs=function(){this.$el.find("input").val("")};module.exports=PopupAddImage},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(43);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupTableUtils(options){var POPUP_CONTENT=['",'",'",'",'",'",'",'"].join("");options=util.extend({title:false,className:"te-popup-table-utils",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.render();this._bindContentEvent();this._linkWithEventManager()}PopupTableUtils.prototype=util.extend({},_layerpopup2.default.prototype);PopupTableUtils.prototype._bindContentEvent=function(){var self=this;this.on("click .te-table-add-row",function(){self.eventManager.emit("command","AddRow")});this.on("click .te-table-add-col",function(){self.eventManager.emit("command","AddCol")});this.on("click .te-table-remove-row",function(){self.eventManager.emit("command","RemoveRow")});this.on("click .te-table-col-align-left",function(){self.eventManager.emit("command","AlignCol","left")});this.on("click .te-table-col-align-center",function(){self.eventManager.emit("command","AlignCol","center")});this.on("click .te-table-col-align-right",function(){self.eventManager.emit("command","AlignCol","right")});this.on("click .te-table-remove-col",function(){self.eventManager.emit("command","RemoveCol")});this.on("click .te-table-remove",function(){self.eventManager.emit("command","RemoveTable")})};PopupTableUtils.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("mousedown",function(){self.hide()});this.eventManager.listen("openPopupTableUtils",function(event){var offset=self.$el.parent().offset();var x=event.clientX-offset.left;var y=event.clientY-offset.top+$(window).scrollTop();self.eventManager.emit("closeAllPopup");self.$el.css({position:"absolute",top:y+5,left:x+10});self.show()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};module.exports=PopupTableUtils},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(43);var _layerpopup2=_interopRequireDefault(_layerpopup);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var POPUP_CONTENT=['
    ','
    ','
    ','
    ',"
    ",'

    '].join("");var CELL_WIDTH=25,CELL_HEIGHT=17,MIN_ROW_INDEX=7,MAX_ROW_INDEX=14,MIN_COL_INDEX=5,MAX_COL_INDEX=9,MIN_ROW_SELECTION_INDEX=1,MIN_COL_SELECTION_INDEX=1,HEADER_ROW_COUNT=1,LAST_BORDER=1;function PopupAddTable(options){options=util.extend({title:false,className:"te-popup-add-table",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this._selectedBound={};this._tableBound={};this.eventManager=options.eventManager;this.$button=options.$button;this.render();this._cacheElements();this._bindContentEvent();this._linkWithEventManager();this._setTableSizeByBound(MIN_COL_INDEX,MIN_ROW_INDEX)}PopupAddTable.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddTable.prototype._cacheElements=function(){this.$header=this.$el.find(".te-table-header");this.$body=this.$el.find(".te-table-body");this.$selection=this.$el.find(".te-selection-area");this.$desc=this.$el.find(".te-description")};PopupAddTable.prototype._bindContentEvent=function(){var self=this;this.on("mousemove .te-table-selection",function(ev){var x=ev.pageX-self._selectionOffset.left;var y=ev.pageY-self._selectionOffset.top;var bound=self._getSelectionBoundByOffset(x,y);self._resizeTableBySelectionIfNeed(bound.col,bound.row);self._setSelectionAreaByBound(bound.col,bound.row);self._setDisplayText(bound.col,bound.row);self._setSelectedBound(bound.col,bound.row)});this.on("click .te-table-selection",function(){var tableSize=self._getSelectedTableSize();self.eventManager.emit("command","Table",tableSize.col,tableSize.row)})};PopupAddTable.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("openPopupAddTable",function(){self.eventManager.emit("closeAllPopup");self.$el.css({top:self.$button.position().top+self.$button.height()+5,left:self.$button.position().left});self.show();self._selectionOffset=self.$el.find(".te-table-selection").offset()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};PopupAddTable.prototype._resizeTableBySelectionIfNeed=function(col,row){var resizedBound=this._getResizedTableBound(col,row);if(resizedBound){this._setTableSizeByBound(resizedBound.col,resizedBound.row)}};PopupAddTable.prototype._getResizedTableBound=function(col,row){var resizedCol=void 0,resizedRow=void 0,resizedBound=void 0;if(col>=MIN_COL_INDEX&&col=MIN_ROW_INDEX&&rowthis._tableBound.row){bound.row=this._tableBound.row}if(bound.colthis._tableBound.col){bound.col=this._tableBound.col}return bound};PopupAddTable.prototype._setSelectionAreaByBound=function(col,row){var boundOffset=this._getOffsetByBound(col,row);this._setSelectionArea(boundOffset.x,boundOffset.y)};PopupAddTable.prototype._setSelectedBound=function(col,row){this._selectedBound.col=col;this._selectedBound.row=row};PopupAddTable.prototype._getSelectedTableSize=function(){return{row:this._selectedBound.row+1,col:this._selectedBound.col+1}};PopupAddTable.prototype._setDisplayText=function(col,row){this.$desc.html(col+1+" x "+(row+1))};PopupAddTable.prototype._setTableSize=function(x,y){x+=LAST_BORDER;y+=LAST_BORDER;this.$header.css({height:CELL_HEIGHT,width:x});this.$body.css({height:y,width:x});this.$el.css({width:x+30})};PopupAddTable.prototype._setSelectionArea=function(x,y){x+=LAST_BORDER;y+=LAST_BORDER;this.$selection.css({height:y,width:x})};PopupAddTable.CELL_WIDTH=CELL_WIDTH;PopupAddTable.CELL_HEIGHT=CELL_HEIGHT;PopupAddTable.MIN_ROW_SELECTION_INDEX=MIN_ROW_SELECTION_INDEX;PopupAddTable.MIN_COL_SELECTION_INDEX=MIN_COL_SELECTION_INDEX;module.exports=PopupAddTable},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(43);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddHeading(options){var POPUP_CONTENT=["
      ",'
    • '+_i18n2.default.get("Heading")+" 1

    • ",'
    • '+_i18n2.default.get("Heading")+" 2

    • ",'
    • '+_i18n2.default.get("Heading")+" 3

    • ",'
    • '+_i18n2.default.get("Heading")+" 4

    • ",'
    • '+_i18n2.default.get("Heading")+" 5
    • ",'
    • '+_i18n2.default.get("Heading")+" 6
    • ","
    "].join("");options=util.extend({title:false,className:"te-heading-add",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.$button=options.$button;this.render();this._linkWithEventManager();this._bindEvent()}PopupAddHeading.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddHeading.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("openHeadingSelect",function(){self.eventManager.emit("closeAllPopup");self.$el.css({top:self.$button.position().top+self.$button.height()+5,left:self.$button.position().left});self.show()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};PopupAddHeading.prototype._bindEvent=function(){var self=this;this.on("click li",function(){self.eventManager.emit("command","Heading",$(this).data("value"))})};module.exports=PopupAddHeading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var boldRegex=/^[\*_]{2,}[^\*_]*[\*_]{2,}$/;var Bold=_commandManager2.default.command("markdown",{name:"Bold",keyMap:["CTRL+B","META+B"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isEmpty=!selection;if(isEmpty&&cursor.ch>1){var tmpSelection=this.expendSelection(doc,cursor);selection=tmpSelection||selection}var isRemoved=this.isNeedRemove(selection);var result=isRemoved?this.remove(selection):this.append(selection);doc.replaceSelection(result,"around");if(isEmpty&&!isRemoved){this.setCursorToCenter(doc,cursor)}cm.focus()},isNeedRemove:function isNeedRemove(text){return boldRegex.test(text)},append:function append(text){return"**"+text+"**"},remove:function remove(text){return text.substr(2,text.length-4)},expendSelection:function expendSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){result=tmpSelection}else{doc.setSelection(cursor)}return result},setCursorToCenter:function setCursorToCenter(doc,cursor){doc.setCursor(cursor.line,cursor.ch+2)}});module.exports=Bold},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var boldItalicRegex=/^[\*_]{3,}[^\*_]*[\*_]{3,}$/;var italicRegex=/^[\*_][^\*_]*[\*_]$/;var Italic=_commandManager2.default.command("markdown",{name:"Italic",keyMap:["CTRL+I","META+I"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isEmpty=!selection;var isWithBold=false;var tmpSelection=void 0;if(isEmpty){if(cursor.ch>2){tmpSelection=this.expendWithBoldSelection(doc,cursor);if(tmpSelection){isWithBold="with"}}if(isWithBold!=="with"&&cursor.ch>1){isWithBold=this.expendOnlyBoldSelection(doc,cursor)}if(!isWithBold&&cursor.ch>0){this.expendSelection(doc,cursor);selection=tmpSelection||selection}}var isRemoved=this.isNeedRemove(selection);var result=isRemoved?this.remove(selection):this.append(selection);doc.replaceSelection(result,"around");if(isEmpty){this.setCursorToCenter(doc,cursor,isRemoved)}cm.focus()},isNeedRemove:function isNeedRemove(text){return italicRegex.test(text)||boldItalicRegex.test(text)},append:function append(text){return"_"+text+"_"},remove:function remove(text){return text.substr(1,text.length-2)},expendWithBoldSelection:function expendWithBoldSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-3};var end={line:cursor.line,ch:cursor.ch+3};doc.setSelection(start,end);if(tmpSelection==="******"||tmpSelection==="______"){result=tmpSelection}else{doc.setSelection(cursor)}return result},expendOnlyBoldSelection:function expendOnlyBoldSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=false;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){doc.setSelection(cursor);result="only"}return result},expendSelection:function expendSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){result=tmpSelection}else{doc.setSelection(cursor)}return result},setCursorToCenter:function setCursorToCenter(doc,cursor,isRemoved){var pos=isRemoved?-1:1;doc.setCursor(cursor.line,cursor.ch+pos)}});module.exports=Italic},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var strikeRegex=/^[~~](.*[\s\n]*.*)*[~~]$/;var Strike=_commandManager2.default.command("markdown",{name:"Strike",keyMap:["CTRL+S","META+S"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isNeedToRemove=this.hasStrikeSyntax(selection);var result=void 0;if(isNeedToRemove){result=this.remove(selection)}else{result=this.append(selection)}doc.replaceSelection(result,"around");var isEmptySelection=!selection;if(isEmptySelection&&!isNeedToRemove){this.setCursorToCenter(doc,cursor,isNeedToRemove)}cm.focus()},hasStrikeSyntax:function hasStrikeSyntax(text){return strikeRegex.test(text)},append:function append(text){return"~~"+text+"~~"},remove:function remove(text){return text.substr(2,text.length-4)},setCursorToCenter:function setCursorToCenter(doc,cursor,isRemoved){var pos=isRemoved?-2:2;doc.setCursor(cursor.line,cursor.ch+pos)}});module.exports=Strike},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Blockquote=_commandManager2.default.command("markdown",{name:"Blockquote",keyMap:["CTRL+Q","META+Q"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var textToModify=doc.getRange(from,to);var textLinesToModify=textToModify.split("\n");var lineLength=textLinesToModify.length;for(var i=0;i"+textLinesToModify[i]}doc.replaceRange(textLinesToModify.join("\n"),from,to);range.to.ch+=1;doc.setCursor(range.to);cm.focus()}});module.exports=Blockquote},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var Heading=_commandManager2.default.command("markdown",{name:"Heading",exec:function exec(mde,size){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var lengthOfCurrentLineBefore=doc.getLine(to.line).length;var textToModify=doc.getRange(from,to);var textLinesToModify=textToModify.split("\n");util.forEachArray(textLinesToModify,function(line,index){textLinesToModify[index]=getHeadingMarkdown(line,size)});doc.replaceRange(textLinesToModify.join("\n"),from,to);range.to.ch+=doc.getLine(to.line).length-lengthOfCurrentLineBefore;doc.setCursor(range.to);cm.focus()}});var FIND_HEADING_RX=/^#+\s/g;function getHeadingMarkdown(text,size){var foundedHeading=text.match(FIND_HEADING_RX);var heading="";do{heading+="#";size-=1}while(size>0);if(foundedHeading){text=text.split(foundedHeading[0])[1]}return heading+" "+text}module.exports=Heading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager); -function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HR=_commandManager2.default.command("markdown",{name:"HR",keyMap:["CTRL+L","META+L"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var replaceText="";var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};if(range.collapsed){replaceText=doc.getLine(from.line);from.ch=0;to.ch=doc.getLineHandle(range.to.line).text.length}if(doc.getLine(from.line).length){replaceText+="\n\n* * *\n\n"}else{replaceText+="\n* * *\n"}doc.replaceRange(replaceText,from,to);cm.focus()}});module.exports=HR},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddLink=_commandManager2.default.command("markdown",{name:"AddLink",exec:function exec(mde,data){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};var replaceText="["+data.linkText+"]("+data.url+")";doc.replaceRange(replaceText,from,to);cm.focus()}});module.exports=AddLink},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddImage=_commandManager2.default.command("markdown",{name:"AddImage",exec:function exec(mde,data){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};var replaceText="!["+data.altText+"]("+data.imageUrl+")";doc.replaceRange(replaceText,from,to,"+addImage");cm.focus()}});module.exports=AddImage},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var FIND_MD_OL_RX=/^[ \t]*[\d]+\. .*/;var FIND_MD_UL_RX=/^[ \t]*\* .*/;var UL=_commandManager2.default.command("markdown",{name:"UL",keyMap:["CTRL+U","META+U"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var line=doc.getLine(from.line);var to=void 0;if(line.match(FIND_MD_OL_RX)){line=line.replace(/[\d]+\. /,"* ");to={line:from.line,ch:line.length+1};doc.replaceRange(line,from,to)}else if(!line.match(FIND_MD_UL_RX)){doc.replaceRange("* ",from)}cm.focus()}});module.exports=UL},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var FIND_MD_OL_RX=/^[ \t]*[\d]+\. .*/;var FIND_MD_UL_RX=/^[ \t]*\* .*/;var OL=_commandManager2.default.command("markdown",{name:"OL",keyMap:["CTRL+O","META+O"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var line=doc.getLine(from.line);var to=void 0;if(line.match(FIND_MD_UL_RX)){line=line.replace(/\* /,"1. ");to={line:from.line,ch:line.length-1};doc.replaceRange(line,from,to)}else if(!line.match(FIND_MD_OL_RX)){doc.replaceRange("1. ",from)}cm.focus()}});module.exports=OL},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Table=_commandManager2.default.command("markdown",{name:"Table",exec:function exec(mde,col,row,data){var cm=mde.getEditor();var doc=cm.getDoc();var table="\n";if(cm.getCursor().ch>0){table+="\n"}table+=makeHeader(col,data);table+=makeBody(col,row-1,data);doc.replaceSelection(table);if(!data){cm.setCursor(cm.getCursor().line-row,2)}mde.focus()}});function makeHeader(col,data){var header="|";var border="|";var index=0;while(col){if(data){header+=" "+data[index]+" |";index+=1}else{header+=" |"}border+=" --- |";col-=1}return header+"\n"+border+"\n"}function makeBody(col,row,data){var body="";var index=col;for(var irow=0;irow';tableHTMLString+=makeHeader(col,data);tableHTMLString+=makeBody(col,row-1,data);tableHTMLString+="";sq.insertHTML(tableHTMLString);sq.focus();if(!data){focusToFirstTh(sq,wwe.get$Body().find("."+tableIDClassName))}}});function focusToFirstTh(sq,$table){var range=sq.getSelection();range.selectNodeContents($table.find("th")[0]);range.collapse(true);sq.setSelection(range)}function makeHeader(col,data){var header="";var index=0;while(col){header+="";if(data){header+=data[index];index+=1}header+="";col-=1}header+="";return header}function makeBody(col,row,data){var body="";var index=col;for(var irow=0;irow";for(var icol=0;icol";if(data){body+=data[index];index+=1}body+=""}body+=""}body+="";return body}module.exports=Table},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddRow=_commandManager2.default.command("wysiwyg",{name:"AddRow",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $tr=void 0,$newRow=void 0;sq.focus();if(sq.hasFormat("TD")){sq.saveUndoState(range);$tr=$(range.startContainer).closest("tr");$newRow=getNewRow($tr);$newRow.insertAfter($tr);focusToFirstTd(sq,$newRow)}else if(sq.hasFormat("TH")){sq.saveUndoState(range);$tr=$(range.startContainer).parents("thead").next("tbody").children("tr").eq(0);$newRow=getNewRow($tr);$newRow.insertBefore($tr);focusToFirstTd(sq,$newRow)}}});function getNewRow($tr){var cloned=$tr.clone();var htmlString=tui.util.browser.msie?"":"
    ";cloned.find("td").html(htmlString);return cloned}function focusToFirstTd(sq,$tr){var range=sq.getSelection();range.selectNodeContents($tr.find("td")[0]);range.collapse(true);sq.setSelection(range)}module.exports=AddRow},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(8);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddCol=_commandManager2.default.command("wysiwyg",{name:"AddCol",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $cell=void 0;sq.focus();if(sq.hasFormat("TR")){sq.saveUndoState(range);$cell=getCellByRange(range);addColToCellAfter($cell);focusToNextCell(sq,$cell)}}});function getCellByRange(range){var cell=range.startContainer;if(_domUtils2.default.getNodeName(cell)==="TD"||_domUtils2.default.getNodeName(cell)==="TH"){cell=$(cell)}else{cell=$(cell).parentsUntil("tr")}return cell}function addColToCellAfter($cell){var index=$cell.index();var cellToAdd=void 0;$cell.parents("table").find("tr").each(function(n,tr){if(_domUtils2.default.getNodeName(tr.parentNode)==="TBODY"){cellToAdd=$("")}else{cellToAdd=$("")}if(!tui.util.browser.msie){cellToAdd.append($("
    ")[0])}$(cellToAdd).insertAfter($(tr).children().eq(index))})}function focusToNextCell(sq,$cell){var range=sq.getSelection();range.selectNodeContents($cell.next()[0]);range.collapse(true);sq.setSelection(range)}module.exports=AddCol},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(8);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var RemoveRow=_commandManager2.default.command("wysiwyg",{name:"RemoveRow",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $table=$(range.startContainer).parents("table");var selectionMgr=wwe.getManager("tableSelection");var tableMgr=wwe.getManager("table");var $tr=getTrs(range,selectionMgr,$table);var tbodyRowLength=$table.find("tbody tr").length;sq.focus();if((sq.hasFormat("TD")||sq.hasFormat("TABLE"))&&tbodyRowLength>1){sq.saveUndoState(range);var $nextFocus=$tr.last().next()[0]?$tr.last().next():$tr.first().prev();if($nextFocus.length){focusToFirstTd(sq,range,$nextFocus,tableMgr)}$tr.remove()}selectionMgr.removeClassAttrbuteFromAllCellsIfNeed()}});function focusToFirstTd(sq,range,$tr,tableMgr){var nextFocusCell=$tr.find("td")[0];range.setStart(nextFocusCell,0);range.collapse(true);tableMgr.setLastCellNode(nextFocusCell);sq.setSelection(range)}function getSelectedRows(firstSelectedCell,rangeInformation,$table){var tbodyRowLength=$table.find("tbody tr").length;var isStartContainerInThead=$(firstSelectedCell).parents("thead").length;var startRowIndex=rangeInformation.from.row;var endRowIndex=rangeInformation.to.row;if(isStartContainerInThead){startRowIndex+=1}var isWholeTbodySelected=(startRowIndex===1||isStartContainerInThead)&&endRowIndex===tbodyRowLength;if(isWholeTbodySelected){endRowIndex-=1}return $table.find("tr").slice(startRowIndex,endRowIndex+1)}function getTrs(range,selectionMgr,$table){var selectedCells=selectionMgr.getSelectedCells();var rangeInformation=void 0,trs=void 0,startCell=void 0,endCell=void 0;if(selectedCells.length){rangeInformation=selectionMgr.getSelectionRangeFromTable(selectedCells.first()[0],selectedCells.last()[0]);trs=getSelectedRows(selectedCells.first()[0],rangeInformation,$table)}else{var startContainer=range.startContainer;var endContainer=range.endContainer;startCell=_domUtils2.default.isTextNode(startContainer)?$(startContainer).parent("td,th")[0]:startContainer;endCell=_domUtils2.default.isTextNode(endContainer)?$(endContainer).parent("td,th")[0]:endContainer;rangeInformation=selectionMgr.getSelectionRangeFromTable(startCell,endCell);trs=getSelectedRows(startCell,rangeInformation,$table)}return trs}module.exports=RemoveRow},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(8);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var RemoveCol=_commandManager2.default.command("wysiwyg",{name:"RemoveCol",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var tableMgr=wwe.getManager("table");var isAbleToRemoveColumn=$(range.startContainer).closest("table").find("thead tr th").length>1;sq.focus();if(sq.hasFormat("TR")&&isAbleToRemoveColumn){sq.saveUndoState(range);var $cell=getCellByRange(range);var $nextFocus=$cell.next().length?$cell.next():$cell.prev();removeColByCell($cell);focusToCell(sq,$nextFocus,tableMgr)}}});function getCellByRange(range){var cell=range.startContainer;if(_domUtils2.default.getNodeName(cell)==="TD"||_domUtils2.default.getNodeName(cell)==="TH"){cell=$(cell)}else{cell=$(cell).parentsUntil("tr")}return cell}function removeColByCell($cell){var index=$cell.index();$cell.parents("table").find("tr").each(function(n,tr){$(tr).children().eq(index).remove()})}function focusToCell(sq,$cell,tableMgr){var nextFocusCell=$cell[0];if($cell.length){var range=sq.getSelection();range.selectNodeContents($cell[0]);range.collapse(true);sq.setSelection(range);tableMgr.setLastCellNode(nextFocusCell)}}module.exports=RemoveCol},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(8);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AlignCol=_commandManager2.default.command("wysiwyg",{name:"AlignCol",exec:function exec(wwe,alignDirection){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var selectionMgr=wwe.getManager("tableSelection");var rangeInformation=getRangeInformation(range,selectionMgr);sq.focus();if(sq.hasFormat("TR")){sq.saveUndoState(range);var $table=$(range.startContainer).parents("table");var selectionInformation=getSelectionInformation($table,rangeInformation);setAlignAttributeToTableCells($table,alignDirection,selectionInformation)}selectionMgr.removeClassAttrbuteFromAllCellsIfNeed()}});function setAlignAttributeToTableCells($table,alignDirection,selectionInformation){var isDivided=selectionInformation.isDivided||false;var start=selectionInformation.startColumnIndex;var end=selectionInformation.endColumnIndex;var columnLength=$table.find("tr").eq(0).find("td,th").length;$table.find("tr").each(function(n,tr){$(tr).children("td,th").each(function(index,cell){if(isDivided&&(start<=index&&index<=columnLength||index<=end)){$(cell).attr("align",alignDirection)}else if(start<=index&&index<=end){$(cell).attr("align",alignDirection)}})})}function getSelectionInformation($table,rangeInformation){var columnLength=$table.find("tr").eq(0).find("td,th").length;var from=rangeInformation.from;var to=rangeInformation.to;var startColumnIndex=void 0,endColumnIndex=void 0,isDivided=void 0;if(from.row===to.row){startColumnIndex=from.cell;endColumnIndex=to.cell}else if(from.row"+codeBlockBody+"
    ");focusToFirstCode(wwe.get$Body().find("."+CODEBLOCK_CLASS_PREFIX+codeBlockID),wwe);codeBlockID+=1}sq.focus()}});function focusToFirstCode($pre,wwe){var range=wwe.getEditor().getSelection().cloneRange();range.setStartBefore($pre.find("div")[0].firstChild);range.collapse(true);wwe.getEditor().setSelection(range)}function getCodeBlockBody(range,wwe){var mgr=wwe.getManager("codeblock");var contents=void 0,nodes=void 0;if(range.collapsed){nodes=[$("

    ")[0]]}else{contents=range.extractContents();nodes=tui.util.toArray(contents.childNodes)}var codeBlock=mgr.convertToCodeblock(nodes).innerHTML;return codeBlock}module.exports=CodeBlock},function(module,exports){"use strict";CodeMirror.overlayMode=function(base,overlay,combine){return{startState:function startState(){return{base:CodeMirror.startState(base),overlay:CodeMirror.startState(overlay),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function copyState(state){return{base:CodeMirror.copyState(base,state.base),overlay:CodeMirror.copyState(overlay,state.overlay),basePos:state.basePos,baseCur:null,overlayPos:state.overlayPos,overlayCur:null}},token:function token(stream,state){if(stream!=state.streamSeen||Math.min(state.basePos,state.overlayPos)` "'(~]+/,fencedCodeRE=new RegExp("^("+(modeCfg.fencedCodeBlocks===true?"~~~+|```+":modeCfg.fencedCodeBlocks)+")[ \\t]*([\\w+#]*)");function switchInline(stream,state,f){state.f=state.inline=f;return f(stream,state)}function switchBlock(stream,state,f){state.f=state.block=f;return f(stream,state)}function lineIsEmpty(line){return!line||!/\S/.test(line.string)}function blankLine(state){state.linkTitle=false;state.em=false;state.strong=false;state.strikethrough=false;state.quote=0;state.indentedCode=false;if(!htmlFound&&state.f==htmlBlock){state.f=inlineNormal;state.block=blockNormal}state.trailingSpace=0;state.trailingSpaceNewLine=false;state.prevLine=state.thisLine;state.thisLine=null;return null}function blockNormal(stream,state){var sol=stream.sol();var prevLineIsList=state.list!==false,prevLineIsIndentedCode=state.indentedCode;state.indentedCode=false;if(prevLineIsList){if(state.indentationDiff>=0){if(state.indentationDiff<4){state.indentation-=state.indentationDiff}state.list=null}if(state.indentation>0){state.list=null;state.listDepth=Math.floor(state.indentation/4)+1}else{state.list=false;state.listDepth=0}}var match=null;if(state.indentationDiff>=4){stream.skipToEnd();if(prevLineIsIndentedCode||lineIsEmpty(state.prevLine)){state.indentation-=4;state.indentedCode=true;return code}else{return null}}else if(stream.eatSpace()){return null}else if((match=stream.match(atxHeaderRE))&&match[1].length<=6){state.header=match[1].length;if(modeCfg.highlightFormatting)state.formatting="header";state.f=state.inline;return getType(state)}else if(!lineIsEmpty(state.prevLine)&&!state.quote&&!prevLineIsList&&!prevLineIsIndentedCode&&(match=stream.match(setextHeaderRE))){state.header=match[0].charAt(0)=="="?1:2;if(modeCfg.highlightFormatting)state.formatting="header";state.f=state.inline;return getType(state)}else if(stream.eat(">")){state.quote=sol?1:state.quote+1;if(modeCfg.highlightFormatting)state.formatting="quote";stream.eatSpace();return getType(state)}else if(stream.peek()==="["){return switchInline(stream,state,footnoteLink)}else if(stream.match(hrRE,true)){state.hr=true;return hr}else if((lineIsEmpty(state.prevLine)||prevLineIsList)&&(stream.match(ulRE,false)||stream.match(olRE,false))){var listType=null;if(stream.match(ulRE,true)){listType="ul"}else{stream.match(olRE,true);listType="ol"}state.indentation=stream.column()+stream.current().length;state.list=true;state.listDepth++;if(modeCfg.taskLists&&stream.match(taskListRE,false)){state.taskList=true;state.task=true}state.f=state.inline;if(modeCfg.highlightFormatting)state.formatting=["list","list-"+listType];return getType(state)}else if(modeCfg.fencedCodeBlocks&&(match=stream.match(fencedCodeRE,true))){state.fencedChars=match[1];state.localMode=getMode(match[2]);if(state.localMode)state.localState=state.localMode.startState();state.f=state.block=local;if(modeCfg.highlightFormatting)state.formatting="code-block";state.code=true;return getType(state)}return switchInline(stream,state,state.inline)}function htmlBlock(stream,state){var style=htmlMode.token(stream,state.htmlState);if(htmlFound&&state.htmlState.tagStart===null&&!state.htmlState.context&&state.htmlState.tokenize.isInText||state.md_inside&&stream.current().indexOf(">")>-1){state.f=inlineNormal;state.block=blockNormal;state.htmlState=null}return style}function local(stream,state){if(stream.sol()&&state.fencedChars&&stream.match(state.fencedChars,false)){state.localMode=state.localState=null;state.f=state.block=leavingLocal;return null}else if(state.localMode){return state.localMode.token(stream,state.localState)}else{stream.skipToEnd();return code}}function leavingLocal(stream,state){stream.match(state.fencedChars);state.block=blockNormal;state.f=inlineNormal;state.fencedChars=null;if(modeCfg.highlightFormatting)state.formatting="code-block";state.code=true;var returnType=getType(state);state.code=false;return returnType}function getType(state){var styles=[];if(state.formatting){styles.push(formatting);if(typeof state.formatting==="string")state.formatting=[state.formatting];for(var i=0;i=state.quote){styles.push(formatting+"-"+state.formatting[i]+"-"+state.quote)}else{styles.push("error")}}}}if(state.taskOpen){styles.push("meta");return styles.length?styles.join(" "):null}if(state.taskClosed){styles.push("property");return styles.length?styles.join(" "):null}if(state.linkHref){styles.push(linkhref,"url")}else{if(state.strong){styles.push(strong)}if(state.em){styles.push(em)}if(state.strikethrough){styles.push(strikethrough)}if(state.linkText){styles.push(linktext)}if(state.code){styles.push(code)}}if(state.header){styles.push(header);styles.push(header+"-"+state.header)}if(state.quote){styles.push(quote);if(!modeCfg.maxBlockquoteDepth||modeCfg.maxBlockquoteDepth>=state.quote){styles.push(quote+"-"+state.quote)}else{styles.push(quote+"-"+modeCfg.maxBlockquoteDepth)}}if(state.list!==false){var listMod=(state.listDepth-1)%3;if(!listMod){styles.push(list1)}else if(listMod===1){styles.push(list2)}else{styles.push(list3)}}if(state.trailingSpaceNewLine){styles.push("trailing-space-new-line")}else if(state.trailingSpace){styles.push("trailing-space-"+(state.trailingSpace%2?"a":"b"))}return styles.length?styles.join(" "):null}function handleText(stream,state){if(stream.match(textRE,true)){return getType(state)}return undefined}function inlineNormal(stream,state){var style=state.text(stream,state);if(typeof style!=="undefined")return style;if(state.list){state.list=null;return getType(state)}if(state.taskList){var taskOpen=stream.match(taskListRE,true)[1]!=="x";if(taskOpen)state.taskOpen=true;else state.taskClosed=true;if(modeCfg.highlightFormatting)state.formatting="task";state.taskList=false;return getType(state)}state.taskOpen=false;state.taskClosed=false;if(state.header&&stream.match(/^#+$/,true)){if(modeCfg.highlightFormatting)state.formatting="header";return getType(state)}var sol=stream.sol();var ch=stream.next();if(ch==="\\"){stream.next();if(modeCfg.highlightFormatting){var type=getType(state);return type?type+" formatting-escape":"formatting-escape"}}if(state.linkTitle){state.linkTitle=false;var matchCh=ch;if(ch==="("){matchCh=")"}matchCh=(matchCh+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");var regex="^\\s*(?:[^"+matchCh+"\\\\]+|\\\\\\\\|\\\\.)"+matchCh;if(stream.match(new RegExp(regex),true)){return linkhref}}if(ch==="`"){var previousFormatting=state.formatting;if(modeCfg.highlightFormatting)state.formatting="code";var t=getType(state);var before=stream.pos;stream.eatWhile("`");var difference=1+stream.pos-before;if(!state.code){codeDepth=difference;state.code=true;return getType(state)}else{if(difference===codeDepth){state.code=false;return t}state.formatting=previousFormatting;return getType(state)}}else if(state.code){return getType(state)}if(ch==="!"&&stream.match(/\[[^\]]*\] ?(?:\(|\[)/,false)){stream.match(/\[[^\]]*\]/);return image}if(ch==="["&&stream.match(/.*\](\(.*\)| ?\[.*\])/,false)){state.linkText=true;if(modeCfg.highlightFormatting)state.formatting="link";return getType(state)}if(ch==="]"&&state.linkText&&stream.match(/\(.*\)| ?\[.*\]/,false)){if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);state.linkText=false;state.inline=state.f=linkHref;return type}if(ch==="<"&&stream.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,false)){state.f=state.inline=linkInline;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkinline}if(ch==="<"&&stream.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,false)){state.f=state.inline=linkInline;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkemail}var ignoreUnderscore=false;if(!modeCfg.underscoresBreakWords){if(ch==="_"&&stream.peek()!=="_"&&stream.match(/(\w)/,false)){var prevPos=stream.pos-2;if(prevPos>=0){var prevCh=stream.string.charAt(prevPos);if(prevCh!=="_"&&prevCh.match(/(\w)/,false)){ignoreUnderscore=true}}}}if(ch==="*"||ch==="_"&&!ignoreUnderscore){if(sol&&stream.peek()===" "){}else if(state.strong===ch&&stream.eat(ch)){if(modeCfg.highlightFormatting)state.formatting="strong";var t=getType(state);state.strong=false;return t}else if(!state.strong&&stream.eat(ch)){state.strong=ch;if(modeCfg.highlightFormatting)state.formatting="strong";return getType(state)}else if(state.em===ch){if(modeCfg.highlightFormatting)state.formatting="em";var t=getType(state);state.em=false;return t}else if(!state.em){state.em=ch;if(modeCfg.highlightFormatting)state.formatting="em";return getType(state)}}else if(ch===" "){if(stream.eat("*")||stream.eat("_")){if(stream.peek()===" "){return getType(state)}else{stream.backUp(1)}}}if(modeCfg.strikethrough){if(ch==="~"&&stream.eatWhile(ch)){if(state.strikethrough){if(modeCfg.highlightFormatting)state.formatting="strikethrough";var t=getType(state);state.strikethrough=false;return t}else if(stream.match(/^[^\s]/,false)){state.strikethrough=true;if(modeCfg.highlightFormatting)state.formatting="strikethrough";return getType(state)}}else if(ch===" "){if(stream.match(/^~~/,true)){if(stream.peek()===" "){return getType(state)}else{stream.backUp(2)}}}}if(ch===" "){if(stream.match(/ +$/,false)){state.trailingSpace++}else if(state.trailingSpace){state.trailingSpaceNewLine=true}}return getType(state)}function linkInline(stream,state){var ch=stream.next();if(ch===">"){state.f=state.inline=inlineNormal;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkinline}stream.match(/^[^>]+/,true);return linkinline}function linkHref(stream,state){if(stream.eatSpace()){return null}var ch=stream.next();if(ch==="("||ch==="["){state.f=state.inline=getLinkHrefInside(ch==="("?")":"]");if(modeCfg.highlightFormatting)state.formatting="link-string";state.linkHref=true;return getType(state)}return"error"}function getLinkHrefInside(endChar){return function(stream,state){var ch=stream.next();if(ch===endChar){state.f=state.inline=inlineNormal;if(modeCfg.highlightFormatting)state.formatting="link-string";var returnState=getType(state);state.linkHref=false;return returnState}if(stream.match(inlineRE(endChar),true)){stream.backUp(1)}state.linkHref=true;return getType(state)}}function footnoteLink(stream,state){if(stream.match(/^[^\]]*\]:/,false)){state.f=footnoteLinkInside;stream.next();if(modeCfg.highlightFormatting)state.formatting="link";state.linkText=true;return getType(state)}return switchInline(stream,state,inlineNormal)}function footnoteLinkInside(stream,state){if(stream.match(/^\]:/,true)){state.f=state.inline=footnoteUrl;if(modeCfg.highlightFormatting)state.formatting="link";var returnType=getType(state);state.linkText=false;return returnType}stream.match(/^[^\]]+/,true);return linktext}function footnoteUrl(stream,state){if(stream.eatSpace()){return null}stream.match(/^[^\s]+/,true);if(stream.peek()===undefined){state.linkTitle=true}else{stream.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,true)}state.f=state.inline=inlineNormal;return linkhref+" url"}var savedInlineRE=[];function inlineRE(endChar){if(!savedInlineRE[endChar]){endChar=(endChar+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");savedInlineRE[endChar]=new RegExp("^(?:[^\\\\]|\\\\.)*?("+endChar+")")}return savedInlineRE[endChar]}var mode={startState:function startState(){return{f:blockNormal,prevLine:null,thisLine:null,block:blockNormal,htmlState:null,indentation:0,inline:inlineNormal,text:handleText,formatting:false,linkText:false,linkHref:false,linkTitle:false,em:false,strong:false,header:0,hr:false,task:false,taskList:false,list:false,listDepth:0,quote:0,trailingSpace:0,trailingSpaceNewLine:false,strikethrough:false,fencedChars:null}},copyState:function copyState(s){return{f:s.f,prevLine:s.prevLine,thisLine:s.this,block:s.block,htmlState:s.htmlState&&CodeMirror.copyState(htmlMode,s.htmlState),indentation:s.indentation,localMode:s.localMode,localState:s.localMode?CodeMirror.copyState(s.localMode,s.localState):null,inline:s.inline,text:s.text,formatting:false,linkTitle:s.linkTitle,code:s.code,em:s.em,strong:s.strong,strikethrough:s.strikethrough,header:s.header,hr:s.hr,taskList:s.taskList,task:s.task,list:s.list,listDepth:s.listDepth,quote:s.quote,indentedCode:s.indentedCode,trailingSpace:s.trailingSpace,trailingSpaceNewLine:s.trailingSpaceNewLine,md_inside:s.md_inside,fencedChars:s.fencedChars}},token:function token(stream,state){state.formatting=false;if(stream!=state.thisLine){var forceBlankLine=state.header||state.hr;state.header=0;state.hr=false;if(stream.match(/^\s*$/,true)||forceBlankLine){blankLine(state);if(!forceBlankLine)return null;state.prevLine=null}state.prevLine=state.thisLine;state.thisLine=stream;state.taskList=false;state.task=false;state.trailingSpace=0;state.trailingSpaceNewLine=false;state.f=state.block;var indentation=stream.match(/^\s*/,true)[0].replace(/\t/g," ").length;var difference=Math.floor((indentation-state.indentation)/4)*4;if(difference>4)difference=4;var adjustedIndentation=state.indentation+difference;state.indentationDiff=adjustedIndentation-state.indentation;state.indentation=adjustedIndentation;if(indentation>0)return null}return state.f(stream,state)},innerMode:function innerMode(state){if(state.block==htmlBlock)return{state:state.htmlState,mode:htmlMode};if(state.localState)return{state:state.localState,mode:state.localMode};return{state:state,mode:mode}},blankLine:blankLine,getType:getType,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return mode},"xml");CodeMirror.defineMIME("text/x-markdown","markdown")},function(module,exports){"use strict";var urlRE=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;CodeMirror.defineMode("gfm",function(config,modeConfig){var codeDepth=0;function blankLine(state){state.code=false;return null}var gfmOverlay={startState:function startState(){return{code:false,codeBlock:false,ateSpace:false}},copyState:function copyState(s){return{code:s.code,codeBlock:s.codeBlock,ateSpace:s.ateSpace}},token:function token(stream,state){state.combineTokens=null;if(state.codeBlock){if(stream.match(/^```+/)){state.codeBlock=false;return null}stream.skipToEnd();return null}if(stream.sol()){state.code=false}if(stream.sol()&&stream.match(/^```+/)){stream.skipToEnd();state.codeBlock=true;return null}if(stream.peek()==="`"){stream.next();var before=stream.pos;stream.eatWhile("`");var difference=1+stream.pos-before;if(!state.code){codeDepth=difference;state.code=true}else{if(difference===codeDepth){state.code=false}}return null}else if(state.code){stream.next();return null}if(stream.eatSpace()){state.ateSpace=true;return null}if(stream.sol()||state.ateSpace){state.ateSpace=false}stream.next();return null},blankLine:blankLine};var markdownConfig={underscoresBreakWords:false,taskLists:true,fencedCodeBlocks:"```",strikethrough:true};for(var attr in modeConfig){markdownConfig[attr]=modeConfig[attr]}markdownConfig.name="markdown";return CodeMirror.overlayMode(CodeMirror.getMode(config,markdownConfig),gfmOverlay)},"markdown");CodeMirror.defineMIME("text/x-gfm","gfm")},function(module,exports){"use strict";var listRE=/^(\s*)(>[> ]*|[*+-]\s(?:\[(?:x|\s)\]\s)?|(\d+)([.)]\s(?:\[(?:x|\s)\]\s)?))(\s*)/,emptyListRE=/^(\s*)(>[> ]*|[*+-]\s(?:\[(?:x|\s)\]\s)?|(\d+)([.)]\s(?:\[(?:x|\s)\]\s)?))(\s*)$/,FIND_CODEBLOCK_START_RX=/^ *(`{3,}|~{3,})[ \.]*\S+ */,unorderedListRE=/[*+-]\s/;CodeMirror.commands.subListIndentTab=function(cm){if(cm.getOption("disableInput"))return CodeMirror.Pass;var ranges=cm.listSelections();for(var i=0;i0){cm.replaceRange("",{line:pos.line,ch:0},{line:pos.line,ch:line.length});replacements[i]="\n"}else if(isCodeBlockStart){replacements[i]="\n\n```"}else{var indent=match[1],after=match[5],bullet;if(indent.length===pos.ch){bullet=""}else if(unorderedListRE.test(match[2])||match[2].indexOf(">")>=0){bullet=match[2]}else{bullet=parseInt(match[3],10)+1+match[4]}replacements[i]="\n"+indent+bullet+after}}cm.replaceSelections(replacements);if(isCodeBlockStart){cm.setCursor(pos.line+1,0)}}},function(module,exports){"use strict";CodeMirror.commands.replaceLineTextToUpper=function(cm){if(cm.getOption("disableInput")){return CodeMirror.Pass}var ranges=cm.listSelections();var lineAdjustment=-1;for(var i=0;i0){replaceSingleLine(cm,from,to,lineAdjustment)}else if(!isRangeCollapsed(range)){var topLine=from.line0){var upper=from.line===topLine?from:to;var bottom=from.line===topLine?to:from;replaceMultiLine(cm,upper,bottom,lineAdjustment)}}}};CodeMirror.commands.replaceLineTextToLower=function(cm){if(cm.getOption("disableInput")){return CodeMirror.Pass}var ranges=cm.listSelections();var lineAdjustment=1;for(var i=0;i0?bottom:upper;var replacement=cm.getLine(edgeLineOfConcern.line+lineAdjustment);var targetLine=void 0;if(lineAdjustment>0){targetLine=upper}else{targetLine=bottom}cm.replaceRange(replacement,{line:targetLine.line,ch:0},{line:targetLine.line,ch:cm.getLine(targetLine.line).length},"+input");cm.replaceRange(rangeContent,{line:upper.line+lineAdjustment,ch:0},{line:bottom.line+lineAdjustment,ch:cm.getLine(bottom.line+lineAdjustment).length},"+input");cm.setSelection({line:upper.line+lineAdjustment,ch:upper.ch},{line:bottom.line+lineAdjustment,ch:bottom.ch})}},function(module,exports,__webpack_require__){"use strict";var extManager=__webpack_require__(26);var FIND_TASK_RX=/^\s*\* \[[xX ]\] [^\n]*/gm;var FIND_CHECKED_TASK_RX=/^\s*\* \[[xX]\] [^\n]*/gm;extManager.defineExtension("taskCounter",function(editor){editor.getTaskCount=function(){var found=void 0,count=void 0;if(editor.isViewOnly()){count=editor.preview.$el.find(".task-list-item").length}else if(editor.isMarkdownMode()){found=editor.mdEditor.getValue().match(FIND_TASK_RX);count=found?found.length:0}else{count=editor.wwEditor.get$Body().find(".task-list-item").length}return count};editor.getCheckedTaskCount=function(){var found=void 0,count=void 0;if(editor.isViewOnly()){count=editor.preview.$el.find(".task-list-item.checked").length}else if(editor.isMarkdownMode()){found=editor.mdEditor.getValue().match(FIND_CHECKED_TASK_RX);count=found?found.length:0}else{count=editor.wwEditor.get$Body().find(".task-list-item.checked").length}return count}})},function(module,exports,__webpack_require__){"use strict";var _extManager=__webpack_require__(26);var _extManager2=_interopRequireDefault(_extManager);var _scrollFollow=__webpack_require__(93);var _scrollFollow2=_interopRequireDefault(_scrollFollow);var _scrollFollow3=__webpack_require__(94);var _scrollFollow4=_interopRequireDefault(_scrollFollow3);var _button=__webpack_require__(39);var _button2=_interopRequireDefault(_button);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}_extManager2.default.defineExtension("scrollFollow",function(editor){var className="tui-scrollfollow";var TOOL_TIP={active:_i18n2.default.get("Enable auto scroll"),inActive:_i18n2.default.get("Disable auto scroll")};if(editor.isViewOnly()){return}var cm=editor.getCodeMirror();var sectionManager=new _scrollFollow4.default(cm,editor.preview);var scrollSync=new _scrollFollow2.default(sectionManager,cm,editor.preview.$el);var isScrollable=false;var isActive=true;var button=void 0;if(editor.getUI().name==="default"){button=new _button2.default({className:className,command:"scrollFollowToggle",tooltip:TOOL_TIP.active,$el:$('')});editor.getUI().toolbar.addButton(button);if(editor.currentMode==="wysiwyg"||editor.mdPreviewStyle==="tab"){button.$el.hide()}editor.on("changeModeToWysiwyg",function(){button.$el.hide()});editor.on("changeModeToMarkdown",function(){if(editor.mdPreviewStyle!=="tab"){button.$el.show()}});editor.addCommand("markdown",{name:"scrollFollowToggle",exec:function exec(){isActive=!isActive;button._onOut();if(isActive){button.$el.addClass("active");button.tooltip=TOOL_TIP.active}else{button.$el.removeClass("active");button.tooltip=TOOL_TIP.inActive}button._onOver()}})}cm.on("change",function(){isScrollable=false;sectionManager.makeSectionList()});editor.on("previewRenderAfter",function(){sectionManager.sectionMatch();scrollSync.syncPreviewScrollTopToMarkdown();isScrollable=true});editor.eventManager.listen("scroll",function(event){if(!isActive){return}if(isScrollable&&editor.preview.isVisible()){if(event.source==="markdown"&&!scrollSync.isMarkdownScrollEventBlocked){scrollSync.syncPreviewScrollTopToMarkdown()}else if(event.source==="preview"&&!scrollSync.isPreviewScrollEventBlocked){scrollSync.syncMarkdownScrollTopToPreview()}}else{scrollSync.saveScrollInfo()}})})},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0?section.start-1:0,"local");return height}},{key:"_getEditorLineHeightGapInSection",value:function _getEditorLineHeightGapInSection(section,line){var gap=this.cm.heightAtLine(line,"local");gap-=this.cm.heightAtLine(section.start>0?section.start-1:0,"local");return Math.max(gap,0)}},{key:"_getEditorSectionScrollRatio",value:function _getEditorSectionScrollRatio(section,line){var isOneLine=section.end===section.start;var ratio=void 0;if(isOneLine){ratio=0}else{ratio=this._getEditorLineHeightGapInSection(section,line)/this._getEditorSectionHeight(section)}return ratio}},{key:"_getScrollFactorsOfEditor",value:function _getScrollFactorsOfEditor(){var cm=this.cm;var scrollInfo=cm.getScrollInfo();var topLine=void 0,topSection=void 0,ratio=void 0,factors=void 0;scrollInfo=this._fallbackScrollInfoIfIncorrect(scrollInfo);var isEditorBottom=scrollInfo.height-scrollInfo.top<=scrollInfo.clientHeight;if(isEditorBottom){factors={isEditorBottom:isEditorBottom}}else{topLine=cm.coordsChar({left:scrollInfo.left,top:scrollInfo.top},"local").line;topSection=this.sectionManager.sectionByLine(topLine);ratio=this._getEditorSectionScrollRatio(topSection,topLine);factors={section:topSection,sectionRatio:ratio}}return factors}},{key:"_getScrollInfoForMarkdown",value:function _getScrollInfoForMarkdown(){var _this=this;var sectionList=this.sectionManager.getSectionList();var factors=void 0;tui.util.forEachArray(sectionList,function(section){var $div=section.$previewSectionEl;var $preview=$div.parent().parent();var isPreviewBottom=$preview[0].clientHeight-$preview.scrollTop()<=$preview[0].height;var needNext=true;if(isPreviewBottom){factors={isPreviewBottom:isPreviewBottom};needNext=false}else if(_this._isTopSection($preview,$div)){factors={section:section,sectionRatio:_this._getMarkdownEditorScrollRatio($preview,$div)};needNext=false}return needNext});return factors}},{key:"_getMarkdownEditorScrollRatio",value:function _getMarkdownEditorScrollRatio($preview,$div){return($preview.scrollTop()-$div[0].offsetTop)/$div.height()}},{key:"_getScrollTopForPreview",value:function _getScrollTopForPreview(){var scrollTop=void 0;var scrollFactors=this._getScrollFactorsOfEditor();var section=scrollFactors.section;var ratio=scrollFactors.sectionRatio;if(scrollFactors.isEditorBottom){scrollTop=this.$contents.height()}else if(section.$previewSectionEl){scrollTop=section.$previewSectionEl[0].offsetTop;scrollTop+=section.$previewSectionEl.height()*ratio-SCROLL_TOP_PADDING}scrollTop=scrollTop&&Math.max(scrollTop,0);return scrollTop}},{key:"_getScrollTopForMarkdown",value:function _getScrollTopForMarkdown(){var scrollTop=void 0;var scrollFactors=this._getScrollInfoForMarkdown();var ratio=scrollFactors.sectionRatio;if(scrollFactors.isPreviewBottom){scrollTop=this.cm.getScrollInfo().height}else if(scrollFactors.section){var section=scrollFactors.section;var coordsAtStart=this.cm.charCoords({line:section.start,char:0},"local");var coordsAtEnd=this.cm.charCoords({line:section.end,char:0},"local");scrollTop=coordsAtStart.top;scrollTop+=(coordsAtEnd.top-coordsAtStart.top)*ratio}scrollTop=scrollTop&&Math.max(scrollTop,0);return scrollTop}},{key:"syncPreviewScrollTopToMarkdown",value:function syncPreviewScrollTopToMarkdown(){var _this2=this;var $previewContainerEl=this.$previewContainerEl;var sourceScrollTop=$previewContainerEl.scrollTop();var targetScrollTop=this._getScrollTopForPreview();this.isPreviewScrollEventBlocked=true;this._animateRun(sourceScrollTop,targetScrollTop,function(deltaScrollTop){clearTimeout(_this2.releaseTimer);$previewContainerEl.scrollTop(deltaScrollTop);_this2.releaseTimer=setTimeout(function(){_this2.isPreviewScrollEventBlocked=false},SCROLL_BOCKING_RESET_DELAY)})}},{key:"syncMarkdownScrollTopToPreview",value:function syncMarkdownScrollTopToPreview(){var _this3=this;var codeMirror=this.cm;var codeMirrorScrollInfo=codeMirror.getScrollInfo();var sourceScrollTop=codeMirrorScrollInfo.top;var targetScrollTop=this._getScrollTopForMarkdown();this.isMarkdownScrollEventBlocked=true;this._animateRun(sourceScrollTop,targetScrollTop,function(deltaScrollTop){clearTimeout(_this3.releaseTimer);codeMirror.scrollTo(0,deltaScrollTop);_this3.releaseTimer=setTimeout(function(){_this3.isMarkdownScrollEventBlocked=false},SCROLL_BOCKING_RESET_DELAY); -})}},{key:"_animateRun",value:function _animateRun(originValue,targetValue,stepCB){var valueDiff=targetValue-originValue,startTime=Date.now(),self=this;if(this._currentTimeoutId){clearTimeout(this._currentTimeoutId)}function step(){var stepTime=Date.now();var progress=(stepTime-startTime)/200;var deltaValue=void 0;if(progress<1){deltaValue=originValue+valueDiff*Math.cos((1-progress)*Math.PI/2);stepCB(Math.ceil(deltaValue));self._currentTimeoutId=setTimeout(step,1)}else{stepCB(targetValue);self._currentTimeoutId=null}}step()}},{key:"_fallbackScrollInfoIfIncorrect",value:function _fallbackScrollInfoIfIncorrect(scrollInfo){return scrollInfo.height<0&&this._savedScrollInfo?this._savedScrollInfo:scrollInfo}},{key:"saveScrollInfo",value:function saveScrollInfo(){this._savedScrollInfo=this.cm.getScrollInfo()}},{key:"_isTopSection",value:function _isTopSection($preview,$div){var previewScrollTop=$preview.scrollTop();var divOffsetTop=$div[0].offsetTop;var divHeight=$div.height();var isSectionBegin=previewScrollTop>=divOffsetTop-PREVIEW_MARGIN_TOP;var isSectionEnd=previewScrollTop>divOffsetTop+divHeight;return isSectionBegin&&!isSectionEnd}}]);return ScrollSync}();module.exports=ScrollSync},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i ?)+\s/;var FIND_IMAGE_RX=/ *!\[([^\[\]]*)]\(([^)]*)\)/;var FIND_SETEXT_HEADER_RX=/^ *(?:={1,}|-{1,})\s*$/;var FIND_CODEBLOCK_END_RX=/^ *(`{3,}|~{3,})[ ]*$/;var FIND_CODEBLOCK_START_RX=/^ *(`{3,}|~{3,})[ .]*(\S+)? */;var FIND_SPACE=/\s/g;var SectionManager=function(){function SectionManager(cm,preview){_classCallCheck(this,SectionManager);this.cm=cm;this.preview=preview;this.$previewContent=preview.$el.find(".tui-editor-contents");this._sectionList=null;this._currentSection=null}_createClass(SectionManager,[{key:"_addNewSection",value:function _addNewSection(start,end){var newSection=this._makeSectionData(start,end);this._sectionList.push(newSection);this._currentSection=newSection}},{key:"getSectionList",value:function getSectionList(){return this._sectionList}},{key:"_makeSectionData",value:function _makeSectionData(start,end){return{start:start,end:end,$previewSectionEl:null}}},{key:"_updateCurrentSectionEnd",value:function _updateCurrentSectionEnd(end){this._currentSection.end=end}},{key:"_eachLineState",value:function _eachLineState(iteratee){var isSection=void 0,i=void 0,lineString=void 0,nextLineString=void 0,prevLineString=void 0,isTrimming=true,onTable=false,onCodeBlock=false,trimCapture="";var isRightAfterImageSection=false;var codeblockStartLineIndex=void 0;var lineLength=this.cm.getDoc().lineCount();for(i=0;i
    ");_this2._sectionList[index].$previewSectionEl=$(childs).wrapAll($sectionDiv).parent()}})}},{key:"_getPreviewSections",value:function _getPreviewSections(){var sections=[];var lastSection=0;var isRightAfterImageSection=false;sections[0]=[];this.$previewContent.contents().filter(findElementNodeFilter).each(function(index,el){var isParagraph=el.tagName==="P";var isHeading=el.tagName.match(/^(H1|H2|H3|H4|H5|H6)$/);var isImage=isParagraph&&$(el).children("IMG").length!==0;if((isHeading||isImage||isRightAfterImageSection)&§ions[lastSection].length){sections.push([]);lastSection+=1;isRightAfterImageSection=false}if(isImage){isRightAfterImageSection=true}sections[lastSection].push(el)});return sections}},{key:"sectionByLine",value:function sectionByLine(line){var sectionIndex=void 0;var sectionList=this._sectionList;var sectionLength=sectionList.length;for(sectionIndex=0;sectionIndex(.*?)/g;var colorHtmlCompleteRx=/(.*?)<\/span>/g;var decimalColorRx=/rgb\((\d+)[, ]+(\d+)[, ]+(\d+)\)/g;var RESET_COLOR="#181818";_extManager2.default.defineExtension("colorSyntax",function(editor){var useCustomSyntax=false;var preset=void 0;if(editor.options.colorSyntax){useCustomSyntax=!!editor.options.colorSyntax.useCustomSyntax;preset=editor.options.colorSyntax.preset}editor.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(html){var replacement=void 0;if(!useCustomSyntax){replacement=html}else{replacement=html.replace(colorSyntaxRx,function(matched,p1,p2){return makeHTMLColorSyntax(p2,p1)})}return replacement});editor.eventManager.listen("convertorAfterHtmlToMarkdownConverted",function(markdown){var findRx=useCustomSyntax?colorHtmlCompleteRx:colorHtmlRx;return markdown.replace(findRx,function(founded,color,text){var replacement=void 0;if(color.match(decimalColorRx)){color=changeDecColorToHex(color)}if(!useCustomSyntax){replacement=founded.replace(/ ?class="colour" ?/g," ").replace(decimalColorRx,color)}else{replacement=makeCustomColorSyntax(text,color)}return replacement})});if(!editor.isViewOnly()&&editor.getUI().name==="default"){editor.addCommand("markdown",{name:"color",exec:function exec(mde,color){var cm=mde.getEditor();if(!color){return}if(!useCustomSyntax){cm.replaceSelection(makeHTMLColorSyntax(cm.getSelection(),color))}else{cm.replaceSelection(makeCustomColorSyntax(cm.getSelection(),color))}mde.focus()}});editor.addCommand("wysiwyg",{name:"color",exec:function exec(wwe,color){var sq=wwe.getEditor();if(!color){return}if(!sq.hasFormat("PRE")){if(color===RESET_COLOR){sq.changeFormat(null,{class:"colour",tag:"span"})}else{sq.setTextColour(color)}}sq.focus()}});initUI(editor,preset)}});function initUI(editor,preset){var className="tui-color";editor.eventManager.addEventType("colorButtonClicked");editor.getUI().toolbar.addButton({className:className,event:"colorButtonClicked",tooltip:_i18n2.default.get("Text color")},2);var $button=editor.getUI().toolbar.$el.find("button."+className);var $colorPickerContainer=$("
    ");var $buttonBar=$('');var cpOptions={container:$colorPickerContainer[0]};if(preset){cpOptions.preset=preset}var colorPicker=tui.component.colorpicker.create(cpOptions);var selectedColor=colorPicker.getColor();$colorPickerContainer.append($buttonBar);var popup=editor.getUI().createPopup({title:false,content:$colorPickerContainer,className:"tui-popup-color",$target:editor.getUI().$el,css:{width:"auto",position:"absolute"}});editor.eventManager.listen("focus",function(){popup.hide()});editor.eventManager.listen("colorButtonClicked",function(){editor.eventManager.emit("closeAllPopup");if(popup.isShow()){popup.hide()}else{popup.$el.css({top:$button.position().top+$button.height()+5,left:$button.position().left});popup.show();colorPicker.slider.toggle(true)}});editor.eventManager.listen("closeAllPopup",function(){popup.hide()});editor.eventManager.listen("removeEditor",function(){colorPicker.off("selectColor")});colorPicker.on("selectColor",function(e){selectedColor=e.color;if(e.origin==="palette"){editor.exec("color",selectedColor);popup.hide()}});popup.$el.find(".te-apply-button").on("click",function(){editor.exec("color",selectedColor)})}function makeCustomColorSyntax(text,color){return"{color:"+color+"}"+text+"{color}"}function makeHTMLColorSyntax(text,color){return''+text+""}function changeDecColorToHex(color){return color.replace(decimalColorRx,function(colorValue,r,g,b){r=parseInt(r,10);g=parseInt(g,10);b=parseInt(b,10);var colorHexValue=get2DigitNumberString(r.toString(16))+get2DigitNumberString(g.toString(16))+get2DigitNumberString(b.toString(16));return"#"+colorHexValue})}function get2DigitNumberString(numberStr){return numberStr==="0"?"00":numberStr}},function(module,exports,__webpack_require__){"use strict";var _extManager=__webpack_require__(26);var _extManager2=_interopRequireDefault(_extManager);var _markerList=__webpack_require__(97);var _markerList2=_interopRequireDefault(_markerList);var _markerManager=__webpack_require__(98);var _markerManager2=_interopRequireDefault(_markerManager);var _wysiwygMarkerHelper=__webpack_require__(100);var _wysiwygMarkerHelper2=_interopRequireDefault(_wysiwygMarkerHelper);var _viewOnlyMarkerHelper=__webpack_require__(101);var _viewOnlyMarkerHelper2=_interopRequireDefault(_viewOnlyMarkerHelper);var _markdownMarkerHelper=__webpack_require__(102);var _markdownMarkerHelper2=_interopRequireDefault(_markdownMarkerHelper);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var MARKER_UPDATE_DELAY=100;var FIND_CRLF_RX=/(\n)|(\r\n)|(\r)/g;_extManager2.default.defineExtension("mark",function(editor){var ml=new _markerList2.default;var mm=new _markerManager2.default(ml);var wmh=void 0,mmh=void 0,vmh=void 0;editor.eventManager.addEventType("markerUpdated");if(editor.isViewOnly()){vmh=new _viewOnlyMarkerHelper2.default(editor.preview)}else{wmh=new _wysiwygMarkerHelper2.default(editor.getSquire());mmh=new _markdownMarkerHelper2.default(editor.getCodeMirror())}function getHelper(){var helper=void 0;if(editor.isViewOnly()){helper=vmh}else if(editor.isWysiwygMode()){helper=wmh}else{helper=mmh}return helper}function updateMarkWhenResizing(){var helper=getHelper();ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll())}$(window).on("resize",updateMarkWhenResizing);editor.on("removeEditor",function(){$(window).off("resize",updateMarkWhenResizing)});editor.on("setValueAfter",function(){var helper=getHelper();mm.resetContent(helper.getTextContent())});editor.setValueWithMarkers=function(value,markerDataCollection){var helper=void 0;ml.resetMarkers();markerDataCollection.forEach(function(markerData){ml.addMarker(markerData.start,markerData.end,markerData.id)});editor.setValue(value);mm.resetContent(value.replace(FIND_CRLF_RX,""));if(editor.isViewOnly()||editor.isWysiwygMode()){helper=getHelper();mm.updateMarkersByContent(helper.getTextContent())}else{helper=mmh}ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll());return ml.getAll()};editor.getMarker=function(id){return ml.getMarker(id)};editor.getMarkersAll=function(){return ml.getAll()};editor.removeMarker=function(id){return ml.removeMarker(id)};editor.exportMarkers=function(){var markersData=void 0;if(editor.isMarkdownMode()){markersData=ml.getMarkersData()}else if(editor.isViewOnly()||editor.isWysiwygMode()){mm.updateMarkersByContent(editor.getValue().replace(FIND_CRLF_RX,""));markersData=ml.getMarkersData();mm.updateMarkersByContent(getHelper().getTextContent())}return markersData};editor.selectMarker=function(id){var helper=getHelper();var marker=editor.getMarker(id);if(marker){helper.selectOffsetRange(marker.start,marker.end)}};editor.addMarker=function(start,end,id){var marker=void 0;var helper=getHelper();if(!id){id=start;marker=helper.getMarkerInfoOfCurrentSelection()}else{marker={start:start,end:end};marker=helper.updateMarkerWithExtraInfo(marker)}if(marker){marker.id=id;marker=ml.addMarker(marker);ml.sortBy("end");editor.eventManager.emit("markerUpdated",[marker])}return marker};editor.clearSelect=function(){getHelper().clearSelect()};if(!editor.isViewOnly()){editor.on("changeMode",function(){editor._updateMarkers()});editor.on("change",util.debounce(function(){editor._updateMarkers()},MARKER_UPDATE_DELAY));editor._updateMarkers=function(){var helper=getHelper();if(!ml.getAll().length){return}mm.updateMarkersByContent(helper.getTextContent());ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll())}}})},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;iend||marker.end>start){return true}return false});return rangeMarkers}},{key:"getAll",value:function getAll(){return this._sortedMarkers}},{key:"resetMarkers",value:function resetMarkers(){this._sortedMarkers=[];this._markersWithId={}}},{key:"sortBy",value:function sortBy(rangeKey){this._sortedMarkers.sort(function(a,b){return a[rangeKey]-b[rangeKey]})}},{key:"getMarkersData",value:function getMarkersData(){return this.getAll().map(function(marker){return{start:marker.start,end:marker.end,id:marker.id}})}}]);return Markerlist}();module.exports=Markerlist},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;imarker.start){startDiff=start-marker.start}else{startDiff=0}return startDiff}},{key:"_calculateEndDiff",value:function _calculateEndDiff(start,end,diff,marker){var endDiff=void 0;if(end<=marker.end){endDiff=diff}else if(start<=marker.end&&end>marker.start){endDiff=start-marker.end}else{endDiff=0}return endDiff}},{key:"_getUpdateMarkersWithDiffs",value:function _getUpdateMarkersWithDiffs(markerDiffs){var updatedMarkers=[],markerList=this.markerList;util.forEachOwnProperties(markerDiffs,function(markerDiff,id){var marker=markerList.getMarker(id);markerList.updateMarker(id,{start:marker.start+=markerDiff.start,end:marker.end+=markerDiff.end});updatedMarkers.push(marker)});return updatedMarkers}}]);return MarkerManager}();module.exports=MarkerManager},function(module,exports){"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1e3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1;var DIFF_INSERT=1;var DIFF_EQUAL=0;diff_match_patch.Diff;diff_match_patch.prototype.diff_main=function(text1,text2,opt_checklines,opt_deadline){if(typeof opt_deadline=="undefined"){if(this.Diff_Timeout<=0){opt_deadline=Number.MAX_VALUE}else{opt_deadline=(new Date).getTime()+this.Diff_Timeout*1e3}}var deadline=opt_deadline;if(text1==null||text2==null){throw new Error("Null input. (diff_main)")}if(text1==text2){if(text1){return[[DIFF_EQUAL,text1]]}return[]}if(typeof opt_checklines=="undefined"){opt_checklines=true}var checklines=opt_checklines;var commonlength=this.diff_commonPrefix(text1,text2);var commonprefix=text1.substring(0,commonlength);text1=text1.substring(commonlength);text2=text2.substring(commonlength);commonlength=this.diff_commonSuffix(text1,text2);var commonsuffix=text1.substring(text1.length-commonlength);text1=text1.substring(0,text1.length-commonlength);text2=text2.substring(0,text2.length-commonlength);var diffs=this.diff_compute_(text1,text2,checklines,deadline);if(commonprefix){diffs.unshift([DIFF_EQUAL,commonprefix])}if(commonsuffix){diffs.push([DIFF_EQUAL,commonsuffix])}this.diff_cleanupMerge(diffs);return diffs};diff_match_patch.prototype.diff_compute_=function(text1,text2,checklines,deadline){var diffs;if(!text1){return[[DIFF_INSERT,text2]]}if(!text2){return[[DIFF_DELETE,text1]]}var longtext=text1.length>text2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;var i=longtext.indexOf(shorttext);if(i!=-1){diffs=[[DIFF_INSERT,longtext.substring(0,i)],[DIFF_EQUAL,shorttext],[DIFF_INSERT,longtext.substring(i+shorttext.length)]];if(text1.length>text2.length){diffs[0][0]=diffs[2][0]=DIFF_DELETE}return diffs}if(shorttext.length==1){return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]}var hm=this.diff_halfMatch_(text1,text2);if(hm){var text1_a=hm[0];var text1_b=hm[1];var text2_a=hm[2];var text2_b=hm[3];var mid_common=hm[4];var diffs_a=this.diff_main(text1_a,text2_a,checklines,deadline);var diffs_b=this.diff_main(text1_b,text2_b,checklines,deadline);return diffs_a.concat([[DIFF_EQUAL,mid_common]],diffs_b)}if(checklines&&text1.length>100&&text2.length>100){return this.diff_lineMode_(text1,text2,deadline)}return this.diff_bisect_(text1,text2,deadline)};diff_match_patch.prototype.diff_lineMode_=function(text1,text2,deadline){var a=this.diff_linesToChars_(text1,text2);text1=a.chars1;text2=a.chars2;var linearray=a.lineArray;var diffs=this.diff_main(text1,text2,false,deadline);this.diff_charsToLines_(diffs,linearray);this.diff_cleanupSemantic(diffs);diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";while(pointer=1&&count_insert>=1){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert);pointer=pointer-count_delete-count_insert;var a=this.diff_main(text_delete,text_insert,false,deadline);for(var j=a.length-1;j>=0;j--){diffs.splice(pointer,0,a[j])}pointer=pointer+a.length}count_insert=0;count_delete=0;text_delete="";text_insert="";break}pointer++}diffs.pop();return diffs};diff_match_patch.prototype.diff_bisect_=function(text1,text2,deadline){var text1_length=text1.length;var text2_length=text2.length;var max_d=Math.ceil((text1_length+text2_length)/2);var v_offset=max_d;var v_length=2*max_d;var v1=new Array(v_length);var v2=new Array(v_length);for(var x=0;xdeadline){break}for(var k1=-d+k1start;k1<=d-k1end;k1+=2){var k1_offset=v_offset+k1;var x1;if(k1==-d||k1!=d&&v1[k1_offset-1]text1_length){k1end+=2}else if(y1>text2_length){k1start+=2}else if(front){var k2_offset=v_offset+delta-k1;if(k2_offset>=0&&k2_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}for(var k2=-d+k2start;k2<=d-k2end;k2+=2){var k2_offset=v_offset+k2;var x2;if(k2==-d||k2!=d&&v2[k2_offset-1]text1_length){k2end+=2}else if(y2>text2_length){k2start+=2}else if(!front){var k1_offset=v_offset+delta-k2;if(k1_offset>=0&&k1_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}}return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]};diff_match_patch.prototype.diff_bisectSplit_=function(text1,text2,x,y,deadline){var text1a=text1.substring(0,x);var text2a=text2.substring(0,y);var text1b=text1.substring(x);var text2b=text2.substring(y);var diffs=this.diff_main(text1a,text2a,false,deadline);var diffsb=this.diff_main(text1b,text2b,false,deadline);return diffs.concat(diffsb)};diff_match_patch.prototype.diff_linesToChars_=function(text1,text2){var lineArray=[];var lineHash={};lineArray[0]="";function diff_linesToCharsMunge_(text){var chars="";var lineStart=0;var lineEnd=-1;var lineArrayLength=lineArray.length;while(lineEndtext2_length){text1=text1.substring(text1_length-text2_length)}else if(text1_lengthtext2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;if(longtext.length<4||shorttext.length*2=longtext.length){return[best_longtext_a,best_longtext_b,best_shorttext_a,best_shorttext_b,best_common]; -}else{return null}}var hm1=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/4));var hm2=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/2));var hm;if(!hm1&&!hm2){return null}else if(!hm2){hm=hm1}else if(!hm1){hm=hm2}else{hm=hm1[4].length>hm2[4].length?hm1:hm2}var text1_a,text1_b,text2_a,text2_b;if(text1.length>text2.length){text1_a=hm[0];text1_b=hm[1];text2_a=hm[2];text2_b=hm[3]}else{text2_a=hm[0];text2_b=hm[1];text1_a=hm[2];text1_b=hm[3]}var mid_common=hm[4];return[text1_a,text1_b,text2_a,text2_b,mid_common]};diff_match_patch.prototype.diff_cleanupSemantic=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var length_insertions1=0;var length_deletions1=0;var length_insertions2=0;var length_deletions2=0;while(pointer0?equalities[equalitiesLength-1]:-1;length_insertions1=0;length_deletions1=0;length_insertions2=0;length_deletions2=0;lastequality=null;changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}this.diff_cleanupSemanticLossless(diffs);pointer=1;while(pointer=overlap_length2){if(overlap_length1>=deletion.length/2||overlap_length1>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,insertion.substring(0,overlap_length1)]);diffs[pointer-1][1]=deletion.substring(0,deletion.length-overlap_length1);diffs[pointer+1][1]=insertion.substring(overlap_length1);pointer++}}else{if(overlap_length2>=deletion.length/2||overlap_length2>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,deletion.substring(0,overlap_length2)]);diffs[pointer-1][0]=DIFF_INSERT;diffs[pointer-1][1]=insertion.substring(0,insertion.length-overlap_length2);diffs[pointer+1][0]=DIFF_DELETE;diffs[pointer+1][1]=deletion.substring(overlap_length2);pointer++}}pointer++}pointer++}};diff_match_patch.prototype.diff_cleanupSemanticLossless=function(diffs){function diff_cleanupSemanticScore_(one,two){if(!one||!two){return 6}var char1=one.charAt(one.length-1);var char2=two.charAt(0);var nonAlphaNumeric1=char1.match(diff_match_patch.nonAlphaNumericRegex_);var nonAlphaNumeric2=char2.match(diff_match_patch.nonAlphaNumericRegex_);var whitespace1=nonAlphaNumeric1&&char1.match(diff_match_patch.whitespaceRegex_);var whitespace2=nonAlphaNumeric2&&char2.match(diff_match_patch.whitespaceRegex_);var lineBreak1=whitespace1&&char1.match(diff_match_patch.linebreakRegex_);var lineBreak2=whitespace2&&char2.match(diff_match_patch.linebreakRegex_);var blankLine1=lineBreak1&&one.match(diff_match_patch.blanklineEndRegex_);var blankLine2=lineBreak2&&two.match(diff_match_patch.blanklineStartRegex_);if(blankLine1||blankLine2){return 5}else if(lineBreak1||lineBreak2){return 4}else if(nonAlphaNumeric1&&!whitespace1&&whitespace2){return 3}else if(whitespace1||whitespace2){return 2}else if(nonAlphaNumeric1||nonAlphaNumeric2){return 1}return 0}var pointer=1;while(pointer=bestScore){bestScore=score;bestEquality1=equality1;bestEdit=edit;bestEquality2=equality2}}if(diffs[pointer-1][1]!=bestEquality1){if(bestEquality1){diffs[pointer-1][1]=bestEquality1}else{diffs.splice(pointer-1,1);pointer--}diffs[pointer][1]=bestEdit;if(bestEquality2){diffs[pointer+1][1]=bestEquality2}else{diffs.splice(pointer+1,1);pointer--}}}pointer++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\s/;diff_match_patch.linebreakRegex_=/[\r\n]/;diff_match_patch.blanklineEndRegex_=/\n\r?\n$/;diff_match_patch.blanklineStartRegex_=/^\r?\n\r?\n/;diff_match_patch.prototype.diff_cleanupEfficiency=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var pre_ins=false;var pre_del=false;var post_ins=false;var post_del=false;while(pointer0?equalities[equalitiesLength-1]:-1;post_ins=post_del=false}changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}};diff_match_patch.prototype.diff_cleanupMerge=function(diffs){diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";var commonlength;while(pointer1){if(count_delete!==0&&count_insert!==0){commonlength=this.diff_commonPrefix(text_insert,text_delete);if(commonlength!==0){if(pointer-count_delete-count_insert>0&&diffs[pointer-count_delete-count_insert-1][0]==DIFF_EQUAL){diffs[pointer-count_delete-count_insert-1][1]+=text_insert.substring(0,commonlength)}else{diffs.splice(0,0,[DIFF_EQUAL,text_insert.substring(0,commonlength)]);pointer++}text_insert=text_insert.substring(commonlength);text_delete=text_delete.substring(commonlength)}commonlength=this.diff_commonSuffix(text_insert,text_delete);if(commonlength!==0){diffs[pointer][1]=text_insert.substring(text_insert.length-commonlength)+diffs[pointer][1];text_insert=text_insert.substring(0,text_insert.length-commonlength);text_delete=text_delete.substring(0,text_delete.length-commonlength)}}if(count_delete===0){diffs.splice(pointer-count_insert,count_delete+count_insert,[DIFF_INSERT,text_insert])}else if(count_insert===0){diffs.splice(pointer-count_delete,count_delete+count_insert,[DIFF_DELETE,text_delete])}else{diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_DELETE,text_delete],[DIFF_INSERT,text_insert])}pointer=pointer-count_delete-count_insert+(count_delete?1:0)+(count_insert?1:0)+1}else if(pointer!==0&&diffs[pointer-1][0]==DIFF_EQUAL){diffs[pointer-1][1]+=diffs[pointer][1];diffs.splice(pointer,1)}else{pointer++}count_insert=0;count_delete=0;text_delete="";text_insert="";break}}if(diffs[diffs.length-1][1]===""){diffs.pop()}var changes=false;pointer=1;while(pointerloc){break}last_chars1=chars1;last_chars2=chars2}if(diffs.length!=x&&diffs[x][0]===DIFF_DELETE){return last_chars2}return last_chars2+(loc-last_chars1)};diff_match_patch.prototype.diff_prettyHtml=function(diffs){var html=[];var pattern_amp=/&/g;var pattern_lt=//g;var pattern_para=/\n/g;for(var x=0;x");switch(op){case DIFF_INSERT:html[x]=''+text+"";break;case DIFF_DELETE:html[x]=''+text+"";break;case DIFF_EQUAL:html[x]=""+text+"";break}}return html.join("")};diff_match_patch.prototype.diff_text1=function(diffs){var text=[];for(var x=0;xthis.Match_MaxBits){throw new Error("Pattern too long for this browser.")}var s=this.match_alphabet_(pattern);var dmp=this;function match_bitapScore_(e,x){var accuracy=e/pattern.length;var proximity=Math.abs(loc-x);if(!dmp.Match_Distance){return proximity?1:accuracy}return accuracy+proximity/dmp.Match_Distance}var score_threshold=this.Match_Threshold;var best_loc=text.indexOf(pattern,loc);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold);best_loc=text.lastIndexOf(pattern,loc+pattern.length);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold)}}var matchmask=1<=start;j--){var charMatch=s[text.charAt(j-1)];if(d===0){rd[j]=(rd[j+1]<<1|1)&charMatch}else{rd[j]=(rd[j+1]<<1|1)&charMatch|((last_rd[j+1]|last_rd[j])<<1|1)|last_rd[j+1]}if(rd[j]&matchmask){var score=match_bitapScore_(d,j-1);if(score<=score_threshold){score_threshold=score;best_loc=j-1;if(best_loc>loc){start=Math.max(1,2*loc-best_loc)}else{break}}}}if(match_bitapScore_(d+1,loc)>score_threshold){break}last_rd=rd}return best_loc};diff_match_patch.prototype.match_alphabet_=function(pattern){var s={};for(var i=0;i2){this.diff_cleanupSemantic(diffs);this.diff_cleanupEfficiency(diffs)}}else if(a&&(typeof a==="undefined"?"undefined":_typeof(a))=="object"&&typeof opt_b=="undefined"&&typeof opt_c=="undefined"){diffs=a;text1=this.diff_text1(diffs)}else if(typeof a=="string"&&opt_b&&(typeof opt_b==="undefined"?"undefined":_typeof(opt_b))=="object"&&typeof opt_c=="undefined"){text1=a;diffs=opt_b}else if(typeof a=="string"&&typeof opt_b=="string"&&opt_c&&(typeof opt_c==="undefined"?"undefined":_typeof(opt_c))=="object"){text1=a;diffs=opt_c}else{throw new Error("Unknown call format to patch_make.")}if(diffs.length===0){return[]}var patches=[];var patch=new diff_match_patch.patch_obj;var patchDiffLength=0;var char_count1=0;var char_count2=0;var prepatch_text=text1;var postpatch_text=text1;for(var x=0;x=2*this.Patch_Margin){if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch);patch=new diff_match_patch.patch_obj;patchDiffLength=0;prepatch_text=postpatch_text;char_count1=char_count2}}break}if(diff_type!==DIFF_INSERT){char_count1+=diff_text.length}if(diff_type!==DIFF_DELETE){char_count2+=diff_text.length}}if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch)}return patches};diff_match_patch.prototype.patch_deepCopy=function(patches){var patchesCopy=[];for(var x=0;xthis.Match_MaxBits){start_loc=this.match_main(text,text1.substring(0,this.Match_MaxBits),expected_loc);if(start_loc!=-1){end_loc=this.match_main(text,text1.substring(text1.length-this.Match_MaxBits),expected_loc+text1.length-this.Match_MaxBits);if(end_loc==-1||start_loc>=end_loc){start_loc=-1}}}else{start_loc=this.match_main(text,text1,expected_loc)}if(start_loc==-1){results[x]=false;delta-=patches[x].length2-patches[x].length1}else{results[x]=true;delta=start_loc-expected_loc;var text2;if(end_loc==-1){text2=text.substring(start_loc,start_loc+text1.length)}else{text2=text.substring(start_loc,end_loc+this.Match_MaxBits)}if(text1==text2){text=text.substring(0,start_loc)+this.diff_text2(patches[x].diffs)+text.substring(start_loc+text1.length)}else{var diffs=this.diff_main(text1,text2,false);if(text1.length>this.Match_MaxBits&&this.diff_levenshtein(diffs)/text1.length>this.Patch_DeleteThreshold){results[x]=false}else{this.diff_cleanupSemanticLossless(diffs);var index1=0;var index2;for(var y=0;ydiffs[0][1].length){var extraLength=paddingLength-diffs[0][1].length;diffs[0][1]=nullPadding.substring(diffs[0][1].length)+diffs[0][1];patch.start1-=extraLength;patch.start2-=extraLength;patch.length1+=extraLength;patch.length2+=extraLength}patch=patches[patches.length-1];diffs=patch.diffs;if(diffs.length==0||diffs[diffs.length-1][0]!=DIFF_EQUAL){diffs.push([DIFF_EQUAL,nullPadding]);patch.length1+=paddingLength;patch.length2+=paddingLength}else if(paddingLength>diffs[diffs.length-1][1].length){var extraLength=paddingLength-diffs[diffs.length-1][1].length;diffs[diffs.length-1][1]+=nullPadding.substring(0,extraLength);patch.length1+=extraLength;patch.length2+=extraLength}return nullPadding};diff_match_patch.prototype.patch_splitMax=function(patches){var patch_size=this.Match_MaxBits;for(var x=0;x2*patch_size){patch.length1+=diff_text.length;start1+=diff_text.length;empty=false;patch.diffs.push([diff_type,diff_text]);bigpatch.diffs.shift()}else{diff_text=diff_text.substring(0,patch_size-patch.length1-this.Patch_Margin);patch.length1+=diff_text.length;start1+=diff_text.length;if(diff_type===DIFF_EQUAL){patch.length2+=diff_text.length;start2+=diff_text.length}else{empty=false}patch.diffs.push([diff_type,diff_text]);if(diff_text==bigpatch.diffs[0][1]){bigpatch.diffs.shift()}else{bigpatch.diffs[0][1]=bigpatch.diffs[0][1].substring(diff_text.length)}}}precontext=this.diff_text2(patch.diffs);precontext=precontext.substring(precontext.length-this.Patch_Margin);var postcontext=this.diff_text1(bigpatch.diffs).substring(0,this.Patch_Margin);if(postcontext!==""){patch.length1+=postcontext.length;patch.length2+=postcontext.length;if(patch.diffs.length!==0&&patch.diffs[patch.diffs.length-1][0]===DIFF_EQUAL){patch.diffs[patch.diffs.length-1][1]+=postcontext}else{patch.diffs.push([DIFF_EQUAL,postcontext])}}if(!empty){patches.splice(++x,0,patch)}}}};diff_match_patch.prototype.patch_toText=function(patches){var text=[];for(var x=0;xhead.line||anchor.line===head.line&&anchor.ch>head.ch;if(isReversedSelection){var temp=head;head=anchor;anchor=temp}return{anchor:anchor,head:head}}},{key:"_findOffsetCursor",value:function _findOffsetCursor(offsetlist){var doc=this.cm.getDoc();var beforeLength=0;var result=[];var lineLength=doc.lineCount();var offsetIndex=0;var currentLength=0;var lineIndex=void 0;for(lineIndex=0;lineIndex=offsetlist[offsetIndex]){result.push({line:lineIndex,ch:offsetlist[offsetIndex]-beforeLength});offsetIndex+=1;if(util.isUndefined(offsetlist[offsetIndex])){return result}}beforeLength=currentLength}while(!util.isUndefined(offsetlist[offsetIndex])){result.push({line:lineIndex,ch:currentLength-beforeLength});offsetIndex+=1}return result}},{key:"selectOffsetRange",value:function selectOffsetRange(start,end){var foundCursor=this._findOffsetCursor([start,end]);this.cm.setSelection({line:foundCursor[0].line,ch:foundCursor[0].ch},{line:foundCursor[1].line,ch:foundCursor[1].ch})}},{key:"clearSelect",value:function clearSelect(){var selection=this.cm.getDoc().listSelections()[0];if(selection){this.cm.setCursor(selection.to())}}}]);return MarkdownMarkerHelper}();module.exports=MarkdownMarkerHelper},function(module,exports){"use strict";tui.Editor.i18n.setLang(["en","en_US"],{Markdown:"Markdown",WYSIWYG:"WYSIWYG",Headings:"Headings",Paragraph:"Paragraph",Bold:"Bold",Italic:"Italic",Strike:"Strike",Code:"Code",Line:"Line",Blockquote:"Blockquote","Unordered list":"Unordered list","Ordered list":"Ordered list",Task:"Task","Insert link":"Insert link","Insert codeblock":"Insert codeblock","Insert table":"Insert table","Insert image":"Insert image",Heading:"Heading","Image URL":"Image URL","Select image file":"Select image file",Description:"Description",OK:"OK",Cancel:"Cancel",File:"File",URL:"URL","Link text":"Link text","Add row":"Add row","Add col":"Add col","Remove row":"Remove row","Remove col":"Remove col","Align left":"Align left","Align center":"Align center","Align right":"Align right","Remove table":"Remove table","Would you like to paste as table?":"Would you like to paste as table?","Text color":"Text color","Enable auto scroll":"Enable auto scroll","Disable auto scroll":"Disable auto scroll"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["ko","ko_KR"],{Markdown:"마크다운",WYSIWYG:"위지윅",Headings:"제목크기",Paragraph:"본문",Bold:"굵게",Italic:"기울임꼴",Strike:"취소선",Code:"코드",Line:"문단나눔",Blockquote:"인용구","Unordered list":"글머리 기호","Ordered list":"번호 매기기",Task:"체크박스","Insert link":"링크 삽입","Insert codeblock":"코드블럭 삽입","Insert table":"표 삽입","Insert image":"이미지 삽입",Heading:"제목","Image URL":"이미지 주소","Select image file":"이미지 파일을 선택하세요.",Description:"설명",OK:"확인",Cancel:"취소",File:"파일",URL:"주소","Link text":"링크 텍스트","Add row":"행 추가","Add col":"열 추가","Remove row":"행 삭제","Remove col":"열 삭제","Align left":"왼쪽 정렬","Align center":"가운데 정렬","Align right":"오른쪽 정렬","Remove table":"표 삭제","Would you like to paste as table?":"표형태로 붙여 넣겠습니까?","Text color":"글자 색상","Enable auto scroll":"자동 스크롤 켜짐","Disable auto scroll":"자동 스크롤 꺼짐"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["zh","zh_CN"],{Markdown:"Markdown",WYSIWYG:"所见即所得",Headings:"标题",Paragraph:"文本",Bold:"加粗",Italic:"斜体字",Strike:"删除线",Code:"内嵌代码",Line:"画水平线",Blockquote:"引用块","Unordered list":"无序列表","Ordered list":"有序列表",Task:"任务","Insert link":"插入链接","Insert codeblock":"插入代码块","Insert table":"插入表格","Insert image":"插入图片",Heading:"标题","Image URL":"图片网址","Select image file":"选择映像文件",Description:"说明",OK:"确认",Cancel:"取消",File:"文件",URL:"URL","Link text":"链接文本","Add row":"添加一行","Add col":"添加列","Remove row":"删除行","Remove col":"删除列","Align left":"左对齐","Align center":"居中对齐","Align right":"右对齐","Remove table":"删除表","Would you like to paste as table?":"你想粘贴表吗?","Text color":"文字色相","Enable auto scroll":"自动的滚动使用","Disable auto scroll":"自动的滚动作非使用"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["ja","ja_JP"],{Markdown:"マークダウン",WYSIWYG:"WYSIWYG",Headings:"見出し",Paragraph:"本文",Bold:"太字",Italic:"イタリック",Strike:"ストライク",Code:"コード",Line:"ライン",Blockquote:"引用","Unordered list":"番号なしリスト","Ordered list":"順序付きリスト",Task:"タスク","Insert link":"リンク挿入","Insert codeblock":"コードブロック挿入","Insert table":"テーブル挿入","Insert image":"画像挿入",Heading:"見出し","Image URL":"イメージURL","Select image file":"画像ファイル選択",Description:"ディスクリプション ",OK:"はい",Cancel:"キャンセル",File:"ファイル",URL:"URL","Link text":"リンクテキスト","Add row":"行追加","Add col":"列追加","Remove row":"行削除","Remove col":"列削除","Align left":"左揃え","Align center":"中央揃え","Align right":"右揃え","Remove table":"テーブル削除","Would you like to paste as table?":"テーブルを貼り付けますか?","Text color":"文字色相","Enable auto scroll":"自動スクロール使用","Disable auto scroll":"自動スクロール非使用"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["nl","nl_NL"],{Markdown:"Markdown",WYSIWYG:"WYSIWYG",Headings:"Koppen",Paragraph:"tekst",Bold:"Vet",Italic:"Cursief",Strike:"Doorhalen",Code:"Code",Line:"Regel",Blockquote:"Citaatblok","Unordered list":"Opsomming","Ordered list":"Genummerde opsomming",Task:"Taak","Insert link":"Link invoegen","Insert codeblock":"Codeblok toevoegen","Insert table":"Tabel invoegen","Insert image":"Afbeelding invoegen",Heading:"Kop","Image URL":"Afbeelding URL","Select image file":"Selecteer een afbeelding",Description:"Omschrijving",OK:"OK",Cancel:"Annuleren",File:"Bestand",URL:"URL","Link text":"Link tekst","Add row":"Rij toevoegen","Add col":"Kolom toevoegen","Remove row":"Rij verwijderen","Remove col":"Kolom verwijderen","Align left":"Links uitlijnen","Align center":"Centreren","Align right":"Rechts uitlijnen","Remove table":"Verwijder tabel","Would you like to paste as table?":"Wil je dit als tabel plakken?","Text color":"tekst kleur","Enable auto scroll":"Auto scroll gebruik","Disable auto scroll":"Auto scroll niet gebruik"})}]); \ No newline at end of file +!function e(t,o,n){function i(s,l){if(!o[s]){if(!t[s]){var a="function"==typeof require&&require;if(!l&&a)return a(s,!0);if(r)return r(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=o[s]={exports:{}};t[s][0].call(u.exports,function(e){var o=t[s][1][e];return i(o?o:e)},u,u.exports,e,t,o,n)}return o[s].exports}for(var r="function"==typeof require&&require,s=0;st)return e+"";for(;n1?void r(a.call(arguments),function(e){this.add(e)},this):(t=this.getItemID(e),o=this.items,o[t]||(this.length+=1),void(o[t]=e))},o.prototype.remove=function(e){var t,o,i=[];return this.length?arguments.length>1?i=n.map(a.call(arguments),function(e){return this.remove(e)},this):(t=this.items,l(e)&&(e=this.getItemID(e)),t[e]?(this.length-=1,o=t[e],delete t[e],o):i):i},o.prototype.clear=function(){this.items={},this.length=0},o.prototype.has=function(e){var t,o;return!!this.length&&(t=s(e),o=!1,t?this.each(function(t){if(e(t)===!0)return o=!0,!1}):(e=l(e)?this.getItemID(e):e,o=n.isExisty(this.items[e])),o)},o.prototype.doWhenHas=function(e,t,o){var i=this.items[e];n.isExisty(i)&&t.call(o||this,i)},o.prototype.find=function(e){var t=new o;return this.hasOwnProperty("getItemID")&&(t.getItemID=this.getItemID),this.each(function(o){e(o)===!0&&t.add(o)}),t},o.prototype.groupBy=function(e,t){var i,r,s={},l=n.isFunction,a=l(e),c=this.getItemID;if(n.isArray(e)){if(n.forEachArray(e,function(e){s[e+""]=new o(c)}),!t)return s;e=t,a=!0}return this.each(function(t){a?r=e(t):(r=t[e],l(r)&&(r=r.apply(t))),i=s[r],i||(i=s[r]=new o(c)),i.add(t)}),s},o.prototype.single=function(){var e;return this.each(function(t){return e=t,!1},this),e},o.prototype.sort=function(e){var t=[];return this.each(function(e){t.push(e)}),s(e)&&(t=t.sort(e)),t},o.prototype.each=function(e,t){i(this.items,e,t||this)},o.prototype.toArray=function(){return this.length?n.map(this.items,function(e){return e}):[]},t.exports=o}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,o){(function(e){"use strict";var o=e.tui.util,n=o.browser,i="_evt",r={START:["touchstart","mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"}},s={on:function(e,t,n,i){return o.isString(t)?void o.forEach(t.split(" "),function(t){s._on(e,t,n,i)}):void o.forEachOwnProperties(t,function(t,o){s._on(e,o,t,n)})},_on:function(e,t,n,r){var l,a,c;l=t+o.stamp(n)+(r?"_"+o.stamp(r):""),e[i]&&e[i][l]||(a=function(t){n.call(r||e,t||window.event)},c=a,"addEventListener"in e?"mouseenter"===t||"mouseleave"===t?(a=function(t){t=t||window.event,s._checkMouse(e,t)&&c(t)},e.addEventListener("mouseenter"===t?"mouseover":"mouseout",a,!1)):("mousewheel"===t&&e.addEventListener("DOMMouseScroll",a,!1),e.addEventListener(t,a,!1)):"attachEvent"in e&&e.attachEvent("on"+t,a),e[i]=e[i]||{},e[i][l]=a)},off:function(e,t,n,i){return o.isString(t)?void o.forEach(t.split(" "),function(t){s._off(e,t,n,i)}):void o.forEachOwnProperties(t,function(t,o){s._off(e,o,t,n)})},_off:function(e,t,n,r){var s=t+o.stamp(n)+(r?"_"+o.stamp(r):""),l=e[i]&&e[i][s];if(l){if("removeEventListener"in e)"mouseenter"===t||"mouseleave"===t?e.removeEventListener("mouseenter"===t?"mouseover":"mouseout",l,!1):("mousewheel"===t&&e.removeEventListener("DOMMouseScroll",l,!1),e.removeEventListener(t,l,!1));else if("detachEvent"in e)try{e.detachEvent("on"+t,l)}catch(a){}if(delete e[i][s],!o.keys(e[i]).length)return o.browser.msie&&o.browser.version<9?void(e[i]=null):void delete e[i]}},once:function(e,t,n,i){function r(){n.apply(i||e,arguments),l._off(e,t,r,i)}var l=this;return o.isObject(t)?void o.forEachOwnProperties(t,function(t,o){s.once(e,o,t,n)}):void s.on(e,t,r,i)},stopPropagation:function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},preventDefault:function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},stop:function(e){s.preventDefault(e),s.stopPropagation(e)},disableScrollPropagation:function(e){s.on(e,"mousewheel MozMousePixelScroll",s.stopPropagation)},disableClickPropagation:function(e){s.on(e,r.START.join(" ")+" click dblclick",s.stopPropagation)},getMousePosition:function(e,t){var o;return t?(o=t.getBoundingClientRect(),[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]):[e.clientX,e.clientY]},getWheelDelta:function(e){var t=0;return e.wheelDelta&&(t=e.wheelDelta/120),e.detail&&(t=-e.detail/3),t},_checkMouse:function(e,t){var o=t.relatedTarget;if(!o)return!0;try{for(;o&&o!==e;)o=o.parentNode}catch(n){return!1}return o!==e},trigger:function(e,t,n){var i=/(mouse|click)/;o.isUndefined(n)&&i.exec(t)&&(n=s.mouseEvent(t)),e.dispatchEvent?e.dispatchEvent(n):e.fireEvent&&e.fireEvent("on"+t,n)},mouseEvent:function(e,t){var i,r;return r=o.extend({bubbles:!0,cancelable:"mousemove"!==e,view:window,wheelDelta:0,detail:0,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:void 0},t),n.msie&&n.version<9&&delete r.wheelDelta,"function"==typeof document.createEvent?(i=document.createEvent("MouseEvents"),i.initMouseEvent(e,r.bubbles,r.cancelable,r.view,r.detail,r.screenX,r.screenY,r.clientX,r.clientY,r.ctrlKey,r.altKey,r.shiftKey,r.metaKey,r.button,document.body.parentNode)):document.createEventObject&&(i=document.createEventObject(),o.forEach(r,function(e,t){i[t]=e},this),i.button={0:1,1:4,2:2}[i.button]||i.button),i},getMouseButton:function(e){var t,o="0,1,3,5,7",n="2,6",i="4";return document.implementation.hasFeature("MouseEvents","2.0")?e.button:(t=e.button+"",~o.indexOf(t)?0:~n.indexOf(t)?2:~i.indexOf(t)?1:void 0)}};t.exports=s}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,t,o){(function(o){"use strict";function n(e){return e.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}var i,r=e("./domevent"),s=e("./collection"),l=o.tui.util,a="_pos",c=/^auto$|^$|%/;i={appendHTMLElement:function(e,t,o){var n;return o=o||"",n=document.createElement(e),n.className=o,t?t.appendChild(n):document.body.appendChild(n),n},remove:function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},get:function(e){return document.getElementById(e)},_matcher:function(e,t){var o=/^\./,n=/^#/;return o.test(t)?i.hasClass(e,t.replace(".","")):n.test(t)?e.id===t.replace("#",""):e.nodeName.toLowerCase()===t.toLowerCase()},find:function(e,t,o){function n(e,t){for(var l,u=e.childNodes,d=0,f=u.length;d0&&(n(l,t),s))break}var r=[],s=!1,a=l.isUndefined(o)||o===!1,c=l.isFunction(o);return l.isString(t)&&(t=i.get(t)),t=t||window.document.body,n(t,e),a?r[0]||null:r},closest:function(e,t){var o=e.parentNode;if(i._matcher(e,t))return e;for(;o&&o!==window.document.body;){if(i._matcher(o,t))return o;o=o.parentNode}},text:function(e){var t="",o=0,n=e.nodeType;if(n){if(1===n||9===n||11===n){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)t+=i.text(e)}else if(3===n||4===n)return e.nodeValue}else for(;e[o];o+=1)t+=i.text(e[o]);return t},setData:function(e,t,o){return"dataset"in e?void(e.dataset[t]=o):void e.setAttribute("data-"+t,o)},getData:function(e,t){return"dataset"in e?e.dataset[t]:e.getAttribute("data-"+t)},hasClass:function(e,t){var o;return l.isUndefined(e.classList)?(o=i.getClass(e),o.length>0&&new RegExp("(^|\\s)"+t+"(\\s|$)").test(o)):e.classList.contains(t)},addClass:function(e,t){var o;l.isUndefined(e.classList)?i.hasClass(e,t)||(o=i.getClass(e),i.setClass(e,(o?o+" ":"")+t)):l.forEachArray(t.split(" "),function(t){e.classList.add(t)})},setClass:function(e,t){l.isUndefined(e.className.baseVal)?e.className=t:e.className.baseVal=t},removeClass:function(e,t){var o="";l.isUndefined(e.classList)?(o=(" "+i.getClass(e)+" ").replace(" "+t+" "," "),i.setClass(e,n(o))):e.classList.remove(t)},getClass:function(e){return e&&e.className?l.isUndefined(e.className.baseVal)?e.className:e.className.baseVal:""},getStyle:function(e,t){var o,n=e.style[t]||e.currentStyle&&e.currentStyle[t];return n&&"auto"!==n||!document.defaultView||(o=document.defaultView.getComputedStyle(e,null),n=o?o[t]:null),"auto"===n?null:n},getComputedStyle:function(e){var t=document.defaultView;return t&&t.getComputedStyle?document.defaultView.getComputedStyle(e):{getPropertyValue:function(t){var o=/(\-([a-z]){1})/g;return"float"===t&&(t="styleFloat"),o.test(t)&&(t=t.replace(o,function(){return arguments[2].toUpperCase()})),e.currentStyle[t]?e.currentStyle[t]:null}}},setPosition:function(e,t,o){t=l.isUndefined(t)?0:t,o=l.isUndefined(o)?0:o,e[a]=[t,o],e.style.left=t+"px",e.style.top=o+"px"},getPosition:function(e,t){var o,n,i;return t&&(e[a]=null),e[a]?e[a]:(o=0,n=0,(c.test(e.style.left)||c.test(e.style.top))&&"getBoundingClientRect"in e?(i=e.getBoundingClientRect(),o=i.left,n=i.top):(o=parseFloat(e.style.left||0),n=parseFloat(e.style.top||0)),[o,n])},getSize:function(e){var t,o=i.getStyle(e,"width"),n=i.getStyle(e,"height");return(c.test(o)||c.test(n))&&"getBoundingClientRect"in e?(t=e.getBoundingClientRect(),o=t.width,n=t.height):(o=parseFloat(o||0),n=parseFloat(n||0)),[o,n]},testProp:function(e){for(var t=document.documentElement.style,o=0,n=e.length;o50?"white":"black",l.setStrokeColor(i,n),o||this.fire("_selectColor",{color:a.rgbToHEX.apply(null,this.getRGB())})},n.prototype.moveSaturationAndValue=function(e,t,o){var n,i,r,s;e=e||0,t=t||0,n=Math.abs(f[0]),i=f[1],r=e*i/100-n,s=i-t*i/100-n,this._moveColorSliderHandle(r,s,o)},n.prototype._moveColorSliderByPosition=function(e,t){var o=f[0];this._moveColorSliderHandle(e+o,t+o)},n.prototype.getSaturationAndValue=function(){var e,t,o=Math.abs(f[0]),n=o+f[1],i=l.getTranslateXY(this.sliderHandleElement);return e=(i[1]+o)/n*100,t=100-(i[0]+o)/n*100,[e,t]},n.prototype._moveHueHandle=function(e,t){var o,n,i=this.huebarHandleElement,r=this.baseColorElement;e=Math.max(p[0],e),e=Math.min(p[1],e),l.setTranslateY(i,e),o=a.hsvToRGB(this.getHue(),100,100),n=a.rgbToHEX.apply(null,o),l.setGradientColorStop(r,n),t||this.fire("_selectColor",{color:a.rgbToHEX.apply(null,this.getRGB())})},n.prototype.moveHue=function(e,t){var o,n,i=0;o=Math.abs(p[0]),n=o+p[1],e=e||0,i=n*e/h-o,this._moveHueHandle(i,t)},n.prototype._moveHueByPosition=function(e){var t=p[0];this._moveHueHandle(e+t)},n.prototype.getHue=function(){var e,t,o=this.huebarHandleElement,n=l.getTranslateXY(o);return e=Math.abs(p[0]),t=e+p[1],(n[0]+e)*h/t},n.prototype.getHSV=function(){var e=this.getSaturationAndValue(),t=this.getHue();return[t].concat(e)},n.prototype.getRGB=function(){return a.hsvToRGB.apply(null,this.getHSV())},n.prototype._prepareColorSliderForMouseEvent=function(e){var t,o=this.options,n=r.closest(e.target,"."+o.cssPrefix+"slider-part");return t=this._dragDataCache={isColorSlider:r.hasClass(n,o.cssPrefix+"slider-left"),parentElement:n}},n.prototype._onClick=function(e){var t=this._prepareColorSliderForMouseEvent(e),o=s.getMousePosition(e.originEvent,t.parentElement);t.isColorSlider?this._moveColorSliderByPosition(o[0],o[1]):this._moveHueByPosition(o[1]),this._dragDataCache=null},n.prototype._onDragStart=function(e){this._prepareColorSliderForMouseEvent(e)},n.prototype._onDrag=function(e){var t=this._dragDataCache,o=s.getMousePosition(e.originEvent,t.parentElement);t.isColorSlider?this._moveColorSliderByPosition(o[0],o[1]):this._moveHueByPosition(o[1])},n.prototype._onDragEnd=function(){this._dragDataCache=null},i.CustomEvents.mixin(n),t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../template/slider":14,"./colorutil":2,"./core/domevent":4,"./core/domutil":5,"./core/drag":6,"./core/view":7,"./svgvml":12}],12:[function(e,t,o){(function(e){"use strict";var o=e.tui.util,n=/[\.\-0-9]+/g,i=-6,r={isOldBrowser:function(){var e=r._isOldBrowser;return o.isExisty(e)||(r._isOldBrowser=e=o.browser.msie&&o.browser.version<9),e},getTranslateXY:function(e){var t;return r.isOldBrowser()?(t=e.style,[parseFloat(t.top),parseFloat(t.left)]):(t=e.getAttribute("transform"))?(t=t.match(n),[parseFloat(t[1]),parseFloat(t[0])]):[0,0]},setTranslateXY:function(e,t,o){r.isOldBrowser()?(e.style.left=t+"px",e.style.top=o+"px"):e.setAttribute("transform","translate("+t+","+o+")")},setTranslateY:function(e,t){r.isOldBrowser()?e.style.top=t+"px":e.setAttribute("transform","translate("+i+","+t+")")},setStrokeColor:function(e,t){r.isOldBrowser()?e.strokecolor=t:e.setAttribute("stroke",t)},setGradientColorStop:function(e,t){r.isOldBrowser()?e.color=t:e.setAttribute("stop-color",t)}};t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],13:[function(e,t,o){"use strict";var n=['
      {{colorList}}
    ','
    ','','','{{color}}',"
    "].join("\n"),i='
  • ';t.exports={layout:n,item:i}},{}],14:[function(e,t,o){(function(e){"use strict";var o=e.tui.util,n=['
    {{slider}}
    ','
    {{huebar}}
    '].join("\n"),i=['',"",'','','',"",'','','',"","",'','','',""].join("\n"),r=['
    ','','',"",'','',"",'',"
    "].join("\n"),s=['',"",'','','','','','','','',"","",'','',""].join("\n"),l=['
    ','','',"",'',"
    "].join("\n"),a=o.browser.msie&&o.browser.version<9;a&&e.document.namespaces.add("v","urn:schemas-microsoft-com:vml"),t.exports={layout:n,slider:a?r:i,huebar:a?l:s}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1]);(function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:false};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.loaded=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.p="";return __webpack_require__(0)})([function(module,exports,__webpack_require__){"use strict";var _editor=__webpack_require__(1);var _editor2=_interopRequireDefault(_editor);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i=0;i-=1){if(__nedInstance[i]===this){__nedInstance.splice(i,1)}}}},{key:"hide",value:function hide(){this.eventManager.emit("hide",this)}},{key:"show",value:function show(){this.eventManager.emit("show",this);this.getCodeMirror().refresh()}},{key:"scrollTop",value:function scrollTop(value){return this.getCurrentModeEditor().scrollTop(value)}},{key:"setUI",value:function setUI(UI){this._ui=UI}},{key:"getUI",value:function getUI(){return this._ui}},{key:"reset",value:function reset(){this.wwEditor.reset();this.mdEditor.reset()}},{key:"getRange",value:function getRange(){return this.getCurrentModeEditor().getRange()}},{key:"getTextObject",value:function getTextObject(range){return this.getCurrentModeEditor().getTextObject(range)}}],[{key:"getInstances",value:function getInstances(){return __nedInstance}},{key:"defineExtension",value:function defineExtension(name,ext){_extManager2.default.defineExtension(name,ext)}},{key:"factory",value:function factory(options){var tuiEditor=void 0;if(options.viewOnly){tuiEditor=new _viewOnly2.default(options)}else{tuiEditor=new ToastUIEditor(options);tuiEditor.addCommand(_bold2.default);tuiEditor.addCommand(_italic2.default);tuiEditor.addCommand(_blockquote2.default);tuiEditor.addCommand(_heading2.default);tuiEditor.addCommand(_paragraph2.default);tuiEditor.addCommand(_hr2.default);tuiEditor.addCommand(_addLink2.default);tuiEditor.addCommand(_addImage2.default);tuiEditor.addCommand(_ul2.default);tuiEditor.addCommand(_ol2.default);tuiEditor.addCommand(_table2.default);tuiEditor.addCommand(_task2.default);tuiEditor.addCommand(_code2.default);tuiEditor.addCommand(_codeBlock2.default);tuiEditor.addCommand(_strike2.default);tuiEditor.addCommand(_bold4.default);tuiEditor.addCommand(_italic4.default);tuiEditor.addCommand(_blockquote4.default);tuiEditor.addCommand(_ul4.default);tuiEditor.addCommand(_ol4.default);tuiEditor.addCommand(_addImage4.default);tuiEditor.addCommand(_addLink4.default);tuiEditor.addCommand(_hr4.default);tuiEditor.addCommand(_heading4.default);tuiEditor.addCommand(_paragraph4.default);tuiEditor.addCommand(_increaseDepth2.default);tuiEditor.addCommand(_decreaseDepth2.default);tuiEditor.addCommand(_task4.default);tuiEditor.addCommand(_table4.default);tuiEditor.addCommand(_tableAddRow2.default);tuiEditor.addCommand(_tableAddCol2.default);tuiEditor.addCommand(_tableRemoveRow2.default);tuiEditor.addCommand(_tableRemoveCol2.default);tuiEditor.addCommand(_tableAlignCol2.default);tuiEditor.addCommand(_tableRemove2.default);tuiEditor.addCommand(_code4.default);tuiEditor.addCommand(_codeBlock4.default);tuiEditor.addCommand(_strike4.default)}return tuiEditor}}]);return ToastUIEditor}();ToastUIEditor.i18n=_i18n2.default;ToastUIEditor.markdownItRenderer=_convertor2.default.getMarkdownHighlightRenderer();module.exports=ToastUIEditor},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i");if(initialValue){cmTextarea.text(initialValue);this._emitMarkdownEditorContentChangedEvent(initialValue)}this.$editorContainerEl.append(cmTextarea);this.cm=CodeMirror.fromTextArea(cmTextarea[0],{lineWrapping:true,mode:"gfm",theme:"default",dragDrop:true,allowDropFileTypes:["image"],extraKeys:{Enter:"newlineAndIndentContinue",Tab:"subListIndentTab","Shift-Tab":"indentLess","Alt-Up":"replaceLineTextToUpper","Alt-Down":"replaceLineTextToLower"},indentUnit:4});this._initEvent()}},{key:"_initEvent",value:function _initEvent(){var _this=this;this.cm.getWrapperElement().addEventListener("click",function(){_this.eventManager.emit("click",{source:"markdown"})});this.cm.on("beforeChange",function(cm,ev){if(ev.origin==="paste"){_this.eventManager.emit("pasteBefore",{source:"markdown",data:ev})}});this.cm.on("change",function(cm,cmEvent){_this._emitMarkdownEditorContentChangedEvent();_this._emitMarkdownEditorChangeEvent(cmEvent)});this.cm.on("focus",function(){_this.eventManager.emit("focus",{source:"markdown"});_this.getEditor().refresh()});this.cm.on("blur",function(){_this.eventManager.emit("blur",{source:"markdown"})});this.cm.on("scroll",function(cm,eventData){_this.eventManager.emit("scroll",{source:"markdown",data:eventData})});this.cm.on("keydown",function(cm,keyboardEvent){_this.eventManager.emit("keydown",{source:"markdown",data:keyboardEvent});_this.eventManager.emit("keyMap",{source:"markdown",keyMap:keyMapper.convert(keyboardEvent),data:keyboardEvent})});this.cm.on("keyup",function(cm,keyboardEvent){_this.eventManager.emit("keyup",{source:"markdown",data:keyboardEvent})});this.cm.on("copy",function(cm,ev){_this.eventManager.emit("copy",{source:"markdown",data:ev})});this.cm.on("cut",function(cm,ev){_this.eventManager.emit("cut",{source:"markdown",data:ev})});this.cm.on("paste",function(cm,clipboardEvent){_this.eventManager.emit("paste",{source:"markdown",data:clipboardEvent})});this.cm.on("drop",function(cm,eventData){eventData.preventDefault();_this.eventManager.emit("drop",{source:"markdown",data:eventData})});this.cm.on("cursorActivity",function(){var token=_this.cm.getTokenAt(_this.cm.getCursor());var base=token.state.base;var overlay=token.state.overlay;var state={bold:!!base.strong,italic:!!base.em,code:!!overlay.code,codeBlock:!!overlay.codeBlock,quote:!!base.quote,list:!!base.list,task:!!base.task,source:"markdown"};if(!_this._latestState||_this._isStateChanged(_this._latestState,state)){_this.eventManager.emit("stateChange",state);_this._latestState=state}})}},{key:"getCurrentRange",value:function getCurrentRange(){var from=this.cm.getCursor("from"),to=this.cm.getCursor("to");return{from:from,to:to,collapsed:from===to}}},{key:"focus",value:function focus(){this.cm.focus()}},{key:"blur",value:function blur(){this.cm.getInputField().blur()}},{key:"remove",value:function remove(){this.cm.toTextArea()}},{key:"setValue",value:function setValue(markdown){this.getEditor().setValue(markdown);this._emitMarkdownEditorContentChangedEvent();this.moveCursorToEnd();this.getEditor().refresh()}},{key:"getValue",value:function getValue(){return this.cm.getValue("\n")}},{key:"getEditor",value:function getEditor(){return this.cm}},{key:"reset",value:function reset(){this.setValue("")}},{key:"_emitMarkdownEditorContentChangedEvent",value:function _emitMarkdownEditorContentChangedEvent(){this.eventManager.emit("contentChangedFromMarkdown",this)}},{key:"_cloneCMEventObject",value:function _cloneCMEventObject(e){return{from:{line:e.from.line,ch:e.from.ch},to:{line:e.to.line,ch:e.to.ch}}}},{key:"_emitMarkdownEditorChangeEvent",value:function _emitMarkdownEditorChangeEvent(e){if(e.origin!=="setValue"){var eventObj={source:"markdown"};this.eventManager.emit("changeFromMarkdown",eventObj);this.eventManager.emit("change",eventObj)}}},{key:"getCaretPosition",value:function getCaretPosition(){return this.cm.cursorCoords()}},{key:"addWidget",value:function addWidget(selection,node,style,offset){if(offset){selection.ch+=offset}this.cm.addWidget(selection.end,node,true,style)}},{key:"replaceSelection",value:function replaceSelection(content,selection){if(selection){this.cm.setSelection(selection.from,selection.to)}this.cm.replaceSelection(content);this.focus()}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){var cursor=this.cm.getCursor(),selection={from:{line:cursor.line,ch:cursor.ch+offset},to:{line:cursor.line,ch:cursor.ch+offset+overwriteLength}};this.replaceSelection(content,selection)}},{key:"setHeight",value:function setHeight(height){this.$editorContainerEl.height(height);if(height==="auto"){this.$editorContainerEl.find(".CodeMirror").height("auto")}}},{key:"moveCursorToEnd",value:function moveCursorToEnd(){var doc=this.getEditor().getDoc(),lastLine=doc.lastLine();doc.setCursor(lastLine,doc.getLine(lastLine).length)}},{key:"moveCursorToStart",value:function moveCursorToStart(){var doc=this.getEditor().getDoc(),firstLine=doc.firstLine();doc.setCursor(firstLine,0)}},{key:"scrollTop",value:function scrollTop(value){if(value){this.cm.scrollTo(0,value)}return this.cm.getScrollInfo().top}},{key:"getRange",value:function getRange(){var start=this.getEditor().getCursor("from");var end=this.getEditor().getCursor("to");return{start:{line:start.line,ch:start.ch},end:{line:end.line,ch:end.ch}}}},{key:"getTextObject",value:function getTextObject(range){return new _mdTextObject2.default(this,range)}},{key:"_isStateChanged",value:function _isStateChanged(previousState,currentState){var result=false;tui.util.forEach(currentState,function(currentStateTypeValue,stateType){result=previousState[stateType]!==currentStateTypeValue;return!result});return result}}]);return MarkdownEditor}();module.exports=MarkdownEditor},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i","?","AT","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","","","CONTEXT_MENU","","SLEEP","NUMPAD0","NUMPAD1","NUMPAD2","NUMPAD3","NUMPAD4","NUMPAD5","NUMPAD6","NUMPAD7","NUMPAD8","NUMPAD9","MULTIPLY","ADD","SEPARATOR","SUBTRACT","DECIMAL","DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","","","","","","","","","NUM_LOCK","SCROLL_LOCK","WIN_OEM_FJ_JISHO","WIN_OEM_FJ_MASSHOU","WIN_OEM_FJ_TOUROKU","WIN_OEM_FJ_LOYA","WIN_OEM_FJ_ROYA","","","","","","","","","","@","!",'"',"#","$","%","&","_","(",")","*","+","|","-","{","}","~","","","","","VOLUME_MUTE","VOLUME_DOWN","VOLUME_UP","","",";","=",",","-",".","/","`","","","","","","","","","","","","","","","","","","","","","","","","","","","[","\\","]","'","","META","ALTGR","","WIN_ICO_HELP","WIN_ICO_00","","WIN_ICO_CLEAR","","","WIN_OEM_RESET","WIN_OEM_JUMP","WIN_OEM_PA1","WIN_OEM_PA2","WIN_OEM_PA3","WIN_OEM_WSCTRL","WIN_OEM_CUSEL","WIN_OEM_ATTN","WIN_OEM_FINISH","WIN_OEM_COPY","WIN_OEM_AUTO","WIN_OEM_ENLW","WIN_OEM_BACKTAB","ATTN","CRSEL","EXSEL","EREOF","PLAY","ZOOM","","PA1","WIN_OEM_CLEAR",""];var sharedInstance=void 0;var KeyMapper=function(){function KeyMapper(options){_classCallCheck(this,KeyMapper);this._setSplitter(options)}_createClass(KeyMapper,[{key:"_setSplitter",value:function _setSplitter(options){var splitter=options?options.splitter:"+";this._splitter=splitter}},{key:"convert",value:function convert(event){var keyMap=[];if(event.shiftKey){keyMap.push("SHIFT")}if(event.ctrlKey){keyMap.push("CTRL")}if(event.metaKey){keyMap.push("META")}if(event.altKey){keyMap.push("ALT")}var keyChar=this._getKeyCodeChar(event.keyCode);if(keyChar){keyMap.push(keyChar)}return keyMap.join(this._splitter)}},{key:"_getKeyCodeChar",value:function _getKeyCodeChar(keyCode){var keyCodeCharacter=KEYBOARD_MAP[keyCode];return keyCodeCharacter}}],[{key:"getSharedInstance",value:function getSharedInstance(){if(!sharedInstance){sharedInstance=new KeyMapper}return sharedInstance}}]);return KeyMapper}();module.exports=KeyMapper},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i\n/g,"
    "))}});this.eventManager.listen("previewNeedsRefresh",function(value){_this.refresh(value||latestMarkdownValue)});this.$el.on("scroll",function(event){_this.eventManager.emit("scroll",{source:"preview",data:event})})}},{key:"_initContentSection",value:function _initContentSection(){this.$previewContent=$('
    ');this.$el.append(this.$previewContent)}},{key:"refresh",value:function refresh(markdown){this.render(this.converter.toHTMLWithCodeHightlight(markdown))}},{key:"render",value:function render(html){var finalHtml=html;var processedDataByHook=this.eventManager.emit("previewBeforeHook",html);if(processedDataByHook){finalHtml=processedDataByHook[0]}this.$previewContent.empty();this.$previewContent.html(finalHtml);this.eventManager.emit("previewRenderAfter",this)}},{key:"setHeight",value:function setHeight(height){this.$el.height(height)}},{key:"isVisible",value:function isVisible(){return this.$el.css("display")!=="none"}}]);return Preview}();module.exports=Preview},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i(
    |
    |
    |
    )<\/\1>/g,FIND_UNNECESSARY_BR=/(?:
    |
    |
    |
    )<\/(.+?)>/g,FIND_BLOCK_TAGNAME_RX=/\b(H[\d]|LI|P|BLOCKQUOTE|TD|PRE)\b/;var EDITOR_CONTENT_CSS_CLASSNAME="tui-editor-contents";var canObserveMutations=typeof MutationObserver!=="undefined";var WysiwygEditor=function(){function WysiwygEditor($el,eventManager){var _this=this;_classCallCheck(this,WysiwygEditor);this.eventManager=eventManager;this.$editorContainerEl=$el;this._height=0;this._silentChange=false;this._keyEventHandlers={};this._managers={};this._initEvent();this._initDefaultKeyEventHandler();this.postProcessForChange=util.debounce(function(){return _this._postProcessForChange()},0)}_createClass(WysiwygEditor,[{key:"init",value:function init(){var $editorBody=$("
    ");this.$editorContainerEl.append($editorBody);this.editor=new _squireExt2.default($editorBody[0],{blockTag:"DIV",leafNodeNames:{HR:false}});this._clipboardManager=new _wwClipboardManager2.default(this);this._initSquireEvent();this._clipboardManager.init();this.get$Body().addClass(EDITOR_CONTENT_CSS_CLASSNAME);this.$editorContainerEl.css("position","relative")}},{key:"_preprocessForInlineElement",value:function _preprocessForInlineElement(html){return html.replace(/
    ( *)
    $1B|>STRONG|^B$|^STRONG$)/.test(data.path),italic:/(>I|>EM|^I$|^EM$)/.test(data.path),code:/CODE/.test(data.path),codeBlock:/PRE/.test(data.path),quote:/BLOCKQUOTE/.test(data.path),list:/LI(?!.task-list-item)/.test(self._getLastLiString(data.path)),task:/LI.task-list-item/.test(self._getLastLiString(data.path)),source:"wysiwyg"};self.eventManager.emit("stateChange",state)})}},{key:"_getLastLiString",value:function _getLastLiString(path){var foundedListItem=/LI[^UO]*$/.exec(path);var result=void 0;if(foundedListItem){result=foundedListItem[0]}else{result=""}return result}},{key:"_onKeyDown",value:function _onKeyDown(keyboardEvent){var keyMap=keyMapper.convert(keyboardEvent);if(keyboardEvent.keyCode){this.eventManager.emit("keyMap",{source:"wysiwyg",keyMap:keyMap,data:keyboardEvent});if(!keyboardEvent.defaultPrevented){this.eventManager.emit("wysiwygKeyEvent",{keyMap:keyMap,data:keyboardEvent})}}}},{key:"_initDefaultKeyEventHandler",value:function _initDefaultKeyEventHandler(){var self=this;this.addKeyEventHandler("ENTER",function(ev,range){if(self._isInOrphanText(range)){self.defer(function(){self._wrapDefaultBlockToOrphanTexts();self.breakToNewDefaultBlock(range,"before")})}self.defer(function(){self._scrollToRangeIfNeed()})});this.addKeyEventHandler("TAB",function(ev){var sq=self.getEditor();var range=sq.getSelection();var isAbleToInput4Spaces=range.collapsed&&self._isCursorNotInRestrictedAreaOfTabAction(sq);var isTextSelection=!range.collapsed&&_domUtils2.default.isTextNode(range.commonAncestorContainer);ev.preventDefault();if(isAbleToInput4Spaces||isTextSelection){sq.insertPlainText("    ");return false}return true})}},{key:"_wrapDefaultBlockToOrphanTexts",value:function _wrapDefaultBlockToOrphanTexts(){var textNodes=this.get$Body().contents().filter(this.findTextNodeFilter);textNodes.each(function(i,node){if(node.nextSibling&&node.nextSibling.tagName==="BR"){$(node.nextSibling).remove()}$(node).wrap("
    ")})}},{key:"_scrollToRangeIfNeed",value:function _scrollToRangeIfNeed(){var range=this.getEditor().getSelection().cloneRange();var cursorTop=this.getEditor().getCursorPosition(range).top-this.$editorContainerEl.offset().top;if(cursorTop>=this.get$Body().height()){range.endContainer.scrollIntoView()}}},{key:"_isInOrphanText",value:function _isInOrphanText(range){return range.startContainer.nodeType===Node.TEXT_NODE&&range.startContainer.parentNode===this.get$Body()[0]}},{key:"_wrapDefaultBlockTo",value:function _wrapDefaultBlockTo(range){this.saveSelection(range);this._joinSplitedTextNodes();this.restoreSavedSelection();range=this.getEditor().getSelection().cloneRange();var textElem=range.startContainer;var cursorOffset=range.startOffset;var block=this.getEditor().createDefaultBlock([range.startContainer]);var insertTargetNode=_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset);if(insertTargetNode){range.setStartBefore(insertTargetNode)}else{range.selectNodeContents(range.startContainer)}range.collapse(true);range.insertNode(block);range.setStart(textElem,cursorOffset);range.collapse(true);this.getEditor().setSelection(range)}},{key:"findTextNodeFilter",value:function findTextNodeFilter(){return this.nodeType===Node.TEXT_NODE}},{key:"_joinSplitedTextNodes",value:function _joinSplitedTextNodes(){var prevNode=void 0,lastGroup=void 0;var nodesToRemove=[];var textNodes=this.get$Body().contents().filter(this.findTextNodeFilter);textNodes.each(function(i,node){if(prevNode===node.previousSibling){lastGroup.nodeValue+=node.nodeValue;nodesToRemove.push(node)}else{lastGroup=node}prevNode=node});$(nodesToRemove).remove()}},{key:"saveSelection",value:function saveSelection(range){var sq=this.getEditor();if(!range){range=sq.getSelection().cloneRange()}this.getEditor()._saveRangeToBookmark(range)}},{key:"restoreSavedSelection",value:function restoreSavedSelection(){var sq=this.getEditor();sq.setSelection(sq._getRangeAndRemoveBookmark())}},{key:"reset",value:function reset(){this.setValue("")}},{key:"changeBlockFormatTo",value:function changeBlockFormatTo(targetTagName){this.getEditor().changeBlockFormatTo(targetTagName);this.eventManager.emit("wysiwygRangeChangeAfter",this)}},{key:"makeEmptyBlockCurrentSelection",value:function makeEmptyBlockCurrentSelection(){var self=this;this.getEditor().modifyBlocks(function(frag){if(!frag.textContent){frag=self.getEditor().createDefaultBlock()}return frag})}},{key:"focus",value:function focus(){this.editor.focus()}},{key:"blur",value:function blur(){this.editor.blur()}},{key:"remove",value:function remove(){this.getEditor().destroy();this.editor=null;this.$body=null}},{key:"setHeight",value:function setHeight(height){this._height=height;if(height==="auto"){this.get$Body().css("overflow","visible");this.get$Body().css("height","auto")}else{this.get$Body().css("overflow","auto");this.get$Body().css("height","100%");this.$editorContainerEl.height(height)}}},{key:"setValue",value:function setValue(html){html=this.eventManager.emitReduce("wysiwygSetValueBefore",html);this.editor.setHTML(html);this.eventManager.emit("wysiwygSetValueAfter",this);this.eventManager.emit("contentChangedFromWysiwyg",this);this.moveCursorToEnd();this.getEditor().preserveLastLine();this.getEditor().removeLastUndoStack();this.getEditor().saveUndoState()}},{key:"getValue",value:function getValue(){this._prepareGetHTML();var html=this.editor.getHTML();html=html.replace(FIND_EMPTY_LINE,function(match,tag){var result=void 0;if(tag==="li"){result=match}else if(tag==="td"||tag==="th"){result="<"+tag+">"}else{result="
    "}return result});html=html.replace(FIND_UNNECESSARY_BR,"");html=html.replace(/
    /g,"");html=html.replace(/<\/div>/g,"
    ");html=this.eventManager.emitReduce("wysiwygProcessHTMLText",html);return html}},{key:"_prepareGetHTML",value:function _prepareGetHTML(){var self=this;self.get$Body().attr("lastGetValue",Date.now());self._joinSplitedTextNodes();self.getEditor().modifyDocument(function(){self.eventManager.emit("wysiwygGetValueBefore",self)})}},{key:"_postProcessForChange",value:function _postProcessForChange(){var self=this;self.getEditor().modifyDocument(function(){self.eventManager.emit("wysiwygRangeChangeAfter",self)})}},{key:"readySilentChange",value:function readySilentChange(){if(canObserveMutations&&!this.getEditor().isIgnoreChange()){this._silentChange=true}}},{key:"getEditor",value:function getEditor(){return this.editor}},{key:"replaceSelection",value:function replaceSelection(content,range){this.getEditor().replaceSelection(content,range)}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){this.getEditor().replaceRelativeOffset(content,offset,overwriteLength)}},{key:"addWidget",value:function addWidget(range,node,style,offset){var pos=this.getEditor().getSelectionPosition(range,style,offset);var editorContainerPos=this.$editorContainerEl.offset();this.$editorContainerEl.append(node);$(node).css({position:"absolute",top:pos.top-editorContainerPos.top,left:pos.left-editorContainerPos.left})}},{key:"get$Body",value:function get$Body(){return this.getEditor().get$Body()}},{key:"hasFormatWithRx",value:function hasFormatWithRx(rx){return this.getEditor().getPath().match(rx)}},{key:"breakToNewDefaultBlock",value:function breakToNewDefaultBlock(range,where){var div=this.editor.createDefaultBlock();var currentNode=_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset)||_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset-1);var appendBefore=_domUtils2.default.getParentUntil(currentNode,this.get$Body()[0]);if(where==="before"){$(appendBefore).before(div)}else{$(appendBefore).after(div)}range.setStart(div,0);range.collapse(true);this.editor.setSelection(range)}},{key:"replaceContentText",value:function replaceContentText(container,from,to){var before=$(container).html();$(container).html(before.replace(from,to))}},{key:"unwrapBlockTag",value:function unwrapBlockTag(condition){if(!condition){condition=function condition(tagName){return FIND_BLOCK_TAGNAME_RX.test(tagName)}}this.getEditor().changeBlockFormat(condition);this.eventManager.emit("wysiwygRangeChangeAfter",this)}},{key:"addManager",value:function addManager(name,Manager){if(!Manager){Manager=name;name=null}var instance=new Manager(this);this._managers[name||instance.name]=instance}},{key:"getManager",value:function getManager(name){return this._managers[name]}},{key:"moveCursorToEnd",value:function moveCursorToEnd(){this.getEditor().moveCursorToEnd();this.getEditor().scrollTop(this.get$Body().height());this._correctRangeAfterMoveCursor("end")}},{key:"moveCursorToStart",value:function moveCursorToStart(){this.getEditor().moveCursorToStart();this.getEditor().scrollTop(0)}},{key:"scrollTop",value:function scrollTop(value){return this.getEditor().scrollTop(value)}},{key:"_correctRangeAfterMoveCursor",value:function _correctRangeAfterMoveCursor(direction){var range=this.getEditor().getSelection().cloneRange();var cursorContainer=this.get$Body()[0];if(direction==="start"){while(cursorContainer.firstChild){cursorContainer=cursorContainer.firstChild}}else{while(cursorContainer.lastChild){cursorContainer=cursorContainer.lastChild}}if(cursorContainer.tagName==="BR"){range.setStartBefore(cursorContainer)}else{range.setStartAfter(cursorContainer)}range.collapse(true);this.getEditor().setSelection(range)}},{key:"getRange",value:function getRange(){return this.getEditor().getSelection().cloneRange()}},{key:"getTextObject",value:function getTextObject(range){return new _wwTextObject2.default(this,range)}},{key:"defer",value:function defer(callback,delayOffset){var self=this;var delay=delayOffset?delayOffset:0;setTimeout(function(){if(self.isEditorValid()){callback(self)}},delay)}},{key:"isEditorValid",value:function isEditorValid(){return this.getEditor()&&$.contains(this.$editorContainerEl[0].ownerDocument,this.$editorContainerEl[0])}},{key:"_isCursorNotInRestrictedAreaOfTabAction",value:function _isCursorNotInRestrictedAreaOfTabAction(editor){return!editor.hasFormat("li")&&!editor.hasFormat("blockquote")&&!editor.hasFormat("table")}}],[{key:"factory",value:function factory($el,eventManager){var wwe=new WysiwygEditor($el,eventManager);wwe.init();wwe.addManager(_wwListManager2.default);wwe.addManager(_wwTaskManager2.default);wwe.addManager(_wwTableSelectionManager2.default);wwe.addManager(_wwTableManager2.default);wwe.addManager(_wwHrManager2.default);wwe.addManager(_wwPManager2.default);wwe.addManager(_wwHeadingManager2.default);wwe.addManager(_wwCodeBlockManager2.default);return wwe}}]);return WysiwygEditor}();module.exports=WysiwygEditor},function(module,exports){"use strict";var FIND_ZWB=/\u200B/g;var util=tui.util;var isTextNode=function isTextNode(node){return node&&node.nodeType===Node.TEXT_NODE};var isElemNode=function isElemNode(node){return node&&node.nodeType===Node.ELEMENT_NODE};var getNodeName=function getNodeName(node){if(isElemNode(node)){return node.tagName}return"TEXT"};var getTextLength=function getTextLength(node){var len=void 0;if(isElemNode(node)){len=node.textContent.replace(FIND_ZWB,"").length}else if(isTextNode(node)){len=node.nodeValue.replace(FIND_ZWB,"").length}return len};var getOffsetLength=function getOffsetLength(node){var len=void 0;if(isElemNode(node)){len=node.childNodes.length}else if(isTextNode(node)){len=node.nodeValue.replace(FIND_ZWB,"").length}return len};var getNodeOffsetOfParent=function getNodeOffsetOfParent(node){var childNodesOfParent=node.parentNode.childNodes;var i=void 0,t=void 0,found=void 0;for(i=0,t=childNodesOfParent.length;i=0){currentNode=node.childNodes[index]}return currentNode};var getNodeWithDirectionUntil=function getNodeWithDirectionUntil(direction,node,untilNodeName){var directionKey=direction+"Sibling";var nodeName=void 0,foundedNode=void 0;while(node&&!node[directionKey]){nodeName=getNodeName(node.parentNode);if(nodeName===untilNodeName||nodeName==="BODY"){break}node=node.parentNode}if(node[directionKey]){foundedNode=node[directionKey]}return foundedNode};var getPrevOffsetNodeUntil=function getPrevOffsetNodeUntil(node,index,untilNodeName){var prevNode=void 0;if(index>0){prevNode=getChildNodeByOffset(node,index-1)}else{prevNode=getNodeWithDirectionUntil("previous",node,untilNodeName)}return prevNode};var getParentUntilBy=function getParentUntilBy(node,condition){var foundedNode=void 0;while(node.parentNode&&!condition(node.parentNode)){node=node.parentNode}if(condition(node.parentNode)){foundedNode=node}return foundedNode};var getParentUntil=function getParentUntil(node,untilNode){var foundedNode=void 0;if(util.isString(untilNode)){foundedNode=getParentUntilBy(node,function(targetNode){return untilNode===getNodeName(targetNode)})}else{foundedNode=getParentUntilBy(node,function(targetNode){return untilNode===targetNode})}return foundedNode};var getNodeWithDirectionUnderParent=function getNodeWithDirectionUnderParent(direction,node,underNode){var directionKey=direction+"Sibling";var foundedNode=void 0;node=getParentUntil(node,underNode);if(node&&node[directionKey]){foundedNode=node[directionKey]}return foundedNode};var getTopPrevNodeUnder=function getTopPrevNodeUnder(node,underNode){return getNodeWithDirectionUnderParent("previous",node,underNode)};var getTopNextNodeUnder=function getTopNextNodeUnder(node,underNode){return getNodeWithDirectionUnderParent("next",node,underNode)};var getTopBlockNode=function getTopBlockNode(node){return getParentUntil(node,"BODY")};var getPrevTextNode=function getPrevTextNode(node){node=node.previousSibling||node.parentNode;while(!isTextNode(node)&&getNodeName(node)!=="BODY"){if(node.previousSibling){node=node.previousSibling;while(node.lastChild){node=node.lastChild}}else{node=node.parentNode}}if(getNodeName(node)==="BODY"){node=null}return node};var findOffsetNode=function findOffsetNode(root,offsetList,textNodeFilter){var result=[];var text="";var walkerOffset=0;var newWalkerOffset=void 0;if(!offsetList.length){return result}var offset=offsetList.shift();var walker=document.createTreeWalker(root,4,null,false);while(walker.nextNode()){text=walker.currentNode.nodeValue||"";if(textNodeFilter){text=textNodeFilter(text)}newWalkerOffset=walkerOffset+text.length;while(newWalkerOffset>=offset){result.push({container:walker.currentNode,offsetInContainer:offset-walkerOffset,offset:offset});if(!offsetList.length){return result}offset=offsetList.shift()}walkerOffset=newWalkerOffset}do{result.push({container:walker.currentNode,offsetInContainer:text.length,offset:offset});offset=offsetList.shift()}while(!util.isUndefined(offset));return result};var getNodeInfo=function getNodeInfo(node){var path={};path.tagName=node.nodeName;if(node.id){path.id=node.id}var className=node.className.trim();if(className){path.className=className}return path};var getPath=function getPath(node,root){var paths=[];while(node&&node!==root){if(isElemNode(node)){paths.unshift(getNodeInfo(node))}node=node.parentNode}return paths};var getTableCellByDirection=function getTableCellByDirection(node,direction){var isForward=true;var targetElement=null;if(tui.util.isUndefined(direction)||direction!=="next"&&direction!=="previous"){return null}else if(direction==="previous"){isForward=false}if(isForward){targetElement=node.nextElementSibling}else{targetElement=node.previousElementSibling}return targetElement};var getSiblingRowCellByDirection=function getSiblingRowCellByDirection(node,direction,needEdgeCell){var isForward=true;var tableCellElement=null;var $node=void 0,index=void 0,$targetRowElement=void 0,$currentContainer=void 0,$siblingContainer=void 0,isSiblingContainerExists=void 0;if(tui.util.isUndefined(direction)||direction!=="next"&&direction!=="previous"){return null}else if(direction==="previous"){isForward=false}if(node){$node=$(node);if(isForward){$targetRowElement=$node.parent().next();$currentContainer=$node.parents("thead");$siblingContainer=$currentContainer[0]&&$currentContainer.next();isSiblingContainerExists=$siblingContainer&&getNodeName($siblingContainer[0])==="TBODY";index=0}else{$targetRowElement=$node.parent().prev();$currentContainer=$node.parents("tbody");$siblingContainer=$currentContainer[0]&&$currentContainer.prev();isSiblingContainerExists=$siblingContainer&&getNodeName($siblingContainer[0])==="THEAD";index=node.parentNode.childNodes.length-1}if(tui.util.isUndefined(needEdgeCell)||!needEdgeCell){index=getNodeOffsetOfParent(node)}if($targetRowElement[0]){tableCellElement=$targetRowElement.children("td,th")[index]}else if($currentContainer[0]&&isSiblingContainerExists){tableCellElement=$siblingContainer.find("td,th")[index]}return tableCellElement}return null};module.exports={getNodeName:getNodeName,isTextNode:isTextNode,isElemNode:isElemNode,getTextLength:getTextLength,getOffsetLength:getOffsetLength,getPrevOffsetNodeUntil:getPrevOffsetNodeUntil,getNodeOffsetOfParent:getNodeOffsetOfParent,getChildNodeByOffset:getChildNodeByOffset,getTopPrevNodeUnder:getTopPrevNodeUnder,getTopNextNodeUnder:getTopNextNodeUnder,getParentUntil:getParentUntil,getTopBlockNode:getTopBlockNode,getPrevTextNode:getPrevTextNode,findOffsetNode:findOffsetNode,getPath:getPath,getNodeInfo:getNodeInfo,getTableCellByDirection:getTableCellByDirection,getSiblingRowCellByDirection:getSiblingRowCellByDirection}},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")[0])}currentDiv=null;newFrag.appendChild(node)}});return newFrag}},{key:"_pasteFirstAid",value:function _pasteFirstAid(fragment){var _this=this;var blockTags="div, section, article, aside, nav, menus, p";fragment=(0,_htmlSanitizer2.default)(fragment);$(fragment).find("*").each(function(i,node){_this._removeStyles(node)});this._unwrapIfNonBlockElementHasBr(fragment);this._unwrapNestedBlocks(fragment,blockTags);this._removeUnnecessaryBlocks(fragment,blockTags);this._removeStyles(fragment);fragment=this._wrapOrphanNodeWithDiv(fragment);this._preElementAid(fragment);this._tableElementAid(fragment);$(fragment).children("br").remove();return fragment}},{key:"_preElementAid",value:function _preElementAid(nodes){var codeblockManager=this.wwe.getManager("codeblock");codeblockManager.splitCodeblockToEachLine(nodes)}},{key:"_unwrapIfNonBlockElementHasBr",value:function _unwrapIfNonBlockElementHasBr(fragment){var nonBlockElements=$(fragment).find("span, a, b, em, i, s");nonBlockElements.each(function(i,node){var brChildren=$(node).children("br");if(brChildren.length&&node.nodeName!=="LI"&&node.nodeName!=="UL"){brChildren.eq(0).unwrap()}})}},{key:"_unwrapNestedBlocks",value:function _unwrapNestedBlocks(fragment,blockTags){var leafElements=$(fragment).find(":not(:has(*))").not("b,s,i,em,code,span");leafElements.each(function(i,node){var leafElement=node.nodeName==="BR"?$(node.parentNode):$(node);var parent=void 0;while(leafElement.parents(blockTags).length){parent=leafElement.parent(blockTags);if(parent.length){leafElement.unwrap()}else{leafElement=leafElement.parent()}}})}},{key:"_removeUnnecessaryBlocks",value:function _removeUnnecessaryBlocks(fragment,blockTags){$(fragment).find(blockTags).each(function(index,blockElement){var $blockElement=$(blockElement);var tagName=blockElement.tagName;var isDivElement=tagName==="DIV";var isInListItem=$blockElement.parent("li").length!==0;var isInBlockquote=$blockElement.parent("blockquote").length!==0;var hasBlockChildElement=$blockElement.children(blockTags).length;if(isDivElement&&(isInListItem||isInBlockquote||!hasBlockChildElement)){return}$blockElement.replaceWith($blockElement.html())})}},{key:"_removeStyles",value:function _removeStyles(node){var $node=$(node);var colorValue=void 0;if(_domUtils2.default.getNodeName($node[0])!=="SPAN"){$node.removeAttr("style")}else{if($node.attr("style")){colorValue=$node.css("color")}$node.removeAttr("style");if(colorValue){$node.css("color",colorValue)}else{$node.contents().unwrap()}}}},{key:"_prepareToPasteList",value:function _prepareToPasteList(nodes,rangeInfo,firstBlockIsTaken){var nodeName=_domUtils2.default.getNodeName(nodes[0]);var node=nodes.shift();var newFragment=this.wwe.getEditor().getDocument().createDocumentFragment();if(nodeName!=="LI"&&nodes.length&&nodes[0].tagName==="LI"){nodeName="LI";node=this._makeNodeAndAppend({tagName:nodeName},node)}if(nodeName==="OL"||nodeName==="UL"){if(!firstBlockIsTaken&&this.wwe.getEditor().hasFormat("LI")){$(newFragment).append(this._wrapCurrentFormat(node))}else{$(newFragment).append(node)}}else if(nodeName==="LI"){var listGroup=this.wwe.getEditor().getDocument().createDocumentFragment();listGroup.appendChild(node);while(nodes.length&&nodes[0].tagName==="LI"){listGroup.appendChild(nodes.shift())}if(!firstBlockIsTaken&&this.wwe.getEditor().hasFormat("LI")){$(newFragment).append(this._wrapCurrentFormat(listGroup))}else if(rangeInfo&&(rangeInfo.commonAncestorName==="UL"||rangeInfo.commonAncestorName==="OL")){$(newFragment).append(this._makeNodeAndAppend({tagName:rangeInfo.commonAncestorName},listGroup))}else{$(newFragment).append(this._makeNodeAndAppend({tagName:"UL"},listGroup))}}return newFragment}},{key:"_unwrapFragmentFirstChildForPasteAsInline",value:function _unwrapFragmentFirstChildForPasteAsInline(node){$(node).find("br").remove();return node.childNodes}},{key:"_wrapCurrentFormat",value:function _wrapCurrentFormat(nodes){var _this2=this;var currentTagName=void 0;this._eachCurrentPath(function(path){if(path.tagName!=="DIV"){if(_domUtils2.default.isElemNode(nodes)){currentTagName=nodes.tagName}else{currentTagName=nodes.firstChild.tagName}if(path.tagName!==currentTagName){nodes=_this2._makeNodeAndAppend(path,nodes)}}});return nodes}},{key:"_eachCurrentPath",value:function _eachCurrentPath(iteratee){var paths=_domUtils2.default.getPath(this.wwe.getEditor().getSelection().startContainer,this.wwe.get$Body()[0]);for(var i=paths.length-1;i>-1;i-=1){iteratee(paths[i])}}},{key:"_makeNodeAndAppend",value:function _makeNodeAndAppend(pathInfo,content){var node=$("<"+pathInfo.tagName+"/>");node.append(content);if(pathInfo.id){node.attr("id",pathInfo.id)}if(pathInfo.className){node.addClass(pathInfo.className)}return node[0]}},{key:"_tableElementAid",value:function _tableElementAid(fragment){this._completeTableIfNeed(fragment);this._updateTableIDClassName(fragment)}},{key:"_completeTableIfNeed",value:function _completeTableIfNeed(fragment){var tableManager=this.wwe.getManager("table");var wrapperTr=tableManager.wrapDanglingTableCellsIntoTrIfNeed(fragment);if(wrapperTr){$(fragment).append(wrapperTr)}var wrapperTbody=tableManager.wrapTrsIntoTbodyIfNeed(fragment);if(wrapperTbody){$(fragment).append(wrapperTbody)}var wrapperTable=tableManager.wrapTheadAndTbodyIntoTableIfNeed(fragment);if(wrapperTable){$(fragment).append(wrapperTable)}}},{key:"_updateTableIDClassName",value:function _updateTableIDClassName(fragment){var tableManager=this.wwe.getManager("table");$(fragment).find("table").each(function(index,table){$(table).removeClass(function(idx,className){return className.replace(/.*\s*(te-content-table-\d+)\s*.*/,"$1")})});$(fragment).find("table").each(function(index,table){$(table).addClass(tableManager.getTableIDClassName())})}}]);return WwPasteContentHelper}();module.exports=WwPasteContentHelper},function(module,exports){"use strict";var util=tui.util;var HTML_ATTR_LIST_RX=new RegExp("^(abbr|align|alt|axis|bgcolor|border|cellpadding|cellspacing|class|clear|"+"color|cols|colspan|compact|coords|dir|face|headers|height|hreflang|hspace|"+"ismap|lang|language|nohref|nowrap|rel|rev|rows|rowspan|rules|"+"scope|scrolling|shape|size|span|start|summary|tabindex|target|title|type|"+"valign|value|vspace|width|checked|mathvariant|encoding|id|name|"+"background|cite|href|longdesc|src|usemap|xlink:href|data-+|checked|style)","g");var SVG_ATTR_LIST_RX=new RegExp("^(accent-height|accumulate|additive|alphabetic|arabic-form|ascent|"+"baseProfile|bbox|begin|by|calcMode|cap-height|class|color|color-rendering|content|"+"cx|cy|d|dx|dy|descent|display|dur|end|fill|fill-rule|font-family|font-size|font-stretch|"+"font-style|font-variant|font-weight|from|fx|fy|g1|g2|glyph-name|gradientUnits|hanging|"+"height|horiz-adv-x|horiz-origin-x|ideographic|k|keyPoints|keySplines|keyTimes|lang|"+"marker-end|marker-mid|marker-start|markerHeight|markerUnits|markerWidth|mathematical|"+"max|min|offset|opacity|orient|origin|overline-position|overline-thickness|panose-1|"+"path|pathLength|points|preserveAspectRatio|r|refX|refY|repeatCount|repeatDur|"+"requiredExtensions|requiredFeatures|restart|rotate|rx|ry|slope|stemh|stemv|stop-color|"+"stop-opacity|strikethrough-position|strikethrough-thickness|stroke|stroke-dasharray|"+"stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|"+"stroke-width|systemLanguage|target|text-anchor|to|transform|type|u1|u2|underline-position|"+"underline-thickness|unicode|unicode-range|units-per-em|values|version|viewBox|visibility|"+"width|widths|x|x-height|x1|x2|xlink:actuate|xlink:arcrole|xlink:role|xlink:show|xlink:title|"+"xlink:type|xml:base|xml:lang|xml:space|xmlns|xmlns:xlink|y|y1|y2|zoomAndPan)","g");function htmlSanitizer(html,needHtmlText){var $html=$("
    ");$html.append(html);removeUnnecessaryTags($html);leaveOnlyWhitelistAttribute($html);return finalizeHtml($html,needHtmlText)}function removeUnnecessaryTags($html){$html.find("script, iframe, textarea, form, button, select").remove()}function leaveOnlyWhitelistAttribute($html){$html.find("*").each(function(index,node){var blacklist=util.toArray(node.attributes).filter(function(attr){var isHTMLAttr=attr.name.match(HTML_ATTR_LIST_RX);var isSVGAttr=attr.name.match(SVG_ATTR_LIST_RX);return!isHTMLAttr&&!isSVGAttr});util.forEachArray(blacklist,function(attr){node.attributes.removeNamedItem(attr.name)})})}function finalizeHtml($html,needHtmlText){var returnValue=void 0;if(needHtmlText){returnValue=$html[0].innerHTML}else{var frag=document.createDocumentFragment();var childNodes=tui.util.toArray($html[0].childNodes);var length=childNodes.length;for(var i=0;i");$(node).find("div").children("ul, ol").appendTo(node)}})}},{key:"_prepareInsertBlankToBetweenSameList",value:function _prepareInsertBlankToBetweenSameList(html){return html.replace(/<\/(ul|ol)>(
    |
    ){0,}<\1>/g,":BLANK_LINE:<$1>")}}]);return WwListManager}();module.exports=WwListManager},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i(<\/td>|<\/th>)/g,"$1")});this.wwe.getEditor().addEventListener("paste",function(ev){var range=_this.wwe.getEditor().getSelection();var isNotPastingIntoTextNode=!_domUtils2.default.isTextNode(range.commonAncestorContainer);if(_this.isInTable(range)&&!range.collapsed&&isNotPastingIntoTextNode){ev.preventDefault()}_this.wwe.defer(function(){_this._completeTableIfNeed()},TABLE_COMPLETION_DELAY)})}},{key:"_initKeyHandler",value:function _initKeyHandler(){var _this2=this;var selectionManager=this.wwe.getManager("tableSelection");this.wwe.addKeyEventHandler(function(ev,range,keymap){var isRangeInTable=_this2.isInTable(range);if(isRangeInTable&&!_this2._isSingleModifierKey(keymap)){_this2._recordUndoStateIfNeed(range);_this2._removeBRIfNeed(range);_this2._removeContentsAndChangeSelectionIfNeed(range,keymap,ev)}else if(!isRangeInTable&&_this2._lastCellNode){_this2._recordUndoStateAndResetCellNode(range)}if(isRangeInTable&&!_this2._isModifierKeyPushed(ev)){_this2.wwe.getEditor().modifyDocument(function(){selectionManager.removeClassAttrbuteFromAllCellsIfNeed()})}});this.wwe.addKeyEventHandler("ENTER",function(ev,range){var isNeedNext=void 0;if(_this2._isAfterTable(range)){ev.preventDefault();range.setStart(range.startContainer,range.startOffset-1);_this2.wwe.breakToNewDefaultBlock(range);isNeedNext=false}else if(_this2._isBeforeTable(range)){ev.preventDefault();_this2.wwe.breakToNewDefaultBlock(range,"before");isNeedNext=false}else if(_this2.isInTable(range)){_this2._appendBrIfTdOrThNotHaveAsLastChild(range);isNeedNext=false}return isNeedNext});this.wwe.addKeyEventHandler("BACK_SPACE",function(ev,range,keymap){return _this2._handleBackspaceAndDeleteKeyEvent(ev,range,keymap)});this.wwe.addKeyEventHandler("DELETE",function(ev,range,keymap){return _this2._handleBackspaceAndDeleteKeyEvent(ev,range,keymap)});this.wwe.addKeyEventHandler("TAB",function(){return _this2._moveCursorTo("next","cell")});this.wwe.addKeyEventHandler("SHIFT+TAB",function(ev){return _this2._moveCursorTo("previous","cell",ev)});this.wwe.addKeyEventHandler("UP",function(ev){return _this2._moveCursorTo("previous","row",ev)});this.wwe.addKeyEventHandler("DOWN",function(ev){return _this2._moveCursorTo("next","row",ev)});this._bindKeyEventForTableCopyAndCut()}},{key:"isInTable",value:function isInTable(range){var target=void 0,result=void 0;if(range.collapsed){target=range.startContainer;result=!!$(target).closest("table").length}else{target=range.commonAncestorContainer;result=!!$(target).closest("table").length||!!$(range.cloneContents()).find("table").length}return result}},{key:"_isBeforeTable",value:function _isBeforeTable(range){return _domUtils2.default.getNodeName(_domUtils2.default.getChildNodeByOffset(range.startContainer,range.startOffset))==="TABLE"}},{key:"_isAfterTable",value:function _isAfterTable(range){var prevElem=_domUtils2.default.getPrevOffsetNodeUntil(range.startContainer,range.startOffset);return _domUtils2.default.getNodeName(prevElem)==="TABLE"&&range.commonAncestorContainer===this.wwe.get$Body()[0]}},{key:"_handleBackspaceAndDeleteKeyEvent",value:function _handleBackspaceAndDeleteKeyEvent(ev,range,keymap){var isBackspace=keymap==="BACK_SPACE";var isTextOrElementDelete=range.commonAncestorContainer.nodeType!==3&&range.commonAncestorContainer!==this.wwe.get$Body()[0];var isNeedNext=void 0;if(range.collapsed){if(this.isInTable(range)){if(isBackspace){this._tableHandlerOnBackspace(range,ev)}else{this._tableHandlerOnDelete(range,ev)}this._insertBRIfNeed(range);this._removeContentsAndChangeSelectionIfNeed(range,keymap,ev);isNeedNext=false}else if(!isBackspace&&this._isBeforeTable(range)||isBackspace&&this._isAfterTable(range)){ev.preventDefault();var startOffset=isBackspace?range.startOffset-1:range.startOffset;this._removeTable(range,_domUtils2.default.getChildNodeByOffset(range.startContainer,startOffset));isNeedNext=false}}else if(this.isInTable(range)){if(isTextOrElementDelete){ev.preventDefault();this._removeContentsAndChangeSelectionIfNeed(range,keymap,ev);isNeedNext=false}}return isNeedNext}},{key:"_tableHandlerOnBackspace",value:function _tableHandlerOnBackspace(range,event){var prevNode=_domUtils2.default.getPrevOffsetNodeUntil(range.startContainer,range.startOffset,"TR"),prevNodeName=_domUtils2.default.getNodeName(prevNode);if(!prevNode||prevNodeName==="TD"||prevNodeName==="TH"){event.preventDefault()}else if(prevNodeName==="BR"&&prevNode.parentNode.childNodes.length!==1){event.preventDefault();$(prevNode).remove()}}},{key:"isNonTextDeleting",value:function isNonTextDeleting(range){var currentElement=range.startContainer;var nextNode=currentElement.nextSibling;var nextNodeName=_domUtils2.default.getNodeName(nextNode);var currentNodeName=_domUtils2.default.getNodeName(currentElement);var isCellDeleting=currentNodeName===nextNodeName&¤tNodeName!=="TEXT";var isEndOfText=(!nextNode||nextNodeName==="BR"&&nextNode.parentNode.lastChild===nextNode)&&_domUtils2.default.isTextNode(currentElement)&&range.startOffset===currentElement.nodeValue.length;var isLastCellOfRow=!isEndOfText&&$(currentElement).parents("tr").children().last()[0]===currentElement&&(currentNodeName==="TD"||currentNodeName==="TH");return isCellDeleting||isEndOfText||isLastCellOfRow}},{key:"_tableHandlerOnDelete",value:function _tableHandlerOnDelete(range,event){var needPreventDefault=this.isNonTextDeleting(range);if(needPreventDefault){event.preventDefault();range.startContainer.normalize()}}},{key:"_appendBrIfTdOrThNotHaveAsLastChild",value:function _appendBrIfTdOrThNotHaveAsLastChild(range){var startContainerNodeName=_domUtils2.default.getNodeName(range.startContainer);var tdOrTh=void 0;if(startContainerNodeName==="TD"||startContainerNodeName==="TH"){tdOrTh=range.startContainer}else{var paths=$(range.startContainer).parentsUntil("tr");tdOrTh=paths[paths.length-1]}if(_domUtils2.default.getNodeName(tdOrTh.lastChild)!=="BR"&&_domUtils2.default.getNodeName(tdOrTh.lastChild)!=="DIV"&&!isIE10And11){$(tdOrTh).append($("
    ")[0])}}},{key:"_unwrapBlockInTable",value:function _unwrapBlockInTable(){this.wwe.get$Body().find("td div,th div,tr>br,td>br,th>br").each(function(index,node){if(_domUtils2.default.getNodeName(node)==="BR"){var parentNodeName=_domUtils2.default.getNodeName(node.parentNode);var isInTableCell=/TD|TH/.test(parentNodeName);var isEmptyTableCell=node.parentNode.textContent.length===0;var isLastBR=node.parentNode.lastChild===node;if(parentNodeName==="TR"||isInTableCell&&!isEmptyTableCell&&isLastBR){$(node).remove()}}else{$(node).children().unwrap()}})}},{key:"_insertDefaultBlockBetweenTable",value:function _insertDefaultBlockBetweenTable(){this.wwe.get$Body().find("table").each(function(index,node){if(node.nextElementSibling&&node.nextElementSibling.nodeName==="TABLE"){$("

    ").insertAfter(node)}})}},{key:"_removeTable",value:function _removeTable(range,table){if(table.tagName==="TABLE"){this.wwe.getEditor().saveUndoState(range);this.wwe.saveSelection(range);$(table).remove();this.wwe.restoreSavedSelection()}}},{key:"_recordUndoStateIfNeed",value:function _recordUndoStateIfNeed(range){var currentCellNode=_domUtils2.default.getParentUntil(range.startContainer,"TR");if(range.collapsed&&this._lastCellNode!==currentCellNode){this.wwe.getEditor().saveUndoState(range);this._lastCellNode=currentCellNode}}},{key:"_recordUndoStateAndResetCellNode",value:function _recordUndoStateAndResetCellNode(range){this.wwe.getEditor().saveUndoState(range);this.resetLastCellNode()}},{key:"_pasteDataIntoTable",value:function _pasteDataIntoTable(fragment){var range=this.wwe.getEditor().getSelection();var tableData=this._getTableDataFromTable(fragment);var startContainer=range.startContainer;var parentNode=startContainer.parentNode;var isTextInTableCell=parentNode.tagName==="TD"||parentNode.tagName==="TH";var isTableCell=startContainer.tagName==="TD"||startContainer.tagName==="TH";var isTextNode=startContainer.nodeType===3;var brString=isIE10?"":"
    ";var anchorElement=void 0,td=void 0,tr=void 0,tdContent=void 0;if(isTextNode&&isTextInTableCell){anchorElement=parentNode}else if(isTableCell){anchorElement=startContainer}else{anchorElement=$(startContainer).find("th,td")[0]}td=anchorElement;while(tableData.length){tr=tableData.shift();while(td&&tr.length){tdContent=tr.shift();if(tdContent.length){td.textContent=tdContent}else{td.innerHTML=brString}td=_domUtils2.default.getTableCellByDirection(td,"next")}td=_domUtils2.default.getSiblingRowCellByDirection(anchorElement,"next",false);anchorElement=td}}},{key:"_getTableDataFromTable",value:function _getTableDataFromTable(fragment){var $fragment=$(fragment);var tableData=[];var trs=$fragment.find("tr");trs.each(function(i,tr){var trData=[];var tds=$(tr).children();tds.each(function(index,cell){trData.push(cell.textContent)});if(trData.length){tableData.push(trData)}});return tableData}},{key:"_removeTableContents",value:function _removeTableContents(selectedCells){this.wwe.getEditor().saveUndoState();selectedCells.each(function(i,cell){var brHTMLString=isIE10?"":"
    ";$(cell).html(brHTMLString)})}},{key:"wrapDanglingTableCellsIntoTrIfNeed",value:function wrapDanglingTableCellsIntoTrIfNeed(fragment){var danglingTableCells=$(fragment).children("td,th");var tr=void 0;if(danglingTableCells.length){(function(){var $wrapperTr=$("");danglingTableCells.each(function(i,cell){$wrapperTr.append(cell)});tr=$wrapperTr[0]})()}return tr}},{key:"wrapTrsIntoTbodyIfNeed",value:function wrapTrsIntoTbodyIfNeed(fragment){var danglingTrs=$(fragment).children("tr");var ths=danglingTrs.find("th");var tbody=void 0;if(ths.length){ths.each(function(i,node){var $node=$(node);var td=$("");td.html($node.html());td.insertBefore(node);$node.detach()})}if(danglingTrs.length){(function(){var $wrapperTableBody=$("");danglingTrs.each(function(i,tr){$wrapperTableBody.append(tr)});tbody=$wrapperTableBody[0]})()}return tbody}},{key:"wrapTheadAndTbodyIntoTableIfNeed",value:function wrapTheadAndTbodyIntoTableIfNeed(fragment){var danglingThead=$(fragment).children("thead");var danglingTbody=$(fragment).children("tbody");var $wrapperTable=$("
    ");var table=void 0;if(!danglingTbody.length&&danglingThead.length){$wrapperTable.append(danglingThead[0]);$wrapperTable.append("");table=$wrapperTable[0]}else if(danglingTbody.length&&!danglingThead.length){$wrapperTable.append("");$wrapperTable.append(danglingTbody[0]);table=$wrapperTable[0]}else if(danglingTbody.length&&danglingThead.length){$wrapperTable.append(danglingThead[0]);$wrapperTable.append(danglingTbody[0]);table=$wrapperTable[0]}return table}},{key:"prepareToPasteOnTable",value:function prepareToPasteOnTable(pasteData,node){var newFragment=document.createDocumentFragment();if(this._isTableOrSubTableElement(node.nodeName)){this._expandTableIfNeed(pasteData.fragment);this._pasteDataIntoTable(pasteData.fragment);pasteData.fragment=newFragment}else{newFragment.textContent=newFragment.textContent+pasteData.fragment.textContent}return newFragment}},{key:"_isTableOrSubTableElement",value:function _isTableOrSubTableElement(pastingNodeName){return pastingNodeName==="TABLE"||pastingNodeName==="TBODY"||pastingNodeName==="THEAD"||pastingNodeName==="TR"||pastingNodeName==="TD"}},{key:"_stuffTableCellsIntoIncompleteRow",value:function _stuffTableCellsIntoIncompleteRow($trs,maximumCellLength){$trs.each(function(rowIndex,row){var $row=$(row);var tableCells=$row.find("th,td");var parentNodeName=_domUtils2.default.getNodeName($row.parent()[0]);var cellTagName=parentNodeName==="THEAD"?"th":"td";for(var cellLength=tableCells.length;cellLength")[0];table.prepend(absentNode)}else if(isTbodyNotExists){absentNode=$("")[0];table.append(absentNode)}}},{key:"_tableCellAppendAidForTableElement",value:function _tableCellAppendAidForTableElement(node){var table=$(node);this._addTbodyOrTheadIfNeed(table);this._addTrIntoContainerIfNeed(table);var trs=table.find("tr");var tableAidInformation=this._prepareToTableCellStuffing(trs);var maximumCellLength=tableAidInformation.maximumCellLength;var needTableCellStuffingAid=tableAidInformation.needTableCellStuffingAid;if(needTableCellStuffingAid){this._stuffTableCellsIntoIncompleteRow(trs,maximumCellLength)}}},{key:"_generateTheadAndTbodyFromTbody",value:function _generateTheadAndTbodyFromTbody(node){ +var tr=$("");var thead=$("");tr.append(tableCellGenerator($(node).find("tr").eq(0).find("td").length,"th"));thead.append(tr);return{thead:thead[0],tbody:node}}},{key:"_generateTheadAndTbodyFromThead",value:function _generateTheadAndTbodyFromThead(node){var tr=$("");var tbody=$("");tr.append(tableCellGenerator($(node).find("th").length,"td"));tbody.append(tr);return{thead:node,tbody:tbody[0]}}},{key:"_generateTheadAndTbodyFromTr",value:function _generateTheadAndTbodyFromTr(node){var $node=$(node);var thead=$("");var tbody=$("");var theadRow=void 0,tbodyRow=void 0;if($node.children()[0].tagName==="TH"){theadRow=node;tbodyRow=$(""+tableCellGenerator($node.find("th").length,"td")+"")[0]}else{theadRow=$(""+tableCellGenerator($node.find("td").length,"th")+"")[0];tbodyRow=node}thead.append(theadRow);tbody.append(tbodyRow);return{thead:thead[0],tbody:tbody[0]}}},{key:"_completeIncompleteTable",value:function _completeIncompleteTable(node){var nodeName=node.tagName;var table=void 0,completedTableContents=void 0;if(nodeName==="TABLE"){table=node}else{table=$("
    ");table.insertAfter(node);if(nodeName==="TBODY"){completedTableContents=this._generateTheadAndTbodyFromTbody(node)}else if(nodeName==="THEAD"){completedTableContents=this._generateTheadAndTbodyFromThead(node)}else if(nodeName==="TR"){completedTableContents=this._generateTheadAndTbodyFromTr(node)}table.append(completedTableContents.thead);table.append(completedTableContents.tbody)}this._tableCellAppendAidForTableElement(table)}},{key:"_completeTableIfNeed",value:function _completeTableIfNeed(){var _this3=this;var $body=this.wwe.getEditor().get$Body();$body.children().each(function(index,node){var $node=$(node);if(!_this3._isTableOrSubTableElement(node.nodeName)){return}else if(node.nodeName==="TABLE"&&$node.find("thead").length===0&&$node.find("tbody").length===0){$node.remove()}_this3._completeIncompleteTable(node)})}},{key:"resetLastCellNode",value:function resetLastCellNode(){this._lastCellNode=null}},{key:"setLastCellNode",value:function setLastCellNode(node){this._lastCellNode=node}},{key:"_isSingleModifierKey",value:function _isSingleModifierKey(keymap){return keymap==="META"&&keymap==="SHIFT"&&keymap==="ALT"&&keymap==="CONTROL"}},{key:"_isModifierKeyPushed",value:function _isModifierKeyPushed(ev){return ev.metaKey||ev.ctrlKey||ev.altKey||ev.shiftKey}},{key:"_addTrIntoContainerIfNeed",value:function _addTrIntoContainerIfNeed($table){var $trContainers=$table.children();$trContainers.each(function(i,container){var hasNoRows=$(container).find("tr").length===0;if(hasNoRows){$(container).append($("")[0])}})}},{key:"_expandTableIfNeed",value:function _expandTableIfNeed(fragment){var range=this.wwe.getEditor().getSelection().cloneRange();var $table=$(range.startContainer).parents("table");var difference=this._getColumnAndRowDifference(fragment,range);if(difference.column<0){this._appendCellForAllRow($table,difference.column)}if(difference.row<0){this._appendRow($table,difference.row)}}},{key:"_getColumnAndRowDifference",value:function _getColumnAndRowDifference(fragment,range){var tableData=this._getTableDataFromTable(fragment);var rowLength=tableData.length;var columnLength=tableData[0].length;var $currentCell=$(range.startContainer).closest("th,td");var $currentRow=$currentCell.parent();var currentColumnIndex=_domUtils2.default.getNodeOffsetOfParent($currentCell[0]);var currentRowIndex=_domUtils2.default.getNodeOffsetOfParent($currentCell[0].parentNode);var $table=$currentRow.parents("table");var tableColumnLength=$table.find("tr").eq(0).children().length;var tableRowLength=$table.find("tr").length;var isInTbody=$currentRow.parents("tbody").length;if(isInTbody){currentRowIndex+=1}return{row:tableRowLength-(currentRowIndex+rowLength),column:tableColumnLength-(currentColumnIndex+columnLength)}}},{key:"_appendCellForAllRow",value:function _appendCellForAllRow($table,columnDifference){var brString=isIE10?"":"
    ";$table.find("tr").each(function(i,row){var tagName=void 0;for(var index=columnDifference;index<0;index+=1){if(i===0){tagName="th"}else{tagName="td"}$(row).append($("<"+tagName+">"+brString+"")[0])}})}},{key:"_appendRow",value:function _appendRow($table,rowDifference){var newRow=$table.find("tr").last().clone();var brHTMLSting=isIE10?"":"
    ";newRow.find("td").html(brHTMLSting);for(;rowDifference<0;rowDifference+=1){$table.find("tbody").append(newRow.clone()[0])}}},{key:"_getSiblingTextNodeByDirection",value:function _getSiblingTextNodeByDirection(currentTextNode,isNext){var isPreviousLineExist=currentTextNode.previousSibling&¤tTextNode.previousSibling.nodeName==="BR"&¤tTextNode.previousSibling.previousSibling&¤tTextNode.previousSibling.previousSibling.nodeType===3;var isNextLineExist=currentTextNode.nextSibling&¤tTextNode.nextSibling.nodeName==="BR"&¤tTextNode.nextSibling.nextSibling&¤tTextNode.nextSibling.nextSibling.nodeType===3;var target=void 0;if(isNext&&isNextLineExist){target=currentTextNode.nextSibling.nextSibling}else if(!isNext&&isPreviousLineExist){target=currentTextNode.previousSibling.previousSibling}return target}},{key:"_changeSelectionToTargetCell",value:function _changeSelectionToTargetCell(currentCell,range,direction,scale){var startContainer=range.startContainer;var isNext=direction==="next";var isRow=scale==="row";var target=void 0,textOffset=void 0;if(isRow){if(_domUtils2.default.isTextNode(startContainer)){target=this._getSiblingTextNodeByDirection(startContainer,isNext);if(target){textOffset=target.length")}}}]);return WwTableManager}();function tableCellGenerator(amount,tagName){var brHTMLString="
    ";var cellString="<"+tagName+">"+brHTMLString+"";var tdString="";for(var i=0;i0;if(isSameRow){if(isColumnIncreases){range.setStart(selectionEnd,0);range.setEnd(selectionStart,1)}else{range.setStart(selectionStart,0);range.setEnd(selectionEnd,1)}}else if(isRowIncreases){range.setStart(selectionStart,0);range.setEnd(selectionEnd,1)}else{range.setStart(selectionEnd,0);range.setEnd(selectionStart,1)}return range}},{key:"_getTableCell",value:function _getTableCell(node){return node.nodeType===3?$(node).parent("td,th")[0]:node}},{key:"getSelectionRangeFromTable",value:function getSelectionRangeFromTable(selectionStart,selectionEnd){var nodeOffsetOfParent=_domUtils2.default.getNodeOffsetOfParent;var startRowOffset=nodeOffsetOfParent(selectionStart.parentNode);var endRowOffset=nodeOffsetOfParent(selectionEnd.parentNode);var startCellOffset=nodeOffsetOfParent(selectionStart);var endCellOffset=nodeOffsetOfParent(selectionEnd);var startCellContainer=_domUtils2.default.getParentUntil(selectionStart,"TABLE");var endCellContainer=_domUtils2.default.getParentUntil(selectionEnd,"TABLE");var isReversedTheadAndTbodySelect=_domUtils2.default.getNodeName(startCellContainer)==="TBODY"&&_domUtils2.default.getNodeName(endCellContainer)==="THEAD";var isTheadAndTbodySelect=startCellContainer!==endCellContainer;var isBothInTbody=!!$(selectionStart).parents("tbody").length&&!!$(selectionEnd).parents("tbody").length;var start={row:startRowOffset,cell:startCellOffset};var end={row:endRowOffset,cell:endCellOffset};var from=void 0,to=void 0;if(isReversedTheadAndTbodySelect){start.row+=1}else if(isTheadAndTbodySelect){end.row+=1}else if(isBothInTbody){start.row+=1;end.row+=1}if(startRowOffset>endRowOffset||startRowOffset===endRowOffset&&startCellOffset>endCellOffset){from=end;to=start}else{from=start;to=end}return{from:from,to:to}}},{key:"_highlightTableCellsBy",value:function _highlightTableCellsBy(selectionStart,selectionEnd){var trs=$(selectionStart).parents("table").find("tr");var selection=this.getSelectionRangeFromTable(selectionStart,selectionEnd);var rowFrom=selection.from.row;var cellFrom=selection.from.cell;var rowTo=selection.to.row;var cellTo=selection.to.cell;trs.each(function(rowIndex,row){$(row).find("td,th").each(function(cellIndex,cell){var $cell=$(cell);var isFromRow=rowIndex===rowFrom;var isToRow=rowIndex===rowTo;if(isFromRow&&cellIndexcellTo||rowIndexrowTo){$cell.removeClass(TABLE_CELL_SELECTED_CLASS_NAME)}else{$cell.addClass(TABLE_CELL_SELECTED_CLASS_NAME)}})})}},{key:"removeClassAttrbuteFromAllCellsIfNeed",value:function removeClassAttrbuteFromAllCellsIfNeed(){this.wwe.get$Body().find("td."+TABLE_CELL_SELECTED_CLASS_NAME+",th."+TABLE_CELL_SELECTED_CLASS_NAME).each(function(i,node){var $node=$(node);$node.removeClass(TABLE_CELL_SELECTED_CLASS_NAME);if(!$node.attr("class").length){$node.removeAttr("class")}})}},{key:"getSelectedCells",value:function getSelectedCells(){return this.wwe.get$Body().find("."+TABLE_CELL_SELECTED_CLASS_NAME)}},{key:"createRangeBySelectedCells",value:function createRangeBySelectedCells(){var sq=this.wwe.getEditor();var range=sq.getSelection().cloneRange();var selectedCells=this.getSelectedCells();var tableManager=this.wwe.getManager("table");if(selectedCells.length&&tableManager.isInTable(range)){range.setStart(selectedCells.first()[0],0);range.setEnd(selectedCells.last()[0],1);sq.setSelection(range)}}}]);return WwTableSelectionManager}();module.exports=WwTableSelectionManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")})}}]);return WwHrManager}();function findTextNodeFilter(){return this.nodeType===Node.TEXT_NODE}module.exports=WwHrManager},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i([\s\S]*?)<\/p>/gi,function(whole,content){var lines=content.split(/
    /gi);var linesLenIndex=lines.length-1;var splitedContent="";splitedContent=lines.map(function(line,index){var result="";if(index>0&&index"}if(line){result="
    "+line+"
    "}return result});splitedContent.push("

    ");return splitedContent.join("")});return html}},{key:"_ensurePtagContentWrappedWithDiv",value:function _ensurePtagContentWrappedWithDiv(){this.wwe.get$Body().find("p").each(function(index,node){if($(node).find("div").length<=0){$(node).wrapInner("
    ")}if($(node).next().is("p")){$(node).append("

    ")}})}},{key:"_unwrapPtags",value:function _unwrapPtags(){this.wwe.get$Body().find("div").each(function(index,node){if($(node).parent().is("p")){$(node).unwrap()}})}}]);return WwPManager}();module.exports=WwPManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")}})}},{key:"_unwrapHeading",value:function _unwrapHeading(){this.wwe.unwrapBlockTag(function(node){return FIND_HEADING_RX.test(node)})}},{key:"_onEnter",value:function _onEnter(event,range){var _this3=this;if(range.startOffset>0){this.wwe.defer(function(wwe){_this3._unwrapHeading();wwe.getEditor().removeLastUndoStack()})}else{event.preventDefault();this._insertEmptyBlockToPrevious(range)}}},{key:"_insertEmptyBlockToPrevious",value:function _insertEmptyBlockToPrevious(range){this.wwe.getEditor().saveUndoState(range);$("

    ").insertBefore(_domUtils2.default.getParentUntil(range.startContainer,this.wwe.get$Body()[0]))}},{key:"_removePrevTopNodeIfNeed",value:function _removePrevTopNodeIfNeed(event,range){var isHandled=false;if(range.collapsed&&range.startOffset===0){var startContainer=range.startContainer;var prevTopNode=_domUtils2.default.getTopPrevNodeUnder(startContainer,this.wwe.get$Body()[0]);var isPrevTopNodeEmpty=prevTopNode&&prevTopNode.textContent.length===0;var sq=this.wwe.getEditor();if(startContainer.textContent.length===0){isHandled=this._removeHedingAndChangeSelection(event,range,prevTopNode)}else if(isPrevTopNodeEmpty){event.preventDefault();sq.saveUndoState(range);$(prevTopNode).remove();isHandled=true}}return isHandled}},{key:"_removeHedingAndChangeSelection",value:function _removeHedingAndChangeSelection(event,range,prevTopNode){var startContainer=range.startContainer;var sq=this.wwe.getEditor();var $Body=this.wwe.get$Body();var isHeading=FIND_HEADING_RX.test(_domUtils2.default.getNodeName(startContainer));var headingElement=isHeading?startContainer:$(startContainer).parents("h1,h2,h3,h4,h5,h6")[0];var targetNode=prevTopNode;var offset=1;if(!event.defaultPrevented){event.preventDefault();sq.saveUndoState(range)}$(headingElement).remove();if(!prevTopNode){targetNode=$Body.children("div").first()[0];offset=0}range.setStart(targetNode,offset);range.collapse(true);sq.setSelection(range);return true}}]);return WwHeadingManager}();module.exports=WwHeadingManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i":">"};var FIND_ZWS_RX=/\u200B/g;var CODEBLOCK_ATTR_NAME="data-te-codeblock";var WwCodeBlockManager=function(){function WwCodeBlockManager(wwe){_classCallCheck(this,WwCodeBlockManager);this.wwe=wwe;this.eventManager=wwe.eventManager;this.name="codeblock";this._init()}_createClass(WwCodeBlockManager,[{key:"_init",value:function _init(){this._initKeyHandler();this._initEvent()}},{key:"_initKeyHandler",value:function _initKeyHandler(){this.wwe.addKeyEventHandler("BACK_SPACE",this._removeCodeblockIfNeed.bind(this))}},{key:"_initEvent",value:function _initEvent(){var self=this;this.eventManager.listen("wysiwygSetValueAfter",function(){self.splitCodeblockToEachLine()});this.eventManager.listen("wysiwygProcessHTMLText",function(html){return self._mergeCodeblockEachlinesFromHTMLText(html)})}},{key:"prepareToPasteOnCodeblock",value:function prepareToPasteOnCodeblock(nodes){var range=this.wwe.getEditor().getSelection().cloneRange();var frag=this.wwe.getEditor().getDocument().createDocumentFragment();if(nodes.length===1&&this._isCodeBlock(nodes[0])){frag.appendChild(this._copyCodeblockTypeFromRangeCodeblock(nodes.shift(),range))}else{frag.appendChild(this._copyCodeblockTypeFromRangeCodeblock(this.convertToCodeblock(nodes),range))}return frag}},{key:"convertToCodeblock",value:function convertToCodeblock(nodes){var $codeblock=$("
    ");var self=this;var node=nodes.shift();while(util.isTruthy(node)){$codeblock.append(self._makeCodeBlockLineHtml(util.isString(node)?node:node.textContent));node=nodes.shift()}$codeblock.attr(CODEBLOCK_ATTR_NAME,"");return $codeblock[0]}},{key:"_copyCodeblockTypeFromRangeCodeblock",value:function _copyCodeblockTypeFromRangeCodeblock(element,range){var blockNode=_domUtils2.default.getParentUntil(range.commonAncestorContainer,this.wwe.get$Body()[0]);if(_domUtils2.default.getNodeName(blockNode)==="PRE"){var attrs=$(blockNode).prop("attributes");util.forEach(attrs,function(attr){$(element).attr(attr.name,attr.value)})}return element}},{key:"_mergeCodeblockEachlinesFromHTMLText",value:function _mergeCodeblockEachlinesFromHTMLText(html){html=html.replace(/(.*?)<\/pre>/g,function(match,codeAttr,code){code=code.replace(/
    /g,"\n");code=code.replace(/
    /g,"");code=code.replace(/\n$/,"");return"
    "+code+"
    "});return html; +}},{key:"splitCodeblockToEachLine",value:function splitCodeblockToEachLine(node){var self=this;if(!node){node=this.wwe.get$Body()}$(node).find("pre").each(function(index,pre){var $pre=$(pre);var lang=$pre.find("code").attr("data-language");var textLines=void 0;if($pre.children().length>1){textLines=[];$pre.children().each(function(idx,childNode){if((childNode.nodeName==="DIV"||childNode.nodeName==="P")&&!$(childNode).find("br").length){$(childNode).append("
    ")}})}$pre.find("br").replaceWith("\n");textLines=$pre.text().replace(/\s+$/,"").split(/\n/g);if(lang){$pre.attr("data-language",lang);$pre.addClass("lang-"+lang)}$pre.empty();util.forEach(textLines,function(line){$pre.append(self._makeCodeBlockLineHtml(line))});$pre.attr(CODEBLOCK_ATTR_NAME,"")})}},{key:"_makeCodeBlockLineHtml",value:function _makeCodeBlockLineHtml(lineContent){if(!lineContent){lineContent="
    "}else{lineContent=sanitizeHtmlCode(lineContent)}return"
    "+lineContent+"
    "}},{key:"_removeCodeblockIfNeed",value:function _removeCodeblockIfNeed(ev,range){var self=this;if(!this.isInCodeBlock(range)){return true}var pre=$(range.startContainer).closest("pre");var $div=$(pre).find("div").eq(0);var codeContent=$div.text().replace(FIND_ZWS_RX,"");if((range.startOffset===0||codeContent.length===0)&&$(pre).find("div").length<=1){this.wwe.getEditor().modifyBlocks(function(){var newFrag=self.wwe.getEditor().getDocument().createDocumentFragment();var content=void 0;if(codeContent.length===0){content="
    "}else{content=$div.html().replace(FIND_ZWS_RX,"")}$(newFrag).append($("
    "+content+"
    "));return newFrag});return false}return true}},{key:"isInCodeBlock",value:function isInCodeBlock(range){var target=void 0;if(range.collapsed){target=range.startContainer}else{target=range.commonAncestorContainer}return this._isCodeBlock(target)}},{key:"_isCodeBlock",value:function _isCodeBlock(element){return!!$(element).closest("pre").length}}]);return WwCodeBlockManager}();function sanitizeHtmlCode(code){return code.replace(/[<>&]/g,function(tag){return tagEntities[tag]||tag})}module.exports=WwCodeBlockManager},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1){throw new Error("too many"+eventName+"handlers in squire")}var handler=handlers[0].bind(this);handlers[0]=function(event){if(!event.defaultPrevented){handler(event)}}}},{key:"changeBlockFormat",value:function changeBlockFormat(srcCondition,targetTagName){var _this2=this;this.modifyBlocks(function(frag){var current=void 0,newFrag=void 0,newBlock=void 0,nextBlock=void 0,tagName=void 0,lastNodeOfNextBlock=void 0,appendChidToNextBlock=void 0;if(frag.childNodes.length){current=frag.childNodes[0]}else{current=_this2.createDefaultBlock();frag.appendChild(current)}if(srcCondition){while(current.firstChild){current=current.firstChild}appendChidToNextBlock=function appendChidToNextBlock(node){nextBlock.appendChild(node)};while(current!==frag){tagName=current.tagName;if(util.isFunction(srcCondition)?srcCondition(tagName):tagName===srcCondition){nextBlock=current.childNodes[0];if(!_domUtils2.default.isElemNode(nextBlock)||current.childNodes.length>1){nextBlock=_this2.createDefaultBlock();util.forEachArray(util.toArray(current.childNodes),appendChidToNextBlock);lastNodeOfNextBlock=nextBlock.lastChild;if(lastNodeOfNextBlock&&_domUtils2.default.getNodeName(lastNodeOfNextBlock)==="BR"){nextBlock.removeChild(lastNodeOfNextBlock)}}if(targetTagName){newBlock=_this2.createElement(targetTagName,[nextBlock])}else{newBlock=nextBlock}newFrag=_this2.getDocument().createDocumentFragment();newFrag.appendChild(newBlock);frag=newFrag;break}current=current.parentNode}}if((!newFrag||!srcCondition)&&targetTagName&&_domUtils2.default.getNodeName(frag.childNodes[0])==="DIV"){frag=_this2.createElement(targetTagName,[frag.childNodes[0]])}return frag})}},{key:"changeBlockFormatTo",value:function changeBlockFormatTo(targetTagName){this.changeBlockFormat(function(tagName){return FIND_BLOCK_TAGNAME_RX.test(tagName)},targetTagName)}},{key:"getCaretPosition",value:function getCaretPosition(){return this.getCursorPosition()}},{key:"replaceSelection",value:function replaceSelection(content,selection){if(selection){this.setSelection(selection)}this._ignoreChange=true;this.insertHTML(content)}},{key:"replaceRelativeOffset",value:function replaceRelativeOffset(content,offset,overwriteLength){var selection=this.getSelection().cloneRange();this._replaceRelativeOffsetOfSelection(content,offset,overwriteLength,selection)}},{key:"_replaceRelativeOffsetOfSelection",value:function _replaceRelativeOffsetOfSelection(content,offset,overwriteLength,selection){var startSelectionInfo=void 0,endSelectionInfo=void 0,finalOffset=void 0;var endOffsetNode=selection.endContainer;var endTextOffset=selection.endOffset;if(_domUtils2.default.getNodeName(endOffsetNode)!=="TEXT"){endOffsetNode=this._getClosestTextNode(endOffsetNode,endTextOffset);if(endOffsetNode){if(_domUtils2.default.isTextNode(endOffsetNode)){endTextOffset=endOffsetNode.nodeValue.length}else{endTextOffset=endOffsetNode.textContent.length}}}if(endOffsetNode){startSelectionInfo=this.getSelectionInfoByOffset(endOffsetNode,endTextOffset+offset);selection.setStart(startSelectionInfo.element,startSelectionInfo.offset);finalOffset=endTextOffset+(offset+overwriteLength);endSelectionInfo=this.getSelectionInfoByOffset(endOffsetNode,finalOffset);selection.setEnd(endSelectionInfo.element,endSelectionInfo.offset);this.replaceSelection(content,selection)}else{this.replaceSelection(content)}}},{key:"_getClosestTextNode",value:function _getClosestTextNode(node,offset){var foundNode=_domUtils2.default.getChildNodeByOffset(node,offset-1);if(_domUtils2.default.getNodeName(foundNode)!=="TEXT"){foundNode=foundNode.previousSibling}return foundNode}},{key:"getSelectionInfoByOffset",value:function getSelectionInfoByOffset(anchorElement,offset){var traceElement=void 0,traceElementLength=void 0,traceOffset=void 0,stepLength=void 0;var direction=offset>=0?"next":"previous";var offsetAbs=Math.abs(offset);var latestAvailableElement=traceElement;if(direction==="next"){traceElement=anchorElement}else{traceElement=anchorElement.previousSibling}traceOffset=offsetAbs;stepLength=0;while(traceElement){if(_domUtils2.default.isTextNode(traceElement)){traceElementLength=traceElement.nodeValue.length}else{traceElementLength=traceElement.textContent.length}stepLength+=traceElementLength;if(offsetAbs<=stepLength){break}traceOffset-=traceElementLength;if(_domUtils2.default.getTextLength(traceElement)>0){latestAvailableElement=traceElement}traceElement=traceElement[direction+"Sibling"]}if(!traceElement){traceElement=latestAvailableElement;traceOffset=_domUtils2.default.getTextLength(traceElement)}if(direction==="previous"){traceOffset=_domUtils2.default.getTextLength(traceElement)-traceOffset}return{element:traceElement,offset:traceOffset}}},{key:"getSelectionPosition",value:function getSelectionPosition(selection,style,offset){var marker=this.createElement("INPUT");var range=selection.cloneRange();var endSelectionInfo=this.getSelectionInfoByOffset(selection.endContainer,selection.endOffset+(offset||0));range.setStart(range.startContainer,range.startOffset);range.setEnd(endSelectionInfo.element,endSelectionInfo.offset);this._ignoreChange=true;this.insertElement(marker,range);var pos=$(marker).offset();if(style!=="over"){pos.top+=$(marker).outerHeight()}marker.parentNode.removeChild(marker);selection.setStart(selection.endContainer,selection.endOffset);selection.collapse(true);this.setSelection(selection);return pos}},{key:"removeLastUndoStack",value:function removeLastUndoStack(){if(this._undoStack.length){this._undoStackLength-=1;this._undoIndex-=1;this._undoStack.pop();this._isInUndoState=false}}},{key:"replaceParent",value:function replaceParent(node,from,to){var target=$(node).closest(from);if(target.length){target.wrapInner("<"+to+"/>");target.children().unwrap()}}},{key:"preserveLastLine",value:function preserveLastLine(){var lastBlock=this.get$Body().children().last();if(_domUtils2.default.getNodeName(lastBlock[0])!=="DIV"){this._ignoreChange=true;$(this.createDefaultBlock()).insertAfter(lastBlock)}}},{key:"scrollTop",value:function scrollTop(top){if(util.isUndefined(top)){return this.get$Body().scrollTop()}return this.get$Body().scrollTop(top)}},{key:"isIgnoreChange",value:function isIgnoreChange(){return this._ignoreChange}},{key:"focus",value:function focus(){var scrollTop=this.scrollTop();Squire.prototype.focus.call(this);if(scrollTop!==this.scrollTop()){this.scrollTop(scrollTop)}return this}}]);return SquireExt}(Squire);module.exports=SquireExt},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0){range.setStart(range.startContainer,range.startOffset-1)}}},{key:"expandEndOffset",value:function expandEndOffset(){var range=this._range;if(_domUtils2.default.isTextNode(range.endContainer)&&range.endOffset','
    ','
    ','
    ','
    ',"
    ",'
    ','
    ',"
    ","
    "].join("");var Layout=function(){function Layout(options,eventManager){_classCallCheck(this,Layout);this.$el=$(options.el);this.height=options.height;this.type=options.initialEditType;this.eventManager=eventManager;this.init();this._initEvent()}_createClass(Layout,[{key:"init",value:function init(){this._renderLayout();this._initMarkdownAndPreviewSection();this._initWysiwygSection()}},{key:"_initEvent",value:function _initEvent(){this.eventManager.listen("hide",this.hide.bind(this));this.eventManager.listen("show",this.show.bind(this))}},{key:"_renderLayout",value:function _renderLayout(){this.$containerEl=$(containerTmpl).appendTo(this.$el)}},{key:"switchToWYSIWYG",value:function switchToWYSIWYG(){this.$containerEl.removeClass("te-md-mode");this.$containerEl.addClass("te-ww-mode")}},{key:"switchToMarkdown",value:function switchToMarkdown(){this.$containerEl.removeClass("te-ww-mode");this.$containerEl.addClass("te-md-mode")}},{key:"_initMarkdownAndPreviewSection",value:function _initMarkdownAndPreviewSection(){this.$mdEditorContainerEl=this.$containerEl.find(".te-md-container .te-editor");this.$previewEl=this.$containerEl.find(".te-md-container .te-preview")}},{key:"_initWysiwygSection",value:function _initWysiwygSection(){this.$wwEditorContainerEl=this.$containerEl.find(".te-ww-container .te-editor")}},{key:"_verticalSplitStyle",value:function _verticalSplitStyle(){this.$containerEl.find(".te-md-container").removeClass("te-preview-style-tab");this.$containerEl.find(".te-md-container").addClass("te-preview-style-vertical")}},{key:"_tabStyle",value:function _tabStyle(){this.$containerEl.find(".te-md-container").removeClass("te-preview-style-vertical");this.$containerEl.find(".te-md-container").addClass("te-preview-style-tab")}},{key:"changePreviewStyle",value:function changePreviewStyle(style){if(style==="tab"){this._tabStyle()}else if(style==="vertical"){this._verticalSplitStyle()}}},{key:"hide",value:function hide(){this.$el.find(".tui-editor").addClass("te-hide")}},{key:"show",value:function show(){this.$el.find(".tui-editor").removeClass("te-hide")}},{key:"remove",value:function remove(){this.$el.find(".tui-editor").remove()}},{key:"getEditorEl",value:function getEditorEl(){return this.$containerEl}},{key:"getPreviewEl",value:function getPreviewEl(){return this.$previewEl}},{key:"getMdEditorContainerEl",value:function getMdEditorContainerEl(){return this.$mdEditorContainerEl}},{key:"getWwEditorContainerEl",value:function getWwEditorContainerEl(){return this.$wwEditorContainerEl}}]);return Layout}();module.exports=Layout},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}if(args.length){command=CommandManager.command.apply(CommandManager,[command].concat(args))}var name=command.getName();var commandBase=void 0;if(command.isMDType()){commandBase=this._mdCommand}else if(command.isWWType()){commandBase=this._wwCommand}else if(command.isGlobalType()){commandBase=this._command}commandBase.set(name,command);if(command.keyMap){this.keyMapCommand[command.keyMap[KEYMAP_OS_INDEX]]=name}return command}},{key:"_initEvent",value:function _initEvent(){var _this=this;this.base.eventManager.listen("command",function(){_this.exec.apply(_this,arguments)});this.base.eventManager.listen("keyMap",function(ev){var command=_this.keyMapCommand[ev.keyMap];if(command){ev.data.preventDefault();_this.exec(command)}})}},{key:"exec",value:function exec(name){var commandToRun=void 0,result=void 0;var context=this.base;commandToRun=this._command.get(name);if(!commandToRun){if(this.base.isMarkdownMode()){commandToRun=this._mdCommand.get(name);context=this.base.mdEditor}else{commandToRun=this._wwCommand.get(name);context=this.base.wwEditor}}if(commandToRun){var _commandToRun;for(var _len2=arguments.length,args=Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2]}args.unshift(context);result=(_commandToRun=commandToRun).exec.apply(_commandToRun,args)}return result}}]);return CommandManager}();CommandManager.command=function(type,props){var command=_command2.default.factory(type,props.name,props.keyMap);util.extend(command,props);return command};module.exports=CommandManager},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i")});content=content.replace(/(\r\n$)|(\r$)|(\n$)/,"");content=content.replace(/(\r\n)|(\r)/g,"\n");return content.split("\n")}module.exports=excelTableParser},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i/gi,"
    ");var renderedHTML=markdownitHighlight.render(markdown);renderedHTML=this._removeBrToMarkPassAttributeInCode(renderedHTML);return renderedHTML}},{key:"_markdownToHtml",value:function _markdownToHtml(markdown){markdown=markdown.replace(/
    /gi,"
    ");var renderedHTML=markdownitHighlight.render(markdown);renderedHTML=this._removeBrToMarkPassAttributeInCode(renderedHTML);return renderedHTML}},{key:"_removeBrToMarkPassAttributeInCode",value:function _removeBrToMarkPassAttributeInCode(renderedHTML){var $wrapperDiv=$("
    ");$wrapperDiv.html(renderedHTML);$wrapperDiv.find("code, pre").each(function(i,codeOrPre){var $code=$(codeOrPre);$code.html($code.html().replace(/<br data-tomark-pass>/,"<br>"))});renderedHTML=$wrapperDiv.html();return renderedHTML}},{key:"toHTMLWithCodeHightlight",value:function toHTMLWithCodeHightlight(markdown){var html=this._markdownToHtmlWithCodeHighlight(markdown);html=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",html);return html}},{key:"toHTML",value:function toHTML(markdown){var html=this._markdownToHtml(markdown);html=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",html);return html}},{key:"initHtmlSanitizer",value:function initHtmlSanitizer(){this.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(html){return(0,_htmlSanitizer2.default)(html,true)})}},{key:"toMarkdown",value:function toMarkdown(html){var resultArray=[];var markdown=toMark(this._appendAttributeForBrIfNeed(html));markdown=this.eventManager.emitReduce("convertorAfterHtmlToMarkdownConverted",markdown);tui.util.forEach(markdown.split("\n"),function(line,index){var FIND_TABLE_RX=/^\|[^|]*\|/gi;var FIND_CODE_RX=/`[^`]*
    [^`]*`/gi;if(!FIND_CODE_RX.test(line)&&!FIND_TABLE_RX.test(line)){line=line.replace(/
    /gi,"
    \n")}resultArray[index]=line});return resultArray.join("\n")}},{key:"_appendAttributeForBrIfNeed",value:function _appendAttributeForBrIfNeed(html){var FIND_BR_RX=/
    /gi;var FIND_DOUBLE_BR_RX=/

    /gi;var FIND_PASSING_AND_NORMAL_BR_RX=/

    (.)/gi;var FIND_FIRST_TWO_BRS_RX=/([^>])

    /g;html=html.replace(FIND_BR_RX,"
    ");html=html.replace(FIND_DOUBLE_BR_RX,"

    ");var div=document.createElement("div");var $div=$(div);$div.html(html);$div.find("pre br,code br").each(function(index,node){if(node.hasAttribute("data-tomark-pass")){node.removeAttribute("data-tomark-pass")}});html=$div.html().replace(/
    /gi,"
    ");html=html.replace(FIND_BR_RX,"
    ");html=html.replace(FIND_PASSING_AND_NORMAL_BR_RX,"

    $1");html=html.replace(FIND_FIRST_TWO_BRS_RX,"$1

    ");return html}}],[{key:"factory",value:function factory(eventManager){return new Convertor(eventManager)}},{key:"getMarkdownHighlightRenderer",value:function getMarkdownHighlightRenderer(){return markdownitHighlight}}]);return Convertor}();function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}module.exports=Convertor},function(module,exports){"use strict";var MarkdownitTaskRenderer=function MarkdownitTaskRenderer(markdownit){markdownit.core.ruler.after("inline","tui-task-list",function(state){var TASK_LIST_ITEM_CLASS_NAME="task-list-item";var CHECKED_CLASS_NAME="checked";var tokens=state.tokens;var className;var tokenIndex;for(tokenIndex=2;tokenIndex/g,">").replace(/"/g,""").replace(/'/g,"'")}module.exports=MarkdownitCodeBlockRenderer},function(module,exports){"use strict";module.exports=function code(state,startLine,endLine){var FIND_LIST_RX=/ {0,3}(?:-|\*|\d\.) /;var lines=state.src.split("\n");var currentLine=lines[startLine];var nextLine,last,token,emptyLines=0;if(currentLine.match(FIND_LIST_RX)||state.sCount[startLine]-state.blkIndent<4){return false}last=nextLine=startLine+1;while(nextLine=2&&state.parentType==="list"){break}nextLine++;continue}emptyLines=0;if(state.sCount[nextLine]-state.blkIndent>=4){nextLine++;last=nextLine;continue}break}state.line=last;token=state.push("code_block","code",0);token.content=state.getLines(startLine,last,4+state.blkIndent,true);token.map=[startLine,state.line];return true}},function(module,exports){"use strict";module.exports=function blockquote(state,startLine,endLine,silent){var FIND_LIST_RX=/(?:-|\*|\d+\.) {1,4}(?:> {0,3})[^>]*$/;var sourceLines=state.src.split("\n");var currentLine=sourceLines[startLine];var nextLine,lastLineEmpty,oldTShift,oldSCount,oldBMarks,oldIndent,oldParentType,lines,initial,offset,ch,terminatorRules,token,i,l,terminate,pos=state.bMarks[startLine]+state.tShift[startLine],max=state.eMarks[startLine];if(currentLine.match(FIND_LIST_RX)||state.src.charCodeAt(pos++)!==62){return false}if(silent){return true}if(state.src.charCodeAt(pos)===32){pos++}oldIndent=state.blkIndent;state.blkIndent=0;initial=offset=state.sCount[startLine]+pos-(state.bMarks[startLine]+state.tShift[startLine]);oldBMarks=[state.bMarks[startLine]];state.bMarks[startLine]=pos;while(pos=max;oldSCount=[state.sCount[startLine]];state.sCount[startLine]=offset-initial;oldTShift=[state.tShift[startLine]];state.tShift[startLine]=pos-state.bMarks[startLine];terminatorRules=state.md.block.ruler.getRules("blockquote");for(nextLine=startLine+1;nextLine=max){break}if(state.src.charCodeAt(pos++)===62){if(state.src.charCodeAt(pos)===32){pos++}initial=offset=state.sCount[nextLine]+pos-(state.bMarks[nextLine]+state.tShift[nextLine]);oldBMarks.push(state.bMarks[nextLine]);state.bMarks[nextLine]=pos;while(pos=max;oldSCount.push(state.sCount[nextLine]);state.sCount[nextLine]=offset-initial;oldTShift.push(state.tShift[nextLine]);state.tShift[nextLine]=pos-state.bMarks[nextLine];continue}if(lastLineEmpty){break}terminate=false;for(i=0,l=terminatorRules.length;i";token.map=lines=[startLine,0];state.md.block.tokenize(state,startLine,nextLine);token=state.push("blockquote_close","blockquote",-1);token.markup=">";state.parentType=oldParentType;lines[1]=state.line;for(i=0;iendLine){return false}nextLine=startLine+1;if(state.sCount[nextLine]=state.eMarks[nextLine]){return false}ch=state.src.charCodeAt(pos);if(ch!==124&&ch!==45&&ch!==58){return false}lineText=getLine(state,startLine+1);if(!/^[-:| ]+$/.test(lineText)){return false}columns=lineText.split("|");aligns=[];for(i=0;ialigns.length){return false}if(silent){return true}token=state.push("table_open","table",1);token.map=tableLines=[startLine,0];token=state.push("thead_open","thead",1);token.map=[startLine,startLine+1];token=state.push("tr_open","tr",1);token.map=[startLine,startLine+1];for(i=0;i|$))/i,/<\/(script|pre|style)>/i,true],[/^/,true],[/^<\?/,/\?>/,true],[/^/,true],[/^/,true],[new RegExp("^<("+voidTagNames.join("|")+")","i"),/^\/?>$/,true],[new RegExp("^|$))","i"),/^$/,true],[/^(?:<[A-Za-z][A-Za-z0-9\-]*(?:\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\s*=\s*(?:[^"'=<>`\x00-\x20]+|'[^']*'|"[^"]*"))?)*\s*\/?>|<\/[A-Za-z][A-Za-z0-9\-]*\s*>)\s*$/,/^$/,false]];module.exports=function html_block(state,startLine,endLine,silent){var i,nextLine,token,lineText,pos=state.bMarks[startLine]+state.tShift[startLine],max=state.eMarks[startLine];if(!state.md.options.html){return false}if(state.src.charCodeAt(pos)!==60){return false}lineText=state.src.slice(pos,max);for(i=0;i18;if(ev.target.hasAttribute(TASK_ATTR_NAME)&&!isBeneathTaskBox){$(ev.target).toggleClass(TASK_CHECKED_CLASS_NAME);_this.eventManager.emit("change",{source:"viewOnly",data:ev})}});_extManager2.default.applyExtension(this,this.options.exts);this.setValue(this.options.initialValue);this.eventManager.emit("load",this)}_createClass(ToastUIEditorViewOnly,[{key:"setValue",value:function setValue(markdown){this.markdownValue=markdown=markdown||"";this.preview.refresh(this.markdownValue);this.eventManager.emit("setValueAfter",this.markdownValue)}},{key:"on",value:function on(type,handler){this.eventManager.listen(type,handler)}},{key:"off",value:function off(type){this.eventManager.removeEventHandler(type)}},{key:"remove",value:function remove(){this.eventManager.emit("removeEditor");this.options=null;this.eventManager=null;this.commandManager=null;this.convertor=null;this.preview=null}},{key:"addHook",value:function addHook(type,handler){this.eventManager.removeEventHandler(type);this.eventManager.listen(type,handler)}},{key:"isViewOnly",value:function isViewOnly(){return true}},{key:"isMarkdownMode",value:function isMarkdownMode(){return false}},{key:"isWysiwygMode",value:function isWysiwygMode(){return false}}]);return ToastUIEditorViewOnly}();module.exports=ToastUIEditorViewOnly},function(module,exports,__webpack_require__){"use strict";var _toolbar=__webpack_require__(39);var _toolbar2=_interopRequireDefault(_toolbar);var _tab=__webpack_require__(43);var _tab2=_interopRequireDefault(_tab);var _layerpopup=__webpack_require__(45);var _layerpopup2=_interopRequireDefault(_layerpopup);var _modeSwitch=__webpack_require__(46);var _modeSwitch2=_interopRequireDefault(_modeSwitch);var _popupAddLink=__webpack_require__(47);var _popupAddLink2=_interopRequireDefault(_popupAddLink);var _popupAddImage=__webpack_require__(48);var _popupAddImage2=_interopRequireDefault(_popupAddImage);var _popupTableUtils=__webpack_require__(49);var _popupTableUtils2=_interopRequireDefault(_popupTableUtils);var _popupAddTable=__webpack_require__(50);var _popupAddTable2=_interopRequireDefault(_popupAddTable);var _popupAddHeading=__webpack_require__(51);var _popupAddHeading2=_interopRequireDefault(_popupAddHeading);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var containerTmpl=['
    ','
    ','
    ','
    ','
    ',"
    "].join("");function DefaultUI(editor){this.name="default";this.type=editor.options.initialEditType;this.editor=editor;this.init(editor.options.el);this._initEvent()}DefaultUI.prototype.init=function($container){this._renderLayout($container);this._initEditorSection();this._initToolbar();this._initModeSwitch();this._initPopupAddLink();this._initPopupAddImage();this._initPopupAddTable();this._initPopupAddHeading();this._initPopupTableUtils();this._initMarkdownTab()};DefaultUI.prototype._initEditorSection=function(){this.$el.find(".te-editor-section").append(this.editor.layout.getEditorEl())};DefaultUI.prototype._initEvent=function(){var self=this;this.editor.eventManager.listen("hide",this.hide.bind(this));this.editor.eventManager.listen("show",this.show.bind(this));this.editor.eventManager.listen("changeMode",function(){self.markdownTabControl()});this.editor.eventManager.listen("changePreviewStyle",function(){self.markdownTabControl()})};DefaultUI.prototype._renderLayout=function($container){this.$el=$(containerTmpl).appendTo($container)};DefaultUI.prototype._initToolbar=function(){this.toolbar=new _toolbar2.default(this.editor.eventManager);this.$el.find(".te-toolbar-section").append(this.toolbar.$el)};DefaultUI.prototype._initModeSwitch=function(){var self=this;this.modeSwitch=new _modeSwitch2.default(this.type==="markdown"?_modeSwitch2.default.TYPE.MARKDOWN:_modeSwitch2.default.TYPE.WYSIWYG);this.$el.find(".te-mode-switch-section").append(this.modeSwitch.$el);this.modeSwitch.on("modeSwitched",function(ev,type){self.editor.changeMode(type)})};DefaultUI.prototype.markdownTabControl=function(){if(this.editor.isMarkdownMode()&&this.editor.getCurrentPreviewStyle()==="tab"){this.$el.find(".te-markdown-tab-section").show();this.markdownTab.activate("Editor")}else{this.$el.find(".te-markdown-tab-section").hide()}};DefaultUI.prototype._initMarkdownTab=function(){var editor=this.editor;this.markdownTab=new _tab2.default({items:["Editor","Preview"],sections:[editor.layout.getMdEditorContainerEl(),editor.layout.getPreviewEl()]});this.$el.find(".te-markdown-tab-section").append(this.markdownTab.$el);this.markdownTab.on("itemClick",function(ev,itemText){if(itemText==="Preview"){editor.eventManager.emit("previewNeedsRefresh")}else{editor.getCodeMirror().focus()}})};DefaultUI.prototype._initPopupAddLink=function(){this.popupAddLink=new _popupAddLink2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype._initPopupAddImage=function(){this.popupAddImage=new _popupAddImage2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype._initPopupAddTable=function(){this.popupAddTable=new _popupAddTable2.default({$target:this.$el,eventManager:this.editor.eventManager,$button:this.$el.find("button.tui-table"),css:{position:"absolute"}})};DefaultUI.prototype._initPopupAddHeading=function(){this.popupAddHeading=new _popupAddHeading2.default({$target:this.$el,eventManager:this.editor.eventManager,$button:this.$el.find("button.tui-heading"),css:{position:"absolute"}})};DefaultUI.prototype._initPopupTableUtils=function(){var self=this;this.editor.eventManager.listen("contextmenu",function(ev){if($(ev.data.target).parents("table").length>0){ev.data.preventDefault();self.editor.eventManager.emit("openPopupTableUtils",ev.data)}});this.popupTableUtils=new _popupTableUtils2.default({$target:this.$el,eventManager:this.editor.eventManager})};DefaultUI.prototype.hide=function(){this.$el.addClass("te-hide")};DefaultUI.prototype.show=function(){this.$el.removeClass("te-hide")};DefaultUI.prototype.remove=function(){this.$el.remove()};DefaultUI.prototype.createPopup=function(options){return _layerpopup2.default.factory(options)};module.exports=DefaultUI},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(40);var _uicontroller2=_interopRequireDefault(_uicontroller);var _button=__webpack_require__(41);var _button2=_interopRequireDefault(_button);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function Toolbar(eventManager){_uicontroller2.default.call(this,{tagName:"div",className:"tui-editor-defaultUI-toolbar"});this.buttons=[];this.eventManager=eventManager;this.render();this._initButton()}Toolbar.prototype=util.extend({},_uicontroller2.default.prototype);Toolbar.prototype.render=function(){this.$buttonContainer=this.$el};Toolbar.prototype.addButton=function(buttons,index){var _this=this;var TOOLBAR_GROUP_CLASS_NAME="tui-toolbar-button-group";var $buttonWrap=$('
    ');if(util.isArray(buttons)){util.forEach(buttons,function(button){$buttonWrap.append(_this._setButton(button).$el)})}else{$buttonWrap.append(this._setButton(buttons).$el)}if(index){this.$buttonContainer.find("."+TOOLBAR_GROUP_CLASS_NAME).eq(index-1).after($buttonWrap)}else{this.$buttonContainer.append($buttonWrap)}};Toolbar.prototype._setButton=function(button){var ev=this.eventManager;if(!button.render){button=new _button2.default(button)}button.on("command",function emitCommandEvent($,commandName){ev.emit("command",commandName)});button.on("event",function emitEventByCommand($,eventName){ev.emit(eventName)});this.buttons.push(button);return button};Toolbar.prototype._initButton=function(){var _this2=this;this.addButton(new _button2.default({className:"tui-heading",event:"openHeadingSelect",tooltip:_i18n2.default.get("Headings")}));this.addButton([new _button2.default({className:"tui-bold",command:"Bold",tooltip:_i18n2.default.get("Bold"),state:"bold"}),new _button2.default({className:"tui-italic",command:"Italic",tooltip:_i18n2.default.get("Italic"),state:"italic"}),new _button2.default({className:"tui-strike",command:"Strike",text:"~",tooltip:_i18n2.default.get("Strike")})]);this.addButton([new _button2.default({className:"tui-ul",command:"UL",tooltip:_i18n2.default.get("Unordered list")}),new _button2.default({className:"tui-ol",command:"OL",tooltip:_i18n2.default.get("Ordered list")}),new _button2.default({className:"tui-task",command:"Task",tooltip:_i18n2.default.get("Task")})]);this.addButton([new _button2.default({className:"tui-hrline",command:"HR",tooltip:_i18n2.default.get("Line")}),new _button2.default({className:"tui-table",event:"openPopupAddTable",tooltip:_i18n2.default.get("Insert table")})]);this.addButton([new _button2.default({className:"tui-image",event:"openPopupAddImage",tooltip:_i18n2.default.get("Insert image")}),new _button2.default({className:"tui-link",event:"openPopupAddLink",tooltip:_i18n2.default.get("Insert link")})]);this.addButton(new _button2.default({className:"tui-quote",command:"Blockquote",tooltip:_i18n2.default.get("Blockquote"),state:"quote"}));this.addButton([new _button2.default({className:"tui-codeblock",command:"CodeBlock",text:"CB",tooltip:_i18n2.default.get("Insert codeblock"),state:"codeBlock"}),new _button2.default({className:"tui-code",command:"Code",tooltip:_i18n2.default.get("Code"),state:"code"})]);this.eventManager.listen("stateChange",function(ev){util.forEach(_this2.buttons,function(button){if(button.state){if(ev[button.state]){button.$el.addClass("active")}else{button.$el.removeClass("active")}}})})}; +module.exports=Toolbar},function(module,exports){"use strict";var util=tui.util;var _id=0;function UIController(options){options=util.extend({tagName:"div"},options||{});this.tagName=options.tagName;this.className=options.className;this.$el=null;this._initID();this.setRootElement(options.rootElement)}UIController.prototype.on=function(aType,aFn){var self=this;if(util.isObject(aType)){util.forEach(aType,function(fn,type){self._addEvent(type,fn)})}else{this._addEvent(aType,aFn)}};UIController.prototype._addEvent=function(type,fn){var parsedType=this._parseEventType(type),event=parsedType[0],selector=parsedType[1];if(selector){this.$el.on(event,selector,fn)}else{this.$el.on(event,fn)}};UIController.prototype.off=function(type,fn){if(type){var parsedType=this._parseEventType(type);var event=parsedType[0];var selector=parsedType[1];if(selector){this.$el.off(event,selector,fn)}else{this.$el.off(event,fn)}}else{this.$el.off()}};UIController.prototype._parseEventType=function(type){var splitType=type.split(" "),event=splitType.shift(),selector=splitType.join(" ");return[event,selector]};UIController.prototype.attachEvents=function(events){var self=this;var eventlist=events||this.events;var handler=void 0;if(eventlist){util.forEach(eventlist,function(handlerName,type){if(self[handlerName]){type=self.getEventNameWithNamespace(type);handler=util.bind(self[handlerName],self);self.on(type,handler)}else{throw new Error("UIController#attachEvents: "+handlerName+"란 메서드가 없습니다.")}})}};UIController.prototype.detachEvents=function(){this.$el.off(".uicEvent"+this.id)};UIController.prototype.setRootElement=function($el){var className=this.className;var tagName=this.tagName;if(!$el){className=className||"uic"+this.id;$el=$("<"+tagName+' class="'+className+'"/>')}this.$el=$el};UIController.prototype.trigger=function(){var _$el;(_$el=this.$el).trigger.apply(_$el,arguments)};UIController.prototype._initID=function(){this.id=_id;_id+=1};UIController.prototype.getEventNameWithNamespace=function(event){var eventSplited=event.split(" ");eventSplited[0]+=".uicEvent"+this.id;return eventSplited.join(" ")};UIController.prototype.addUIC=function(uic,targetSEL){if(targetSEL){this.$el.find(targetSEL).append(uic.$el)}else{this.$el.append(uic.$el)}};UIController.prototype.remove=function(){this.detachEvents();this.$el.remove()};UIController.prototype.destroy=function(){var self=this;this.remove();this.detachEvents();util.forEachOwnProperties(this,function(value,key){self[key]=null})};UIController.extend=function(props){var newUIC=util.defineClass(this,props);newUIC.extend=UIController.extend;return newUIC};module.exports=UIController},function(module,exports,__webpack_require__){"use strict";var UIController=__webpack_require__(40);var Tooltip=__webpack_require__(42);var util=tui.util;var tooltip=new Tooltip;function Button(options){UIController.call(this,{tagName:"button",className:options.className+" tui-toolbar-icons",rootElement:options.$el});this._setOptions(options);this.render();this.attachEvents({click:"_onClick"});if(options.tooltip){this.attachEvents({mouseover:"_onOver",mouseout:"_onOut"})}}Button.prototype=util.extend({},UIController.prototype);Button.prototype._setOptions=function(options){this.command=options.command;this.event=options.event;this.text=options.text;this.tooltip=options.tooltip;this.style=options.style;this.state=options.state};Button.prototype.render=function(){this.$el.text(this.text);this.$el.attr("type","button");if(this.style){this.$el.attr("style",this.style)}};Button.prototype._onClick=function(){if(this.command){this.trigger("command",this.command)}else{this.trigger("event",this.event)}this.trigger("clicked")};Button.prototype._onOver=function(){tooltip.show(this.$el,this.tooltip)};Button.prototype._onOut=function(){tooltip.hide()};module.exports=Button},function(module,exports){"use strict";var TOOLTIP_CONTENT='
    ';function Tooltip(){this.$el=$(TOOLTIP_CONTENT);this.$el.appendTo("body");this.$el.hide()}Tooltip.prototype.show=function(target,text){this.$el.css({top:target.offset().top+target.height()+13,left:target.offset().left+3}).find(".text").html(text).end().show()};Tooltip.prototype.hide=function(){this.$el.hide()};module.exports=Tooltip},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(40);var _uicontroller2=_interopRequireDefault(_uicontroller);var _templater=__webpack_require__(44);var _templater2=_interopRequireDefault(_templater);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var buttonTmpl='';function Tab(options){_uicontroller2.default.call(this,{tagName:"div",className:"te-tab"});options=util.extend({},options);this.items=options.items;this.sections=options.sections;this._$activeButton=null;this.render();this._initItemClickEvent(options.onItemClick);this._applyInitName(options.initName)}Tab.prototype=util.extend({},_uicontroller2.default.prototype);Tab.prototype.render=function(){var buttonHtml=(0,_templater2.default)(buttonTmpl,this._getButtonData());this.$el.html(buttonHtml);this.attachEvents({"click button":"_onButtonClick"})};Tab.prototype._applyInitName=function(initName){if(initName){this.activate(initName)}};Tab.prototype._getButtonData=function(){var buttonData=[];for(var i=0,len=this.items.length;i','','',"
    ",'
    '].join("");function LayerPopup(options){options=util.extend({},options);_uicontroller2.default.call(this,{tagName:"div",className:CLASS_PREFIX+"wrapper",rootElement:options.$el});options=util.extend({},options);this._setId();this._initTarget(options);this._initExternalPopupHtmlIfNeed(options);this._initCloserOpener(options);this._initContent(options);this._initTitle(options);this._initClassName(options);this._initCssStyles(options)}LayerPopup.prototype=util.extend({},_uicontroller2.default.prototype);LayerPopup.prototype._initTarget=function(options){this.$target=options.$target||$("body")};LayerPopup.prototype._initExternalPopupHtmlIfNeed=function(options){if(options.$el){this.$el=options.$el;this._isExternalHtmlUse=true}};LayerPopup.prototype._initCloserOpener=function(options){this.openerCssQuery=options.openerCssQuery;this.closerCssQuery=options.closerCssQuery};LayerPopup.prototype._initContent=function(options){if(options.content){this.$content=$(options.content)}else if(options.textContent){this.$content=options.textContent}};LayerPopup.prototype._initTitle=function(options){this.title=options.title};LayerPopup.prototype._initClassName=function(options){if(options.className){this.className=options.className}};LayerPopup.prototype.render=function(){this._renderLayout();this._renderTitle();this._renderContent();this._attachPopupEvent()};LayerPopup.prototype._renderLayout=function(){if(!this._isExternalHtmlUse){this.$el.html(LAYOUT_TEMPLATE);this.$el.addClass(this.className);this.hide();this.$target.append(this.$el);this.$body=this.$el.find(this._getFullClassName("body"));if(this.title===false){this.$el.find(this._getFullClassName("header")).remove()}}else{this.hide();if(this.$target){this.$target.append(this.$el)}}};LayerPopup.prototype._renderContent=function(){if(!this._isExternalHtmlUse){this.setContent(this.$content)}};LayerPopup.prototype._renderTitle=function(){if(!this._isExternalHtmlUse&&this.title!==false){this.setTitle(this.title)}};LayerPopup.prototype._getFullClassName=function(lastName){return"."+CLASS_PREFIX+lastName};LayerPopup.prototype._attachOpenerCloserEvent=function(){var self=this;if(this.openerCssQuery){$(this.openerCssQuery).on("click."+this._getId(),function(){self.show()})}if(this.closerCssQuery){$(this.closerCssQuery).on("click."+this._getId(),function(){self.hide()})}};LayerPopup.prototype._detachOpenerCloserEvent=function(){if(this.openerCssQuery){$(this.openerCssQuery).off("."+this._getId())}if(this.closerCssQuery){$(this.closerCssQuery).off("."+this._getId())}};LayerPopup.prototype._attachPopupControlEvent=function(){var self=this;this.on("click "+this._getFullClassName("close-button"),function(){self.hide()})};LayerPopup.prototype._detachPopupEvent=function(){this.off();this._detachOpenerCloserEvent()};LayerPopup.prototype._attachPopupEvent=function(){this._attachPopupControlEvent();this._attachOpenerCloserEvent()};LayerPopup.prototype._setId=function(){this._id=_id;_id+=1};LayerPopup.prototype._getId=function(){return this._id};LayerPopup.prototype.setContent=function($content){this.$body.empty();this.$body.append($content)};LayerPopup.prototype.setTitle=function(title){var $title=this.$el.find(this._getFullClassName("title"));$title.empty();$title.append(title)};LayerPopup.prototype.hide=function(){this.$el.css("display","none");this._isShow=false;this.trigger("hidden",this)};LayerPopup.prototype.show=function(){this.$el.css("display","block");this._isShow=true;this.trigger("shown",this)};LayerPopup.prototype.isShow=function(){return this._isShow};LayerPopup.prototype.remove=function(){this.trigger("remove",this);this._detachPopupEvent();this.$el.empty();this.$el.remove()};LayerPopup.prototype.css=function(){var _$el;(_$el=this.$el).css.apply(_$el,arguments)};LayerPopup.prototype._initCssStyles=function(options){if(options.css){this.css(options.css)}};LayerPopup.factory=function(options){var popup=new LayerPopup(options);popup.render();return popup};LayerPopup.CLASS_PREFIX=CLASS_PREFIX;module.exports=LayerPopup},function(module,exports,__webpack_require__){"use strict";var _uicontroller=__webpack_require__(40);var _uicontroller2=_interopRequireDefault(_uicontroller);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var TYPE={MARKDOWN:"markdown",WYSIWYG:"wysiwyg"};function ModeSwitch(initialType){_uicontroller2.default.call(this,{tagName:"div",className:"te-mode-switch"});this._render();this._switchType(util.isExisty(initialType)?initialType:TYPE.MARKDOWN)}ModeSwitch.prototype=util.extend({},_uicontroller2.default.prototype);ModeSwitch.prototype._render=function(){this.$buttons={};this.$buttons.markdown=$('");this.$buttons.wysiwyg=$('");this.$el.append(this.$buttons.markdown);this.$el.append(this.$buttons.wysiwyg);this.attachEvents({"click .markdown":"_changeMarkdown","click .wysiwyg":"_changeWysiwyg"})};ModeSwitch.prototype._changeMarkdown=function(){this._switchType(TYPE.MARKDOWN)};ModeSwitch.prototype._changeWysiwyg=function(){this._switchType(TYPE.WYSIWYG)};ModeSwitch.prototype._setActiveButton=function(type){util.forEach(this.$buttons,function($button){$button.removeClass("active")});this.$buttons[type].addClass("active")};ModeSwitch.prototype._switchType=function(type){if(this.type===type){return}this.type=type;this._setActiveButton(type);this.trigger("modeSwitched",this.type)};ModeSwitch.TYPE=TYPE;module.exports=ModeSwitch},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(45);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddLink(options){var POPUP_CONTENT=['",'','",'','
    ','",'","
    "].join("");options=util.extend({title:_i18n2.default.get("Insert link"),className:"te-popup-add-link tui-editor-popup",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.render();this._bindContentEvent();this._linkWithEventManager(options.eventManager)}PopupAddLink.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddLink.prototype._bindContentEvent=function(){var self=this;this.on("click .te-ok-button",function(){self.trigger("okButtonClicked",self);self.hide()});this.on("click .te-close-button",function(){self.trigger("closeButtonClicked",self);self.hide()});this.on("shown",function(){self.$el.find(".te-link-text-input").focus()});this.on("hidden",function(){self.resetInputs()})};PopupAddLink.prototype._linkWithEventManager=function(eventManager){var self=this;eventManager.listen("focus",function(){self.hide()});eventManager.listen("openPopupAddLink",function(){eventManager.emit("closeAllPopup");self.show()});eventManager.listen("closeAllPopup",function(){self.hide()});this.on("okButtonClicked",function(){eventManager.emit("command","AddLink",self.getValue())})};PopupAddLink.prototype.getValue=function(){return{linkText:this.$el.find(".te-link-text-input").val(),url:this.$el.find(".te-url-input").val().replace(/\(/g,"%28").replace(/\)/g,"%29")}};PopupAddLink.prototype.resetInputs=function(){this.$el.find("input").val("")};module.exports=PopupAddLink},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(45);var _layerpopup2=_interopRequireDefault(_layerpopup);var _tab=__webpack_require__(43);var _tab2=_interopRequireDefault(_tab);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddImage(options){var POPUP_CONTENT=['
    ','
    ','",'',"
    ",'
    ','",'',"
    ",'",'','
    ','",'","
    "].join("");options=util.extend({title:_i18n2.default.get("Insert image"),className:"te-popup-add-image tui-editor-popup",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.render();this._bindContentEvent();this._linkWithEventManager();this._initApplyImageBindContext()}PopupAddImage.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddImage.prototype._bindContentEvent=function(){var self=this;this.on("click .te-ok-button",function(){self.trigger("okButtonClicked",self);self.hide()});this.on("click .te-close-button",function(){self.trigger("closeButtonClicked",self);self.hide()});this.on("shown",function(){self.$el.find(".te-image-url-input").focus()});this.on("hidden",function(){self.resetInputs()});this.tab.on("itemClick",function(){self.resetInputs()});this.on("change .te-image-file-input",function(){var filename=self.$el.find(".te-image-file-input").val().split("\\").pop();self.$el.find(".te-alt-text-input").val(filename)})};PopupAddImage.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("openPopupAddImage",function(){self.eventManager.emit("closeAllPopup");self.show()});this.eventManager.listen("closeAllPopup",function(){self.hide()});this.on("okButtonClicked",function(){if(self._isUrlType()){self.applyImage()}else{self._preAltValue=self.$el.find(".te-alt-text-input").val();self.eventManager.emit("addImageBlobHook",self.$el.find(".te-image-file-input")[0].files[0],self.applyImage)}})};PopupAddImage.prototype._initApplyImageBindContext=function(){var self=this;this.applyImage=function(url){var info=void 0;if(url){info=self._getImageInfoWithGivenUrl(url)}else{info=self._getImageInfo()}self.eventManager.emit("command","AddImage",info);self.hide()}};PopupAddImage.prototype._isUrlType=function(){return!!this.$el.find(".te-image-url-input").val()};PopupAddImage.prototype._renderContent=function(){var $popup=this.$el;_layerpopup2.default.prototype._renderContent.call(this);this.tab=new _tab2.default({initName:_i18n2.default.get("File"),items:[_i18n2.default.get("File"),_i18n2.default.get("URL")],sections:[$popup.find(".te-file-type"),$popup.find(".te-url-type")]});this.$body.find(".te-tab-section").append(this.tab.$el)};PopupAddImage.prototype._getImageInfoWithGivenUrl=function(imageUrl){var altText=this._preAltValue;this._preAltValue="";return this._makeImageInfo(imageUrl,altText)};PopupAddImage.prototype._getImageInfo=function(){var imageUrl=this.$el.find(".te-image-url-input").val(),altText=this.$el.find(".te-alt-text-input").val();return this._makeImageInfo(imageUrl,altText)};PopupAddImage.prototype._makeImageInfo=function(url,alt){return{imageUrl:url,altText:alt}};PopupAddImage.prototype._getImageFileForm=function(){return this.$el.find("form")};PopupAddImage.prototype.resetInputs=function(){this.$el.find("input").val("")};module.exports=PopupAddImage},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(45);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupTableUtils(options){var POPUP_CONTENT=['",'",'",'",'",'",'",'"].join("");options=util.extend({title:false,className:"te-popup-table-utils",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.render();this._bindContentEvent();this._linkWithEventManager()}PopupTableUtils.prototype=util.extend({},_layerpopup2.default.prototype);PopupTableUtils.prototype._bindContentEvent=function(){var self=this;this.on("click .te-table-add-row",function(){self.eventManager.emit("command","AddRow")});this.on("click .te-table-add-col",function(){self.eventManager.emit("command","AddCol")});this.on("click .te-table-remove-row",function(){self.eventManager.emit("command","RemoveRow")});this.on("click .te-table-col-align-left",function(){self.eventManager.emit("command","AlignCol","left")});this.on("click .te-table-col-align-center",function(){self.eventManager.emit("command","AlignCol","center")});this.on("click .te-table-col-align-right",function(){self.eventManager.emit("command","AlignCol","right")});this.on("click .te-table-remove-col",function(){self.eventManager.emit("command","RemoveCol")});this.on("click .te-table-remove",function(){self.eventManager.emit("command","RemoveTable")})};PopupTableUtils.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("mousedown",function(){self.hide()});this.eventManager.listen("openPopupTableUtils",function(event){var offset=self.$el.parent().offset();var x=event.clientX-offset.left;var y=event.clientY-offset.top+$(window).scrollTop();self.eventManager.emit("closeAllPopup");self.$el.css({position:"absolute",top:y+5,left:x+10});self.show()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};module.exports=PopupTableUtils},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(45);var _layerpopup2=_interopRequireDefault(_layerpopup);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var POPUP_CONTENT=['
    ','
    ','
    ','
    ',"
    ",'

    '].join("");var CELL_WIDTH=25,CELL_HEIGHT=17,MIN_ROW_INDEX=7,MAX_ROW_INDEX=14,MIN_COL_INDEX=5,MAX_COL_INDEX=9,MIN_ROW_SELECTION_INDEX=1,MIN_COL_SELECTION_INDEX=1,HEADER_ROW_COUNT=1,LAST_BORDER=1;function PopupAddTable(options){options=util.extend({title:false,className:"te-popup-add-table",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this._selectedBound={};this._tableBound={};this.eventManager=options.eventManager;this.$button=options.$button;this.render();this._cacheElements();this._bindContentEvent();this._linkWithEventManager();this._setTableSizeByBound(MIN_COL_INDEX,MIN_ROW_INDEX)}PopupAddTable.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddTable.prototype._cacheElements=function(){this.$header=this.$el.find(".te-table-header");this.$body=this.$el.find(".te-table-body");this.$selection=this.$el.find(".te-selection-area");this.$desc=this.$el.find(".te-description")};PopupAddTable.prototype._bindContentEvent=function(){var self=this;this.on("mousemove .te-table-selection",function(ev){var x=ev.pageX-self._selectionOffset.left;var y=ev.pageY-self._selectionOffset.top;var bound=self._getSelectionBoundByOffset(x,y);self._resizeTableBySelectionIfNeed(bound.col,bound.row);self._setSelectionAreaByBound(bound.col,bound.row);self._setDisplayText(bound.col,bound.row);self._setSelectedBound(bound.col,bound.row)});this.on("click .te-table-selection",function(){var tableSize=self._getSelectedTableSize();self.eventManager.emit("command","Table",tableSize.col,tableSize.row)})};PopupAddTable.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("openPopupAddTable",function(){self.eventManager.emit("closeAllPopup");self.$el.css({top:self.$button.position().top+self.$button.height()+5,left:self.$button.position().left});self.show();self._selectionOffset=self.$el.find(".te-table-selection").offset()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};PopupAddTable.prototype._resizeTableBySelectionIfNeed=function(col,row){var resizedBound=this._getResizedTableBound(col,row);if(resizedBound){this._setTableSizeByBound(resizedBound.col,resizedBound.row)}};PopupAddTable.prototype._getResizedTableBound=function(col,row){var resizedCol=void 0,resizedRow=void 0,resizedBound=void 0;if(col>=MIN_COL_INDEX&&col=MIN_ROW_INDEX&&rowthis._tableBound.row){bound.row=this._tableBound.row}if(bound.colthis._tableBound.col){bound.col=this._tableBound.col}return bound};PopupAddTable.prototype._setSelectionAreaByBound=function(col,row){var boundOffset=this._getOffsetByBound(col,row);this._setSelectionArea(boundOffset.x,boundOffset.y)};PopupAddTable.prototype._setSelectedBound=function(col,row){this._selectedBound.col=col;this._selectedBound.row=row};PopupAddTable.prototype._getSelectedTableSize=function(){return{row:this._selectedBound.row+1,col:this._selectedBound.col+1}};PopupAddTable.prototype._setDisplayText=function(col,row){this.$desc.html(col+1+" x "+(row+1))};PopupAddTable.prototype._setTableSize=function(x,y){x+=LAST_BORDER;y+=LAST_BORDER;this.$header.css({height:CELL_HEIGHT,width:x});this.$body.css({height:y,width:x});this.$el.css({width:x+30})};PopupAddTable.prototype._setSelectionArea=function(x,y){x+=LAST_BORDER;y+=LAST_BORDER;this.$selection.css({height:y,width:x})};PopupAddTable.CELL_WIDTH=CELL_WIDTH;PopupAddTable.CELL_HEIGHT=CELL_HEIGHT;PopupAddTable.MIN_ROW_SELECTION_INDEX=MIN_ROW_SELECTION_INDEX;PopupAddTable.MIN_COL_SELECTION_INDEX=MIN_COL_SELECTION_INDEX;module.exports=PopupAddTable},function(module,exports,__webpack_require__){"use strict";var _layerpopup=__webpack_require__(45);var _layerpopup2=_interopRequireDefault(_layerpopup);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;function PopupAddHeading(options){var POPUP_CONTENT=["
      ",'
    • '+_i18n2.default.get("Heading")+" 1

    • ",'
    • '+_i18n2.default.get("Heading")+" 2

    • ",'
    • '+_i18n2.default.get("Heading")+" 3

    • ",'
    • '+_i18n2.default.get("Heading")+" 4

    • ",'
    • '+_i18n2.default.get("Heading")+" 5
    • ",'
    • '+_i18n2.default.get("Heading")+" 6
    • ",'
    • '+_i18n2.default.get("Paragraph")+"
    • ","
    "].join("");options=util.extend({title:false,className:"te-heading-add",content:POPUP_CONTENT},options);_layerpopup2.default.call(this,options);this.eventManager=options.eventManager;this.$button=options.$button;this.render();this._linkWithEventManager();this._bindEvent()}PopupAddHeading.prototype=util.extend({},_layerpopup2.default.prototype);PopupAddHeading.prototype._linkWithEventManager=function(){var self=this;this.eventManager.listen("focus",function(){self.hide()});this.eventManager.listen("openHeadingSelect",function(){self.eventManager.emit("closeAllPopup");self.$el.css({top:self.$button.position().top+self.$button.height()+5,left:self.$button.position().left});self.show()});this.eventManager.listen("closeAllPopup",function(){self.hide()})};PopupAddHeading.prototype._bindEvent=function(){var self=this;this.on("click li",function(){self.eventManager.emit("command",$(this).data("type"),$(this).data("value"))})};module.exports=PopupAddHeading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var boldRegex=/^[\*_]{2,}[^\*_]*[\*_]{2,}$/;var Bold=_commandManager2.default.command("markdown",{name:"Bold",keyMap:["CTRL+B","META+B"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isEmpty=!selection;if(isEmpty&&cursor.ch>1){var tmpSelection=this.expendSelection(doc,cursor);selection=tmpSelection||selection}var isRemoved=this.isNeedRemove(selection);var result=isRemoved?this.remove(selection):this.append(selection);doc.replaceSelection(result,"around");if(isEmpty&&!isRemoved){this.setCursorToCenter(doc,cursor)}cm.focus()},isNeedRemove:function isNeedRemove(text){return boldRegex.test(text)},append:function append(text){return"**"+text+"**"},remove:function remove(text){return text.substr(2,text.length-4)},expendSelection:function expendSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){result=tmpSelection}else{doc.setSelection(cursor)}return result},setCursorToCenter:function setCursorToCenter(doc,cursor){doc.setCursor(cursor.line,cursor.ch+2)}});module.exports=Bold},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var boldItalicRegex=/^[\*_]{3,}[^\*_]*[\*_]{3,}$/;var italicRegex=/^[\*_][^\*_]*[\*_]$/;var Italic=_commandManager2.default.command("markdown",{name:"Italic",keyMap:["CTRL+I","META+I"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isEmpty=!selection; +var isWithBold=false;var tmpSelection=void 0;if(isEmpty){if(cursor.ch>2){tmpSelection=this.expendWithBoldSelection(doc,cursor);if(tmpSelection){isWithBold="with"}}if(isWithBold!=="with"&&cursor.ch>1){isWithBold=this.expendOnlyBoldSelection(doc,cursor)}if(!isWithBold&&cursor.ch>0){this.expendSelection(doc,cursor);selection=tmpSelection||selection}}var isRemoved=this.isNeedRemove(selection);var result=isRemoved?this.remove(selection):this.append(selection);doc.replaceSelection(result,"around");if(isEmpty){this.setCursorToCenter(doc,cursor,isRemoved)}cm.focus()},isNeedRemove:function isNeedRemove(text){return italicRegex.test(text)||boldItalicRegex.test(text)},append:function append(text){return"_"+text+"_"},remove:function remove(text){return text.substr(1,text.length-2)},expendWithBoldSelection:function expendWithBoldSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-3};var end={line:cursor.line,ch:cursor.ch+3};doc.setSelection(start,end);if(tmpSelection==="******"||tmpSelection==="______"){result=tmpSelection}else{doc.setSelection(cursor)}return result},expendOnlyBoldSelection:function expendOnlyBoldSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=false;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){doc.setSelection(cursor);result="only"}return result},expendSelection:function expendSelection(doc,cursor){var tmpSelection=doc.getSelection();var result=void 0;var start={line:cursor.line,ch:cursor.ch-2};var end={line:cursor.line,ch:cursor.ch+2};doc.setSelection(start,end);if(tmpSelection==="****"||tmpSelection==="____"){result=tmpSelection}else{doc.setSelection(cursor)}return result},setCursorToCenter:function setCursorToCenter(doc,cursor,isRemoved){var pos=isRemoved?-1:1;doc.setCursor(cursor.line,cursor.ch+pos)}});module.exports=Italic},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var strikeRegex=/^[~~](.*[\s\n]*.*)*[~~]$/;var Strike=_commandManager2.default.command("markdown",{name:"Strike",keyMap:["CTRL+S","META+S"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var cursor=doc.getCursor();var selection=doc.getSelection();var isNeedToRemove=this.hasStrikeSyntax(selection);var result=void 0;if(isNeedToRemove){result=this.remove(selection)}else{result=this.append(selection)}doc.replaceSelection(result,"around");var isEmptySelection=!selection;if(isEmptySelection&&!isNeedToRemove){this.setCursorToCenter(doc,cursor,isNeedToRemove)}cm.focus()},hasStrikeSyntax:function hasStrikeSyntax(text){return strikeRegex.test(text)},append:function append(text){return"~~"+text+"~~"},remove:function remove(text){return text.substr(2,text.length-4)},setCursorToCenter:function setCursorToCenter(doc,cursor,isRemoved){var pos=isRemoved?-2:2;doc.setCursor(cursor.line,cursor.ch+pos)}});module.exports=Strike},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Blockquote=_commandManager2.default.command("markdown",{name:"Blockquote",keyMap:["CTRL+Q","META+Q"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var textToModify=doc.getRange(from,to);var textLinesToModify=textToModify.split("\n");var lineLength=textLinesToModify.length;for(var i=0;i"+textLinesToModify[i]}doc.replaceRange(textLinesToModify.join("\n"),from,to);range.to.ch+=1;doc.setCursor(range.to);cm.focus()}});module.exports=Blockquote},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var FIND_HEADING_RX=/^#+\s/g;var Heading=_commandManager2.default.command("markdown",{name:"Heading",exec:function exec(mde,size){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var lengthOfCurrentLineBefore=doc.getLine(to.line).length;var textToModify=doc.getRange(from,to);var textLinesToModify=textToModify.split("\n");util.forEachArray(textLinesToModify,function(line,index){textLinesToModify[index]=getHeadingMarkdown(line,size)});doc.replaceRange(textLinesToModify.join("\n"),from,to);range.to.ch+=doc.getLine(to.line).length-lengthOfCurrentLineBefore;doc.setSelection(from,range.to);cm.focus()}});function getHeadingMarkdown(text,size){var foundedHeading=text.match(FIND_HEADING_RX);var heading="";do{heading+="#";size-=1}while(size>0);if(foundedHeading){text=text.split(foundedHeading[0])[1]}return heading+" "+text}module.exports=Heading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var Paragraph=_commandManager2.default.command("markdown",{name:"Paragraph",exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var to={line:range.to.line,ch:doc.getLineHandle(range.to.line).text.length};var lengthOfCurrentLineBefore=doc.getLine(to.line).length;var textToModify=doc.getRange(from,to);var textLines=textToModify.split("\n");util.forEachArray(textLines,function(line,index){textLines[index]=getParagraphMarkdown(line)});doc.replaceRange(textLines.join("\n"),from,to);range.to.ch+=doc.getLine(to.line).length-lengthOfCurrentLineBefore;doc.setSelection(from,to);cm.focus()}});function getParagraphMarkdown(lineText){var headingRx=/^(#{1,6}| *((?:\*|-|\d\.)(?: \[[ xX]])?)) /;return lineText.replace(headingRx,"")}module.exports=Paragraph},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var HR=_commandManager2.default.command("markdown",{name:"HR",keyMap:["CTRL+L","META+L"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var replaceText="";var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};if(range.collapsed){replaceText=doc.getLine(from.line);from.ch=0;to.ch=doc.getLineHandle(range.to.line).text.length}if(doc.getLine(from.line).length){replaceText+="\n\n* * *\n\n"}else{replaceText+="\n* * *\n"}doc.replaceRange(replaceText,from,to);cm.focus()}});module.exports=HR},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddLink=_commandManager2.default.command("markdown",{name:"AddLink",exec:function exec(mde,data){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};var replaceText="["+data.linkText+"]("+data.url+")";doc.replaceRange(replaceText,from,to);cm.focus()}});module.exports=AddLink},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddImage=_commandManager2.default.command("markdown",{name:"AddImage",exec:function exec(mde,data){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:range.from.ch};var to={line:range.to.line,ch:range.to.ch};var replaceText="!["+data.altText+"]("+data.imageUrl+")";doc.replaceRange(replaceText,from,to,"+addImage");cm.focus()}});module.exports=AddImage},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var FIND_MD_OL_RX=/^[ \t]*[\d]+\. .*/;var FIND_MD_UL_RX=/^[ \t]*\* .*/;var UL=_commandManager2.default.command("markdown",{name:"UL",keyMap:["CTRL+U","META+U"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var line=doc.getLine(from.line);var to=void 0;if(line.match(FIND_MD_OL_RX)){line=line.replace(/[\d]+\. /,"* ");to={line:from.line,ch:line.length+1};doc.replaceRange(line,from,to)}else if(!line.match(FIND_MD_UL_RX)){doc.replaceRange("* ",from)}cm.focus()}});module.exports=UL},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var FIND_MD_OL_RX=/^[ \t]*[\d]+\. .*/;var FIND_MD_UL_RX=/^[ \t]*\* .*/;var OL=_commandManager2.default.command("markdown",{name:"OL",keyMap:["CTRL+O","META+O"],exec:function exec(mde){var cm=mde.getEditor();var doc=cm.getDoc();var range=mde.getCurrentRange();var from={line:range.from.line,ch:0};var line=doc.getLine(from.line);var to=void 0;if(line.match(FIND_MD_UL_RX)){line=line.replace(/\* /,"1. ");to={line:from.line,ch:line.length-1};doc.replaceRange(line,from,to)}else if(!line.match(FIND_MD_OL_RX)){doc.replaceRange("1. ",from)}cm.focus()}});module.exports=OL},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Table=_commandManager2.default.command("markdown",{name:"Table",exec:function exec(mde,col,row,data){var cm=mde.getEditor();var doc=cm.getDoc();var table="\n";if(cm.getCursor().ch>0){table+="\n"}table+=makeHeader(col,data);table+=makeBody(col,row-1,data);doc.replaceSelection(table);if(!data){cm.setCursor(cm.getCursor().line-row,2)}mde.focus()}});function makeHeader(col,data){var header="|";var border="|";var index=0;while(col){if(data){header+=" "+data[index]+" |";index+=1}else{header+=" |"}border+=" --- |";col-=1}return header+"\n"+border+"\n"}function makeBody(col,row,data){var body="";var index=col;for(var irow=0;irow";var $block=$(block);if($block.is("DIV")){$block.wrap(headingHTML)}else{var $wrapperHeading=$(headingHTML);$wrapperHeading.insertBefore(block);$wrapperHeading.html($block.html());$block.remove()}});return fragment})}}});module.exports=Heading},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Paragraph=_commandManager2.default.command("wysiwyg",{name:"Paragraph",exec:function exec(wwe){var sq=wwe.getEditor();sq.focus();if(!sq.hasFormat("TABLE")&&!sq.hasFormat("PRE")){sq.modifyBlocks(function(fragment){var $newFragment=$(document.createDocumentFragment());$(fragment).children().each(function(index,block){if(block.nodeName.match(/h\d/i)){$newFragment.append($(block).children())}else if(block.nodeName.match(/ul|ol/i)){$(block).find("li").each(function(i,listItem){$newFragment.append($(listItem).children())})}else{$newFragment.append(block)}});return $newFragment[0]})}}});module.exports=Paragraph},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var UL=_commandManager2.default.command("wysiwyg",{name:"UL",keyMap:["CTRL+U","META+U"],exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection();sq.focus();if(!range.collapsed){return}if(sq.hasFormat("LI")){wwe.saveSelection(range);sq.saveUndoState(range);wwe.getManager("task").unformatTask(range.startContainer);sq.replaceParent(range.startContainer,"ol","ul");wwe.restoreSavedSelection()}else if(!sq.hasFormat("TABLE")&&!sq.hasFormat("PRE")){wwe.unwrapBlockTag();sq.makeUnorderedList()}}});module.exports=UL},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var OL=_commandManager2.default.command("wysiwyg",{name:"OL",keyMap:["CTRL+O","META+O"],exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection();sq.focus();if(!range.collapsed){return}if(sq.hasFormat("LI")){sq.saveUndoState(range);wwe.saveSelection(range);wwe.getManager("task").unformatTask(range.startContainer);sq.replaceParent(range.startContainer,"ul","ol");wwe.restoreSavedSelection()}else if(!sq.hasFormat("TABLE")&&!sq.hasFormat("PRE")){wwe.unwrapBlockTag();sq.makeOrderedList()}}});module.exports=OL},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var Table=_commandManager2.default.command("wysiwyg",{name:"Table",exec:function exec(wwe,col,row,data){var sq=wwe.getEditor();var tableIDClassName=wwe.getManager("table").getTableIDClassName();var tableHTMLString=void 0;if(!sq.getSelection().collapsed||sq.hasFormat("TABLE")||sq.hasFormat("PRE")){sq.focus();return}tableHTMLString='';tableHTMLString+=makeHeader(col,data);tableHTMLString+=makeBody(col,row-1,data);tableHTMLString+="
    ";sq.insertHTML(tableHTMLString);sq.focus();if(!data){focusToFirstTh(sq,wwe.get$Body().find("."+tableIDClassName))}}});function focusToFirstTh(sq,$table){var range=sq.getSelection();range.selectNodeContents($table.find("th")[0]);range.collapse(true);sq.setSelection(range)}function makeHeader(col,data){var header="";var index=0;while(col){header+="";if(data){header+=data[index];index+=1}header+="";col-=1}header+="";return header}function makeBody(col,row,data){var body="";var index=col;for(var irow=0;irow";for(var icol=0;icol";if(data){body+=data[index];index+=1}body+=""}body+=""}body+="";return body}module.exports=Table},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddRow=_commandManager2.default.command("wysiwyg",{name:"AddRow",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $tr=void 0,$newRow=void 0;sq.focus();if(sq.hasFormat("TD")){sq.saveUndoState(range);$tr=$(range.startContainer).closest("tr");$newRow=getNewRow($tr);$newRow.insertAfter($tr);focusToFirstTd(sq,$newRow)}else if(sq.hasFormat("TH")){sq.saveUndoState(range);$tr=$(range.startContainer).parents("thead").next("tbody").children("tr").eq(0);$newRow=getNewRow($tr);$newRow.insertBefore($tr);focusToFirstTd(sq,$newRow)}}});function getNewRow($tr){var cloned=$tr.clone();var htmlString=tui.util.browser.msie?"":"
    ";cloned.find("td").html(htmlString);return cloned}function focusToFirstTd(sq,$tr){var range=sq.getSelection();range.selectNodeContents($tr.find("td")[0]);range.collapse(true);sq.setSelection(range)}module.exports=AddRow},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(8);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AddCol=_commandManager2.default.command("wysiwyg",{name:"AddCol",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $cell=void 0;sq.focus();if(sq.hasFormat("TR")){sq.saveUndoState(range);$cell=getCellByRange(range);addColToCellAfter($cell);focusToNextCell(sq,$cell)}}});function getCellByRange(range){var cell=range.startContainer;if(_domUtils2.default.getNodeName(cell)==="TD"||_domUtils2.default.getNodeName(cell)==="TH"){cell=$(cell)}else{cell=$(cell).parentsUntil("tr")}return cell}function addColToCellAfter($cell){var index=$cell.index();var cellToAdd=void 0;$cell.parents("table").find("tr").each(function(n,tr){if(_domUtils2.default.getNodeName(tr.parentNode)==="TBODY"){cellToAdd=$("")}else{cellToAdd=$("")}if(!tui.util.browser.msie){cellToAdd.append($("
    ")[0])}$(cellToAdd).insertAfter($(tr).children().eq(index))})}function focusToNextCell(sq,$cell){var range=sq.getSelection();range.selectNodeContents($cell.next()[0]);range.collapse(true);sq.setSelection(range)}module.exports=AddCol},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(8);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var RemoveRow=_commandManager2.default.command("wysiwyg",{name:"RemoveRow",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var $table=$(range.startContainer).parents("table");var selectionMgr=wwe.getManager("tableSelection");var tableMgr=wwe.getManager("table");var $tr=getTrs(range,selectionMgr,$table);var tbodyRowLength=$table.find("tbody tr").length;sq.focus();if((sq.hasFormat("TD")||sq.hasFormat("TABLE"))&&tbodyRowLength>1){sq.saveUndoState(range);var $nextFocus=$tr.last().next()[0]?$tr.last().next():$tr.first().prev();if($nextFocus.length){focusToFirstTd(sq,range,$nextFocus,tableMgr)}$tr.remove()}selectionMgr.removeClassAttrbuteFromAllCellsIfNeed()}});function focusToFirstTd(sq,range,$tr,tableMgr){var nextFocusCell=$tr.find("td")[0];range.setStart(nextFocusCell,0);range.collapse(true);tableMgr.setLastCellNode(nextFocusCell);sq.setSelection(range)}function getSelectedRows(firstSelectedCell,rangeInformation,$table){var tbodyRowLength=$table.find("tbody tr").length;var isStartContainerInThead=$(firstSelectedCell).parents("thead").length;var startRowIndex=rangeInformation.from.row;var endRowIndex=rangeInformation.to.row;if(isStartContainerInThead){startRowIndex+=1}var isWholeTbodySelected=(startRowIndex===1||isStartContainerInThead)&&endRowIndex===tbodyRowLength;if(isWholeTbodySelected){endRowIndex-=1}return $table.find("tr").slice(startRowIndex,endRowIndex+1)}function getTrs(range,selectionMgr,$table){var selectedCells=selectionMgr.getSelectedCells();var rangeInformation=void 0,trs=void 0,startCell=void 0,endCell=void 0;if(selectedCells.length){rangeInformation=selectionMgr.getSelectionRangeFromTable(selectedCells.first()[0],selectedCells.last()[0]);trs=getSelectedRows(selectedCells.first()[0],rangeInformation,$table)}else{var startContainer=range.startContainer;var endContainer=range.endContainer;startCell=_domUtils2.default.isTextNode(startContainer)?$(startContainer).parent("td,th")[0]:startContainer;endCell=_domUtils2.default.isTextNode(endContainer)?$(endContainer).parent("td,th")[0]:endContainer;rangeInformation=selectionMgr.getSelectionRangeFromTable(startCell,endCell);trs=getSelectedRows(startCell,rangeInformation,$table)}return trs}module.exports=RemoveRow},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(8);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var RemoveCol=_commandManager2.default.command("wysiwyg",{name:"RemoveCol",exec:function exec(wwe){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var tableMgr=wwe.getManager("table");var isAbleToRemoveColumn=$(range.startContainer).closest("table").find("thead tr th").length>1;sq.focus();if(sq.hasFormat("TR")&&isAbleToRemoveColumn){sq.saveUndoState(range);var $cell=getCellByRange(range);var $nextFocus=$cell.next().length?$cell.next():$cell.prev();removeColByCell($cell);focusToCell(sq,$nextFocus,tableMgr)}}});function getCellByRange(range){var cell=range.startContainer;if(_domUtils2.default.getNodeName(cell)==="TD"||_domUtils2.default.getNodeName(cell)==="TH"){cell=$(cell)}else{cell=$(cell).parentsUntil("tr")}return cell}function removeColByCell($cell){var index=$cell.index();$cell.parents("table").find("tr").each(function(n,tr){$(tr).children().eq(index).remove()})}function focusToCell(sq,$cell,tableMgr){var nextFocusCell=$cell[0];if($cell.length){var range=sq.getSelection();range.selectNodeContents($cell[0]);range.collapse(true);sq.setSelection(range);tableMgr.setLastCellNode(nextFocusCell)}}module.exports=RemoveCol},function(module,exports,__webpack_require__){"use strict";var _commandManager=__webpack_require__(24);var _commandManager2=_interopRequireDefault(_commandManager);var _domUtils=__webpack_require__(8);var _domUtils2=_interopRequireDefault(_domUtils);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var AlignCol=_commandManager2.default.command("wysiwyg",{name:"AlignCol",exec:function exec(wwe,alignDirection){var sq=wwe.getEditor();var range=sq.getSelection().cloneRange();var selectionMgr=wwe.getManager("tableSelection");var rangeInformation=getRangeInformation(range,selectionMgr);sq.focus();if(sq.hasFormat("TR")){sq.saveUndoState(range);var $table=$(range.startContainer).parents("table");var selectionInformation=getSelectionInformation($table,rangeInformation);setAlignAttributeToTableCells($table,alignDirection,selectionInformation)}selectionMgr.removeClassAttrbuteFromAllCellsIfNeed()}});function setAlignAttributeToTableCells($table,alignDirection,selectionInformation){var isDivided=selectionInformation.isDivided||false;var start=selectionInformation.startColumnIndex;var end=selectionInformation.endColumnIndex;var columnLength=$table.find("tr").eq(0).find("td,th").length;$table.find("tr").each(function(n,tr){$(tr).children("td,th").each(function(index,cell){if(isDivided&&(start<=index&&index<=columnLength||index<=end)){$(cell).attr("align",alignDirection)}else if(start<=index&&index<=end){$(cell).attr("align",alignDirection)}})})}function getSelectionInformation($table,rangeInformation){var columnLength=$table.find("tr").eq(0).find("td,th").length;var from=rangeInformation.from;var to=rangeInformation.to;var startColumnIndex=void 0,endColumnIndex=void 0,isDivided=void 0;if(from.row===to.row){startColumnIndex=from.cell; +endColumnIndex=to.cell}else if(from.row"+codeBlockBody+"
    ");focusToFirstCode(wwe.get$Body().find("."+CODEBLOCK_CLASS_PREFIX+codeBlockID),wwe);codeBlockID+=1}sq.focus()}});function focusToFirstCode($pre,wwe){var range=wwe.getEditor().getSelection().cloneRange();range.setStartBefore($pre.find("div")[0].firstChild);range.collapse(true);wwe.getEditor().setSelection(range)}function getCodeBlockBody(range,wwe){var mgr=wwe.getManager("codeblock");var contents=void 0,nodes=void 0;if(range.collapsed){nodes=[$("

    ")[0]]}else{contents=range.extractContents();nodes=tui.util.toArray(contents.childNodes)}var codeBlock=mgr.convertToCodeblock(nodes).innerHTML;return codeBlock}module.exports=CodeBlock},function(module,exports){"use strict";CodeMirror.overlayMode=function(base,overlay,combine){return{startState:function startState(){return{base:CodeMirror.startState(base),overlay:CodeMirror.startState(overlay),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function copyState(state){return{base:CodeMirror.copyState(base,state.base),overlay:CodeMirror.copyState(overlay,state.overlay),basePos:state.basePos,baseCur:null,overlayPos:state.overlayPos,overlayCur:null}},token:function token(stream,state){if(stream!=state.streamSeen||Math.min(state.basePos,state.overlayPos)` "'(~]+/,fencedCodeRE=new RegExp("^("+(modeCfg.fencedCodeBlocks===true?"~~~+|```+":modeCfg.fencedCodeBlocks)+")[ \\t]*([\\w+#]*)");function switchInline(stream,state,f){state.f=state.inline=f;return f(stream,state)}function switchBlock(stream,state,f){state.f=state.block=f;return f(stream,state)}function lineIsEmpty(line){return!line||!/\S/.test(line.string)}function blankLine(state){state.linkTitle=false;state.em=false;state.strong=false;state.strikethrough=false;state.quote=0;state.indentedCode=false;if(!htmlFound&&state.f==htmlBlock){state.f=inlineNormal;state.block=blockNormal}state.trailingSpace=0;state.trailingSpaceNewLine=false;state.prevLine=state.thisLine;state.thisLine=null;return null}function blockNormal(stream,state){var sol=stream.sol();var prevLineIsList=state.list!==false,prevLineIsIndentedCode=state.indentedCode;state.indentedCode=false;if(prevLineIsList){if(state.indentationDiff>=0){if(state.indentationDiff<4){state.indentation-=state.indentationDiff}state.list=null}if(state.indentation>0){state.list=null;state.listDepth=Math.floor(state.indentation/4)+1}else{state.list=false;state.listDepth=0}}var match=null;if(state.indentationDiff>=4){stream.skipToEnd();if(prevLineIsIndentedCode||lineIsEmpty(state.prevLine)){state.indentation-=4;state.indentedCode=true;return code}else{return null}}else if(stream.eatSpace()){return null}else if((match=stream.match(atxHeaderRE))&&match[1].length<=6){state.header=match[1].length;if(modeCfg.highlightFormatting)state.formatting="header";state.f=state.inline;return getType(state)}else if(!lineIsEmpty(state.prevLine)&&!state.quote&&!prevLineIsList&&!prevLineIsIndentedCode&&(match=stream.match(setextHeaderRE))){state.header=match[0].charAt(0)=="="?1:2;if(modeCfg.highlightFormatting)state.formatting="header";state.f=state.inline;return getType(state)}else if(stream.eat(">")){state.quote=sol?1:state.quote+1;if(modeCfg.highlightFormatting)state.formatting="quote";stream.eatSpace();return getType(state)}else if(stream.peek()==="["){return switchInline(stream,state,footnoteLink)}else if(stream.match(hrRE,true)){state.hr=true;return hr}else if((lineIsEmpty(state.prevLine)||prevLineIsList)&&(stream.match(ulRE,false)||stream.match(olRE,false))){var listType=null;if(stream.match(ulRE,true)){listType="ul"}else{stream.match(olRE,true);listType="ol"}state.indentation=stream.column()+stream.current().length;state.list=true;state.listDepth++;if(modeCfg.taskLists&&stream.match(taskListRE,false)){state.taskList=true;state.task=true}state.f=state.inline;if(modeCfg.highlightFormatting)state.formatting=["list","list-"+listType];return getType(state)}else if(modeCfg.fencedCodeBlocks&&(match=stream.match(fencedCodeRE,true))){state.fencedChars=match[1];state.localMode=getMode(match[2]);if(state.localMode)state.localState=state.localMode.startState();state.f=state.block=local;if(modeCfg.highlightFormatting)state.formatting="code-block";state.code=true;return getType(state)}return switchInline(stream,state,state.inline)}function htmlBlock(stream,state){var style=htmlMode.token(stream,state.htmlState);if(htmlFound&&state.htmlState.tagStart===null&&!state.htmlState.context&&state.htmlState.tokenize.isInText||state.md_inside&&stream.current().indexOf(">")>-1){state.f=inlineNormal;state.block=blockNormal;state.htmlState=null}return style}function local(stream,state){if(stream.sol()&&state.fencedChars&&stream.match(state.fencedChars,false)){state.localMode=state.localState=null;state.f=state.block=leavingLocal;return null}else if(state.localMode){return state.localMode.token(stream,state.localState)}else{stream.skipToEnd();return code}}function leavingLocal(stream,state){stream.match(state.fencedChars);state.block=blockNormal;state.f=inlineNormal;state.fencedChars=null;if(modeCfg.highlightFormatting)state.formatting="code-block";state.code=true;var returnType=getType(state);state.code=false;return returnType}function getType(state){var styles=[];if(state.formatting){styles.push(formatting);if(typeof state.formatting==="string")state.formatting=[state.formatting];for(var i=0;i=state.quote){styles.push(formatting+"-"+state.formatting[i]+"-"+state.quote)}else{styles.push("error")}}}}if(state.taskOpen){styles.push("meta");return styles.length?styles.join(" "):null}if(state.taskClosed){styles.push("property");return styles.length?styles.join(" "):null}if(state.linkHref){styles.push(linkhref,"url")}else{if(state.strong){styles.push(strong)}if(state.em){styles.push(em)}if(state.strikethrough){styles.push(strikethrough)}if(state.linkText){styles.push(linktext)}if(state.code){styles.push(code)}}if(state.header){styles.push(header);styles.push(header+"-"+state.header)}if(state.quote){styles.push(quote);if(!modeCfg.maxBlockquoteDepth||modeCfg.maxBlockquoteDepth>=state.quote){styles.push(quote+"-"+state.quote)}else{styles.push(quote+"-"+modeCfg.maxBlockquoteDepth)}}if(state.list!==false){var listMod=(state.listDepth-1)%3;if(!listMod){styles.push(list1)}else if(listMod===1){styles.push(list2)}else{styles.push(list3)}}if(state.trailingSpaceNewLine){styles.push("trailing-space-new-line")}else if(state.trailingSpace){styles.push("trailing-space-"+(state.trailingSpace%2?"a":"b"))}return styles.length?styles.join(" "):null}function handleText(stream,state){if(stream.match(textRE,true)){return getType(state)}return undefined}function inlineNormal(stream,state){var style=state.text(stream,state);if(typeof style!=="undefined")return style;if(state.list){state.list=null;return getType(state)}if(state.taskList){var taskOpen=stream.match(taskListRE,true)[1]!=="x";if(taskOpen)state.taskOpen=true;else state.taskClosed=true;if(modeCfg.highlightFormatting)state.formatting="task";state.taskList=false;return getType(state)}state.taskOpen=false;state.taskClosed=false;if(state.header&&stream.match(/^#+$/,true)){if(modeCfg.highlightFormatting)state.formatting="header";return getType(state)}var sol=stream.sol();var ch=stream.next();if(ch==="\\"){stream.next();if(modeCfg.highlightFormatting){var type=getType(state);return type?type+" formatting-escape":"formatting-escape"}}if(state.linkTitle){state.linkTitle=false;var matchCh=ch;if(ch==="("){matchCh=")"}matchCh=(matchCh+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");var regex="^\\s*(?:[^"+matchCh+"\\\\]+|\\\\\\\\|\\\\.)"+matchCh;if(stream.match(new RegExp(regex),true)){return linkhref}}if(ch==="`"){var previousFormatting=state.formatting;if(modeCfg.highlightFormatting)state.formatting="code";var t=getType(state);var before=stream.pos;stream.eatWhile("`");var difference=1+stream.pos-before;if(!state.code){codeDepth=difference;state.code=true;return getType(state)}else{if(difference===codeDepth){state.code=false;return t}state.formatting=previousFormatting;return getType(state)}}else if(state.code){return getType(state)}if(ch==="!"&&stream.match(/\[[^\]]*\] ?(?:\(|\[)/,false)){stream.match(/\[[^\]]*\]/);return image}if(ch==="["&&stream.match(/.*\](\(.*\)| ?\[.*\])/,false)){state.linkText=true;if(modeCfg.highlightFormatting)state.formatting="link";return getType(state)}if(ch==="]"&&state.linkText&&stream.match(/\(.*\)| ?\[.*\]/,false)){if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);state.linkText=false;state.inline=state.f=linkHref;return type}if(ch==="<"&&stream.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,false)){state.f=state.inline=linkInline;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkinline}if(ch==="<"&&stream.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,false)){state.f=state.inline=linkInline;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkemail}var ignoreUnderscore=false;if(!modeCfg.underscoresBreakWords){if(ch==="_"&&stream.peek()!=="_"&&stream.match(/(\w)/,false)){var prevPos=stream.pos-2;if(prevPos>=0){var prevCh=stream.string.charAt(prevPos);if(prevCh!=="_"&&prevCh.match(/(\w)/,false)){ignoreUnderscore=true}}}}if(ch==="*"||ch==="_"&&!ignoreUnderscore){if(sol&&stream.peek()===" "){}else if(state.strong===ch&&stream.eat(ch)){if(modeCfg.highlightFormatting)state.formatting="strong";var t=getType(state);state.strong=false;return t}else if(!state.strong&&stream.eat(ch)){state.strong=ch;if(modeCfg.highlightFormatting)state.formatting="strong";return getType(state)}else if(state.em===ch){if(modeCfg.highlightFormatting)state.formatting="em";var t=getType(state);state.em=false;return t}else if(!state.em){state.em=ch;if(modeCfg.highlightFormatting)state.formatting="em";return getType(state)}}else if(ch===" "){if(stream.eat("*")||stream.eat("_")){if(stream.peek()===" "){return getType(state)}else{stream.backUp(1)}}}if(modeCfg.strikethrough){if(ch==="~"&&stream.eatWhile(ch)){if(state.strikethrough){if(modeCfg.highlightFormatting)state.formatting="strikethrough";var t=getType(state);state.strikethrough=false;return t}else if(stream.match(/^[^\s]/,false)){state.strikethrough=true;if(modeCfg.highlightFormatting)state.formatting="strikethrough";return getType(state)}}else if(ch===" "){if(stream.match(/^~~/,true)){if(stream.peek()===" "){return getType(state)}else{stream.backUp(2)}}}}if(ch===" "){if(stream.match(/ +$/,false)){state.trailingSpace++}else if(state.trailingSpace){state.trailingSpaceNewLine=true}}return getType(state)}function linkInline(stream,state){var ch=stream.next();if(ch===">"){state.f=state.inline=inlineNormal;if(modeCfg.highlightFormatting)state.formatting="link";var type=getType(state);if(type){type+=" "}else{type=""}return type+linkinline}stream.match(/^[^>]+/,true);return linkinline}function linkHref(stream,state){if(stream.eatSpace()){return null}var ch=stream.next();if(ch==="("||ch==="["){state.f=state.inline=getLinkHrefInside(ch==="("?")":"]");if(modeCfg.highlightFormatting)state.formatting="link-string";state.linkHref=true;return getType(state)}return"error"}function getLinkHrefInside(endChar){return function(stream,state){var ch=stream.next();if(ch===endChar){state.f=state.inline=inlineNormal;if(modeCfg.highlightFormatting)state.formatting="link-string";var returnState=getType(state);state.linkHref=false;return returnState}if(stream.match(inlineRE(endChar),true)){stream.backUp(1)}state.linkHref=true;return getType(state)}}function footnoteLink(stream,state){if(stream.match(/^[^\]]*\]:/,false)){state.f=footnoteLinkInside;stream.next();if(modeCfg.highlightFormatting)state.formatting="link";state.linkText=true;return getType(state)}return switchInline(stream,state,inlineNormal)}function footnoteLinkInside(stream,state){if(stream.match(/^\]:/,true)){state.f=state.inline=footnoteUrl;if(modeCfg.highlightFormatting)state.formatting="link";var returnType=getType(state);state.linkText=false;return returnType}stream.match(/^[^\]]+/,true);return linktext}function footnoteUrl(stream,state){if(stream.eatSpace()){return null}stream.match(/^[^\s]+/,true);if(stream.peek()===undefined){state.linkTitle=true}else{stream.match(/^(?:\s+(?:"(?:[^"\\]|\\\\|\\.)+"|'(?:[^'\\]|\\\\|\\.)+'|\((?:[^)\\]|\\\\|\\.)+\)))?/,true)}state.f=state.inline=inlineNormal;return linkhref+" url"}var savedInlineRE=[];function inlineRE(endChar){if(!savedInlineRE[endChar]){endChar=(endChar+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1");savedInlineRE[endChar]=new RegExp("^(?:[^\\\\]|\\\\.)*?("+endChar+")")}return savedInlineRE[endChar]}var mode={startState:function startState(){return{f:blockNormal,prevLine:null,thisLine:null,block:blockNormal,htmlState:null,indentation:0,inline:inlineNormal,text:handleText,formatting:false,linkText:false,linkHref:false,linkTitle:false,em:false,strong:false,header:0,hr:false,task:false,taskList:false,list:false,listDepth:0,quote:0,trailingSpace:0,trailingSpaceNewLine:false,strikethrough:false,fencedChars:null}},copyState:function copyState(s){return{f:s.f,prevLine:s.prevLine,thisLine:s.this,block:s.block,htmlState:s.htmlState&&CodeMirror.copyState(htmlMode,s.htmlState),indentation:s.indentation,localMode:s.localMode,localState:s.localMode?CodeMirror.copyState(s.localMode,s.localState):null,inline:s.inline,text:s.text,formatting:false,linkTitle:s.linkTitle,code:s.code,em:s.em,strong:s.strong,strikethrough:s.strikethrough,header:s.header,hr:s.hr,taskList:s.taskList,task:s.task,list:s.list,listDepth:s.listDepth,quote:s.quote,indentedCode:s.indentedCode,trailingSpace:s.trailingSpace,trailingSpaceNewLine:s.trailingSpaceNewLine,md_inside:s.md_inside,fencedChars:s.fencedChars}},token:function token(stream,state){state.formatting=false;if(stream!=state.thisLine){var forceBlankLine=state.header||state.hr;state.header=0;state.hr=false;if(stream.match(/^\s*$/,true)||forceBlankLine){blankLine(state);if(!forceBlankLine)return null;state.prevLine=null}state.prevLine=state.thisLine;state.thisLine=stream;state.taskList=false;state.task=false;state.trailingSpace=0;state.trailingSpaceNewLine=false;state.f=state.block;var indentation=stream.match(/^\s*/,true)[0].replace(/\t/g," ").length;var difference=Math.floor((indentation-state.indentation)/4)*4;if(difference>4)difference=4;var adjustedIndentation=state.indentation+difference;state.indentationDiff=adjustedIndentation-state.indentation;state.indentation=adjustedIndentation;if(indentation>0)return null}return state.f(stream,state)},innerMode:function innerMode(state){if(state.block==htmlBlock)return{state:state.htmlState,mode:htmlMode};if(state.localState)return{state:state.localState,mode:state.localMode};return{state:state,mode:mode}},blankLine:blankLine,getType:getType,closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return mode},"xml");CodeMirror.defineMIME("text/x-markdown","markdown")},function(module,exports){"use strict";var urlRE=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;CodeMirror.defineMode("gfm",function(config,modeConfig){var codeDepth=0;function blankLine(state){state.code=false;return null}var gfmOverlay={startState:function startState(){return{code:false,codeBlock:false,ateSpace:false}},copyState:function copyState(s){return{code:s.code,codeBlock:s.codeBlock,ateSpace:s.ateSpace}},token:function token(stream,state){state.combineTokens=null;if(state.codeBlock){if(stream.match(/^```+/)){state.codeBlock=false;return null}stream.skipToEnd();return null}if(stream.sol()){state.code=false}if(stream.sol()&&stream.match(/^```+/)){stream.skipToEnd();state.codeBlock=true;return null}if(stream.peek()==="`"){stream.next();var before=stream.pos;stream.eatWhile("`");var difference=1+stream.pos-before;if(!state.code){codeDepth=difference;state.code=true}else{if(difference===codeDepth){state.code=false}}return null}else if(state.code){stream.next();return null}if(stream.eatSpace()){state.ateSpace=true;return null}if(stream.sol()||state.ateSpace){state.ateSpace=false}stream.next();return null},blankLine:blankLine};var markdownConfig={underscoresBreakWords:false,taskLists:true,fencedCodeBlocks:"```",strikethrough:true};for(var attr in modeConfig){markdownConfig[attr]=modeConfig[attr]}markdownConfig.name="markdown";return CodeMirror.overlayMode(CodeMirror.getMode(config,markdownConfig),gfmOverlay)},"markdown");CodeMirror.defineMIME("text/x-gfm","gfm")},function(module,exports){"use strict";var listRE=/^(\s*)(>[> ]*|[*+-]\s(?:\[(?:x|\s)\]\s)?|(\d+)([.)]\s(?:\[(?:x|\s)\]\s)?))(\s*)/,emptyListRE=/^(\s*)(>[> ]*|[*+-]\s(?:\[(?:x|\s)\]\s)?|(\d+)([.)]\s(?:\[(?:x|\s)\]\s)?))(\s*)$/,FIND_CODEBLOCK_START_RX=/^ *(`{3,}|~{3,})[ \.]*\S+ */,unorderedListRE=/[*+-]\s/;CodeMirror.commands.subListIndentTab=function(cm){if(cm.getOption("disableInput"))return CodeMirror.Pass;var ranges=cm.listSelections();for(var i=0;i0){cm.replaceRange("",{line:pos.line,ch:0},{line:pos.line,ch:line.length});replacements[i]="\n"}else if(isCodeBlockStart){replacements[i]="\n\n```"}else{var indent=match[1],after=match[5],bullet;if(indent.length===pos.ch){bullet=""}else if(unorderedListRE.test(match[2])||match[2].indexOf(">")>=0){bullet=match[2]}else{bullet=parseInt(match[3],10)+1+match[4]}replacements[i]="\n"+indent+bullet+after}}cm.replaceSelections(replacements);if(isCodeBlockStart){cm.setCursor(pos.line+1,0)}}},function(module,exports){"use strict";CodeMirror.commands.replaceLineTextToUpper=function(cm){if(cm.getOption("disableInput")){return CodeMirror.Pass}var ranges=cm.listSelections();var lineAdjustment=-1;for(var i=0;i0){replaceSingleLine(cm,from,to,lineAdjustment)}else if(!isRangeCollapsed(range)){var topLine=from.line0){var upper=from.line===topLine?from:to;var bottom=from.line===topLine?to:from;replaceMultiLine(cm,upper,bottom,lineAdjustment)}}}};CodeMirror.commands.replaceLineTextToLower=function(cm){if(cm.getOption("disableInput")){return CodeMirror.Pass}var ranges=cm.listSelections();var lineAdjustment=1;for(var i=0;i0?bottom:upper;var replacement=cm.getLine(edgeLineOfConcern.line+lineAdjustment);var targetLine=void 0;if(lineAdjustment>0){targetLine=upper}else{targetLine=bottom}cm.replaceRange(replacement,{line:targetLine.line,ch:0},{line:targetLine.line,ch:cm.getLine(targetLine.line).length},"+input");cm.replaceRange(rangeContent,{line:upper.line+lineAdjustment,ch:0},{line:bottom.line+lineAdjustment,ch:cm.getLine(bottom.line+lineAdjustment).length},"+input");cm.setSelection({line:upper.line+lineAdjustment,ch:upper.ch},{line:bottom.line+lineAdjustment,ch:bottom.ch})}},function(module,exports,__webpack_require__){"use strict";var extManager=__webpack_require__(26);var FIND_TASK_RX=/^\s*\* \[[xX ]\] [^\n]*/gm;var FIND_CHECKED_TASK_RX=/^\s*\* \[[xX]\] [^\n]*/gm;extManager.defineExtension("taskCounter",function(editor){editor.getTaskCount=function(){var found=void 0,count=void 0;if(editor.isViewOnly()){count=editor.preview.$el.find(".task-list-item").length}else if(editor.isMarkdownMode()){found=editor.mdEditor.getValue().match(FIND_TASK_RX);count=found?found.length:0}else{count=editor.wwEditor.get$Body().find(".task-list-item").length}return count};editor.getCheckedTaskCount=function(){var found=void 0,count=void 0;if(editor.isViewOnly()){count=editor.preview.$el.find(".task-list-item.checked").length}else if(editor.isMarkdownMode()){found=editor.mdEditor.getValue().match(FIND_CHECKED_TASK_RX);count=found?found.length:0}else{count=editor.wwEditor.get$Body().find(".task-list-item.checked").length}return count}})},function(module,exports,__webpack_require__){"use strict";var _extManager=__webpack_require__(26);var _extManager2=_interopRequireDefault(_extManager);var _scrollFollow=__webpack_require__(97);var _scrollFollow2=_interopRequireDefault(_scrollFollow); +var _scrollFollow3=__webpack_require__(98);var _scrollFollow4=_interopRequireDefault(_scrollFollow3);var _button=__webpack_require__(41);var _button2=_interopRequireDefault(_button);var _i18n=__webpack_require__(29);var _i18n2=_interopRequireDefault(_i18n);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}_extManager2.default.defineExtension("scrollFollow",function(editor){var className="tui-scrollfollow";var TOOL_TIP={active:_i18n2.default.get("Auto scroll enabled"),inActive:_i18n2.default.get("Auto scroll disabled")};if(editor.isViewOnly()){return}var cm=editor.getCodeMirror();var sectionManager=new _scrollFollow4.default(cm,editor.preview);var scrollSync=new _scrollFollow2.default(sectionManager,cm,editor.preview.$el);var isScrollable=false;var isActive=true;var button=void 0;if(editor.getUI().name==="default"){button=new _button2.default({className:className,command:"scrollFollowToggle",tooltip:TOOL_TIP.active,$el:$('')});editor.getUI().toolbar.addButton(button);changeButtonVisiblityStateIfNeed();editor.on("changeMode",changeButtonVisiblityStateIfNeed);editor.on("changePreviewStyle",changeButtonVisiblityStateIfNeed);editor.addCommand("markdown",{name:"scrollFollowToggle",exec:function exec(){isActive=!isActive;button._onOut();if(isActive){button.$el.addClass("active");button.tooltip=TOOL_TIP.active}else{button.$el.removeClass("active");button.tooltip=TOOL_TIP.inActive}button._onOver()}})}cm.on("change",function(){isScrollable=false;sectionManager.makeSectionList()});function changeButtonVisiblityStateIfNeed(){if(editor.mdPreviewStyle==="vertical"&&editor.currentMode==="markdown"){button.$el.show()}else{button.$el.hide()}}editor.on("previewRenderAfter",function(){sectionManager.sectionMatch();scrollSync.syncPreviewScrollTopToMarkdown();isScrollable=true});editor.eventManager.listen("scroll",function(event){if(!isActive){return}if(isScrollable&&editor.preview.isVisible()){if(event.source==="markdown"&&!scrollSync.isMarkdownScrollEventBlocked){scrollSync.syncPreviewScrollTopToMarkdown()}else if(event.source==="preview"&&!scrollSync.isPreviewScrollEventBlocked){scrollSync.syncMarkdownScrollTopToPreview()}}else{scrollSync.saveScrollInfo()}})})},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i0?section.start-1:0,"local");return height}},{key:"_getEditorLineHeightGapInSection",value:function _getEditorLineHeightGapInSection(section,line){var gap=this.cm.heightAtLine(line,"local");gap-=this.cm.heightAtLine(section.start>0?section.start-1:0,"local");return Math.max(gap,0)}},{key:"_getEditorSectionScrollRatio",value:function _getEditorSectionScrollRatio(section,line){var isOneLine=section.end===section.start;var ratio=void 0;if(isOneLine){ratio=0}else{ratio=this._getEditorLineHeightGapInSection(section,line)/this._getEditorSectionHeight(section)}return ratio}},{key:"_getScrollFactorsOfEditor",value:function _getScrollFactorsOfEditor(){var cm=this.cm;var scrollInfo=cm.getScrollInfo();var topLine=void 0,topSection=void 0,ratio=void 0,factors=void 0;scrollInfo=this._fallbackScrollInfoIfIncorrect(scrollInfo);var isEditorBottom=scrollInfo.height-scrollInfo.top<=scrollInfo.clientHeight;if(isEditorBottom){factors={isEditorBottom:isEditorBottom}}else{topLine=cm.coordsChar({left:scrollInfo.left,top:scrollInfo.top},"local").line;topSection=this.sectionManager.sectionByLine(topLine);ratio=this._getEditorSectionScrollRatio(topSection,topLine);factors={section:topSection,sectionRatio:ratio}}return factors}},{key:"_getScrollInfoForMarkdown",value:function _getScrollInfoForMarkdown(){var _this=this;var sectionList=this.sectionManager.getSectionList();var factors=void 0;tui.util.forEachArray(sectionList,function(section){var $div=section.$previewSectionEl;var $preview=$div.parent().parent();var isPreviewBottom=$preview[0].clientHeight-$preview.scrollTop()<=$preview[0].height;var needNext=true;if(isPreviewBottom){factors={isPreviewBottom:isPreviewBottom};needNext=false}else if(_this._isTopSection($preview,$div)){factors={section:section,sectionRatio:_this._getMarkdownEditorScrollRatio($preview,$div)};needNext=false}return needNext});return factors}},{key:"_getMarkdownEditorScrollRatio",value:function _getMarkdownEditorScrollRatio($preview,$div){return($preview.scrollTop()-$div[0].offsetTop)/$div.height()}},{key:"_getScrollTopForPreview",value:function _getScrollTopForPreview(){var scrollTop=void 0;var scrollFactors=this._getScrollFactorsOfEditor();var section=scrollFactors.section;var ratio=scrollFactors.sectionRatio;if(scrollFactors.isEditorBottom){scrollTop=this.$contents.height()}else if(section.$previewSectionEl){scrollTop=section.$previewSectionEl[0].offsetTop;scrollTop+=section.$previewSectionEl.height()*ratio-SCROLL_TOP_PADDING}scrollTop=scrollTop&&Math.max(scrollTop,0);return scrollTop}},{key:"_getScrollTopForMarkdown",value:function _getScrollTopForMarkdown(){var scrollTop=void 0;var scrollFactors=this._getScrollInfoForMarkdown();var ratio=scrollFactors.sectionRatio;if(scrollFactors.isPreviewBottom){scrollTop=this.cm.getScrollInfo().height}else if(scrollFactors.section){var section=scrollFactors.section;var coordsAtStart=this.cm.charCoords({line:section.start,char:0},"local");var coordsAtEnd=this.cm.charCoords({line:section.end,char:0},"local");scrollTop=coordsAtStart.top;scrollTop+=(coordsAtEnd.top-coordsAtStart.top)*ratio}scrollTop=scrollTop&&Math.max(scrollTop,0);return scrollTop}},{key:"syncPreviewScrollTopToMarkdown",value:function syncPreviewScrollTopToMarkdown(){var _this2=this;var $previewContainerEl=this.$previewContainerEl;var sourceScrollTop=$previewContainerEl.scrollTop();var targetScrollTop=this._getScrollTopForPreview();this.isPreviewScrollEventBlocked=true;this._animateRun(sourceScrollTop,targetScrollTop,function(deltaScrollTop){clearTimeout(_this2.releaseTimer);$previewContainerEl.scrollTop(deltaScrollTop);_this2.releaseTimer=setTimeout(function(){_this2.isPreviewScrollEventBlocked=false},SCROLL_BOCKING_RESET_DELAY)})}},{key:"syncMarkdownScrollTopToPreview",value:function syncMarkdownScrollTopToPreview(){var _this3=this;var codeMirror=this.cm;var codeMirrorScrollInfo=codeMirror.getScrollInfo();var sourceScrollTop=codeMirrorScrollInfo.top;var targetScrollTop=this._getScrollTopForMarkdown();this.isMarkdownScrollEventBlocked=true;this._animateRun(sourceScrollTop,targetScrollTop,function(deltaScrollTop){clearTimeout(_this3.releaseTimer);codeMirror.scrollTo(0,deltaScrollTop);_this3.releaseTimer=setTimeout(function(){_this3.isMarkdownScrollEventBlocked=false},SCROLL_BOCKING_RESET_DELAY)})}},{key:"_animateRun",value:function _animateRun(originValue,targetValue,stepCB){var valueDiff=targetValue-originValue,startTime=Date.now(),self=this;if(this._currentTimeoutId){clearTimeout(this._currentTimeoutId)}function step(){var stepTime=Date.now();var progress=(stepTime-startTime)/200;var deltaValue=void 0;if(progress<1){deltaValue=originValue+valueDiff*Math.cos((1-progress)*Math.PI/2);stepCB(Math.ceil(deltaValue));self._currentTimeoutId=setTimeout(step,1)}else{stepCB(targetValue);self._currentTimeoutId=null}}step()}},{key:"_fallbackScrollInfoIfIncorrect",value:function _fallbackScrollInfoIfIncorrect(scrollInfo){return scrollInfo.height<0&&this._savedScrollInfo?this._savedScrollInfo:scrollInfo}},{key:"saveScrollInfo",value:function saveScrollInfo(){this._savedScrollInfo=this.cm.getScrollInfo()}},{key:"_isTopSection",value:function _isTopSection($preview,$div){var previewScrollTop=$preview.scrollTop();var divOffsetTop=$div[0].offsetTop;var divHeight=$div.height();var isSectionBegin=previewScrollTop>=divOffsetTop-PREVIEW_MARGIN_TOP;var isSectionEnd=previewScrollTop>divOffsetTop+divHeight;return isSectionBegin&&!isSectionEnd}}]);return ScrollSync}();module.exports=ScrollSync},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i ?)+\s/;var FIND_IMAGE_RX=/^ {0,3}!\[([^\[\]]*)]\(([^)]*)\)/;var FIND_SETEXT_HEADER_RX=/^ *(?:={1,}|-{1,})\s*$/;var FIND_CODEBLOCK_END_RX=/^ *(`{3,}|~{3,})[ ]*$/;var FIND_CODEBLOCK_START_RX=/^ *(`{3,}|~{3,})[ .]*(\S+)? */;var FIND_SPACE=/\s/g;var SectionManager=function(){function SectionManager(cm,preview){_classCallCheck(this,SectionManager);this.cm=cm;this.preview=preview;this.$previewContent=preview.$el.find(".tui-editor-contents");this._sectionList=null;this._currentSection=null}_createClass(SectionManager,[{key:"_addNewSection",value:function _addNewSection(start,end){var newSection=this._makeSectionData(start,end);this._sectionList.push(newSection);this._currentSection=newSection}},{key:"getSectionList",value:function getSectionList(){return this._sectionList}},{key:"_makeSectionData",value:function _makeSectionData(start,end){return{start:start,end:end,$previewSectionEl:null}}},{key:"_updateCurrentSectionEnd",value:function _updateCurrentSectionEnd(end){this._currentSection.end=end}},{key:"_eachLineState",value:function _eachLineState(iteratee){var isSection=void 0,i=void 0,lineString=void 0,nextLineString=void 0,prevLineString=void 0,isTrimming=true,onTable=false,onCodeBlock=false,trimCapture="";var isRightAfterImageSection=false;var isEnsuredSection=false;var codeblockStartLineIndex=void 0;var lineLength=this.cm.getDoc().lineCount();for(i=0;i
    ");_this2._sectionList[index].$previewSectionEl=$(childs).wrapAll($sectionDiv).parent()}})}},{key:"_getPreviewSections",value:function _getPreviewSections(){var sections=[];var lastSection=0;var isRightAfterImageSection=false;sections[0]=[];this.$previewContent.contents().filter(findElementNodeFilter).each(function(index,el){var isParagraph=el.tagName==="P";var isHeading=el.tagName.match(/^(H1|H2|H3|H4|H5|H6)$/);var isImage=isParagraph&&el.childNodes[0].nodeName==="IMG";if((isHeading||isImage||isRightAfterImageSection)&§ions[lastSection].length){sections.push([]);lastSection+=1;isRightAfterImageSection=false}if(isImage){isRightAfterImageSection=true}sections[lastSection].push(el)});return sections}},{key:"sectionByLine",value:function sectionByLine(line){var sectionIndex=void 0;var sectionList=this._sectionList;var sectionLength=sectionList.length;for(sectionIndex=0;sectionIndex(.*?)/g;var colorHtmlCompleteRx=/(.*?)<\/span>/g;var decimalColorRx=/rgb\((\d+)[, ]+(\d+)[, ]+(\d+)\)/g;var RESET_COLOR="#181818";_extManager2.default.defineExtension("colorSyntax",function(editor){var useCustomSyntax=false;var preset=void 0;if(editor.options.colorSyntax){useCustomSyntax=!!editor.options.colorSyntax.useCustomSyntax;preset=editor.options.colorSyntax.preset}editor.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(html){var replacement=void 0;if(!useCustomSyntax){replacement=html}else{replacement=html.replace(colorSyntaxRx,function(matched,p1,p2){return makeHTMLColorSyntax(p2,p1)})}return replacement});editor.eventManager.listen("convertorAfterHtmlToMarkdownConverted",function(markdown){var findRx=useCustomSyntax?colorHtmlCompleteRx:colorHtmlRx;return markdown.replace(findRx,function(founded,color,text){var replacement=void 0;if(color.match(decimalColorRx)){color=changeDecColorToHex(color)}if(!useCustomSyntax){replacement=founded.replace(/ ?class="colour" ?/g," ").replace(decimalColorRx,color)}else{replacement=makeCustomColorSyntax(text,color)}return replacement})});if(!editor.isViewOnly()&&editor.getUI().name==="default"){editor.addCommand("markdown",{name:"color",exec:function exec(mde,color){var cm=mde.getEditor();if(!color){return}if(!useCustomSyntax){cm.replaceSelection(makeHTMLColorSyntax(cm.getSelection(),color))}else{cm.replaceSelection(makeCustomColorSyntax(cm.getSelection(),color))}mde.focus()}});editor.addCommand("wysiwyg",{name:"color",exec:function exec(wwe,color){var sq=wwe.getEditor();if(!color){return}if(!sq.hasFormat("PRE")){if(color===RESET_COLOR){sq.changeFormat(null,{class:"colour",tag:"span"})}else{sq.setTextColour(color)}}sq.focus()}});initUI(editor,preset)}});function initUI(editor,preset){var className="tui-color";editor.eventManager.addEventType("colorButtonClicked");editor.getUI().toolbar.addButton({className:className,event:"colorButtonClicked",tooltip:_i18n2.default.get("Text color")},2);var $button=editor.getUI().toolbar.$el.find("button."+className);var $colorPickerContainer=$("
    ");var $buttonBar=$('');var cpOptions={container:$colorPickerContainer[0]};if(preset){cpOptions.preset=preset}var colorPicker=tui.component.colorpicker.create(cpOptions);var selectedColor=colorPicker.getColor();$colorPickerContainer.append($buttonBar);var popup=editor.getUI().createPopup({title:false,content:$colorPickerContainer,className:"tui-popup-color",$target:editor.getUI().$el,css:{width:"auto",position:"absolute"}});editor.eventManager.listen("focus",function(){popup.hide()});editor.eventManager.listen("colorButtonClicked",function(){editor.eventManager.emit("closeAllPopup");if(popup.isShow()){popup.hide()}else{popup.$el.css({top:$button.position().top+$button.height()+5,left:$button.position().left});popup.show();colorPicker.slider.toggle(true)}});editor.eventManager.listen("closeAllPopup",function(){popup.hide()});editor.eventManager.listen("removeEditor",function(){colorPicker.off("selectColor")});colorPicker.on("selectColor",function(e){selectedColor=e.color;if(e.origin==="palette"){editor.exec("color",selectedColor);popup.hide()}});popup.$el.find(".te-apply-button").on("click",function(){editor.exec("color",selectedColor)})}function makeCustomColorSyntax(text,color){return"{color:"+color+"}"+text+"{color}"}function makeHTMLColorSyntax(text,color){return''+text+""}function changeDecColorToHex(color){return color.replace(decimalColorRx,function(colorValue,r,g,b){r=parseInt(r,10);g=parseInt(g,10);b=parseInt(b,10);var colorHexValue=get2DigitNumberString(r.toString(16))+get2DigitNumberString(g.toString(16))+get2DigitNumberString(b.toString(16));return"#"+colorHexValue})}function get2DigitNumberString(numberStr){return numberStr==="0"?"00":numberStr}},function(module,exports,__webpack_require__){"use strict";var _extManager=__webpack_require__(26);var _extManager2=_interopRequireDefault(_extManager);var _markerList=__webpack_require__(101);var _markerList2=_interopRequireDefault(_markerList);var _markerManager=__webpack_require__(102);var _markerManager2=_interopRequireDefault(_markerManager);var _wysiwygMarkerHelper=__webpack_require__(104);var _wysiwygMarkerHelper2=_interopRequireDefault(_wysiwygMarkerHelper);var _viewOnlyMarkerHelper=__webpack_require__(105);var _viewOnlyMarkerHelper2=_interopRequireDefault(_viewOnlyMarkerHelper);var _markdownMarkerHelper=__webpack_require__(106);var _markdownMarkerHelper2=_interopRequireDefault(_markdownMarkerHelper);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var util=tui.util;var MARKER_UPDATE_DELAY=100;var FIND_CRLF_RX=/(\n)|(\r\n)|(\r)/g;_extManager2.default.defineExtension("mark",function(editor){var ml=new _markerList2.default;var mm=new _markerManager2.default(ml);var wmh=void 0,mmh=void 0,vmh=void 0;editor.eventManager.addEventType("markerUpdated");if(editor.isViewOnly()){vmh=new _viewOnlyMarkerHelper2.default(editor.preview)}else{wmh=new _wysiwygMarkerHelper2.default(editor.getSquire());mmh=new _markdownMarkerHelper2.default(editor.getCodeMirror())}function getHelper(){var helper=void 0;if(editor.isViewOnly()){helper=vmh}else if(editor.isWysiwygMode()){helper=wmh}else{helper=mmh}return helper}function updateMarkWhenResizing(){var helper=getHelper();ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll())}$(window).on("resize",updateMarkWhenResizing);editor.on("removeEditor",function(){$(window).off("resize",updateMarkWhenResizing)});editor.on("setValueAfter",function(){var helper=getHelper();mm.resetContent(helper.getTextContent())});editor.setValueWithMarkers=function(value,markerDataCollection){var helper=void 0;ml.resetMarkers();markerDataCollection.forEach(function(markerData){ml.addMarker(markerData.start,markerData.end,markerData.id)});editor.setValue(value);mm.resetContent(value.replace(FIND_CRLF_RX,""));if(editor.isViewOnly()||editor.isWysiwygMode()){helper=getHelper();mm.updateMarkersByContent(helper.getTextContent())}else{helper=mmh}ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll());return ml.getAll()};editor.getMarker=function(id){return ml.getMarker(id)};editor.getMarkersAll=function(){return ml.getAll()};editor.removeMarker=function(id){return ml.removeMarker(id)};editor.exportMarkers=function(){var markersData=void 0;if(editor.isMarkdownMode()){markersData=ml.getMarkersData()}else if(editor.isViewOnly()||editor.isWysiwygMode()){mm.updateMarkersByContent(editor.getValue().replace(FIND_CRLF_RX,""));markersData=ml.getMarkersData();mm.updateMarkersByContent(getHelper().getTextContent())}return markersData};editor.selectMarker=function(id){var helper=getHelper();var marker=editor.getMarker(id);if(marker){helper.selectOffsetRange(marker.start,marker.end)}};editor.addMarker=function(start,end,id){var marker=void 0;var helper=getHelper();if(!id){id=start;marker=helper.getMarkerInfoOfCurrentSelection()}else{marker={start:start,end:end};marker=helper.updateMarkerWithExtraInfo(marker)}if(marker){marker.id=id;marker=ml.addMarker(marker);ml.sortBy("end");editor.eventManager.emit("markerUpdated",[marker])}return marker};editor.clearSelect=function(){getHelper().clearSelect()};if(!editor.isViewOnly()){editor.on("changeMode",function(){editor._updateMarkers()});editor.on("change",util.debounce(function(){editor._updateMarkers()},MARKER_UPDATE_DELAY));editor._updateMarkers=function(){var helper=getHelper();if(!ml.getAll().length){return}mm.updateMarkersByContent(helper.getTextContent());ml.getAll().forEach(function(marker){helper.updateMarkerWithExtraInfo(marker)});editor.eventManager.emit("markerUpdated",ml.getAll())}}})},function(module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;iend||marker.end>start){return true}return false});return rangeMarkers}},{key:"getAll",value:function getAll(){return this._sortedMarkers}},{key:"resetMarkers",value:function resetMarkers(){this._sortedMarkers=[];this._markersWithId={}}},{key:"sortBy",value:function sortBy(rangeKey){this._sortedMarkers.sort(function(a,b){return a[rangeKey]-b[rangeKey]})}},{key:"getMarkersData",value:function getMarkersData(){return this.getAll().map(function(marker){return{start:marker.start,end:marker.end,id:marker.id}})}}]);return Markerlist}();module.exports=Markerlist},function(module,exports,__webpack_require__){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;imarker.start){startDiff=start-marker.start}else{startDiff=0}return startDiff}},{key:"_calculateEndDiff",value:function _calculateEndDiff(start,end,diff,marker){var endDiff=void 0;if(end<=marker.end){endDiff=diff}else if(start<=marker.end&&end>marker.start){endDiff=start-marker.end}else{endDiff=0}return endDiff}},{key:"_getUpdateMarkersWithDiffs",value:function _getUpdateMarkersWithDiffs(markerDiffs){var updatedMarkers=[],markerList=this.markerList;util.forEachOwnProperties(markerDiffs,function(markerDiff,id){var marker=markerList.getMarker(id);markerList.updateMarker(id,{start:marker.start+=markerDiff.start,end:marker.end+=markerDiff.end});updatedMarkers.push(marker)});return updatedMarkers}}]);return MarkerManager}();module.exports=MarkerManager},function(module,exports){"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1e3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1;var DIFF_INSERT=1;var DIFF_EQUAL=0;diff_match_patch.Diff;diff_match_patch.prototype.diff_main=function(text1,text2,opt_checklines,opt_deadline){if(typeof opt_deadline=="undefined"){if(this.Diff_Timeout<=0){opt_deadline=Number.MAX_VALUE}else{opt_deadline=(new Date).getTime()+this.Diff_Timeout*1e3}}var deadline=opt_deadline;if(text1==null||text2==null){throw new Error("Null input. (diff_main)")}if(text1==text2){if(text1){return[[DIFF_EQUAL,text1]]}return[]}if(typeof opt_checklines=="undefined"){opt_checklines=true}var checklines=opt_checklines;var commonlength=this.diff_commonPrefix(text1,text2);var commonprefix=text1.substring(0,commonlength);text1=text1.substring(commonlength);text2=text2.substring(commonlength);commonlength=this.diff_commonSuffix(text1,text2);var commonsuffix=text1.substring(text1.length-commonlength);text1=text1.substring(0,text1.length-commonlength); +text2=text2.substring(0,text2.length-commonlength);var diffs=this.diff_compute_(text1,text2,checklines,deadline);if(commonprefix){diffs.unshift([DIFF_EQUAL,commonprefix])}if(commonsuffix){diffs.push([DIFF_EQUAL,commonsuffix])}this.diff_cleanupMerge(diffs);return diffs};diff_match_patch.prototype.diff_compute_=function(text1,text2,checklines,deadline){var diffs;if(!text1){return[[DIFF_INSERT,text2]]}if(!text2){return[[DIFF_DELETE,text1]]}var longtext=text1.length>text2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;var i=longtext.indexOf(shorttext);if(i!=-1){diffs=[[DIFF_INSERT,longtext.substring(0,i)],[DIFF_EQUAL,shorttext],[DIFF_INSERT,longtext.substring(i+shorttext.length)]];if(text1.length>text2.length){diffs[0][0]=diffs[2][0]=DIFF_DELETE}return diffs}if(shorttext.length==1){return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]}var hm=this.diff_halfMatch_(text1,text2);if(hm){var text1_a=hm[0];var text1_b=hm[1];var text2_a=hm[2];var text2_b=hm[3];var mid_common=hm[4];var diffs_a=this.diff_main(text1_a,text2_a,checklines,deadline);var diffs_b=this.diff_main(text1_b,text2_b,checklines,deadline);return diffs_a.concat([[DIFF_EQUAL,mid_common]],diffs_b)}if(checklines&&text1.length>100&&text2.length>100){return this.diff_lineMode_(text1,text2,deadline)}return this.diff_bisect_(text1,text2,deadline)};diff_match_patch.prototype.diff_lineMode_=function(text1,text2,deadline){var a=this.diff_linesToChars_(text1,text2);text1=a.chars1;text2=a.chars2;var linearray=a.lineArray;var diffs=this.diff_main(text1,text2,false,deadline);this.diff_charsToLines_(diffs,linearray);this.diff_cleanupSemantic(diffs);diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";while(pointer=1&&count_insert>=1){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert);pointer=pointer-count_delete-count_insert;var a=this.diff_main(text_delete,text_insert,false,deadline);for(var j=a.length-1;j>=0;j--){diffs.splice(pointer,0,a[j])}pointer=pointer+a.length}count_insert=0;count_delete=0;text_delete="";text_insert="";break}pointer++}diffs.pop();return diffs};diff_match_patch.prototype.diff_bisect_=function(text1,text2,deadline){var text1_length=text1.length;var text2_length=text2.length;var max_d=Math.ceil((text1_length+text2_length)/2);var v_offset=max_d;var v_length=2*max_d;var v1=new Array(v_length);var v2=new Array(v_length);for(var x=0;xdeadline){break}for(var k1=-d+k1start;k1<=d-k1end;k1+=2){var k1_offset=v_offset+k1;var x1;if(k1==-d||k1!=d&&v1[k1_offset-1]text1_length){k1end+=2}else if(y1>text2_length){k1start+=2}else if(front){var k2_offset=v_offset+delta-k1;if(k2_offset>=0&&k2_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}for(var k2=-d+k2start;k2<=d-k2end;k2+=2){var k2_offset=v_offset+k2;var x2;if(k2==-d||k2!=d&&v2[k2_offset-1]text1_length){k2end+=2}else if(y2>text2_length){k2start+=2}else if(!front){var k1_offset=v_offset+delta-k2;if(k1_offset>=0&&k1_offset=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}}return[[DIFF_DELETE,text1],[DIFF_INSERT,text2]]};diff_match_patch.prototype.diff_bisectSplit_=function(text1,text2,x,y,deadline){var text1a=text1.substring(0,x);var text2a=text2.substring(0,y);var text1b=text1.substring(x);var text2b=text2.substring(y);var diffs=this.diff_main(text1a,text2a,false,deadline);var diffsb=this.diff_main(text1b,text2b,false,deadline);return diffs.concat(diffsb)};diff_match_patch.prototype.diff_linesToChars_=function(text1,text2){var lineArray=[];var lineHash={};lineArray[0]="";function diff_linesToCharsMunge_(text){var chars="";var lineStart=0;var lineEnd=-1;var lineArrayLength=lineArray.length;while(lineEndtext2_length){text1=text1.substring(text1_length-text2_length)}else if(text1_lengthtext2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;if(longtext.length<4||shorttext.length*2=longtext.length){return[best_longtext_a,best_longtext_b,best_shorttext_a,best_shorttext_b,best_common]}else{return null}}var hm1=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/4));var hm2=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/2));var hm;if(!hm1&&!hm2){return null}else if(!hm2){hm=hm1}else if(!hm1){hm=hm2}else{hm=hm1[4].length>hm2[4].length?hm1:hm2}var text1_a,text1_b,text2_a,text2_b;if(text1.length>text2.length){text1_a=hm[0];text1_b=hm[1];text2_a=hm[2];text2_b=hm[3]}else{text2_a=hm[0];text2_b=hm[1];text1_a=hm[2];text1_b=hm[3]}var mid_common=hm[4];return[text1_a,text1_b,text2_a,text2_b,mid_common]};diff_match_patch.prototype.diff_cleanupSemantic=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var length_insertions1=0;var length_deletions1=0;var length_insertions2=0;var length_deletions2=0;while(pointer0?equalities[equalitiesLength-1]:-1;length_insertions1=0;length_deletions1=0;length_insertions2=0;length_deletions2=0;lastequality=null;changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}this.diff_cleanupSemanticLossless(diffs);pointer=1;while(pointer=overlap_length2){if(overlap_length1>=deletion.length/2||overlap_length1>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,insertion.substring(0,overlap_length1)]);diffs[pointer-1][1]=deletion.substring(0,deletion.length-overlap_length1);diffs[pointer+1][1]=insertion.substring(overlap_length1);pointer++}}else{if(overlap_length2>=deletion.length/2||overlap_length2>=insertion.length/2){diffs.splice(pointer,0,[DIFF_EQUAL,deletion.substring(0,overlap_length2)]);diffs[pointer-1][0]=DIFF_INSERT;diffs[pointer-1][1]=insertion.substring(0,insertion.length-overlap_length2);diffs[pointer+1][0]=DIFF_DELETE;diffs[pointer+1][1]=deletion.substring(overlap_length2);pointer++}}pointer++}pointer++}};diff_match_patch.prototype.diff_cleanupSemanticLossless=function(diffs){function diff_cleanupSemanticScore_(one,two){if(!one||!two){return 6}var char1=one.charAt(one.length-1);var char2=two.charAt(0);var nonAlphaNumeric1=char1.match(diff_match_patch.nonAlphaNumericRegex_);var nonAlphaNumeric2=char2.match(diff_match_patch.nonAlphaNumericRegex_);var whitespace1=nonAlphaNumeric1&&char1.match(diff_match_patch.whitespaceRegex_);var whitespace2=nonAlphaNumeric2&&char2.match(diff_match_patch.whitespaceRegex_);var lineBreak1=whitespace1&&char1.match(diff_match_patch.linebreakRegex_);var lineBreak2=whitespace2&&char2.match(diff_match_patch.linebreakRegex_);var blankLine1=lineBreak1&&one.match(diff_match_patch.blanklineEndRegex_);var blankLine2=lineBreak2&&two.match(diff_match_patch.blanklineStartRegex_);if(blankLine1||blankLine2){return 5}else if(lineBreak1||lineBreak2){return 4}else if(nonAlphaNumeric1&&!whitespace1&&whitespace2){return 3}else if(whitespace1||whitespace2){return 2}else if(nonAlphaNumeric1||nonAlphaNumeric2){return 1}return 0}var pointer=1;while(pointer=bestScore){bestScore=score;bestEquality1=equality1;bestEdit=edit;bestEquality2=equality2}}if(diffs[pointer-1][1]!=bestEquality1){if(bestEquality1){diffs[pointer-1][1]=bestEquality1}else{diffs.splice(pointer-1,1);pointer--}diffs[pointer][1]=bestEdit;if(bestEquality2){diffs[pointer+1][1]=bestEquality2}else{diffs.splice(pointer+1,1);pointer--}}}pointer++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\s/;diff_match_patch.linebreakRegex_=/[\r\n]/;diff_match_patch.blanklineEndRegex_=/\n\r?\n$/;diff_match_patch.blanklineStartRegex_=/^\r?\n\r?\n/;diff_match_patch.prototype.diff_cleanupEfficiency=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastequality=null;var pointer=0;var pre_ins=false;var pre_del=false;var post_ins=false;var post_del=false;while(pointer0?equalities[equalitiesLength-1]:-1;post_ins=post_del=false}changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}};diff_match_patch.prototype.diff_cleanupMerge=function(diffs){diffs.push([DIFF_EQUAL,""]);var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";var commonlength;while(pointer1){if(count_delete!==0&&count_insert!==0){commonlength=this.diff_commonPrefix(text_insert,text_delete);if(commonlength!==0){if(pointer-count_delete-count_insert>0&&diffs[pointer-count_delete-count_insert-1][0]==DIFF_EQUAL){diffs[pointer-count_delete-count_insert-1][1]+=text_insert.substring(0,commonlength)}else{diffs.splice(0,0,[DIFF_EQUAL,text_insert.substring(0,commonlength)]);pointer++}text_insert=text_insert.substring(commonlength);text_delete=text_delete.substring(commonlength)}commonlength=this.diff_commonSuffix(text_insert,text_delete);if(commonlength!==0){diffs[pointer][1]=text_insert.substring(text_insert.length-commonlength)+diffs[pointer][1];text_insert=text_insert.substring(0,text_insert.length-commonlength);text_delete=text_delete.substring(0,text_delete.length-commonlength)}}if(count_delete===0){diffs.splice(pointer-count_insert,count_delete+count_insert,[DIFF_INSERT,text_insert])}else if(count_insert===0){diffs.splice(pointer-count_delete,count_delete+count_insert,[DIFF_DELETE,text_delete])}else{diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert,[DIFF_DELETE,text_delete],[DIFF_INSERT,text_insert])}pointer=pointer-count_delete-count_insert+(count_delete?1:0)+(count_insert?1:0)+1}else if(pointer!==0&&diffs[pointer-1][0]==DIFF_EQUAL){diffs[pointer-1][1]+=diffs[pointer][1];diffs.splice(pointer,1)}else{pointer++}count_insert=0;count_delete=0;text_delete="";text_insert="";break}}if(diffs[diffs.length-1][1]===""){diffs.pop()}var changes=false;pointer=1;while(pointerloc){break}last_chars1=chars1;last_chars2=chars2}if(diffs.length!=x&&diffs[x][0]===DIFF_DELETE){return last_chars2}return last_chars2+(loc-last_chars1)};diff_match_patch.prototype.diff_prettyHtml=function(diffs){var html=[];var pattern_amp=/&/g;var pattern_lt=//g;var pattern_para=/\n/g;for(var x=0;x");switch(op){case DIFF_INSERT:html[x]=''+text+"";break;case DIFF_DELETE:html[x]=''+text+"";break;case DIFF_EQUAL:html[x]=""+text+"";break}}return html.join("")};diff_match_patch.prototype.diff_text1=function(diffs){var text=[];for(var x=0;xthis.Match_MaxBits){throw new Error("Pattern too long for this browser.")}var s=this.match_alphabet_(pattern);var dmp=this;function match_bitapScore_(e,x){var accuracy=e/pattern.length;var proximity=Math.abs(loc-x);if(!dmp.Match_Distance){return proximity?1:accuracy}return accuracy+proximity/dmp.Match_Distance}var score_threshold=this.Match_Threshold;var best_loc=text.indexOf(pattern,loc);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold);best_loc=text.lastIndexOf(pattern,loc+pattern.length);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold)}}var matchmask=1<=start;j--){var charMatch=s[text.charAt(j-1)];if(d===0){rd[j]=(rd[j+1]<<1|1)&charMatch}else{rd[j]=(rd[j+1]<<1|1)&charMatch|((last_rd[j+1]|last_rd[j])<<1|1)|last_rd[j+1]}if(rd[j]&matchmask){var score=match_bitapScore_(d,j-1);if(score<=score_threshold){score_threshold=score;best_loc=j-1;if(best_loc>loc){start=Math.max(1,2*loc-best_loc)}else{break}}}}if(match_bitapScore_(d+1,loc)>score_threshold){break}last_rd=rd}return best_loc};diff_match_patch.prototype.match_alphabet_=function(pattern){var s={};for(var i=0;i2){this.diff_cleanupSemantic(diffs);this.diff_cleanupEfficiency(diffs)}}else if(a&&(typeof a==="undefined"?"undefined":_typeof(a))=="object"&&typeof opt_b=="undefined"&&typeof opt_c=="undefined"){diffs=a;text1=this.diff_text1(diffs)}else if(typeof a=="string"&&opt_b&&(typeof opt_b==="undefined"?"undefined":_typeof(opt_b))=="object"&&typeof opt_c=="undefined"){text1=a;diffs=opt_b}else if(typeof a=="string"&&typeof opt_b=="string"&&opt_c&&(typeof opt_c==="undefined"?"undefined":_typeof(opt_c))=="object"){text1=a;diffs=opt_c}else{throw new Error("Unknown call format to patch_make.")}if(diffs.length===0){return[]}var patches=[];var patch=new diff_match_patch.patch_obj;var patchDiffLength=0;var char_count1=0;var char_count2=0;var prepatch_text=text1;var postpatch_text=text1;for(var x=0;x=2*this.Patch_Margin){if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch);patch=new diff_match_patch.patch_obj;patchDiffLength=0;prepatch_text=postpatch_text;char_count1=char_count2}}break}if(diff_type!==DIFF_INSERT){char_count1+=diff_text.length}if(diff_type!==DIFF_DELETE){char_count2+=diff_text.length}}if(patchDiffLength){this.patch_addContext_(patch,prepatch_text);patches.push(patch)}return patches};diff_match_patch.prototype.patch_deepCopy=function(patches){var patchesCopy=[];for(var x=0;xthis.Match_MaxBits){start_loc=this.match_main(text,text1.substring(0,this.Match_MaxBits),expected_loc);if(start_loc!=-1){end_loc=this.match_main(text,text1.substring(text1.length-this.Match_MaxBits),expected_loc+text1.length-this.Match_MaxBits);if(end_loc==-1||start_loc>=end_loc){start_loc=-1}}}else{start_loc=this.match_main(text,text1,expected_loc)}if(start_loc==-1){results[x]=false;delta-=patches[x].length2-patches[x].length1}else{results[x]=true;delta=start_loc-expected_loc;var text2;if(end_loc==-1){text2=text.substring(start_loc,start_loc+text1.length)}else{text2=text.substring(start_loc,end_loc+this.Match_MaxBits)}if(text1==text2){text=text.substring(0,start_loc)+this.diff_text2(patches[x].diffs)+text.substring(start_loc+text1.length)}else{var diffs=this.diff_main(text1,text2,false);if(text1.length>this.Match_MaxBits&&this.diff_levenshtein(diffs)/text1.length>this.Patch_DeleteThreshold){results[x]=false}else{this.diff_cleanupSemanticLossless(diffs);var index1=0;var index2;for(var y=0;ydiffs[0][1].length){var extraLength=paddingLength-diffs[0][1].length;diffs[0][1]=nullPadding.substring(diffs[0][1].length)+diffs[0][1];patch.start1-=extraLength;patch.start2-=extraLength;patch.length1+=extraLength;patch.length2+=extraLength}patch=patches[patches.length-1];diffs=patch.diffs;if(diffs.length==0||diffs[diffs.length-1][0]!=DIFF_EQUAL){diffs.push([DIFF_EQUAL,nullPadding]);patch.length1+=paddingLength;patch.length2+=paddingLength}else if(paddingLength>diffs[diffs.length-1][1].length){var extraLength=paddingLength-diffs[diffs.length-1][1].length;diffs[diffs.length-1][1]+=nullPadding.substring(0,extraLength);patch.length1+=extraLength;patch.length2+=extraLength}return nullPadding};diff_match_patch.prototype.patch_splitMax=function(patches){var patch_size=this.Match_MaxBits;for(var x=0;x2*patch_size){patch.length1+=diff_text.length;start1+=diff_text.length;empty=false;patch.diffs.push([diff_type,diff_text]);bigpatch.diffs.shift()}else{diff_text=diff_text.substring(0,patch_size-patch.length1-this.Patch_Margin);patch.length1+=diff_text.length;start1+=diff_text.length;if(diff_type===DIFF_EQUAL){patch.length2+=diff_text.length;start2+=diff_text.length}else{empty=false}patch.diffs.push([diff_type,diff_text]);if(diff_text==bigpatch.diffs[0][1]){bigpatch.diffs.shift()}else{bigpatch.diffs[0][1]=bigpatch.diffs[0][1].substring(diff_text.length)}}}precontext=this.diff_text2(patch.diffs);precontext=precontext.substring(precontext.length-this.Patch_Margin);var postcontext=this.diff_text1(bigpatch.diffs).substring(0,this.Patch_Margin);if(postcontext!==""){patch.length1+=postcontext.length;patch.length2+=postcontext.length;if(patch.diffs.length!==0&&patch.diffs[patch.diffs.length-1][0]===DIFF_EQUAL){patch.diffs[patch.diffs.length-1][1]+=postcontext}else{patch.diffs.push([DIFF_EQUAL,postcontext])}}if(!empty){patches.splice(++x,0,patch)}}}};diff_match_patch.prototype.patch_toText=function(patches){var text=[];for(var x=0;xhead.line||anchor.line===head.line&&anchor.ch>head.ch;if(isReversedSelection){var temp=head;head=anchor;anchor=temp}return{anchor:anchor,head:head}}},{key:"_findOffsetCursor",value:function _findOffsetCursor(offsetlist){var doc=this.cm.getDoc();var beforeLength=0;var result=[];var lineLength=doc.lineCount();var offsetIndex=0;var currentLength=0;var lineIndex=void 0;for(lineIndex=0;lineIndex=offsetlist[offsetIndex]){result.push({line:lineIndex,ch:offsetlist[offsetIndex]-beforeLength});offsetIndex+=1;if(util.isUndefined(offsetlist[offsetIndex])){return result}}beforeLength=currentLength}while(!util.isUndefined(offsetlist[offsetIndex])){result.push({line:lineIndex,ch:currentLength-beforeLength});offsetIndex+=1}return result}},{key:"selectOffsetRange",value:function selectOffsetRange(start,end){var foundCursor=this._findOffsetCursor([start,end]);this.cm.setSelection({line:foundCursor[0].line,ch:foundCursor[0].ch},{line:foundCursor[1].line,ch:foundCursor[1].ch})}},{key:"clearSelect",value:function clearSelect(){var selection=this.cm.getDoc().listSelections()[0];if(selection){this.cm.setCursor(selection.to())}}}]);return MarkdownMarkerHelper}();module.exports=MarkdownMarkerHelper},function(module,exports){"use strict";tui.Editor.i18n.setLang(["en","en_US"],{Markdown:"Markdown",WYSIWYG:"WYSIWYG",Headings:"Headings",Paragraph:"Paragraph",Bold:"Bold",Italic:"Italic",Strike:"Strike",Code:"Code",Line:"Line",Blockquote:"Blockquote","Unordered list":"Unordered list","Ordered list":"Ordered list",Task:"Task","Insert link":"Insert link","Insert codeblock":"Insert codeblock","Insert table":"Insert table","Insert image":"Insert image",Heading:"Heading","Image URL":"Image URL","Select image file":"Select image file",Description:"Description",OK:"OK",Cancel:"Cancel",File:"File",URL:"URL","Link text":"Link text","Add row":"Add row","Add col":"Add col","Remove row":"Remove row","Remove col":"Remove col","Align left":"Align left","Align center":"Align center","Align right":"Align right","Remove table":"Remove table","Would you like to paste as table?":"Would you like to paste as table?","Text color":"Text color","Auto scroll enabled":"Auto scroll enabled","Auto scroll disabled":"Auto scroll disabled"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["ko","ko_KR"],{Markdown:"마크다운",WYSIWYG:"위지윅",Headings:"제목크기",Paragraph:"본문",Bold:"굵게",Italic:"기울임꼴",Strike:"취소선",Code:"코드",Line:"문단나눔",Blockquote:"인용구","Unordered list":"글머리 기호","Ordered list":"번호 매기기",Task:"체크박스","Insert link":"링크 삽입","Insert codeblock":"코드블럭 삽입","Insert table":"표 삽입","Insert image":"이미지 삽입",Heading:"제목","Image URL":"이미지 주소","Select image file":"이미지 파일을 선택하세요.",Description:"설명",OK:"확인",Cancel:"취소",File:"파일",URL:"주소","Link text":"링크 텍스트","Add row":"행 추가","Add col":"열 추가","Remove row":"행 삭제","Remove col":"열 삭제","Align left":"왼쪽 정렬","Align center":"가운데 정렬","Align right":"오른쪽 정렬","Remove table":"표 삭제","Would you like to paste as table?":"표형태로 붙여 넣겠습니까?","Text color":"글자 색상","Auto scroll enabled":"자동 스크롤 켜짐","Auto scroll disabled":"자동 스크롤 꺼짐"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["zh","zh_CN"],{Markdown:"Markdown",WYSIWYG:"所见即所得",Headings:"标题",Paragraph:"文本",Bold:"加粗",Italic:"斜体字",Strike:"删除线",Code:"内嵌代码",Line:"画水平线",Blockquote:"引用块","Unordered list":"无序列表","Ordered list":"有序列表",Task:"任务","Insert link":"插入链接","Insert codeblock":"插入代码块","Insert table":"插入表格","Insert image":"插入图片",Heading:"标题","Image URL":"图片网址","Select image file":"选择映像文件",Description:"说明",OK:"确认",Cancel:"取消",File:"文件",URL:"URL","Link text":"链接文本","Add row":"添加一行","Add col":"添加列","Remove row":"删除行","Remove col":"删除列","Align left":"左对齐","Align center":"居中对齐","Align right":"右对齐","Remove table":"删除表","Would you like to paste as table?":"你想粘贴表吗?","Text color":"文字色相","Auto scroll enabled":"自动滚动启用","Auto scroll disabled":"自动的滚动作非使用"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["ja","ja_JP"],{Markdown:"マークダウン",WYSIWYG:"WYSIWYG",Headings:"見出し",Paragraph:"本文",Bold:"太字",Italic:"イタリック",Strike:"ストライク",Code:"コード",Line:"ライン",Blockquote:"引用","Unordered list":"番号なしリスト","Ordered list":"順序付きリスト",Task:"タスク","Insert link":"リンク挿入","Insert codeblock":"コードブロック挿入","Insert table":"テーブル挿入","Insert image":"画像挿入",Heading:"見出し","Image URL":"イメージURL","Select image file":"画像ファイル選択",Description:"ディスクリプション ",OK:"はい",Cancel:"キャンセル",File:"ファイル",URL:"URL","Link text":"リンクテキスト","Add row":"行追加","Add col":"列追加","Remove row":"行削除","Remove col":"列削除","Align left":"左揃え","Align center":"中央揃え","Align right":"右揃え","Remove table":"テーブル削除","Would you like to paste as table?":"テーブルを貼り付けますか?","Text color":"文字色相","Auto scroll enabled":"自動スクロールが有効","Auto scroll disabled":"自動スクロールを無効に"})},function(module,exports){"use strict";tui.Editor.i18n.setLang(["nl","nl_NL"],{Markdown:"Markdown",WYSIWYG:"WYSIWYG",Headings:"Koppen",Paragraph:"tekst",Bold:"Vet",Italic:"Cursief",Strike:"Doorhalen",Code:"Code",Line:"Regel",Blockquote:"Citaatblok","Unordered list":"Opsomming","Ordered list":"Genummerde opsomming",Task:"Taak","Insert link":"Link invoegen","Insert codeblock":"Codeblok toevoegen","Insert table":"Tabel invoegen","Insert image":"Afbeelding invoegen",Heading:"Kop","Image URL":"Afbeelding URL","Select image file":"Selecteer een afbeelding",Description:"Omschrijving",OK:"OK",Cancel:"Annuleren",File:"Bestand",URL:"URL","Link text":"Link tekst","Add row":"Rij toevoegen","Add col":"Kolom toevoegen","Remove row":"Rij verwijderen","Remove col":"Kolom verwijderen","Align left":"Links uitlijnen","Align center":"Centreren","Align right":"Rechts uitlijnen","Remove table":"Verwijder tabel","Would you like to paste as table?":"Wil je dit als tabel plakken?","Text color":"tekst kleur","Auto scroll enabled":"Auto scroll enabled","Auto scroll disabled":"Auto scroll uitgeschakeld"})}]); \ No newline at end of file diff --git a/package.json b/package.json index 6a3357e8f5..fe95b17ea1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tui-editor", - "version": "0.10.10", + "version": "0.10.11", "private": true, "author": "Sungho Kim ", "license": "MIT",