ericjjj/smeditor

View on GitHub
release/smeditor.js.map

Summary

Maintainability
Test Coverage
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///smeditor.js","webpack:///webpack/bootstrap 2e5521c0b8023f2b1dbd","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./src/components/ColorPicker.vue?64dc","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/fn/array/from.js","webpack:///./src/components/InsertLink.vue?9d19","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./src/components/InsertLink.vue?5d00","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./src/components/Insert.vue?c879","webpack:///./src/components/TitlePicker.vue?6747","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./src/components/InsertVideo.vue?a531","webpack:///./src/components/ColorPicker.vue?06f9","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./src/components/TitlePicker.vue?a571","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./src/components/Insert.vue?41f9","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/babel-runtime/core-js/array/from.js","webpack:///./src/components/InsertVideo.vue?cdbb","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./src/components/SMEditor.vue?4dce","webpack:///./node_modules/core-js/library/modules/_create-property.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./src/components/SMEditor.vue?5c25","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/es6.array.from.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./src/components/ColorPicker.vue","webpack:///./src/components/TitlePicker.vue","webpack:///./src/components/InsertLink.vue","webpack:///./src/components/InsertVideo.vue","webpack:///./src/components/Insert.vue","webpack:///src/components/SMEditor.vue","webpack:///./src/components/SMEditor.vue","webpack:///./src/components/icons.js","webpack:///src/components/ColorPicker.vue","webpack:///./src/components/ColorPicker.vue?e0e0","webpack:///src/components/TitlePicker.vue","webpack:///./src/components/TitlePicker.vue?8051","webpack:///src/components/InsertLink.vue","webpack:///./src/components/InsertLink.vue?1550","webpack:///src/components/InsertVideo.vue","webpack:///./src/components/InsertVideo.vue?ce79","webpack:///src/components/Insert.vue","webpack:///./src/components/Insert.vue?eaba","webpack:///./src/components/SMEditor.vue?4a65","webpack:///./src/smeditor.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","+E39","a","+ZMJ","aFunction","fn","that","length","undefined","b","apply","arguments","/bQp","15Ws","content","locals","3Eo+","id","px","Math","random","key","concat","toString","3fs2","classof","ITERATOR","Iterators","getIteratorMethod","it","52gC","TypeError","5zde","Array","from","71dq","77Pl","isObject","7KvD","global","window","Function","__g","880/","94VQ","create","descriptor","setToStringTag","IteratorPrototype","Constructor","NAME","next","B1bR","push","D2L2","D5f8","DhD2","EqjI","FZ+f","cssWithMappingToString","item","useSourceMap","cssMapping","btoa","sourceMapping","toComment","sources","map","source","sourceRoot","join","sourceMap","unescape","encodeURIComponent","JSON","stringify","list","mediaQuery","alreadyImportedModules","FeBl","core","version","__e","FzbY","ISJ/","Ibhu","has","toIObject","arrayIndexOf","IE_PROTO","names","O","result","MU5D","cof","propertyIsEnumerable","split","Mhyx","ArrayProto","MmMw","S","val","valueOf","N7M7","O4g8","ON07","document","is","createElement","PzxK","toObject","ObjectProto","getPrototypeOf","constructor","QRG4","toInteger","min","R9M2","slice","RPLV","documentElement","RSMv","RY/4","TAG","ARG","tryGet","e","T","B","callee","S82l","exec","SfB7","TcQ7","IObject","defined","UuGF","ceil","floor","isNaN","VU/8","rawScriptExports","compiledTemplate","functionalTemplate","injectStyles","scopeId","moduleIdentifier","esModule","scriptExports","type","default","options","render","staticRenderFns","_compiled","functional","_scopeId","hook","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","existing","beforeCreate","_injectStyles","h","X8DO","bitmap","value","writable","Yobk","anObject","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","open","write","lt","close","F","Properties","ax3d","shared","uid","c/Tr","cEZK","dSzd","store","Symbol","USE_SYMBOL","dY0y","SAFE_CLOSING","riter","skipClosing","safe","arr","iter","done","e6n0","def","f","tag","stat","e8AB","evD5","IE8_DOM_DEFINE","toPrimitive","dP","P","Attributes","f0bS","fBQ2","$defineProperty","createDesc","index","fkB2","max","h65t","TO_STRING","pos","String","charCodeAt","charAt","hJx8","kM2E","ctx","hide","$export","own","out","IS_FORCED","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","IS_WRAP","W","expProto","target","C","virtual","R","U","lOnJ","lktj","$keys","keys","msXi","iterator","entries","ret","oxVd","qio6","getKeys","defineProperties","qyJz","isArrayIter","toLength","createProperty","getIterFn","arrayLike","step","aLen","mapfn","mapping","iterFn","rjj0","addStylesToDom","styles","domStyle","stylesInDom","refs","j","parts","addStyle","createStyleElement","styleElement","head","obj","update","remove","querySelector","ssrIdKey","isProduction","noop","parentNode","removeChild","isOldIE","styleIndex","singletonCounter","singletonElement","applyToSingletonTag","bind","applyToTag","newObj","css","media","styleSheet","cssText","replaceText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild","hasDocument","DEBUG","Error","listToStyles","getElementsByTagName","navigator","test","userAgent","toLowerCase","parentId","_isProduction","_options","newList","mayRemove","textStore","replacement","filter","Boolean","sB3e","tTVk","newStyles","part","vFc/","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","vIB/","LIBRARY","redefine","$iterCreate","BUGGY","returnThis","Base","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","weKZ","__webpack_exports__","injectStyle","disposed","TitlePicker_injectStyle","TitlePicker_disposed","InsertLink_injectStyle","InsertLink_disposed","InsertVideo_injectStyle","InsertVideo_disposed","Insert_injectStyle","Insert_disposed","addEvents","editorElement","onfocus","event","closeAlert","onkeypress","getSelectedNode","keyCode","isImageCaption","execCommand","innerHTML","getSelection","collapse","className","lastChild","localName","onkeydown","isImageDesc","addEventListener","items","clipboardData","originalEvent","preventDefault","blob","getAsFile","upload","url","insertImageHtml","execCmd","callback","getCursor","restoreCursor","cursor","getRangeAt","selection","createRange","parentElement","rangeCount","startContainer","isInsertLinkShow","focus","savedRange","removeAllRanges","addRange","select","SMEditor_injectStyle","SMEditor_disposed","from_default","qiniu","icons","forEach","components_icons","ColorPicker","data","selectColor","colors","props","handleColorHover","handleColorClick","ColorPickerClick","_vm","_h","$createElement","_c","_self","staticClass","_l","color","backgroundColor","attrs","data-light","data-value","title","on","click","$event","mouseover","_v","directives","rawName","expression","autocomplete","autocorrect","autocapitalize","spellcheck","maxlength","domProps","input","composing","_withStripped","esExports","components_ColorPicker","normalizeComponent","__vue_styles__","Component","__file","src_components_ColorPicker","TitlePicker","sizes","current","getHtml","size","handleFontSizeClick","titlePickerClick","TitlePicker_render","class","fontSizeActive","stopPropagation","_s","TitlePicker_staticRenderFns","TitlePicker_esExports","components_TitlePicker","TitlePicker_normalizeComponent","TitlePicker___vue_styles__","TitlePicker_Component","src_components_TitlePicker","InsertLink","link","text","conformClick","insertLink","cancelClick","cancel","watch","propText","propLink","InsertLink_render","placeholder","keyup","_k","InsertLink_staticRenderFns","InsertLink_esExports","components_InsertLink","InsertLink_normalizeComponent","InsertLink___vue_styles__","InsertLink_Component","src_components_InsertLink","InsertVideo","insertVideo","mounted","InsertVideo_render","InsertVideo_staticRenderFns","InsertVideo_esExports","components_InsertVideo","InsertVideo_normalizeComponent","InsertVideo___vue_styles__","InsertVideo_Component","src_components_InsertVideo","Insert","labels","handleFileChange","$refs","files","uploadImages","insertClick","Insert_render","ref","refInFor","accept","multiple","change","_e","Insert_staticRenderFns","Insert_esExports","components_Insert","Insert_normalizeComponent","Insert___vue_styles__","Insert_Component","src_components_Insert","indexOf","splice","SMEditor","components","color-picker","title-picker","insert-options","insert-link","insert-video","basicIcons","basicStyleNames","isColorPickerShow","isTitlePickerShow","isFontSizePickerShow","isInsertShow","isInsertVideoShow","selectWords","fontSize","selectNode","buttonsBarFixed","insertLinkSection","node","start","end","kenter","mouseup","_this","str","setTimeout","path","redo","undo","removeFormat","FontSize","fontSizePickerClick","titleButtonClick","html","console","log","startsWith","outerHTML","basicStyleClick","_this2","colorPickerClick","_this3","insertImageClick","_this4","file","success","config","uploadUrl","xhr","XMLHttpRequest","form","FormData","append","uploadName","onreadystatechange","readyState","status","json","parse","responseText","imgUrl","uploadCallback","uploadFailed","location","href","_imgUrl","send","insertLinkClick","insertLinkCancel","insertVideoClick","_this5","insertVideoCancel","insertLine","insertBlock","insertQuote","insertEmptyP","_str","insertList","insertCheck","querySelectorAll","ul","li","onclick","indent","outdent","align","backupClick","localStorage","setItem","restoreClick","getItem","previewClick","_$router$resolve","$router","resolve","_this6","_this7","onScroll","scrollTop","pageYOffset","body","offsetTop","SMEditor_render","buttonsActive","listOrdered","listUnordered","alignLeft","alignCenter","alignRight","insertImage","contenteditable","ctrlKey","SMEditor_staticRenderFns","SMEditor_esExports","components_SMEditor","SMEditor_normalizeComponent","SMEditor___vue_styles__","SMEditor_Component","src_components_SMEditor","Vue","install","installed","component","xnc9","zQR9","$at","iterated","_t","_i","point"],"mappings":"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","file":"smeditor.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"smeditor\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"smeditor\"] = factory();\n\telse\n\t\troot[\"smeditor\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"smeditor\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"smeditor\"] = factory();\n\telse\n\t\troot[\"smeditor\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/release/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"weKZ\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"+E39\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(\"S82l\")(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"+ZMJ\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(\"lOnJ\");\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ \"/bQp\":\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"15Ws\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"ISJ/\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"rjj0\")(\"2cf024d2\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0684bb51\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./ColorPicker.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0684bb51\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./ColorPicker.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n\n/***/ \"3Eo+\":\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"3fs2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(\"RY/4\");\nvar ITERATOR = __webpack_require__(\"dSzd\")('iterator');\nvar Iterators = __webpack_require__(\"/bQp\");\nmodule.exports = __webpack_require__(\"FeBl\").getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ \"52gC\":\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"5zde\":\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(\"zQR9\");\n__webpack_require__(\"qyJz\");\nmodule.exports = __webpack_require__(\"FeBl\").Array.from;\n\n\n/***/ }),\n\n/***/ \"71dq\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"B1bR\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"rjj0\")(\"0eee9e7e\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4b369b03\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./InsertLink.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4b369b03\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./InsertLink.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n\n/***/ \"77Pl\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"EqjI\");\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"7KvD\":\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"880/\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"hJx8\");\n\n\n/***/ }),\n\n/***/ \"94VQ\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(\"Yobk\");\nvar descriptor = __webpack_require__(\"X8DO\");\nvar setToStringTag = __webpack_require__(\"e6n0\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(\"hJx8\")(IteratorPrototype, __webpack_require__(\"dSzd\")('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ \"B1bR\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(\"FZ+f\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.insert-link {\\n  position: fixed;\\n  top: 0px;\\n  left: 0;\\n  background-color: rgba(255, 255, 255, 1);\\n  height: 100%;\\n  width: 100%;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  z-index: 100;\\n}\\n.insert-link-box {\\n  position: relative;\\n  padding: 30px 20px;\\n  border-radius: 6px;\\n  margin: 0 auto 24px;\\n  background-clip: padding-box;\\n  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,.2);\\n          box-shadow: 0 2px 8px rgba(0,0,0,.2);\\n}\\n.insert-link p {\\n  text-align: center;\\n  padding: 20px 0px;\\n  font-size: 25px;\\n}\\n.insert-link input {\\n  text-align: left;\\n  margin: 5px 0px;\\n  border: 1px solid rgb(200,200,200);\\n  font-size: 14px;\\n  padding: 10px 5px;\\n  width: calc(100% - 20px);\\n}\\n.insert-link button {\\n  outline: none;\\n  cursor: pointer;\\n  margin-left: calc(50% - 40px);\\n  margin-top: 10px;\\n  width: 80px;\\n  height: 40px;\\n  border: none;\\n  text-align: center;\\n  color: #898989;\\n  background-color: #fff;\\n  font-size: 15px;\\n  border-radius: 1px;\\n  -webkit-border-radius: 1px;\\n  -moz-border-radius: 1px;\\n  white-space: nowrap;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  -webkit-transition: all .2s ease-in;\\n  transition: all .2s ease-in;\\n  -webkit-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -ms-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -o-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  box-shadow: 1px 2px 8px hsla(0,0%,70%,.8);\\n  -webkit-transition-property: right;\\n  transition-property: right;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n.insert-link .cancel {\\n  position: absolute;\\n  top: 10px;\\n  right: 10px;\\n  z-index: 2;\\n  font-size: 20px;\\n  width: 40px;\\n  height: 40px;\\n  text-align: center;\\n  line-height: 40px;\\n  cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n\n/***/ \"D2L2\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"D5f8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(\"FZ+f\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.insert-options-items {\\n  width: 120px;\\n  padding: 5px 0px;\\n  border-radius: 2px;\\n  position: absolute;\\n  -webkit-box-shadow: 0 1px 2px #ccc;\\n          box-shadow: 0 1px 2px #ccc;\\n  background-color: #fff;\\n  margin-top: 35px;\\n  text-align: left;\\n  z-index: 3;\\n}\\n.insert-options-items ul {\\n  list-style: none;\\n  padding: 0;\\n  margin: 0;\\n}\\n.insert-options-items ul li {\\n  padding: 5px 20px;\\n  color: #333;\\n  font-size: 12px;\\n  position: relative;\\n  cursor: pointer;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n}\\n.insert-options-items ul li:hover, .insertActive {\\n  background-color: #E5E5E5;\\n}\\n.insert-options-items img {\\n  width: 20px;\\n  height: 20px;\\n  top: 1px;\\n  position: relative;\\n  margin-right: 15px;\\n}\\n.insert-options-items #images_upload {\\n  position: absolute;\\n  z-index: 2;\\n  top: 0;\\n  left: 0;\\n  width: 100%;\\n  height: 100%;\\n  opacity: 0;\\n  cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n\n/***/ \"DhD2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(\"FZ+f\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.title-options {\\n  width: 60px;\\n  text-align: justify;\\n  padding: 5px 0px;\\n  border-radius: 2px;\\n  position: absolute;\\n  -webkit-box-shadow: 0 1px 2px #ccc;\\n          box-shadow: 0 1px 2px #ccc;\\n  background-color: #fff;\\n  margin-top: 10px;\\n  text-align: center;\\n  margin-left: -15px;\\n}\\n.title-options ul {\\n  list-style: none;\\n  padding: 0px;\\n  margin: 0px;\\n  font-size: 14px;\\n  color: #333;\\n}\\n.title-options ul li {\\n  padding: 5px;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n.title-options ul li:hover, .fontSizeActive {\\n  background-color: #E5E5E5;\\n}\\n.title-options h1,\\n.title-options h2,\\n.title-options h3,\\n.title-options h4,\\n.title-options h5 {\\n  margin: 0px;\\n}\\n\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n\n/***/ \"EqjI\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"FZ+f\":\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t//  when a module is imported multiple times with different media queries.\n\t\t\t//  I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n/***/ }),\n\n/***/ \"FeBl\":\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.3' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"FzbY\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"cEZK\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"rjj0\")(\"013e94b7\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-62fe0b7c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./InsertVideo.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-62fe0b7c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./InsertVideo.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n\n/***/ \"ISJ/\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(\"FZ+f\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.color-picker-options {\\n  width: 200px;\\n  text-align: justify;\\n  padding: 10px 10px 12px;\\n  border-radius: 2px;\\n  position: absolute;\\n  left: -80px;\\n  -webkit-box-shadow: 0 1px 2px #ccc;\\n          box-shadow: 0 1px 2px #ccc;\\n  background-color: #fff;\\n  margin-top: 10px;\\n}\\n.ql-picker-item {\\n  border: 1px solid transparent;\\n  float: left;\\n  height: 16px;\\n  margin: 2px;\\n  padding: 0;\\n  width: 16px;\\n  cursor: pointer;\\n  /*position: relative;*/\\n}\\n.color-name-tip {\\n  /*background-color: transparent;*/\\n/*  position: absolute;\\n  z-index: 2;\\n  display: flex;\\n  background-color: #000;\\n  color: #fff;*/\\n}\\ninput {\\n  outline: none;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n\n/***/ \"Ibhu\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"D2L2\");\nvar toIObject = __webpack_require__(\"TcQ7\");\nvar arrayIndexOf = __webpack_require__(\"vFc/\")(false);\nvar IE_PROTO = __webpack_require__(\"ax3d\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ \"MU5D\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(\"R9M2\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ \"Mhyx\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(\"/bQp\");\nvar ITERATOR = __webpack_require__(\"dSzd\")('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n\n/***/ \"MmMw\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(\"EqjI\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"N7M7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"DhD2\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"rjj0\")(\"17706367\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ff6b7ff4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./TitlePicker.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ff6b7ff4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./TitlePicker.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n\n/***/ \"O4g8\":\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n\n/***/ \"ON07\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"EqjI\");\nvar document = __webpack_require__(\"7KvD\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"PzxK\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(\"D2L2\");\nvar toObject = __webpack_require__(\"sB3e\");\nvar IE_PROTO = __webpack_require__(\"ax3d\")('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ \"QRG4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(\"UuGF\");\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"R9M2\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"RPLV\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(\"7KvD\").document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ \"RSMv\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"D5f8\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"rjj0\")(\"78d279ea\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25956469\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Insert.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25956469\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Insert.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n\n/***/ \"RY/4\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(\"R9M2\");\nvar TAG = __webpack_require__(\"dSzd\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ \"S82l\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"SfB7\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(\"+E39\") && !__webpack_require__(\"S82l\")(function () {\n  return Object.defineProperty(__webpack_require__(\"ON07\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"TcQ7\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(\"MU5D\");\nvar defined = __webpack_require__(\"52gC\");\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"UuGF\":\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ \"VU/8\":\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n/***/ }),\n\n/***/ \"X8DO\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ \"Yobk\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(\"77Pl\");\nvar dPs = __webpack_require__(\"qio6\");\nvar enumBugKeys = __webpack_require__(\"xnc9\");\nvar IE_PROTO = __webpack_require__(\"ax3d\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(\"ON07\")('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(\"RPLV\").appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"ax3d\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(\"e8AB\")('keys');\nvar uid = __webpack_require__(\"3Eo+\");\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"c/Tr\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(\"5zde\"), __esModule: true };\n\n/***/ }),\n\n/***/ \"cEZK\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(\"FZ+f\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.insert-video {\\n  position: fixed;\\n  top: 0;\\n  left: 0;\\n  background-color: rgba(255, 255, 255, 1);\\n  height: 100%;\\n  width: 100%;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n}\\n.insert-video-box {\\n  position: relative;\\n  padding: 30px 20px;\\n  border-radius: 6px;\\n  margin: 0 auto 24px;\\n  background-clip: padding-box;\\n  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,.2);\\n          box-shadow: 0 2px 8px rgba(0,0,0,.2);\\n}\\n.insert-video p {\\n  text-align: center;\\n  padding: 20px 0px;\\n  font-size: 25px;\\n}\\n.insert-video input {\\n  text-align: left;\\n  margin: 5px 0px;\\n  border: 1px solid rgb(200,200,200);\\n  font-size: 14px;\\n  padding: 10px 5px;\\n  width: calc(100% - 10px);\\n}\\n.insert-video button {\\n  outline: none;\\n  cursor: pointer;\\n  margin-left: calc(50% - 40px);\\n  margin-top: 10px;\\n  width: 80px;\\n  height: 40px;\\n  border: none;\\n  text-align: center;\\n  color: #898989;\\n  background-color: #fff;\\n  font-size: 15px;\\n  border-radius: 1px;\\n  -webkit-border-radius: 1px;\\n  -moz-border-radius: 1px;\\n  white-space: nowrap;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  -webkit-transition: all .2s ease-in;\\n  transition: all .2s ease-in;\\n  -webkit-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -ms-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -o-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  box-shadow: 1px 2px 8px hsla(0,0%,70%,.8);\\n  -webkit-transition-property: right;\\n  transition-property: right;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n.insert-video .cancel {\\n  position: absolute;\\n  top: 10px;\\n  right: 10px;\\n  z-index: 2;\\n  font-size: 20px;\\n  width: 40px;\\n  height: 40px;\\n  text-align: center;\\n  line-height: 40px;\\n  cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n\n/***/ \"dSzd\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(\"e8AB\")('wks');\nvar uid = __webpack_require__(\"3Eo+\");\nvar Symbol = __webpack_require__(\"7KvD\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ \"dY0y\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(\"dSzd\")('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n\n/***/ \"e6n0\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(\"evD5\").f;\nvar has = __webpack_require__(\"D2L2\");\nvar TAG = __webpack_require__(\"dSzd\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ \"e8AB\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7KvD\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n  return store[key] || (store[key] = {});\n};\n\n\n/***/ }),\n\n/***/ \"evD5\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"77Pl\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"SfB7\");\nvar toPrimitive = __webpack_require__(\"MmMw\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(\"+E39\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"f0bS\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(\"FZ+f\")(false);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.smeditor {\\n  width: 70%;\\n  margin: 0 auto;\\n  position: relative;\\n  z-index: 2;\\n}\\n.smeditor .input-area {\\n  outline: none;\\n  min-height: 400px;\\n  width: calc(100% - 20px);\\n  padding: 10px;\\n  text-align: left;\\n  -webkit-box-shadow: 0 1px 6px #ccc;\\n          box-shadow: 0 1px 6px #ccc;\\n  background-color: #ffffff;\\n  border-color: transparent;\\n  letter-spacing: 1.5px;\\n  color: rgb(44, 62, 80);\\n  font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n}\\n.smeditor .buttons {\\n  position: -webkit-sticky;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-pack: baseline;\\n      -ms-flex-pack: baseline;\\n          justify-content: baseline;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  width: 100%;\\n  padding: 10px 0;\\n  background-color: rgba(240,240,240, 1);\\n  -webkit-transition: position 0.3s;\\n  transition: position 0.3s;\\n}\\n.smeditor .isFixed {\\n  position: fixed;\\n  top: 0px;\\n  width: 70%;\\n}\\n.smeditor .buttons button {\\n  border: none;\\n  color: #000000;\\n  height: 27px;\\n  width: 30px;\\n  padding: 0;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  text-align: center;\\n  text-decoration: none;\\n  display: inline-block;\\n  font-size: 16px;\\n  outline: none;\\n  cursor: pointer;\\n  background-color: transparent;\\n  border: 1px solid transparent;\\n  position: relative;\\n}\\n.smeditor .buttons button:hover {\\n  border-color: #BFBFBF;\\n}\\n.smeditor .buttonsActive {\\n  border: 1px solid #BFBFBF !important;\\n}\\n.smeditor svg {\\n  fill: #555;\\n  height: 100%;\\n  width: 100%;\\n}\\n.smeditor input {\\n  border: none;\\n  color: #333;\\n  font-size: 16px;\\n  text-align: center;\\n  width: 100%;\\n}\\n.smeditor img {\\n  max-width: 100%;\\n  width: auto;\\n  height: auto;\\n  vertical-align: middle;\\n  border: 0;\\n}\\n.smeditor p {\\n  padding: 2px 0;\\n  margin: 0px;\\n}\\n.smeditor svg {\\n  cursor: pointer;\\n}\\n.smeditor a {\\n  color: #87AA99;\\n  margin-right: 3px;\\n}\\n.smeditor pre {\\n  display: block;\\n  padding: 9.5px;\\n  margin: 0 0 10px;\\n  font-size: 13px;\\n  line-height: 1.42857143;\\n  color: #333;\\n  word-break: break-all;\\n  word-wrap: break-word;\\n  background-color: #f5f5f5;\\n  border: 1px solid #ccc;\\n  border-radius: 4px;\\n}\\n.smeditor pre code  {\\n  display: block;\\n  background-color: #f1f1f1;\\n  border-radius: 3px;\\n  padding: 3px 5px;\\n  margin: 0 3px;\\n}\\n.smeditor .blockquote {\\n  margin: 15px 0px;\\n}\\n.smeditor .backup,\\n.smeditor .restore,\\n.smeditor .preview{\\n  min-width: 40px !important;\\n}\\n.smeditor .backup:before,\\n.smeditor .restore:before,\\n.smeditor .preview:before {\\n  color: rgb(51, 51, 51);\\n  font-family: Helvetica, Tahoma, Arial, \\\"Hiragino Sans GB\\\", \\\"Microsoft YaHei\\\", SimSun, sans-serif;\\n  line-height: 28px;\\n  font-size: 12px;\\n  float: left;\\n  margin-left: 8px;\\n}\\n.smeditor .backup:before {\\n  content: \\\"\\\\4FDD\\\\5B58\\\";\\n}\\n.smeditor .restore:before {\\n  content: \\\"\\\\6062\\\\590D\\\";\\n}\\n.smeditor .preview:before {\\n  content: \\\"\\\\9884\\\\89C8\\\";\\n}\\n.smeditor .select-words {\\n  position: fixed;\\n  right: calc(50% - 0px);\\n  margin-right: -100px;\\n  bottom: 60px;\\n  width: 200px;\\n  height: 30px;\\n  line-height: 30px;\\n  text-align: center;\\n  color: #898989;\\n  opacity: 1;\\n  z-index: 1;\\n  background-color: #fff;\\n  border-radius: 1px;\\n  -webkit-border-radius: 1px;\\n  -moz-border-radius: 1px;\\n  white-space: nowrap;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  -webkit-transition: all .2s ease-in;\\n  transition: all .2s ease-in;\\n  -webkit-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -ms-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -o-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -webkit-transition-property: right;\\n  transition-property: right;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n  font-size: 14px;\\n}\\n.smeditor .font-size, .smeditor .insert-options {\\n  min-width: 40px !important;\\n}\\n.smeditor .font-size,\\n.smeditor .set-font {\\n  border: none;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  font-weight: 600;\\n}\\n.smeditor .font-size span,\\n.smeditor .set-font span {\\n  font-size: 14px;\\n  color: #333;\\n  bottom: -0.5px;\\n  font-family: 'Helvetica,Tahoma,Arial,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif';\\n  position: relative;\\n}\\n.smeditor .insert-options:before {\\n  content: \\\"\\\\63D2\\\\5165\\\";\\n  color: #333;\\n  font-family: 'Helvetica,Tahoma,Arial,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif';\\n  line-height: 28px;\\n  font-size: 12px;\\n  float: left;\\n  margin-left: 8px;\\n}\\n.smeditor .insert-quote img {\\n  width: 20px;\\n  margin-bottom: 1px;\\n}\\n.unchecked-list {\\n  list-style: none;\\n  padding: 0;\\n  margin: 0;\\n}\\n.unchecked:before {\\n  content: \\\"\\\\F402\\\";\\n  padding-left: 3px;\\n  margin-right: 6px;\\n  cursor: pointer;\\n  -webkit-box-sizing: border-box;\\n          box-sizing: border-box;\\n}\\n.checked:before {\\n  content: \\\"\\\\F402\\\";\\n}\\n\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n\n/***/ \"fBQ2\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(\"evD5\");\nvar createDesc = __webpack_require__(\"X8DO\");\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n\n/***/ \"fkB2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"UuGF\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ \"h65t\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"UuGF\");\nvar defined = __webpack_require__(\"52gC\");\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n\n/***/ \"hJx8\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"evD5\");\nvar createDesc = __webpack_require__(\"X8DO\");\nmodule.exports = __webpack_require__(\"+E39\") ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ \"kM2E\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7KvD\");\nvar core = __webpack_require__(\"FeBl\");\nvar ctx = __webpack_require__(\"+ZMJ\");\nvar hide = __webpack_require__(\"hJx8\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && key in exports) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ \"lOnJ\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"lktj\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(\"Ibhu\");\nvar enumBugKeys = __webpack_require__(\"xnc9\");\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"msXi\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(\"77Pl\");\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"oxVd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(\"f0bS\");\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = __webpack_require__(\"rjj0\")(\"325ef632\", content, false, {});\n// Hot Module Replacement\nif(false) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7f74acf7\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./SMEditor.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7f74acf7\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./SMEditor.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n\n/***/ \"qio6\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"evD5\");\nvar anObject = __webpack_require__(\"77Pl\");\nvar getKeys = __webpack_require__(\"lktj\");\n\nmodule.exports = __webpack_require__(\"+E39\") ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"qyJz\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(\"+ZMJ\");\nvar $export = __webpack_require__(\"kM2E\");\nvar toObject = __webpack_require__(\"sB3e\");\nvar call = __webpack_require__(\"msXi\");\nvar isArrayIter = __webpack_require__(\"Mhyx\");\nvar toLength = __webpack_require__(\"QRG4\");\nvar createProperty = __webpack_require__(\"fBQ2\");\nvar getIterFn = __webpack_require__(\"3fs2\");\n\n$export($export.S + $export.F * !__webpack_require__(\"dY0y\")(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"rjj0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n  Modified by Evan You @yyx990803\n*/\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n  if (!hasDocument) {\n    throw new Error(\n    'vue-style-loader cannot be used in a non-browser environment. ' +\n    \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n  ) }\n}\n\nvar listToStyles = __webpack_require__(\"tTVk\")\n\n/*\ntype StyleObject = {\n  id: number;\n  parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n  css: string;\n  media: string;\n  sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n  [id: number]: {\n    id: number,\n    refs: number,\n    parts: Array<(obj?: StyleObjectPart) => void>\n  }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nmodule.exports = function (parentId, list, _isProduction, _options) {\n  isProduction = _isProduction\n\n  options = _options || {}\n\n  var styles = listToStyles(parentId, list)\n  addStylesToDom(styles)\n\n  return function update (newList) {\n    var mayRemove = []\n    for (var i = 0; i < styles.length; i++) {\n      var item = styles[i]\n      var domStyle = stylesInDom[item.id]\n      domStyle.refs--\n      mayRemove.push(domStyle)\n    }\n    if (newList) {\n      styles = listToStyles(parentId, newList)\n      addStylesToDom(styles)\n    } else {\n      styles = []\n    }\n    for (var i = 0; i < mayRemove.length; i++) {\n      var domStyle = mayRemove[i]\n      if (domStyle.refs === 0) {\n        for (var j = 0; j < domStyle.parts.length; j++) {\n          domStyle.parts[j]()\n        }\n        delete stylesInDom[domStyle.id]\n      }\n    }\n  }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n  for (var i = 0; i < styles.length; i++) {\n    var item = styles[i]\n    var domStyle = stylesInDom[item.id]\n    if (domStyle) {\n      domStyle.refs++\n      for (var j = 0; j < domStyle.parts.length; j++) {\n        domStyle.parts[j](item.parts[j])\n      }\n      for (; j < item.parts.length; j++) {\n        domStyle.parts.push(addStyle(item.parts[j]))\n      }\n      if (domStyle.parts.length > item.parts.length) {\n        domStyle.parts.length = item.parts.length\n      }\n    } else {\n      var parts = []\n      for (var j = 0; j < item.parts.length; j++) {\n        parts.push(addStyle(item.parts[j]))\n      }\n      stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n    }\n  }\n}\n\nfunction createStyleElement () {\n  var styleElement = document.createElement('style')\n  styleElement.type = 'text/css'\n  head.appendChild(styleElement)\n  return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n  var update, remove\n  var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n  if (styleElement) {\n    if (isProduction) {\n      // has SSR styles and in production mode.\n      // simply do nothing.\n      return noop\n    } else {\n      // has SSR styles but in dev mode.\n      // for some reason Chrome can't handle source map in server-rendered\n      // style tags - source maps in <style> only works if the style tag is\n      // created and inserted dynamically. So we remove the server rendered\n      // styles and inject new ones.\n      styleElement.parentNode.removeChild(styleElement)\n    }\n  }\n\n  if (isOldIE) {\n    // use singleton mode for IE9.\n    var styleIndex = singletonCounter++\n    styleElement = singletonElement || (singletonElement = createStyleElement())\n    update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n    remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n  } else {\n    // use multi-style-tag mode in all other cases\n    styleElement = createStyleElement()\n    update = applyToTag.bind(null, styleElement)\n    remove = function () {\n      styleElement.parentNode.removeChild(styleElement)\n    }\n  }\n\n  update(obj)\n\n  return function updateStyle (newObj /* StyleObjectPart */) {\n    if (newObj) {\n      if (newObj.css === obj.css &&\n          newObj.media === obj.media &&\n          newObj.sourceMap === obj.sourceMap) {\n        return\n      }\n      update(obj = newObj)\n    } else {\n      remove()\n    }\n  }\n}\n\nvar replaceText = (function () {\n  var textStore = []\n\n  return function (index, replacement) {\n    textStore[index] = replacement\n    return textStore.filter(Boolean).join('\\n')\n  }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n  var css = remove ? '' : obj.css\n\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = replaceText(index, css)\n  } else {\n    var cssNode = document.createTextNode(css)\n    var childNodes = styleElement.childNodes\n    if (childNodes[index]) styleElement.removeChild(childNodes[index])\n    if (childNodes.length) {\n      styleElement.insertBefore(cssNode, childNodes[index])\n    } else {\n      styleElement.appendChild(cssNode)\n    }\n  }\n}\n\nfunction applyToTag (styleElement, obj) {\n  var css = obj.css\n  var media = obj.media\n  var sourceMap = obj.sourceMap\n\n  if (media) {\n    styleElement.setAttribute('media', media)\n  }\n  if (options.ssrId) {\n    styleElement.setAttribute(ssrIdKey, obj.id)\n  }\n\n  if (sourceMap) {\n    // https://developer.chrome.com/devtools/docs/javascript-debugging\n    // this makes source maps inside style tags work properly in Chrome\n    css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n    // http://stackoverflow.com/a/26603875\n    css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n  }\n\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = css\n  } else {\n    while (styleElement.firstChild) {\n      styleElement.removeChild(styleElement.firstChild)\n    }\n    styleElement.appendChild(document.createTextNode(css))\n  }\n}\n\n\n/***/ }),\n\n/***/ \"sB3e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(\"52gC\");\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"tTVk\":\n/***/ (function(module, exports) {\n\n/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nmodule.exports = function listToStyles (parentId, list) {\n  var styles = []\n  var newStyles = {}\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i]\n    var id = item[0]\n    var css = item[1]\n    var media = item[2]\n    var sourceMap = item[3]\n    var part = {\n      id: parentId + ':' + i,\n      css: css,\n      media: media,\n      sourceMap: sourceMap\n    }\n    if (!newStyles[id]) {\n      styles.push(newStyles[id] = { id: id, parts: [part] })\n    } else {\n      newStyles[id].parts.push(part)\n    }\n  }\n  return styles\n}\n\n\n/***/ }),\n\n/***/ \"vFc/\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(\"TcQ7\");\nvar toLength = __webpack_require__(\"QRG4\");\nvar toAbsoluteIndex = __webpack_require__(\"fkB2\");\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ \"vIB/\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(\"O4g8\");\nvar $export = __webpack_require__(\"kM2E\");\nvar redefine = __webpack_require__(\"880/\");\nvar hide = __webpack_require__(\"hJx8\");\nvar has = __webpack_require__(\"D2L2\");\nvar Iterators = __webpack_require__(\"/bQp\");\nvar $iterCreate = __webpack_require__(\"94VQ\");\nvar setToStringTag = __webpack_require__(\"e6n0\");\nvar getPrototypeOf = __webpack_require__(\"PzxK\");\nvar ITERATOR = __webpack_require__(\"dSzd\")('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = (!BUGGY && $native) || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n\n/***/ \"weKZ\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n// EXTERNAL MODULE: ./node_modules/babel-runtime/core-js/array/from.js\nvar from = __webpack_require__(\"c/Tr\");\nvar from_default = /*#__PURE__*/__webpack_require__.n(from);\n\n// CONCATENATED MODULE: ./src/components/icons.js\nvar qiniu = function qiniu(name) {\n  return 'https://om4m02471.qnssl.com/2018/editor/' + name + '.svg?2';\n};\n\nvar names = ['bold', 'italic', 'underline', 'strikethrough', 'color', 'listOrdered', 'listUnordered', 'listCheck', 'indent', 'outdent', 'alignLeft', 'alignCenter', 'alignRight', 'undo', 'redo', 'removeFormat', 'insertVideo', 'insertLink', 'insertImage', 'insertLine', 'insertQuote', 'insertBlock'];\nvar icons = {};\n\nnames.forEach(function (name) {\n  icons[name] = qiniu(name.toLowerCase());\n});\n\n/* harmony default export */ var components_icons = (icons);\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/ColorPicker.vue\n//\n//\n//\n//\n//\n//\n//\n\n// import tippy from '../../node_modules/tippy.js/dist/tippy.min.js'\n\n/* harmony default export */ var ColorPicker = ({\n  name: 'ColorPicker',\n  data: function data() {\n    return {\n      selectColor: '#ffffff',\n      names: ['白', '漆黑', '红', '橙', '黄', '葱绿', '湖蓝', '天色', '紫', '白练', '鼠', '虹', '薄卵', '蒸栗', '白绿', '蓝白', '天空', '紫水晶', '白鼠', '墨', '甚三红', '雄黄', '金子', '薄青', '白群', '薄花', '紫苑', '灰青', '石墨', '红绯', '红金', '枯茶', '绿青', '浅葱', '薄缥', '紫霞', '薄钝', '黑', '朱绯', '褐', '黑茶', '深绿', '苍蓝', '琉璃', '葡萄'],\n      colors: ['#ffffff', '#0d0015', '#fe2c23', '#ff9900', '#ffd900', '#a3e043', '#37d9f0', '#4da8ee', '#aa17d0', '#f3f3f1', '#949494', '#fcdbd6', '#fde9d0', '#fff0cf', '#d4e9d6', '#def3f3', '#cee0ef', '#dfdbec', '#dcdedd', '#595856', '#ee837d', '#f8c387', '#e6b322', '#9abd9d', '#83ccd2', '#89b0ce', '#9389b1', '#c1c6ca', '#41464b', '#d51228', '#cf770b', '#8d634a', '#557b5c', '#01a3b0', '#3776a6', '#765c83', '#adadad', '#2b2b2b', '#a91913', '#884702', '#563725', '#00552e', '#00767a', '#194e77', '#530e6f']\n    };\n  },\n\n  props: ['ColorPickerClick'],\n  methods: {\n    handleColorHover: function handleColorHover(index) {\n      this.selectColor = this.colors[index];\n      // tippy(document.querySelectorAll('.color-picker-options span')[index])\n    },\n    handleColorClick: function handleColorClick(index) {\n      this.selectColor = this.colors[index];\n      this.ColorPickerClick(this.selectColor);\n    }\n  }\n});\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0684bb51\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/ColorPicker.vue\nvar render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"span\",\n    { staticClass: \"color-picker-options\" },\n    [\n      _vm._l(_vm.colors, function(color, index) {\n        return _c(\"span\", {\n          staticClass: \"ql-picker-item ql-primary\",\n          style: { backgroundColor: color },\n          attrs: {\n            \"data-light\": \"light\",\n            \"data-value\": color,\n            title: _vm.names[index]\n          },\n          on: {\n            click: function($event) {\n              _vm.handleColorClick(index)\n            },\n            mouseover: function($event) {\n              _vm.handleColorHover(index)\n            }\n          }\n        })\n      }),\n      _vm._v(\" \"),\n      _c(\"input\", {\n        directives: [\n          {\n            name: \"model\",\n            rawName: \"v-model\",\n            value: _vm.selectColor,\n            expression: \"selectColor\"\n          }\n        ],\n        staticClass: \"color-input\",\n        attrs: {\n          type: \"text\",\n          autocomplete: \"off\",\n          autocorrect: \"off\",\n          autocapitalize: \"off\",\n          spellcheck: \"false\",\n          maxlength: \"6\"\n        },\n        domProps: { value: _vm.selectColor },\n        on: {\n          input: function($event) {\n            if ($event.target.composing) {\n              return\n            }\n            _vm.selectColor = $event.target.value\n          }\n        }\n      })\n    ],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ var components_ColorPicker = (esExports);\nif (false) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-0684bb51\", esExports)\n  }\n}\n// CONCATENATED MODULE: ./src/components/ColorPicker.vue\nvar disposed = false\nfunction injectStyle (ssrContext) {\n  if (disposed) return\n  __webpack_require__(\"15Ws\")\n}\nvar normalizeComponent = __webpack_require__(\"VU/8\")\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  ColorPicker,\n  components_ColorPicker,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/ColorPicker.vue\"\n\n/* hot reload */\nif (false) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-0684bb51\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-0684bb51\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\n/* harmony default export */ var src_components_ColorPicker = (Component.exports);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/TitlePicker.vue\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ var TitlePicker = ({\n  name: 'FontSizePicker',\n  data: function data() {\n    return {\n      sizes: ['H1', 'H2', 'H3', 'H4', 'H5', '正文'],\n      current: '正文'\n    };\n  },\n\n  props: ['titlePickerClick'],\n  methods: {\n    getHtml: function getHtml(size, index) {\n      if (index === this.sizes.length - 1) {\n        return size;\n      }\n      return '<' + size + '>' + size + '</' + size + '>';\n    },\n    handleFontSizeClick: function handleFontSizeClick(size, index) {\n      this.current = size;\n      this.titlePickerClick(size, index);\n    }\n  }\n});\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ff6b7ff4\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/TitlePicker.vue\nvar TitlePicker_render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"title-options\" }, [\n    _c(\n      \"ul\",\n      _vm._l(_vm.sizes, function(size, index) {\n        return _c(\n          \"li\",\n          {\n            class: { fontSizeActive: _vm.current === size },\n            on: {\n              click: function($event) {\n                $event.stopPropagation()\n                _vm.handleFontSizeClick(size, index)\n              }\n            }\n          },\n          [\n            _c(\"div\", {\n              domProps: { innerHTML: _vm._s(_vm.getHtml(size, index)) }\n            })\n          ]\n        )\n      })\n    )\n  ])\n}\nvar TitlePicker_staticRenderFns = []\nTitlePicker_render._withStripped = true\nvar TitlePicker_esExports = { render: TitlePicker_render, staticRenderFns: TitlePicker_staticRenderFns }\n/* harmony default export */ var components_TitlePicker = (TitlePicker_esExports);\nif (false) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-ff6b7ff4\", TitlePicker_esExports)\n  }\n}\n// CONCATENATED MODULE: ./src/components/TitlePicker.vue\nvar TitlePicker_disposed = false\nfunction TitlePicker_injectStyle (ssrContext) {\n  if (TitlePicker_disposed) return\n  __webpack_require__(\"N7M7\")\n}\nvar TitlePicker_normalizeComponent = __webpack_require__(\"VU/8\")\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar TitlePicker___vue_template_functional__ = false\n/* styles */\nvar TitlePicker___vue_styles__ = TitlePicker_injectStyle\n/* scopeId */\nvar TitlePicker___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar TitlePicker___vue_module_identifier__ = null\nvar TitlePicker_Component = TitlePicker_normalizeComponent(\n  TitlePicker,\n  components_TitlePicker,\n  TitlePicker___vue_template_functional__,\n  TitlePicker___vue_styles__,\n  TitlePicker___vue_scopeId__,\n  TitlePicker___vue_module_identifier__\n)\nTitlePicker_Component.options.__file = \"src/components/TitlePicker.vue\"\n\n/* hot reload */\nif (false) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-ff6b7ff4\", TitlePicker_Component.options)\n  } else {\n    hotAPI.reload(\"data-v-ff6b7ff4\", TitlePicker_Component.options)\n  }\n  module.hot.dispose(function (data) {\n    TitlePicker_disposed = true\n  })\n})()}\n\n/* harmony default export */ var src_components_TitlePicker = (TitlePicker_Component.exports);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/InsertLink.vue\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var InsertLink = ({\n  name: 'InsertLink',\n  data: function data() {\n    return {\n      link: '',\n      text: ''\n    };\n  },\n\n  props: ['insertLink', 'cancel', 'propText'],\n  methods: {\n    conformClick: function conformClick() {\n      this.insertLink(this.link, this.text);\n    },\n    cancelClick: function cancelClick() {\n      this.cancel();\n    }\n  },\n  watch: {\n    'propText': function propText() {\n      this.text = this.propText;\n      this.link = this.propLink;\n    }\n  }\n});\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4b369b03\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/InsertLink.vue\nvar InsertLink_render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"insert-link\" }, [\n    _c(\"div\", { staticClass: \"insert-link-box\" }, [\n      _c(\"span\", { staticClass: \"cancel\", on: { click: _vm.cancelClick } }, [\n        _vm._v(\"X\")\n      ]),\n      _vm._v(\" \"),\n      _c(\"p\", [_vm._v(\"插入链接\")]),\n      _vm._v(\" \"),\n      _c(\"input\", {\n        directives: [\n          {\n            name: \"model\",\n            rawName: \"v-model\",\n            value: _vm.text,\n            expression: \"text\"\n          }\n        ],\n        attrs: { type: \"text\", name: \"text\", placeholder: \"链接文本\" },\n        domProps: { value: _vm.text },\n        on: {\n          keyup: function($event) {\n            if (\n              !(\"button\" in $event) &&\n              _vm._k($event.keyCode, \"enter\", 13, $event.key)\n            ) {\n              return null\n            }\n            _vm.conformClick($event)\n          },\n          input: function($event) {\n            if ($event.target.composing) {\n              return\n            }\n            _vm.text = $event.target.value\n          }\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\"input\", {\n        directives: [\n          {\n            name: \"model\",\n            rawName: \"v-model\",\n            value: _vm.link,\n            expression: \"link\"\n          }\n        ],\n        attrs: { type: \"text\", name: \"link\", placeholder: \"链接地址\" },\n        domProps: { value: _vm.link },\n        on: {\n          input: function($event) {\n            if ($event.target.composing) {\n              return\n            }\n            _vm.link = $event.target.value\n          }\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\"button\", { on: { click: _vm.conformClick } }, [_vm._v(\" 确认\")])\n    ])\n  ])\n}\nvar InsertLink_staticRenderFns = []\nInsertLink_render._withStripped = true\nvar InsertLink_esExports = { render: InsertLink_render, staticRenderFns: InsertLink_staticRenderFns }\n/* harmony default export */ var components_InsertLink = (InsertLink_esExports);\nif (false) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-4b369b03\", InsertLink_esExports)\n  }\n}\n// CONCATENATED MODULE: ./src/components/InsertLink.vue\nvar InsertLink_disposed = false\nfunction InsertLink_injectStyle (ssrContext) {\n  if (InsertLink_disposed) return\n  __webpack_require__(\"71dq\")\n}\nvar InsertLink_normalizeComponent = __webpack_require__(\"VU/8\")\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar InsertLink___vue_template_functional__ = false\n/* styles */\nvar InsertLink___vue_styles__ = InsertLink_injectStyle\n/* scopeId */\nvar InsertLink___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar InsertLink___vue_module_identifier__ = null\nvar InsertLink_Component = InsertLink_normalizeComponent(\n  InsertLink,\n  components_InsertLink,\n  InsertLink___vue_template_functional__,\n  InsertLink___vue_styles__,\n  InsertLink___vue_scopeId__,\n  InsertLink___vue_module_identifier__\n)\nInsertLink_Component.options.__file = \"src/components/InsertLink.vue\"\n\n/* hot reload */\nif (false) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-4b369b03\", InsertLink_Component.options)\n  } else {\n    hotAPI.reload(\"data-v-4b369b03\", InsertLink_Component.options)\n  }\n  module.hot.dispose(function (data) {\n    InsertLink_disposed = true\n  })\n})()}\n\n/* harmony default export */ var src_components_InsertLink = (InsertLink_Component.exports);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/InsertVideo.vue\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var InsertVideo = ({\n  name: 'InsertVideo',\n  data: function data() {\n    return {\n      text: ''\n    };\n  },\n\n  props: ['insertVideo', 'cancel'],\n  methods: {\n    conformClick: function conformClick() {\n      this.insertVideo(this.text);\n    },\n    cancelClick: function cancelClick() {\n      this.cancel();\n    }\n  },\n  mounted: function mounted() {\n    document.querySelector('.insert-video-box input').focus();\n  }\n});\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-62fe0b7c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/InsertVideo.vue\nvar InsertVideo_render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"insert-video\" }, [\n    _c(\"div\", { staticClass: \"insert-video-box\" }, [\n      _c(\"span\", { staticClass: \"cancel\", on: { click: _vm.cancelClick } }, [\n        _vm._v(\"X\")\n      ]),\n      _vm._v(\" \"),\n      _c(\"p\", [_vm._v(\"插入视频\")]),\n      _vm._v(\" \"),\n      _c(\"input\", {\n        directives: [\n          {\n            name: \"model\",\n            rawName: \"v-model\",\n            value: _vm.text,\n            expression: \"text\"\n          }\n        ],\n        attrs: {\n          type: \"text\",\n          name: \"text\",\n          placeholder: \"复制通用代码 <iframe src='...'></iframe>\"\n        },\n        domProps: { value: _vm.text },\n        on: {\n          keyup: function($event) {\n            if (\n              !(\"button\" in $event) &&\n              _vm._k($event.keyCode, \"enter\", 13, $event.key)\n            ) {\n              return null\n            }\n            _vm.conformClick($event)\n          },\n          input: function($event) {\n            if ($event.target.composing) {\n              return\n            }\n            _vm.text = $event.target.value\n          }\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\"button\", { on: { click: _vm.conformClick } }, [_vm._v(\" 确认\")])\n    ])\n  ])\n}\nvar InsertVideo_staticRenderFns = []\nInsertVideo_render._withStripped = true\nvar InsertVideo_esExports = { render: InsertVideo_render, staticRenderFns: InsertVideo_staticRenderFns }\n/* harmony default export */ var components_InsertVideo = (InsertVideo_esExports);\nif (false) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-62fe0b7c\", InsertVideo_esExports)\n  }\n}\n// CONCATENATED MODULE: ./src/components/InsertVideo.vue\nvar InsertVideo_disposed = false\nfunction InsertVideo_injectStyle (ssrContext) {\n  if (InsertVideo_disposed) return\n  __webpack_require__(\"FzbY\")\n}\nvar InsertVideo_normalizeComponent = __webpack_require__(\"VU/8\")\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar InsertVideo___vue_template_functional__ = false\n/* styles */\nvar InsertVideo___vue_styles__ = InsertVideo_injectStyle\n/* scopeId */\nvar InsertVideo___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar InsertVideo___vue_module_identifier__ = null\nvar InsertVideo_Component = InsertVideo_normalizeComponent(\n  InsertVideo,\n  components_InsertVideo,\n  InsertVideo___vue_template_functional__,\n  InsertVideo___vue_styles__,\n  InsertVideo___vue_scopeId__,\n  InsertVideo___vue_module_identifier__\n)\nInsertVideo_Component.options.__file = \"src/components/InsertVideo.vue\"\n\n/* hot reload */\nif (false) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-62fe0b7c\", InsertVideo_Component.options)\n  } else {\n    hotAPI.reload(\"data-v-62fe0b7c\", InsertVideo_Component.options)\n  }\n  module.hot.dispose(function (data) {\n    InsertVideo_disposed = true\n  })\n})()}\n\n/* harmony default export */ var src_components_InsertVideo = (InsertVideo_Component.exports);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/Insert.vue\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ var Insert = ({\n  name: 'Insert',\n  data: function data() {\n    return {\n      icons: components_icons,\n      labels: ['图片', '分割线', '视频', '代码块'],\n      names: ['insertImage', 'insertLine', 'insertVideo', 'insertBlock']\n    };\n  },\n\n  props: ['insertImageClick', 'insertLink', 'insertLine', 'insertVideo', 'insertBlock', 'uploadImages'],\n  methods: {\n    handleFileChange: function handleFileChange() {\n      var input = this.$refs.input[0];\n      var files = input.files;\n      this.uploadImages(files);\n    },\n    insertClick: function insertClick(key, index) {\n      if (this[key]) {\n        this[key]();\n      }\n    }\n  }\n});\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-25956469\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Insert.vue\nvar Insert_render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"insert-options-items\" }, [\n    _c(\n      \"ul\",\n      _vm._l(_vm.names, function(key, index) {\n        return _c(\n          \"li\",\n          {\n            on: {\n              click: function($event) {\n                _vm.insertClick(key, index)\n              }\n            }\n          },\n          [\n            index === 0\n              ? _c(\"input\", {\n                  ref: \"input\",\n                  refInFor: true,\n                  attrs: {\n                    id: \"images_upload\",\n                    type: \"file\",\n                    accept:\n                      \"image/gif,image/jpeg,image/jpg,image/png,image/svg\",\n                    multiple: \"multiple\"\n                  },\n                  on: { change: _vm.handleFileChange }\n                })\n              : _vm._e(),\n            _vm._v(\" \"),\n            _c(\"img\", { class: key, attrs: { src: _vm.icons[key] } }),\n            _vm._v(\" \"),\n            _c(\"span\", [_vm._v(_vm._s(_vm.labels[index]))])\n          ]\n        )\n      })\n    )\n  ])\n}\nvar Insert_staticRenderFns = []\nInsert_render._withStripped = true\nvar Insert_esExports = { render: Insert_render, staticRenderFns: Insert_staticRenderFns }\n/* harmony default export */ var components_Insert = (Insert_esExports);\nif (false) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-25956469\", Insert_esExports)\n  }\n}\n// CONCATENATED MODULE: ./src/components/Insert.vue\nvar Insert_disposed = false\nfunction Insert_injectStyle (ssrContext) {\n  if (Insert_disposed) return\n  __webpack_require__(\"RSMv\")\n}\nvar Insert_normalizeComponent = __webpack_require__(\"VU/8\")\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar Insert___vue_template_functional__ = false\n/* styles */\nvar Insert___vue_styles__ = Insert_injectStyle\n/* scopeId */\nvar Insert___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar Insert___vue_module_identifier__ = null\nvar Insert_Component = Insert_normalizeComponent(\n  Insert,\n  components_Insert,\n  Insert___vue_template_functional__,\n  Insert___vue_styles__,\n  Insert___vue_scopeId__,\n  Insert___vue_module_identifier__\n)\nInsert_Component.options.__file = \"src/components/Insert.vue\"\n\n/* hot reload */\nif (false) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-25956469\", Insert_Component.options)\n  } else {\n    hotAPI.reload(\"data-v-25956469\", Insert_Component.options)\n  }\n  module.hot.dispose(function (data) {\n    Insert_disposed = true\n  })\n})()}\n\n/* harmony default export */ var src_components_Insert = (Insert_Component.exports);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/SMEditor.vue\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n// import tippy from '../../node_modules/tippy.js/dist/tippy.min.js'\nvar remove = function remove(arr, val) {\n  var index = arr.indexOf(val);\n  if (index > -1) {\n    arr.splice(index, 1);\n  }\n};\n\nvar editorElement = function editorElement() {\n  return document.querySelector('.smeditor .input-area');\n};\n\n/* harmony default export */ var SMEditor = ({\n  name: 'smeditor',\n  components: {\n    'color-picker': src_components_ColorPicker,\n    'title-picker': src_components_TitlePicker,\n    'insert-options': src_components_Insert,\n    'insert-link': src_components_InsertLink,\n    'insert-video': src_components_InsertVideo\n  },\n  props: ['config'],\n  data: function data() {\n    return {\n      // 图标\n      icons: components_icons,\n      // 样式\n      styles: [],\n      // 基本样式名称\n      basicIcons: ['bold', 'underline', 'italic', 'strikethrough'],\n      basicStyleNames: ['粗体', '斜体', '下划线', '中划线'],\n      // 调色盘是否显示\n      isColorPickerShow: false,\n      // 标题选择是否显示\n      isTitlePickerShow: false,\n      // 字号选项是否显示\n      isFontSizePickerShow: false,\n      // 插入选项是否显示\n      isInsertShow: false,\n      // 插入链接是否显示\n      isInsertLinkShow: false,\n      // 插入视频是否显示\n      isInsertVideoShow: false,\n      // 选中文字内容\n      selectWords: '',\n      // 字号\n      fontSize: 16,\n      // 光标\n      cursor: {},\n      // 鼠标选中节点\n      selectNode: {},\n      buttonsBarFixed: false,\n      insertLinkSection: {\n        node: '',\n        start: 0,\n        end: 0,\n        text: '',\n        link: ''\n      }\n    };\n  },\n\n  methods: {\n    // 回车事件\n    kenter: function kenter(e) {\n      e.stopPropagation();\n      if (this.styles.length === 0) {\n        return false;\n      }\n    },\n\n    // 鼠标事件\n    mouseup: function mouseup() {\n      var _this = this;\n\n      this.selectNode = getSelectedNode();\n      var str = window.getSelection().toString();\n      if (str.length < 1) {\n        return false;\n      }\n      this.selectWords = str;\n      setTimeout(function () {\n        _this.selectWords = '';\n      }, 1500);\n    },\n\n    // 鼠标事件\n    mouseover: function mouseover(event) {\n      var target = '';\n      event.path.forEach(function (el) {\n        if (el.localName === 'button' && target === '') {\n          target = el;\n        }\n      });\n      // tippy(target, {\n      //   placement: 'bottom',\n      //   animation: 'shift-away',\n      //   duration: 100,\n      //   arrow: true\n      // })\n    },\n\n    // 重做\n    redo: function redo() {\n      document.execCommand('redo');\n    },\n\n    // 撤销\n    undo: function undo() {\n      document.execCommand('undo');\n    },\n\n    // 移除格式\n    removeFormat: function removeFormat() {\n      document.execCommand('removeFormat', false, '');\n      document.execCommand('insertHTML', false, '<p></p>');\n      this.styles = [];\n      this.FontSize = 16;\n    },\n\n    // 字号选项点击\n    fontSizePickerClick: function fontSizePickerClick(size, index) {\n      document.execCommand('FontSize', false, index + 1);\n      this.fontSize = size;\n      this.closeAlert();\n    },\n\n    // 标题按钮点击\n    titleButtonClick: function titleButtonClick() {\n      getCursor(this);\n      this.isTitlePickerShow = !this.isTitlePickerShow;\n    },\n\n    // 标题选项点击\n    titlePickerClick: function titlePickerClick(size, index) {\n      this.closeAlert();\n      var html = '';\n      restoreCursor(this);\n      var node = getSelectedNode();\n      console.log(node, node.localName);\n      // 一共分六种情况\n      // 1. empty <h>\n      // 2. empty <p>\n      if (node.className === editorElement().className || node.className.startsWith('smeditor')) {\n        if (size === '正文') {\n          document.execCommand('insertHTML', false, '<p><span><br></span></p>');\n        } else {\n          document.execCommand('insertHTML', false, '<' + size + '><span><br></span></' + size + '>');\n        }\n        return false;\n      }\n      // 3 h -> p\n      // 4 h -> h+\n      // 5 p -> h\n      // 6 p -> p\n      if (node.localName.startsWith('h') && size === '正文') {\n        html = '<p>' + node.innerHTML + '</p>';\n      } else if (node.localName.startsWith('h') && size.startsWith('H')) {\n        html = '<' + size + '>' + node.innerHTML + '</' + size + '>';\n      } else if (node.innerHTML.length > 0 && node.localName.startsWith('h') === false && size !== '正文') {\n        html = '<' + size + '>' + node.innerHTML + '</' + size + '>';\n      } else {\n        html = '<p>' + node.innerHTML + '</p>';\n      }\n      restoreCursor(this);\n      node.outerHTML = '';\n      document.execCommand('insertHTML', false, html);\n      // const range = document.createRange()\n      // range.selectNodeContents(node)\n      // range.collapse(false)\n      // const selection = window.getSelection()\n      // selection.removeAllRanges()\n      // selection.addRange(range)\n    },\n\n    // 基本样式点击\n    basicStyleClick: function basicStyleClick(name) {\n      var _this2 = this;\n\n      execCmd(this, function () {\n        document.execCommand(name, false, '');\n        if (_this2.styles.indexOf(name) === -1) {\n          _this2.styles.push(name);\n        } else {\n          remove(_this2.styles, name);\n        }\n      });\n    },\n\n    // 调色盘点击\n    colorPickerClick: function colorPickerClick(color) {\n      var _this3 = this;\n\n      // document.querySelector('.ql-color-label').style.fill = color\n      execCmd(this, function () {\n        document.execCommand('forecolor', false, color);\n        _this3.closeAlert();\n      });\n    },\n\n    // 点击插入图片\n    insertImageClick: function insertImageClick(size, index) {\n      this.closeAlert();\n    },\n\n    // 上传图片\n    uploadImages: function uploadImages(files) {\n      var _this4 = this;\n\n      from_default()(files).forEach(function (file) {\n        _this4.upload(file, function (url) {\n          _this4.insertImageHtml(url);\n        });\n      });\n    },\n    upload: function upload(file, success) {\n      var url = this.config.uploadUrl;\n      var xhr = new XMLHttpRequest();\n      var form = new FormData();\n      var self = this;\n      form.append(this.config.uploadName, file);\n      xhr.open('POST', url, true);\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n          if (xhr.status === 200) {\n            var json = JSON.parse(xhr.responseText);\n            var imgUrl = self.config.uploadCallback(json);\n            success(imgUrl);\n          } else {\n            if (self.config.uploadFailed) {\n              self.config.uploadFailed(xhr.responseText);\n            }\n            // 测试网站, 模拟上传\n            if (location.href.indexOf('ericjj.com/smeditor.github.io') > 0) {\n              var _imgUrl = self.config.uploadCallback('');\n              success(_imgUrl);\n            }\n          }\n        }\n      };\n      xhr.send(form);\n    },\n    insertImageHtml: function insertImageHtml(url) {\n      document.execCommand('insertHTML', false, '\\n              <br><div class=\"image-desc\" style=\"text-align: center; color: #333;\">\\n                <img class=\"uploaded-img\" src=' + url + ' max-width=\"100%\" width=\"auto\" height=\"auto\">\\n                <br>\\n                <div class=\"image-caption\" style=\"min-width: 20%; max-width: 80%; height: 35px; display: inline-block; padding: 10px 10px 0px 10px; margin: 0 auto; border-bottom: 1px solid #d9d9d9; font-size: 16px; color: #999; content: \"\";\"></div>\\n              </div>');\n    },\n\n    // 点击插入链接\n    insertLinkClick: function insertLinkClick() {\n      this.closeAlert();\n      this.insertLinkSection.text = window.getSelection().toString();\n      getCursor(this);\n      this.isInsertLinkShow = true;\n    },\n\n    // 插入链接\n    insertLink: function insertLink(url, title) {\n      restoreCursor(this);\n      var node = getSelectedNode();\n      if (node.localName === 'a') {\n        node.outerHTML = '<a href=' + url + ' target=\"_blank\">' + title + '</>';\n        return false;\n      }\n      document.execCommand('insertHTML', false, '<a href=' + url + ' target=\"_blank\">' + title + '</>');\n    },\n\n    // 取消插入链接\n    insertLinkCancel: function insertLinkCancel() {\n      this.closeAlert();\n      this.isInsertLinkShow = false;\n    },\n\n    // 点击插入链接\n    insertVideoClick: function insertVideoClick() {\n      var _this5 = this;\n\n      this.closeAlert();\n      setTimeout(function () {\n        _this5.isInsertVideoShow = true;\n      }, 200);\n      getCursor(this);\n    },\n\n    // 插入链接\n    insertVideo: function insertVideo(text) {\n      restoreCursor(this);\n      document.execCommand('insertHTML', false, text);\n      this.closeAlert();\n    },\n\n    // 取消插入链接\n    insertVideoCancel: function insertVideoCancel() {\n      this.closeAlert();\n    },\n\n    // 插入一条线\n    insertLine: function insertLine() {\n      this.closeAlert();\n      document.execCommand('insertHTML', false, '<p><hr></p>');\n    },\n\n    // 插入代码块\n    insertBlock: function insertBlock() {\n      this.closeAlert();\n      document.execCommand('insertHTML', false, '<pre><code><span><br><span></code></pre>');\n    },\n\n    // 插入引用\n    insertQuote: function insertQuote() {\n      var node = getSelectedNode();\n      // console.log(node)\n      if (node.className === 'input-area') {\n        return false;\n      }\n      if (node.localName === 'blockquote' && node.parentNode.className !== 'input-area') {\n        var str = node.innerHTML;\n        console.log(node.parentNode);\n        node.parentNode.outerHTML = '';\n        document.execCommand('insertHTML', false, '<br><p>' + str + '</p>');\n        this.insertEmptyP();\n      } else if (node.className === 'blockquote') {\n        var _str = node.innerHTML;\n        console.log(_str);\n        document.execCommand('insertHTML', false, '<p>' + _str + '</p>');\n        this.insertEmptyP();\n        node.outerHTML = '';\n      } else if (node.innerHTML.length > 0 && node.className !== 'smeditor' && node.className !== editorElement().className && node.className !== 'blockquote') {\n        document.execCommand('insertHTML', false, '<div class=\"blockquote\"><blockquote style=\"color: #B2B2B2; padding-left: 15px; border-left: 5px solid #B2B2B2; margin-top: 0px; margin-bottom: 0px;\">' + node.innerHTML + '</blockquote></div>');\n        node.outerHTML = '';\n      } else {\n        document.execCommand('insertHTML', false, '<div class=\"blockquote\"><blockquote style=\"color: #B2B2B2; padding-left: 15px; border-left: 5px solid #B2B2B2; margin-top: 0px; margin-bottom: 0px;\"><span><br></span></blockquote></div>');\n      }\n    },\n\n    // 插入 有序/无序 列表\n    insertList: function insertList(name) {\n      this.closeAlert();\n      document.execCommand('insert' + name, false, '');\n    },\n\n    // 插入 todo , 暂时不做\n    insertCheck: function insertCheck() {\n      this.closeAlert();\n      document.execCommand('insertHTML', false, '\\n        <ul class=\"unchecked-list\"><li class=\"unchecked\">&nbsp</li></ul>\\n      ');\n      document.querySelectorAll('.unchecked-list').forEach(function (ul) {\n        ul.childNodes.forEach(function (li) {\n          li.onclick = function (event) {\n            var name = event.target.className === 'unchecked' ? 'checked' : 'unchecked';\n            event.target.className = name;\n            console.log(event.target.className);\n          };\n        });\n      });\n    },\n\n    // 缩进+\n    indent: function indent() {\n      document.execCommand('indent', false, null);\n    },\n\n    // 缩进-\n    outdent: function outdent() {\n      document.execCommand('outdent', false, null);\n    },\n\n    // 对齐\n    align: function align(name) {\n      execCmd(this, function () {\n        document.execCommand('Justify' + name);\n      });\n    },\n\n    // 备份\n    backupClick: function backupClick() {\n      window.localStorage.setItem('smeditor', editorElement().innerHTML);\n    },\n\n    // 恢复\n    restoreClick: function restoreClick() {\n      editorElement().innerHTML = window.localStorage.getItem('smeditor') || '';\n    },\n\n    // 预览\n    previewClick: function previewClick() {\n      window.localStorage.setItem('smeditorPreview', editorElement().innerHTML);\n\n      var _$router$resolve = this.$router.resolve({\n        name: 'Preview'\n      }),\n          href = _$router$resolve.href;\n\n      window.open(href, '_blank');\n    },\n\n    // 关闭弹窗\n    closeAlert: function closeAlert() {\n      var _this6 = this;\n\n      setTimeout(function () {\n        _this6.isFontSizePickerShow = false;\n        _this6.isInsertShow = false;\n        _this6.isColorPickerShow = false;\n        _this6.isInsertVideoShow = false;\n        _this6.isTitlePickerShow = false;\n      }, 200);\n    },\n    insertEmptyP: function insertEmptyP() {\n      document.execCommand('insertHTML', false, '<p><span></br></span></p>');\n    }\n  },\n  mounted: function mounted() {\n    var _this7 = this;\n\n    setTimeout(function () {\n      editorElement().focus();\n      _this7.insertEmptyP();\n      window.addEventListener('scroll', function () {\n        if (_this7.config.onScroll) {\n          _this7.config.onScroll();\n        }\n        var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;\n        var offsetTop = document.querySelector('.smeditor').offsetTop;\n        if (scrollTop > offsetTop) {\n          _this7.buttonsBarFixed = true;\n        } else {\n          _this7.buttonsBarFixed = false;\n        }\n      });\n    }, 100);\n    addEvents(this);\n  }\n});\n\nfunction addEvents(self) {\n  editorElement().onfocus = function (event) {\n    self.closeAlert();\n  };\n  // 回车事件\n  editorElement().onkeypress = function (event) {\n    var el = getSelectedNode();\n    if (event.keyCode === 13 && isImageCaption(el)) {\n      document.execCommand('removeFormat', false, '');\n      this.innerHTML = this.innerHTML + '<p><br></p>';\n      document.getSelection().collapse(this, this.childNodes.length - 1);\n      return false;\n    }\n    if (event.keyCode === 13 && el.className === 'blockquote' && el.lastChild.innerHTML === '<br>') {\n      el.lastChild.innerHTML = '';\n      document.execCommand('removeFormat', false, '');\n      this.innerHTML = this.innerHTML + '<p></p>';\n      document.getSelection().collapse(this, this.childNodes.length - 1);\n      return false;\n    }\n\n    if (event.keyCode === 13 && el.localName === 'pre' && el.lastChild.innerHTML === '<br>') {\n      el.lastChild.innerHTML = '';\n      document.execCommand('removeFormat', false, '');\n      this.innerHTML = this.innerHTML + '<p><span><br></span></p>';\n      document.getSelection().collapse(this, this.childNodes.length - 1);\n      return false;\n    }\n  };\n  // 删除事件\n  editorElement().onkeydown = function (event) {\n    var el = getSelectedNode();\n    if (event.keyCode === 8 && isImageDesc(el)) {\n      el.innerHTML = '<p></p>';\n      return false;\n    }\n    if (el.innerHTML.length <= 1 && event.keyCode === 8 && isImageCaption(el)) {\n      el.innerHTML = '';\n      return false;\n    }\n    if (getSelectedNode().innerHTML.length === 0) {\n      document.execCommand('insertHTML', false, '<p><span></br></span></p>');\n    }\n  };\n  editorElement().addEventListener('paste', function (event) {\n    var items = (event.clipboardData || event.originalEvent.clipboardData).items;\n    for (var index in items) {\n      var item = items[index];\n      if (item.kind === 'file') {\n        event.preventDefault();\n        var blob = item.getAsFile();\n        self.upload(blob, function (url) {\n          self.insertImageHtml(url);\n        });\n      }\n    }\n  }, false);\n}\n\nfunction execCmd(self, callback) {\n  getCursor(self);\n  restoreCursor(self);\n  callback();\n}\n\nfunction getCursor(self) {\n  self.cursor = window.getSelection().getRangeAt(0);\n}\n\n// function delHtmlTag (str) {\n//   return str.replace(/<[^>]+>/g, '')\n// }\n\nfunction isImageCaption(el) {\n  return el.className === 'image-caption';\n}\n\nfunction isImageDesc(el) {\n  return el.className === 'image-desc';\n}\n\nfunction getSelectedNode() {\n  if (document.selection) {\n    return document.selection.createRange().parentElement();\n  } else {\n    var selection = window.getSelection();\n    if (selection.rangeCount > 0) {\n      return selection.getRangeAt(0).startContainer.parentNode;\n    }\n  }\n}\n\nfunction restoreCursor(self) {\n  self.closeAlert();\n  self.isInsertLinkShow = false;\n  editorElement().focus();\n  var savedRange = self.cursor;\n  if (window.getSelection) {\n    var s = window.getSelection();\n    if (s.rangeCount > 0) {\n      s.removeAllRanges();\n    }\n    s.addRange(savedRange);\n  } else if (document.createRange) {\n    window.getSelection().addRange(savedRange);\n  } else if (document.selection) {\n    savedRange.select();\n  }\n}\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7f74acf7\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SMEditor.vue\nvar SMEditor_render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"smeditor\", attrs: { id: \"smeditor\" } },\n    [\n      _c(\n        \"div\",\n        {\n          staticClass: \"buttons\",\n          class: _vm.buttonsBarFixed == true ? \"isFixed\" : \"\"\n        },\n        [\n          _c(\n            \"button\",\n            {\n              staticClass: \"undo\",\n              attrs: { type: \"button\", title: \"撤销\" },\n              on: {\n                click: _vm.undo,\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.undo } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"redo\",\n              attrs: { type: \"button\", title: \"重做\" },\n              on: {\n                click: _vm.redo,\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.redo } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"remove-format\",\n              attrs: { type: \"button\", title: \"清除\" },\n              on: {\n                click: _vm.removeFormat,\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.removeFormat } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"set-font\",\n              attrs: { type: \"button\" },\n              on: {\n                click: function($event) {\n                  $event.stopPropagation()\n                  _vm.titleButtonClick($event)\n                }\n              }\n            },\n            [\n              _c(\"span\", [_vm._v(\"H\")]),\n              _vm._v(\" \"),\n              _c(\"title-picker\", {\n                directives: [\n                  {\n                    name: \"show\",\n                    rawName: \"v-show\",\n                    value: _vm.isTitlePickerShow,\n                    expression: \"isTitlePickerShow\"\n                  }\n                ],\n                attrs: { titlePickerClick: _vm.titlePickerClick }\n              })\n            ],\n            1\n          ),\n          _vm._v(\" \"),\n          _vm._l(_vm.basicIcons, function(name, index) {\n            return _c(\n              \"button\",\n              {\n                class: { buttonsActive: _vm.styles.indexOf(name) > -1 },\n                attrs: {\n                  type: \"button\",\n                  title:\n                    _vm.basicStyleNames[\n                      Object.keys(_vm.basicIcons).indexOf(name)\n                    ]\n                },\n                on: {\n                  click: function($event) {\n                    _vm.basicStyleClick(name)\n                  },\n                  mouseover: function($event) {\n                    $event.stopPropagation()\n                    _vm.mouseover($event)\n                  }\n                }\n              },\n              [_c(\"img\", { attrs: { src: _vm.icons[name] } })]\n            )\n          }),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              attrs: { type: \"button\", title: \"文本颜色\" },\n              on: {\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [\n              _c(\"img\", {\n                attrs: { src: _vm.icons.color },\n                on: {\n                  click: function($event) {\n                    _vm.isColorPickerShow = !_vm.isColorPickerShow\n                  }\n                }\n              }),\n              _vm._v(\" \"),\n              _c(\"color-picker\", {\n                directives: [\n                  {\n                    name: \"show\",\n                    rawName: \"v-show\",\n                    value: _vm.isColorPickerShow,\n                    expression: \"isColorPickerShow\"\n                  }\n                ],\n                attrs: { ColorPickerClick: _vm.colorPickerClick }\n              })\n            ],\n            1\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"indent\",\n              attrs: { type: \"button\", title: \"增加缩进\" },\n              on: {\n                click: function($event) {\n                  $event.stopPropagation()\n                  _vm.indent($event)\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.indent } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"outdent\",\n              attrs: { type: \"button\", title: \"减少缩进\" },\n              on: {\n                click: function($event) {\n                  $event.stopPropagation()\n                  _vm.outdent($event)\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.outdent } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"insert-ol\",\n              attrs: { type: \"button\", title: \"有序列表\" },\n              on: {\n                click: function($event) {\n                  _vm.insertList(\"OrderedList\")\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.listOrdered } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"insert-ul\",\n              attrs: { type: \"button\", title: \"无序列表\" },\n              on: {\n                click: function($event) {\n                  _vm.insertList(\"UnorderedList\")\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.listUnordered } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"align-left\",\n              attrs: { type: \"button\", title: \"左对齐\" },\n              on: {\n                click: function($event) {\n                  _vm.align(\"Left\")\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.alignLeft } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"align-center\",\n              attrs: { type: \"button\", title: \"居中对齐\" },\n              on: {\n                click: function($event) {\n                  _vm.align(\"Center\")\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.alignCenter } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"align-right\",\n              attrs: { type: \"button\", title: \"右对齐\" },\n              on: {\n                click: function($event) {\n                  _vm.align(\"Right\")\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.alignRight } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"insert-quote\",\n              attrs: { type: \"button\" },\n              on: { click: _vm.insertQuote }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.insertQuote } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"insert-link\",\n              attrs: { type: \"button\", title: \"插入链接\" },\n              on: {\n                click: _vm.insertLinkClick,\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.insertLink } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"insert-options\",\n              attrs: { type: \"button\" },\n              on: {\n                click: function($event) {\n                  _vm.isInsertShow = !_vm.isInsertShow\n                }\n              }\n            },\n            [\n              _c(\"span\", { staticClass: \"insert-options-label\" }),\n              _vm._v(\" \"),\n              _c(\"insert-options\", {\n                directives: [\n                  {\n                    name: \"show\",\n                    rawName: \"v-show\",\n                    value: _vm.isInsertShow,\n                    expression: \"isInsertShow\"\n                  }\n                ],\n                attrs: {\n                  insertImage: _vm.insertImageClick,\n                  insertLine: _vm.insertLine,\n                  insertVideo: _vm.insertVideoClick,\n                  insertBlock: _vm.insertBlock,\n                  uploadImages: _vm.uploadImages\n                }\n              })\n            ],\n            1\n          ),\n          _vm._v(\" \"),\n          _c(\"button\", {\n            staticClass: \"backup\",\n            attrs: { type: \"button\", title: \"Ctrl + S\" },\n            on: {\n              click: _vm.backupClick,\n              mouseover: function($event) {\n                $event.stopPropagation()\n                _vm.mouseover($event)\n              }\n            }\n          }),\n          _vm._v(\" \"),\n          _c(\"button\", {\n            staticClass: \"restore\",\n            attrs: { type: \"button\" },\n            on: { click: _vm.restoreClick }\n          }),\n          _vm._v(\" \"),\n          _c(\"button\", {\n            staticClass: \"preview\",\n            attrs: { type: \"button\", title: \"Ctrl + P\" },\n            on: {\n              click: _vm.previewClick,\n              mouseover: function($event) {\n                $event.stopPropagation()\n                _vm.mouseover($event)\n              }\n            }\n          })\n        ],\n        2\n      ),\n      _vm._v(\" \"),\n      _c(\"div\", {\n        staticClass: \"input-area\",\n        attrs: {\n          contenteditable: \"true\",\n          autocorrect: \"off\",\n          autocomplete: \"off\",\n          spellcheck: \"false\",\n          id: \"input-area\"\n        },\n        on: {\n          mouseup: _vm.mouseup,\n          keyup: [\n            function($event) {\n              if (\n                !(\"button\" in $event) &&\n                _vm._k($event.keyCode, \"enter\", 13, $event.key)\n              ) {\n                return null\n              }\n              _vm.kenter($event)\n            },\n            function($event) {\n              if (!(\"button\" in $event) && $event.keyCode !== 83) {\n                return null\n              }\n              if (!$event.ctrlKey) {\n                return null\n              }\n              _vm.backupClick($event)\n            },\n            function($event) {\n              if (!(\"button\" in $event) && $event.keyCode !== 80) {\n                return null\n              }\n              if (!$event.ctrlKey) {\n                return null\n              }\n              _vm.previewClick($event)\n            }\n          ]\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\n        \"p\",\n        {\n          directives: [\n            {\n              name: \"show\",\n              rawName: \"v-show\",\n              value: _vm.selectWords,\n              expression: \"selectWords\"\n            }\n          ],\n          staticClass: \"select-words\"\n        },\n        [_vm._v(_vm._s(_vm.selectWords.length) + \"个字\")]\n      ),\n      _vm._v(\" \"),\n      _c(\"insert-link\", {\n        directives: [\n          {\n            name: \"show\",\n            rawName: \"v-show\",\n            value: _vm.isInsertLinkShow,\n            expression: \"isInsertLinkShow\"\n          }\n        ],\n        attrs: {\n          insertLink: _vm.insertLink,\n          propText: _vm.insertLinkSection.text,\n          propLink: _vm.insertLinkSection.link,\n          cancel: _vm.insertLinkCancel\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\"insert-video\", {\n        directives: [\n          {\n            name: \"show\",\n            rawName: \"v-show\",\n            value: _vm.isInsertVideoShow,\n            expression: \"isInsertVideoShow\"\n          }\n        ],\n        attrs: { insertVideo: _vm.insertVideo, cancel: _vm.insertVideoCancel }\n      })\n    ],\n    1\n  )\n}\nvar SMEditor_staticRenderFns = []\nSMEditor_render._withStripped = true\nvar SMEditor_esExports = { render: SMEditor_render, staticRenderFns: SMEditor_staticRenderFns }\n/* harmony default export */ var components_SMEditor = (SMEditor_esExports);\nif (false) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-7f74acf7\", SMEditor_esExports)\n  }\n}\n// CONCATENATED MODULE: ./src/components/SMEditor.vue\nvar SMEditor_disposed = false\nfunction SMEditor_injectStyle (ssrContext) {\n  if (SMEditor_disposed) return\n  __webpack_require__(\"oxVd\")\n}\nvar SMEditor_normalizeComponent = __webpack_require__(\"VU/8\")\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar SMEditor___vue_template_functional__ = false\n/* styles */\nvar SMEditor___vue_styles__ = SMEditor_injectStyle\n/* scopeId */\nvar SMEditor___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar SMEditor___vue_module_identifier__ = null\nvar SMEditor_Component = SMEditor_normalizeComponent(\n  SMEditor,\n  components_SMEditor,\n  SMEditor___vue_template_functional__,\n  SMEditor___vue_styles__,\n  SMEditor___vue_scopeId__,\n  SMEditor___vue_module_identifier__\n)\nSMEditor_Component.options.__file = \"src/components/SMEditor.vue\"\n\n/* hot reload */\nif (false) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-7f74acf7\", SMEditor_Component.options)\n  } else {\n    hotAPI.reload(\"data-v-7f74acf7\", SMEditor_Component.options)\n  }\n  module.hot.dispose(function (data) {\n    SMEditor_disposed = true\n  })\n})()}\n\n/* harmony default export */ var src_components_SMEditor = (SMEditor_Component.exports);\n\n// CONCATENATED MODULE: ./src/smeditor.js\n\n\nvar smeditor_install = function install(Vue) {\n  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  /* istanbul ignore if */\n  if (install.installed) return;\n\n  Vue.component(src_components_SMEditor.name, src_components_SMEditor);\n};\n\n// auto install\nif (typeof window !== 'undefined' && window.Vue) {\n  smeditor_install(window.Vue);\n}\n\n/* harmony default export */ var smeditor = __webpack_exports__[\"default\"] = (src_components_SMEditor);\n\n/***/ }),\n\n/***/ \"xnc9\":\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ \"zQR9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(\"h65t\")(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(\"vIB/\")(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ })\n\n/******/ });\n});\n\n\n// WEBPACK FOOTER //\n// smeditor.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/release/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"weKZ\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2e5521c0b8023f2b1dbd","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = +E39\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = +ZMJ\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = /bQp\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0684bb51\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./ColorPicker.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"2cf024d2\", content, false, {});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0684bb51\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./ColorPicker.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0684bb51\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./ColorPicker.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader!./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-0684bb51\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/ColorPicker.vue\n// module id = 15Ws\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 3Eo+\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 3fs2\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 52gC\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/array/from.js\n// module id = 5zde\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4b369b03\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./InsertLink.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"0eee9e7e\", content, false, {});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4b369b03\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./InsertLink.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4b369b03\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./InsertLink.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader!./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-4b369b03\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/InsertLink.vue\n// module id = 71dq\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 77Pl\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 7KvD\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 880/\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 94VQ\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.insert-link {\\n  position: fixed;\\n  top: 0px;\\n  left: 0;\\n  background-color: rgba(255, 255, 255, 1);\\n  height: 100%;\\n  width: 100%;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  z-index: 100;\\n}\\n.insert-link-box {\\n  position: relative;\\n  padding: 30px 20px;\\n  border-radius: 6px;\\n  margin: 0 auto 24px;\\n  background-clip: padding-box;\\n  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,.2);\\n          box-shadow: 0 2px 8px rgba(0,0,0,.2);\\n}\\n.insert-link p {\\n  text-align: center;\\n  padding: 20px 0px;\\n  font-size: 25px;\\n}\\n.insert-link input {\\n  text-align: left;\\n  margin: 5px 0px;\\n  border: 1px solid rgb(200,200,200);\\n  font-size: 14px;\\n  padding: 10px 5px;\\n  width: calc(100% - 20px);\\n}\\n.insert-link button {\\n  outline: none;\\n  cursor: pointer;\\n  margin-left: calc(50% - 40px);\\n  margin-top: 10px;\\n  width: 80px;\\n  height: 40px;\\n  border: none;\\n  text-align: center;\\n  color: #898989;\\n  background-color: #fff;\\n  font-size: 15px;\\n  border-radius: 1px;\\n  -webkit-border-radius: 1px;\\n  -moz-border-radius: 1px;\\n  white-space: nowrap;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  -webkit-transition: all .2s ease-in;\\n  transition: all .2s ease-in;\\n  -webkit-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -ms-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -o-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  box-shadow: 1px 2px 8px hsla(0,0%,70%,.8);\\n  -webkit-transition-property: right;\\n  transition-property: right;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n.insert-link .cancel {\\n  position: absolute;\\n  top: 10px;\\n  right: 10px;\\n  z-index: 2;\\n  font-size: 20px;\\n  width: 40px;\\n  height: 40px;\\n  text-align: center;\\n  line-height: 40px;\\n  cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-4b369b03\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/InsertLink.vue\n// module id = B1bR\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = D2L2\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.insert-options-items {\\n  width: 120px;\\n  padding: 5px 0px;\\n  border-radius: 2px;\\n  position: absolute;\\n  -webkit-box-shadow: 0 1px 2px #ccc;\\n          box-shadow: 0 1px 2px #ccc;\\n  background-color: #fff;\\n  margin-top: 35px;\\n  text-align: left;\\n  z-index: 3;\\n}\\n.insert-options-items ul {\\n  list-style: none;\\n  padding: 0;\\n  margin: 0;\\n}\\n.insert-options-items ul li {\\n  padding: 5px 20px;\\n  color: #333;\\n  font-size: 12px;\\n  position: relative;\\n  cursor: pointer;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n}\\n.insert-options-items ul li:hover, .insertActive {\\n  background-color: #E5E5E5;\\n}\\n.insert-options-items img {\\n  width: 20px;\\n  height: 20px;\\n  top: 1px;\\n  position: relative;\\n  margin-right: 15px;\\n}\\n.insert-options-items #images_upload {\\n  position: absolute;\\n  z-index: 2;\\n  top: 0;\\n  left: 0;\\n  width: 100%;\\n  height: 100%;\\n  opacity: 0;\\n  cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-25956469\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Insert.vue\n// module id = D5f8\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.title-options {\\n  width: 60px;\\n  text-align: justify;\\n  padding: 5px 0px;\\n  border-radius: 2px;\\n  position: absolute;\\n  -webkit-box-shadow: 0 1px 2px #ccc;\\n          box-shadow: 0 1px 2px #ccc;\\n  background-color: #fff;\\n  margin-top: 10px;\\n  text-align: center;\\n  margin-left: -15px;\\n}\\n.title-options ul {\\n  list-style: none;\\n  padding: 0px;\\n  margin: 0px;\\n  font-size: 14px;\\n  color: #333;\\n}\\n.title-options ul li {\\n  padding: 5px;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n.title-options ul li:hover, .fontSizeActive {\\n  background-color: #E5E5E5;\\n}\\n.title-options h1,\\n.title-options h2,\\n.title-options h3,\\n.title-options h4,\\n.title-options h5 {\\n  margin: 0px;\\n}\\n\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-ff6b7ff4\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/TitlePicker.vue\n// module id = DhD2\n// module chunks = 0","module.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = EqjI\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t//  when a module is imported multiple times with different media queries.\n\t\t\t//  I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader/lib/css-base.js\n// module id = FZ+f\n// module chunks = 0","var core = module.exports = { version: '2.5.3' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = FeBl\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-62fe0b7c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./InsertVideo.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"013e94b7\", content, false, {});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-62fe0b7c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./InsertVideo.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-62fe0b7c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./InsertVideo.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader!./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-62fe0b7c\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/InsertVideo.vue\n// module id = FzbY\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.color-picker-options {\\n  width: 200px;\\n  text-align: justify;\\n  padding: 10px 10px 12px;\\n  border-radius: 2px;\\n  position: absolute;\\n  left: -80px;\\n  -webkit-box-shadow: 0 1px 2px #ccc;\\n          box-shadow: 0 1px 2px #ccc;\\n  background-color: #fff;\\n  margin-top: 10px;\\n}\\n.ql-picker-item {\\n  border: 1px solid transparent;\\n  float: left;\\n  height: 16px;\\n  margin: 2px;\\n  padding: 0;\\n  width: 16px;\\n  cursor: pointer;\\n  /*position: relative;*/\\n}\\n.color-name-tip {\\n  /*background-color: transparent;*/\\n/*  position: absolute;\\n  z-index: 2;\\n  display: flex;\\n  background-color: #000;\\n  color: #fff;*/\\n}\\ninput {\\n  outline: none;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-0684bb51\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/ColorPicker.vue\n// module id = ISJ/\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = Ibhu\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = MU5D\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = Mhyx\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = MmMw\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ff6b7ff4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./TitlePicker.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"17706367\", content, false, {});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ff6b7ff4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./TitlePicker.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ff6b7ff4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./TitlePicker.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader!./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-ff6b7ff4\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/TitlePicker.vue\n// module id = N7M7\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = O4g8\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = ON07\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = PzxK\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = QRG4\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = R9M2\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = RPLV\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25956469\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Insert.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"78d279ea\", content, false, {});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25956469\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Insert.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25956469\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Insert.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader!./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-25956469\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Insert.vue\n// module id = RSMv\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = RY/4\n// module chunks = 0","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = S82l\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n  return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = SfB7\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = TcQ7\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = UuGF\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n  rawScriptExports,\n  compiledTemplate,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier /* server only */\n) {\n  var esModule\n  var scriptExports = rawScriptExports = rawScriptExports || {}\n\n  // ES6 modules interop\n  var type = typeof rawScriptExports.default\n  if (type === 'object' || type === 'function') {\n    esModule = rawScriptExports\n    scriptExports = rawScriptExports.default\n  }\n\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (compiledTemplate) {\n    options.render = compiledTemplate.render\n    options.staticRenderFns = compiledTemplate.staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = injectStyles\n  }\n\n  if (hook) {\n    var functional = options.functional\n    var existing = functional\n      ? options.render\n      : options.beforeCreate\n\n    if (!functional) {\n      // inject component registration as beforeCreate hook\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    } else {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functioal component in vue file\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return existing(h, context)\n      }\n    }\n  }\n\n  return {\n    esModule: esModule,\n    exports: scriptExports,\n    options: options\n  }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = VU/8\n// module chunks = 0","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = X8DO\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = require('./_dom-create')('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  require('./_html').appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = Yobk\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = ax3d\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/array/from.js\n// module id = c/Tr\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.insert-video {\\n  position: fixed;\\n  top: 0;\\n  left: 0;\\n  background-color: rgba(255, 255, 255, 1);\\n  height: 100%;\\n  width: 100%;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n}\\n.insert-video-box {\\n  position: relative;\\n  padding: 30px 20px;\\n  border-radius: 6px;\\n  margin: 0 auto 24px;\\n  background-clip: padding-box;\\n  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,.2);\\n          box-shadow: 0 2px 8px rgba(0,0,0,.2);\\n}\\n.insert-video p {\\n  text-align: center;\\n  padding: 20px 0px;\\n  font-size: 25px;\\n}\\n.insert-video input {\\n  text-align: left;\\n  margin: 5px 0px;\\n  border: 1px solid rgb(200,200,200);\\n  font-size: 14px;\\n  padding: 10px 5px;\\n  width: calc(100% - 10px);\\n}\\n.insert-video button {\\n  outline: none;\\n  cursor: pointer;\\n  margin-left: calc(50% - 40px);\\n  margin-top: 10px;\\n  width: 80px;\\n  height: 40px;\\n  border: none;\\n  text-align: center;\\n  color: #898989;\\n  background-color: #fff;\\n  font-size: 15px;\\n  border-radius: 1px;\\n  -webkit-border-radius: 1px;\\n  -moz-border-radius: 1px;\\n  white-space: nowrap;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  -webkit-transition: all .2s ease-in;\\n  transition: all .2s ease-in;\\n  -webkit-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -ms-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -o-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  box-shadow: 1px 2px 8px hsla(0,0%,70%,.8);\\n  -webkit-transition-property: right;\\n  transition-property: right;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n}\\n.insert-video .cancel {\\n  position: absolute;\\n  top: 10px;\\n  right: 10px;\\n  z-index: 2;\\n  font-size: 20px;\\n  width: 40px;\\n  height: 40px;\\n  text-align: center;\\n  line-height: 40px;\\n  cursor: pointer;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-62fe0b7c\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/InsertVideo.vue\n// module id = cEZK\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = dSzd\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = dY0y\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = e6n0\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n  return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = e8AB\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = evD5\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.smeditor {\\n  width: 70%;\\n  margin: 0 auto;\\n  position: relative;\\n  z-index: 2;\\n}\\n.smeditor .input-area {\\n  outline: none;\\n  min-height: 400px;\\n  width: calc(100% - 20px);\\n  padding: 10px;\\n  text-align: left;\\n  -webkit-box-shadow: 0 1px 6px #ccc;\\n          box-shadow: 0 1px 6px #ccc;\\n  background-color: #ffffff;\\n  border-color: transparent;\\n  letter-spacing: 1.5px;\\n  color: rgb(44, 62, 80);\\n  font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n}\\n.smeditor .buttons {\\n  position: -webkit-sticky;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-pack: baseline;\\n      -ms-flex-pack: baseline;\\n          justify-content: baseline;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  width: 100%;\\n  padding: 10px 0;\\n  background-color: rgba(240,240,240, 1);\\n  -webkit-transition: position 0.3s;\\n  transition: position 0.3s;\\n}\\n.smeditor .isFixed {\\n  position: fixed;\\n  top: 0px;\\n  width: 70%;\\n}\\n.smeditor .buttons button {\\n  border: none;\\n  color: #000000;\\n  height: 27px;\\n  width: 30px;\\n  padding: 0;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  text-align: center;\\n  text-decoration: none;\\n  display: inline-block;\\n  font-size: 16px;\\n  outline: none;\\n  cursor: pointer;\\n  background-color: transparent;\\n  border: 1px solid transparent;\\n  position: relative;\\n}\\n.smeditor .buttons button:hover {\\n  border-color: #BFBFBF;\\n}\\n.smeditor .buttonsActive {\\n  border: 1px solid #BFBFBF !important;\\n}\\n.smeditor svg {\\n  fill: #555;\\n  height: 100%;\\n  width: 100%;\\n}\\n.smeditor input {\\n  border: none;\\n  color: #333;\\n  font-size: 16px;\\n  text-align: center;\\n  width: 100%;\\n}\\n.smeditor img {\\n  max-width: 100%;\\n  width: auto;\\n  height: auto;\\n  vertical-align: middle;\\n  border: 0;\\n}\\n.smeditor p {\\n  padding: 2px 0;\\n  margin: 0px;\\n}\\n.smeditor svg {\\n  cursor: pointer;\\n}\\n.smeditor a {\\n  color: #87AA99;\\n  margin-right: 3px;\\n}\\n.smeditor pre {\\n  display: block;\\n  padding: 9.5px;\\n  margin: 0 0 10px;\\n  font-size: 13px;\\n  line-height: 1.42857143;\\n  color: #333;\\n  word-break: break-all;\\n  word-wrap: break-word;\\n  background-color: #f5f5f5;\\n  border: 1px solid #ccc;\\n  border-radius: 4px;\\n}\\n.smeditor pre code  {\\n  display: block;\\n  background-color: #f1f1f1;\\n  border-radius: 3px;\\n  padding: 3px 5px;\\n  margin: 0 3px;\\n}\\n.smeditor .blockquote {\\n  margin: 15px 0px;\\n}\\n.smeditor .backup,\\n.smeditor .restore,\\n.smeditor .preview{\\n  min-width: 40px !important;\\n}\\n.smeditor .backup:before,\\n.smeditor .restore:before,\\n.smeditor .preview:before {\\n  color: rgb(51, 51, 51);\\n  font-family: Helvetica, Tahoma, Arial, \\\"Hiragino Sans GB\\\", \\\"Microsoft YaHei\\\", SimSun, sans-serif;\\n  line-height: 28px;\\n  font-size: 12px;\\n  float: left;\\n  margin-left: 8px;\\n}\\n.smeditor .backup:before {\\n  content: \\\"\\\\4FDD\\\\5B58\\\";\\n}\\n.smeditor .restore:before {\\n  content: \\\"\\\\6062\\\\590D\\\";\\n}\\n.smeditor .preview:before {\\n  content: \\\"\\\\9884\\\\89C8\\\";\\n}\\n.smeditor .select-words {\\n  position: fixed;\\n  right: calc(50% - 0px);\\n  margin-right: -100px;\\n  bottom: 60px;\\n  width: 200px;\\n  height: 30px;\\n  line-height: 30px;\\n  text-align: center;\\n  color: #898989;\\n  opacity: 1;\\n  z-index: 1;\\n  background-color: #fff;\\n  border-radius: 1px;\\n  -webkit-border-radius: 1px;\\n  -moz-border-radius: 1px;\\n  white-space: nowrap;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  -webkit-transition: all .2s ease-in;\\n  transition: all .2s ease-in;\\n  -webkit-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -ms-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -o-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\\n  -webkit-transition-property: right;\\n  transition-property: right;\\n  -webkit-transition: all 0.3s;\\n  transition: all 0.3s;\\n  font-size: 14px;\\n}\\n.smeditor .font-size, .smeditor .insert-options {\\n  min-width: 40px !important;\\n}\\n.smeditor .font-size,\\n.smeditor .set-font {\\n  border: none;\\n  display: -webkit-box;\\n  display: -ms-flexbox;\\n  display: flex;\\n  -webkit-box-align: center;\\n      -ms-flex-align: center;\\n          align-items: center;\\n  -webkit-box-pack: center;\\n      -ms-flex-pack: center;\\n          justify-content: center;\\n  font-weight: 600;\\n}\\n.smeditor .font-size span,\\n.smeditor .set-font span {\\n  font-size: 14px;\\n  color: #333;\\n  bottom: -0.5px;\\n  font-family: 'Helvetica,Tahoma,Arial,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif';\\n  position: relative;\\n}\\n.smeditor .insert-options:before {\\n  content: \\\"\\\\63D2\\\\5165\\\";\\n  color: #333;\\n  font-family: 'Helvetica,Tahoma,Arial,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif';\\n  line-height: 28px;\\n  font-size: 12px;\\n  float: left;\\n  margin-left: 8px;\\n}\\n.smeditor .insert-quote img {\\n  width: 20px;\\n  margin-bottom: 1px;\\n}\\n.unchecked-list {\\n  list-style: none;\\n  padding: 0;\\n  margin: 0;\\n}\\n.unchecked:before {\\n  content: \\\"\\\\F402\\\";\\n  padding-left: 3px;\\n  margin-right: 6px;\\n  cursor: pointer;\\n  -webkit-box-sizing: border-box;\\n          box-sizing: border-box;\\n}\\n.checked:before {\\n  content: \\\"\\\\F402\\\";\\n}\\n\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-7f74acf7\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/SMEditor.vue\n// module id = f0bS\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_create-property.js\n// module id = fBQ2\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = fkB2\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = h65t\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = hJx8\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var IS_WRAP = type & $export.W;\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE];\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n  var key, own, out;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    if (own && key in exports) continue;\n    // export native or passed\n    out = own ? target[key] : source[key];\n    // prevent global pollution for namespaces\n    exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n    // bind timers to global for call from export context\n    : IS_BIND && own ? ctx(out, global)\n    // wrap global constructors for prevent change them in library\n    : IS_WRAP && target[key] == out ? (function (C) {\n      var F = function (a, b, c) {\n        if (this instanceof C) {\n          switch (arguments.length) {\n            case 0: return new C();\n            case 1: return new C(a);\n            case 2: return new C(a, b);\n          } return new C(a, b, c);\n        } return C.apply(this, arguments);\n      };\n      F[PROTOTYPE] = C[PROTOTYPE];\n      return F;\n    // make static versions for prototype methods\n    })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n    if (IS_PROTO) {\n      (exports.virtual || (exports.virtual = {}))[key] = out;\n      // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n      if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n    }\n  }\n};\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = kM2E\n// module chunks = 0","module.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = lOnJ\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = lktj\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = msXi\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7f74acf7\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./SMEditor.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"325ef632\", content, false, {});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7f74acf7\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./SMEditor.vue\", function() {\n     var newContent = require(\"!!../../node_modules/css-loader/index.js?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index.js?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7f74acf7\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./SMEditor.vue\");\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader!./node_modules/css-loader?{\"sourceMap\":false}!./node_modules/vue-loader/lib/style-compiler?{\"vue\":true,\"id\":\"data-v-7f74acf7\",\"scoped\":false,\"hasInlineConfig\":false}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/components/SMEditor.vue\n// module id = oxVd\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = qio6\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.from.js\n// module id = qyJz\n// module chunks = 0","/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n  Modified by Evan You @yyx990803\n*/\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n  if (!hasDocument) {\n    throw new Error(\n    'vue-style-loader cannot be used in a non-browser environment. ' +\n    \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n  ) }\n}\n\nvar listToStyles = require('./listToStyles')\n\n/*\ntype StyleObject = {\n  id: number;\n  parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n  css: string;\n  media: string;\n  sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n  [id: number]: {\n    id: number,\n    refs: number,\n    parts: Array<(obj?: StyleObjectPart) => void>\n  }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nmodule.exports = function (parentId, list, _isProduction, _options) {\n  isProduction = _isProduction\n\n  options = _options || {}\n\n  var styles = listToStyles(parentId, list)\n  addStylesToDom(styles)\n\n  return function update (newList) {\n    var mayRemove = []\n    for (var i = 0; i < styles.length; i++) {\n      var item = styles[i]\n      var domStyle = stylesInDom[item.id]\n      domStyle.refs--\n      mayRemove.push(domStyle)\n    }\n    if (newList) {\n      styles = listToStyles(parentId, newList)\n      addStylesToDom(styles)\n    } else {\n      styles = []\n    }\n    for (var i = 0; i < mayRemove.length; i++) {\n      var domStyle = mayRemove[i]\n      if (domStyle.refs === 0) {\n        for (var j = 0; j < domStyle.parts.length; j++) {\n          domStyle.parts[j]()\n        }\n        delete stylesInDom[domStyle.id]\n      }\n    }\n  }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n  for (var i = 0; i < styles.length; i++) {\n    var item = styles[i]\n    var domStyle = stylesInDom[item.id]\n    if (domStyle) {\n      domStyle.refs++\n      for (var j = 0; j < domStyle.parts.length; j++) {\n        domStyle.parts[j](item.parts[j])\n      }\n      for (; j < item.parts.length; j++) {\n        domStyle.parts.push(addStyle(item.parts[j]))\n      }\n      if (domStyle.parts.length > item.parts.length) {\n        domStyle.parts.length = item.parts.length\n      }\n    } else {\n      var parts = []\n      for (var j = 0; j < item.parts.length; j++) {\n        parts.push(addStyle(item.parts[j]))\n      }\n      stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n    }\n  }\n}\n\nfunction createStyleElement () {\n  var styleElement = document.createElement('style')\n  styleElement.type = 'text/css'\n  head.appendChild(styleElement)\n  return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n  var update, remove\n  var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n  if (styleElement) {\n    if (isProduction) {\n      // has SSR styles and in production mode.\n      // simply do nothing.\n      return noop\n    } else {\n      // has SSR styles but in dev mode.\n      // for some reason Chrome can't handle source map in server-rendered\n      // style tags - source maps in <style> only works if the style tag is\n      // created and inserted dynamically. So we remove the server rendered\n      // styles and inject new ones.\n      styleElement.parentNode.removeChild(styleElement)\n    }\n  }\n\n  if (isOldIE) {\n    // use singleton mode for IE9.\n    var styleIndex = singletonCounter++\n    styleElement = singletonElement || (singletonElement = createStyleElement())\n    update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n    remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n  } else {\n    // use multi-style-tag mode in all other cases\n    styleElement = createStyleElement()\n    update = applyToTag.bind(null, styleElement)\n    remove = function () {\n      styleElement.parentNode.removeChild(styleElement)\n    }\n  }\n\n  update(obj)\n\n  return function updateStyle (newObj /* StyleObjectPart */) {\n    if (newObj) {\n      if (newObj.css === obj.css &&\n          newObj.media === obj.media &&\n          newObj.sourceMap === obj.sourceMap) {\n        return\n      }\n      update(obj = newObj)\n    } else {\n      remove()\n    }\n  }\n}\n\nvar replaceText = (function () {\n  var textStore = []\n\n  return function (index, replacement) {\n    textStore[index] = replacement\n    return textStore.filter(Boolean).join('\\n')\n  }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n  var css = remove ? '' : obj.css\n\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = replaceText(index, css)\n  } else {\n    var cssNode = document.createTextNode(css)\n    var childNodes = styleElement.childNodes\n    if (childNodes[index]) styleElement.removeChild(childNodes[index])\n    if (childNodes.length) {\n      styleElement.insertBefore(cssNode, childNodes[index])\n    } else {\n      styleElement.appendChild(cssNode)\n    }\n  }\n}\n\nfunction applyToTag (styleElement, obj) {\n  var css = obj.css\n  var media = obj.media\n  var sourceMap = obj.sourceMap\n\n  if (media) {\n    styleElement.setAttribute('media', media)\n  }\n  if (options.ssrId) {\n    styleElement.setAttribute(ssrIdKey, obj.id)\n  }\n\n  if (sourceMap) {\n    // https://developer.chrome.com/devtools/docs/javascript-debugging\n    // this makes source maps inside style tags work properly in Chrome\n    css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n    // http://stackoverflow.com/a/26603875\n    css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n  }\n\n  if (styleElement.styleSheet) {\n    styleElement.styleSheet.cssText = css\n  } else {\n    while (styleElement.firstChild) {\n      styleElement.removeChild(styleElement.firstChild)\n    }\n    styleElement.appendChild(document.createTextNode(css))\n  }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader/lib/addStylesClient.js\n// module id = rjj0\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = sB3e\n// module chunks = 0","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nmodule.exports = function listToStyles (parentId, list) {\n  var styles = []\n  var newStyles = {}\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i]\n    var id = item[0]\n    var css = item[1]\n    var media = item[2]\n    var sourceMap = item[3]\n    var part = {\n      id: parentId + ':' + i,\n      css: css,\n      media: media,\n      sourceMap: sourceMap\n    }\n    if (!newStyles[id]) {\n      styles.push(newStyles[id] = { id: id, parts: [part] })\n    } else {\n      newStyles[id].parts.push(part)\n    }\n  }\n  return styles\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-style-loader/lib/listToStyles.js\n// module id = tTVk\n// module chunks = 0","// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = vFc/\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = (!BUGGY && $native) || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = vIB/\n// module chunks = 0","var disposed = false\nfunction injectStyle (ssrContext) {\n  if (disposed) return\n  require(\"!!vue-style-loader!css-loader?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0684bb51\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./ColorPicker.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ColorPicker.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./ColorPicker.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0684bb51\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./ColorPicker.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/ColorPicker.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-0684bb51\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-0684bb51\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/ColorPicker.vue\n// module id = null\n// module chunks = ","var disposed = false\nfunction injectStyle (ssrContext) {\n  if (disposed) return\n  require(\"!!vue-style-loader!css-loader?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-ff6b7ff4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./TitlePicker.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./TitlePicker.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./TitlePicker.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ff6b7ff4\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./TitlePicker.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/TitlePicker.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-ff6b7ff4\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-ff6b7ff4\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/TitlePicker.vue\n// module id = null\n// module chunks = ","var disposed = false\nfunction injectStyle (ssrContext) {\n  if (disposed) return\n  require(\"!!vue-style-loader!css-loader?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4b369b03\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./InsertLink.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./InsertLink.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./InsertLink.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4b369b03\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./InsertLink.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/InsertLink.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-4b369b03\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-4b369b03\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/InsertLink.vue\n// module id = null\n// module chunks = ","var disposed = false\nfunction injectStyle (ssrContext) {\n  if (disposed) return\n  require(\"!!vue-style-loader!css-loader?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-62fe0b7c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./InsertVideo.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./InsertVideo.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./InsertVideo.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-62fe0b7c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./InsertVideo.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/InsertVideo.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-62fe0b7c\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-62fe0b7c\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/InsertVideo.vue\n// module id = null\n// module chunks = ","var disposed = false\nfunction injectStyle (ssrContext) {\n  if (disposed) return\n  require(\"!!vue-style-loader!css-loader?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-25956469\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Insert.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Insert.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Insert.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25956469\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Insert.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/Insert.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-25956469\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-25956469\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Insert.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"smeditor\" id=\"smeditor\">\n    <div class=\"buttons\" :class=\"buttonsBarFixed == true ? 'isFixed' :''\">\n      <button type=\"button\" class='undo' @click='undo' v-on:mouseover.stop='mouseover($event)' title=\"撤销\">\n        <img :src=\"icons.undo\"></img>\n      </button>\n      <button type=\"button\" class='redo' @click='redo' v-on:mouseover.stop='mouseover($event)' title=\"重做\">\n        <img :src='icons.redo'></img>\n      </button>\n      <button type=\"button\" class='remove-format'\n              title=\"清除\"\n              @click='removeFormat'\n              v-on:mouseover.stop='mouseover($event)'>\n        <img :src='icons.removeFormat'></img>\n      </button>\n      <button type=\"button\" class='set-font' @click.stop=\"titleButtonClick\">\n        <span>H</span>\n         <title-picker v-bind:titlePickerClick=\"titlePickerClick\" v-show=\"isTitlePickerShow\"></title-picker>\n      </button>\n      <!-- <button type=\"button\" class=\"font-size\"\n              title=\"字号\"\n              @click=\"isFontSizePickerShow = !isFontSizePickerShow\"\n              v-on:mouseover.stop='mouseover($event)'>\n        <span> {{fontSize}} </span>\n        <font-size-picker v-bind:FontSizePickerClick=\"FontSizePickerClick\" v-show=\"isFontSizePickerShow\"></font-size-picker> -->\n      </button>\n      <button type=\"button\" v-for='(name, index) in basicIcons'\n              @click='basicStyleClick(name)'\n              v-bind:class=\"{buttonsActive: styles.indexOf(name) > -1}\"\n              v-on:mouseover.stop='mouseover($event)'\n              v-bind:title='basicStyleNames[Object.keys(basicIcons).indexOf(name)]'>\n        <img :src='icons[name]'></img>\n      </button>\n      <button type=\"button\" v-on:mouseover.stop='mouseover($event)' title=\"文本颜色\">\n        <img :src='icons.color' @click=\"isColorPickerShow = !isColorPickerShow\"></img>\n        <color-picker :ColorPickerClick=\"colorPickerClick\" v-show=\"isColorPickerShow\"></color-picker>\n      </button>\n      <button type=\"button\" class='indent' @click.stop='indent' v-on:mouseover.stop='mouseover($event)' title=\"增加缩进\">\n        <img :src='icons.indent'></img>\n      </button>\n      <button type=\"button\" class='outdent' @click.stop='outdent' v-on:mouseover.stop='mouseover($event)' title=\"减少缩进\">\n        <img :src='icons.outdent'></img>\n      </button>\n      <button type=\"button\" class='insert-ol' @click='insertList(\"OrderedList\")' v-on:mouseover.stop='mouseover($event)' title=\"有序列表\">\n        <img :src='icons.listOrdered'></img>\n      </button>\n      <button type=\"button\" class='insert-ul' @click='insertList(\"UnorderedList\")' v-on:mouseover.stop='mouseover($event)' title=\"无序列表\">\n        <img :src='icons.listUnordered'></img>\n      </button>\n      <button type=\"button\" class='align-left' @click='align(\"Left\")' v-on:mouseover.stop='mouseover($event)' title=\"左对齐\">\n        <img :src='icons.alignLeft'></img>\n      </button>\n      <button type=\"button\" class='align-center' @click='align(\"Center\")' v-on:mouseover.stop='mouseover($event)' title=\"居中对齐\">\n        <img :src='icons.alignCenter'></img>\n      </button>\n      <button type=\"button\" class='align-right' @click='align(\"Right\")'  v-on:mouseover.stop='mouseover($event)' title='右对齐'>\n        <img :src='icons.alignRight'></img>\n      </button>\n      <button type=\"button\" class=\"insert-quote\" @click='insertQuote'>\n        <img :src=\"icons.insertQuote\">\n      </button>\n      <button type=\"button\" class='insert-link' @click='insertLinkClick'  v-on:mouseover.stop='mouseover($event)' title='插入链接'>\n        <img :src='icons.insertLink'></img>\n      </button>\n      <button type=\"button\" class='insert-options' @click=\"isInsertShow = !isInsertShow\">\n        <span class=\"insert-options-label\"></span>\n        <insert-options\n         v-show=\"isInsertShow\"\n         :insertImage=\"insertImageClick\"\n         :insertLine=\"insertLine\"\n         :insertVideo=\"insertVideoClick\"\n         :insertBlock=\"insertBlock\"\n         :uploadImages='uploadImages'\n         ></insert-options>\n      </button>\n      <button type=\"button\" class=\"backup\" @click='backupClick' v-on:mouseover.stop='mouseover($event)' title=\"Ctrl + S\"></button>\n      <button type=\"button\" class=\"restore\" @click='restoreClick'></button>\n      <button type=\"button\" class=\"preview\" @click='previewClick' v-on:mouseover.stop='mouseover($event)' title=\"Ctrl + P\"></button>\n    </div>\n    <div\n      contenteditable=\"true\"\n      autocorrect=\"off\"\n      autocomplete=\"off\"\n      spellcheck=\"false\"\n      class=\"input-area\"\n      id=\"input-area\"\n      v-on:mouseup=\"mouseup\"\n      v-on:keyup.enter=\"kenter\"\n      v-on:keyup.ctrl.83=\"backupClick\"\n      v-on:keyup.ctrl.80=\"previewClick\"\n      >\n    </div>\n    <p class=\"select-words\" v-show=\"selectWords\">{{selectWords.length}}个字</p>\n    <insert-link\n      :insertLink='insertLink'\n      :propText='insertLinkSection.text'\n      :propLink='insertLinkSection.link'\n      v-show='isInsertLinkShow'\n      :cancel='insertLinkCancel'\n    ></insert-link>\n    <insert-video :insertVideo='insertVideo' v-show='isInsertVideoShow' :cancel='insertVideoCancel'></insert-video>\n  </div>\n</template>\n\n<script>\nimport icons from './icons.js'\nimport ColorPicker from './ColorPicker.vue'\nimport TitlePicker from './TitlePicker.vue'\nimport InsertLink from './InsertLink.vue'\nimport InsertVideo from './InsertVideo.vue'\nimport Insert from './Insert.vue'\n// import tippy from '../../node_modules/tippy.js/dist/tippy.min.js'\nconst remove = function (arr, val) {\n  let index = arr.indexOf(val)\n  if (index > -1) {\n    arr.splice(index, 1)\n  }\n}\n\nconst editorElement = function () {\n  return document.querySelector('.smeditor .input-area')\n}\n\nexport default {\n  name: 'smeditor',\n  components: {\n    'color-picker': ColorPicker,\n    'title-picker': TitlePicker,\n    'insert-options': Insert,\n    'insert-link': InsertLink,\n    'insert-video': InsertVideo\n  },\n  props: ['config'],\n  data () {\n    return {\n      // 图标\n      icons: icons,\n      // 样式\n      styles: [],\n      // 基本样式名称\n      basicIcons: ['bold', 'underline', 'italic', 'strikethrough'],\n      basicStyleNames: ['粗体', '斜体', '下划线', '中划线'],\n      // 调色盘是否显示\n      isColorPickerShow: false,\n      // 标题选择是否显示\n      isTitlePickerShow: false,\n      // 字号选项是否显示\n      isFontSizePickerShow: false,\n      // 插入选项是否显示\n      isInsertShow: false,\n      // 插入链接是否显示\n      isInsertLinkShow: false,\n      // 插入视频是否显示\n      isInsertVideoShow: false,\n      // 选中文字内容\n      selectWords: '',\n      // 字号\n      fontSize: 16,\n      // 光标\n      cursor: {},\n      // 鼠标选中节点\n      selectNode: {},\n      buttonsBarFixed: false,\n      insertLinkSection: {\n        node: '',\n        start: 0,\n        end: 0,\n        text: '',\n        link: ''\n      }\n    }\n  },\n  methods: {\n    // 回车事件\n    kenter (e) {\n      e.stopPropagation()\n      if (this.styles.length === 0) {\n        return false\n      }\n    },\n    // 鼠标事件\n    mouseup () {\n      this.selectNode = getSelectedNode()\n      const str = window.getSelection().toString()\n      if (str.length < 1) {\n        return false\n      }\n      this.selectWords = str\n      setTimeout(() => {\n        this.selectWords = ''\n      }, 1500)\n    },\n    // 鼠标事件\n    mouseover (event) {\n      let target = ''\n      event.path.forEach(el => {\n        if (el.localName === 'button' && target === '') {\n          target = el\n        }\n      })\n      // tippy(target, {\n      //   placement: 'bottom',\n      //   animation: 'shift-away',\n      //   duration: 100,\n      //   arrow: true\n      // })\n    },\n    // 重做\n    redo () {\n      document.execCommand('redo')\n    },\n    // 撤销\n    undo () {\n      document.execCommand('undo')\n    },\n    // 移除格式\n    removeFormat () {\n      document.execCommand('removeFormat', false, '')\n      document.execCommand('insertHTML', false, `<p></p>`)\n      this.styles = []\n      this.FontSize = 16\n    },\n    // 字号选项点击\n    fontSizePickerClick (size, index) {\n      document.execCommand('FontSize', false, index + 1)\n      this.fontSize = size\n      this.closeAlert()\n    },\n    // 标题按钮点击\n    titleButtonClick () {\n      getCursor(this)\n      this.isTitlePickerShow = !this.isTitlePickerShow\n    },\n    // 标题选项点击\n    titlePickerClick (size, index) {\n      this.closeAlert()\n      let html = ''\n      restoreCursor(this)\n      let node = getSelectedNode()\n      console.log(node, node.localName)\n      // 一共分六种情况\n      // 1. empty <h>\n      // 2. empty <p>\n      if (node.className === editorElement().className ||\n          node.className.startsWith('smeditor')) {\n        if (size === '正文') {\n          document.execCommand('insertHTML', false, `<p><span><br></span></p>`)\n        } else {\n          document.execCommand('insertHTML', false, `<${size}><span><br></span></${size}>`)\n        }\n        return false\n      }\n      // 3 h -> p\n      // 4 h -> h+\n      // 5 p -> h\n      // 6 p -> p\n      if (node.localName.startsWith('h') && size === '正文') {\n        html = `<p>${node.innerHTML}</p>`\n      } else if (node.localName.startsWith('h') && size.startsWith('H')) {\n        html = `<${size}>${node.innerHTML}</${size}>`\n      } else if (node.innerHTML.length > 0 && node.localName.startsWith('h') === false && size !== '正文') {\n        html = `<${size}>${node.innerHTML}</${size}>`\n      } else {\n        html = `<p>${node.innerHTML}</p>`\n      }\n      restoreCursor(this)\n      node.outerHTML = ''\n      document.execCommand('insertHTML', false, html)\n      // const range = document.createRange()\n      // range.selectNodeContents(node)\n      // range.collapse(false)\n      // const selection = window.getSelection()\n      // selection.removeAllRanges()\n      // selection.addRange(range)\n    },\n    // 基本样式点击\n    basicStyleClick (name) {\n      execCmd(this, () => {\n        document.execCommand(name, false, '')\n        if (this.styles.indexOf(name) === -1) {\n          this.styles.push(name)\n        } else {\n          remove(this.styles, name)\n        }\n      })\n    },\n    // 调色盘点击\n    colorPickerClick (color) {\n      // document.querySelector('.ql-color-label').style.fill = color\n      execCmd(this, () => {\n        document.execCommand('forecolor', false, color)\n        this.closeAlert()\n      })\n    },\n    // 点击插入图片\n    insertImageClick (size, index) {\n      this.closeAlert()\n    },\n    // 上传图片\n    uploadImages (files) {\n      Array.from(files).forEach(file => {\n        this.upload(file, (url) => {\n          this.insertImageHtml(url)\n        })\n      })\n    },\n    upload (file, success) {\n      let url = this.config.uploadUrl\n      let xhr = new XMLHttpRequest()\n      let form = new FormData()\n      let self = this\n      form.append(this.config.uploadName, file)\n      xhr.open('POST', url, true)\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n          if (xhr.status === 200) {\n            const json = JSON.parse(xhr.responseText)\n            const imgUrl = self.config.uploadCallback(json)\n            success(imgUrl)\n          } else {\n            if (self.config.uploadFailed) {\n              self.config.uploadFailed(xhr.responseText)\n            }\n            // 测试网站, 模拟上传\n            if (location.href.indexOf('ericjj.com/smeditor.github.io') > 0) {\n              const imgUrl = self.config.uploadCallback('')\n              success(imgUrl)\n            }\n          }\n        }\n      }\n      xhr.send(form)\n    },\n    insertImageHtml (url) {\n      document.execCommand('insertHTML', false, `\n              <br><div class=\"image-desc\" style=\"text-align: center; color: #333;\">\n                <img class=\"uploaded-img\" src=${url} max-width=\"100%\" width=\"auto\" height=\"auto\">\n                <br>\n                <div class=\"image-caption\" style=\"min-width: 20%; max-width: 80%; height: 35px; display: inline-block; padding: 10px 10px 0px 10px; margin: 0 auto; border-bottom: 1px solid #d9d9d9; font-size: 16px; color: #999; content: \"\";\"></div>\n              </div>`)\n    },\n    // 点击插入链接\n    insertLinkClick () {\n      this.closeAlert()\n      this.insertLinkSection.text = window.getSelection().toString()\n      getCursor(this)\n      this.isInsertLinkShow = true\n    },\n    // 插入链接\n    insertLink (url, title) {\n      restoreCursor(this)\n      const node = getSelectedNode()\n      if (node.localName === 'a') {\n        node.outerHTML = `<a href=${url} target=\"_blank\">${title}</>`\n        return false\n      }\n      document.execCommand('insertHTML', false, `<a href=${url} target=\"_blank\">${title}</>`)\n    },\n    // 取消插入链接\n    insertLinkCancel () {\n      this.closeAlert()\n      this.isInsertLinkShow = false\n    },\n    // 点击插入链接\n    insertVideoClick () {\n      this.closeAlert()\n      setTimeout(() => {\n        this.isInsertVideoShow = true\n      }, 200)\n      getCursor(this)\n    },\n    // 插入链接\n    insertVideo (text) {\n      restoreCursor(this)\n      document.execCommand('insertHTML', false, text)\n      this.closeAlert()\n    },\n    // 取消插入链接\n    insertVideoCancel () {\n      this.closeAlert()\n    },\n    // 插入一条线\n    insertLine () {\n      this.closeAlert()\n      document.execCommand('insertHTML', false, `<p><hr></p>`)\n    },\n    // 插入代码块\n    insertBlock () {\n      this.closeAlert()\n      document.execCommand('insertHTML', false, `<pre><code><span><br><span></code></pre>`)\n    },\n    // 插入引用\n    insertQuote () {\n      let node = getSelectedNode()\n      // console.log(node)\n      if (node.className === 'input-area') {\n        return false\n      }\n      if (node.localName === 'blockquote' && node.parentNode.className !== 'input-area') {\n        let str = node.innerHTML\n        console.log(node.parentNode)\n        node.parentNode.outerHTML = ''\n        document.execCommand('insertHTML', false, `<br><p>${str}</p>`)\n        this.insertEmptyP()\n      } else if (node.className === 'blockquote') {\n        let str = node.innerHTML\n        console.log(str)\n        document.execCommand('insertHTML', false, `<p>${str}</p>`)\n        this.insertEmptyP()\n        node.outerHTML = ''\n      } else if (node.innerHTML.length > 0 &&\n        node.className !== 'smeditor' &&\n        node.className !== editorElement().className &&\n        node.className !== 'blockquote') {\n        document.execCommand('insertHTML', false, `<div class=\"blockquote\"><blockquote style=\"color: #B2B2B2; padding-left: 15px; border-left: 5px solid #B2B2B2; margin-top: 0px; margin-bottom: 0px;\">${node.innerHTML}</blockquote></div>`)\n        node.outerHTML = ''\n      } else {\n        document.execCommand('insertHTML', false, `<div class=\"blockquote\"><blockquote style=\"color: #B2B2B2; padding-left: 15px; border-left: 5px solid #B2B2B2; margin-top: 0px; margin-bottom: 0px;\"><span><br></span></blockquote></div>`)\n      }\n    },\n    // 插入 有序/无序 列表\n    insertList (name) {\n      this.closeAlert()\n      document.execCommand(`insert${name}`, false, '')\n    },\n    // 插入 todo , 暂时不做\n    insertCheck () {\n      this.closeAlert()\n      document.execCommand('insertHTML', false, `\n        <ul class=\"unchecked-list\"><li class=\"unchecked\">&nbsp</li></ul>\n      `)\n      document.querySelectorAll('.unchecked-list').forEach(ul => {\n        ul.childNodes.forEach(li => {\n          li.onclick = function (event) {\n            const name = event.target.className === 'unchecked' ? 'checked' : 'unchecked'\n            event.target.className = name\n            console.log(event.target.className)\n          }\n        })\n      })\n    },\n    // 缩进+\n    indent () {\n      document.execCommand('indent', false, null)\n    },\n    // 缩进-\n    outdent () {\n      document.execCommand('outdent', false, null)\n    },\n    // 对齐\n    align (name) {\n      execCmd(this, () => {\n        document.execCommand(`Justify${name}`)\n      })\n    },\n    // 备份\n    backupClick () {\n      window.localStorage.setItem('smeditor', editorElement().innerHTML)\n    },\n    // 恢复\n    restoreClick () {\n      editorElement().innerHTML = window.localStorage.getItem('smeditor') || ''\n    },\n    // 预览\n    previewClick () {\n      window.localStorage.setItem('smeditorPreview', editorElement().innerHTML)\n      const {href} = this.$router.resolve({\n        name: 'Preview'\n      })\n      window.open(href, '_blank')\n    },\n    // 关闭弹窗\n    closeAlert () {\n      setTimeout(() => {\n        this.isFontSizePickerShow = false\n        this.isInsertShow = false\n        this.isColorPickerShow = false\n        this.isInsertVideoShow = false\n        this.isTitlePickerShow = false\n      }, 200)\n    },\n    insertEmptyP () {\n      document.execCommand('insertHTML', false, '<p><span></br></span></p>')\n    }\n  },\n  mounted () {\n    setTimeout(() => {\n      editorElement().focus()\n      this.insertEmptyP()\n      window.addEventListener('scroll', () => {\n        if (this.config.onScroll) {\n          this.config.onScroll()\n        }\n        var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop\n        var offsetTop = document.querySelector('.smeditor').offsetTop\n        if (scrollTop > offsetTop) {\n          this.buttonsBarFixed = true\n        } else {\n          this.buttonsBarFixed = false\n        }\n      })\n    }, 100)\n    addEvents(this)\n  }\n}\n\nfunction addEvents (self) {\n  editorElement().onfocus = function (event) {\n    self.closeAlert()\n  }\n  // 回车事件\n  editorElement().onkeypress = function (event) {\n    const el = getSelectedNode()\n    if (event.keyCode === 13 && isImageCaption(el)) {\n      document.execCommand('removeFormat', false, '')\n      this.innerHTML = this.innerHTML + '<p><br></p>'\n      document.getSelection().collapse(this, this.childNodes.length - 1)\n      return false\n    }\n    if (event.keyCode === 13 && el.className === 'blockquote' && el.lastChild.innerHTML === '<br>') {\n      el.lastChild.innerHTML = ''\n      document.execCommand('removeFormat', false, '')\n      this.innerHTML = this.innerHTML + '<p></p>'\n      document.getSelection().collapse(this, this.childNodes.length - 1)\n      return false\n    }\n\n    if (event.keyCode === 13 && el.localName === 'pre' && el.lastChild.innerHTML === '<br>') {\n      el.lastChild.innerHTML = ''\n      document.execCommand('removeFormat', false, '')\n      this.innerHTML = this.innerHTML + '<p><span><br></span></p>'\n      document.getSelection().collapse(this, this.childNodes.length - 1)\n      return false\n    }\n  }\n  // 删除事件\n  editorElement().onkeydown = function (event) {\n    const el = getSelectedNode()\n    if (event.keyCode === 8 && isImageDesc(el)) {\n      el.innerHTML = '<p></p>'\n      return false\n    }\n    if (el.innerHTML.length <= 1 &&\n        event.keyCode === 8 &&\n        isImageCaption(el)) {\n      el.innerHTML = ''\n      return false\n    }\n    if (getSelectedNode().innerHTML.length === 0) {\n      document.execCommand('insertHTML', false, '<p><span></br></span></p>')\n    }\n  }\n  editorElement().addEventListener('paste', function (event) {\n    let items = (event.clipboardData || event.originalEvent.clipboardData).items\n    for (let index in items) {\n      let item = items[index]\n      if (item.kind === 'file') {\n        event.preventDefault()\n        let blob = item.getAsFile()\n        self.upload(blob, (url) => {\n          self.insertImageHtml(url)\n        })\n      }\n    }\n  }, false)\n}\n\nfunction execCmd (self, callback) {\n  getCursor(self)\n  restoreCursor(self)\n  callback()\n}\n\nfunction getCursor (self) {\n  self.cursor = window.getSelection().getRangeAt(0)\n}\n\n// function delHtmlTag (str) {\n//   return str.replace(/<[^>]+>/g, '')\n// }\n\nfunction isImageCaption (el) {\n  return el.className === 'image-caption'\n}\n\nfunction isImageDesc (el) {\n  return el.className === 'image-desc'\n}\n\nfunction getSelectedNode () {\n  if (document.selection) {\n    return document.selection.createRange().parentElement()\n  } else {\n    let selection = window.getSelection()\n    if (selection.rangeCount > 0) {\n      return selection.getRangeAt(0).startContainer.parentNode\n    }\n  }\n}\n\nfunction restoreCursor (self) {\n  self.closeAlert()\n  self.isInsertLinkShow = false\n  editorElement().focus()\n  const savedRange = self.cursor\n  if (window.getSelection) {\n    var s = window.getSelection()\n    if (s.rangeCount > 0) {\n      s.removeAllRanges()\n    }\n    s.addRange(savedRange)\n  } else if (document.createRange) {\n    window.getSelection().addRange(savedRange)\n  } else if (document.selection) {\n    savedRange.select()\n  }\n}\n</script>\n<style>\n.smeditor {\n  width: 70%;\n  margin: 0 auto;\n  position: relative;\n  z-index: 2;\n}\n.smeditor .input-area {\n  outline: none;\n  min-height: 400px;\n  width: calc(100% - 20px);\n  padding: 10px;\n  text-align: left;\n  box-shadow: 0 1px 6px #ccc;\n  background-color: #ffffff;\n  border-color: transparent;\n  letter-spacing: 1.5px;\n  color: rgb(44, 62, 80);\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n.smeditor .buttons {\n  position: -webkit-sticky;\n  display: flex;\n  justify-content: baseline;\n  align-items: center;\n  width: 100%;\n  padding: 10px 0;\n  background-color: rgba(240,240,240, 1);\n  transition: position 0.3s;\n}\n\n.smeditor .isFixed {\n  position: fixed;\n  top: 0px;\n  width: 70%;\n}\n\n.smeditor .buttons button {\n  border: none;\n  color: #000000;\n  height: 27px;\n  width: 30px;\n  padding: 0;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  text-align: center;\n  text-decoration: none;\n  display: inline-block;\n  font-size: 16px;\n  outline: none;\n  cursor: pointer;\n  background-color: transparent;\n  border: 1px solid transparent;\n  position: relative;\n}\n\n.smeditor .buttons button:hover {\n  border-color: #BFBFBF;\n}\n\n.smeditor .buttonsActive {\n  border: 1px solid #BFBFBF !important;\n}\n\n.smeditor svg {\n  fill: #555;\n  height: 100%;\n  width: 100%;\n}\n\n.smeditor input {\n  border: none;\n  color: #333;\n  font-size: 16px;\n  text-align: center;\n  width: 100%;\n}\n\n.smeditor img {\n  max-width: 100%;\n  width: auto;\n  height: auto;\n  vertical-align: middle;\n  border: 0;\n}\n\n.smeditor p {\n  padding: 2px 0;\n  margin: 0px;\n}\n\n.smeditor svg {\n  cursor: pointer;\n}\n\n.smeditor a {\n  color: #87AA99;\n  margin-right: 3px;\n}\n\n.smeditor pre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #333;\n  word-break: break-all;\n  word-wrap: break-word;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\n\n.smeditor pre code  {\n  display: block;\n  background-color: #f1f1f1;\n  border-radius: 3px;\n  padding: 3px 5px;\n  margin: 0 3px;\n}\n\n.smeditor .blockquote {\n  margin: 15px 0px;\n}\n\n\n.smeditor .backup,\n.smeditor .restore,\n.smeditor .preview{\n  min-width: 40px !important;\n}\n\n.smeditor .backup:before,\n.smeditor .restore:before,\n.smeditor .preview:before {\n  color: rgb(51, 51, 51);\n  font-family: Helvetica, Tahoma, Arial, \"Hiragino Sans GB\", \"Microsoft YaHei\", SimSun, sans-serif;\n  line-height: 28px;\n  font-size: 12px;\n  float: left;\n  margin-left: 8px;\n}\n\n.smeditor .backup:before {\n  content: \"保存\";\n}\n\n.smeditor .restore:before {\n  content: \"恢复\";\n}\n\n.smeditor .preview:before {\n  content: \"预览\";\n}\n\n.smeditor .select-words {\n  position: fixed;\n  right: calc(50% - 0px);\n  margin-right: -100px;\n  bottom: 60px;\n  width: 200px;\n  height: 30px;\n  line-height: 30px;\n  text-align: center;\n  color: #898989;\n  opacity: 1;\n  z-index: 1;\n  background-color: #fff;\n  border-radius: 1px;\n  -webkit-border-radius: 1px;\n  -moz-border-radius: 1px;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  -webkit-transition: all .2s ease-in;\n  -moz-transition: all .2s ease-in;\n  transition: all .2s ease-in;\n  -webkit-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  -moz-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  -ms-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  -o-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  transition-property: right;\n  transition: all 0.3s;\n  font-size: 14px;\n}\n\n.smeditor .font-size, .smeditor .insert-options {\n  min-width: 40px !important;\n}\n\n.smeditor .font-size,\n.smeditor .set-font {\n  border: none;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-weight: 600;\n}\n\n.smeditor .font-size span,\n.smeditor .set-font span {\n  font-size: 14px;\n  color: #333;\n  bottom: -0.5px;\n  font-family: 'Helvetica,Tahoma,Arial,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif';\n  position: relative;\n}\n\n.smeditor .insert-options:before {\n  content: \"\\63D2\\5165\";\n  color: #333;\n  font-family: 'Helvetica,Tahoma,Arial,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif';\n  line-height: 28px;\n  font-size: 12px;\n  float: left;\n  margin-left: 8px;\n}\n\n.smeditor .insert-quote img {\n  width: 20px;\n  margin-bottom: 1px;\n}\n\n.unchecked-list {\n  list-style: none;\n  padding: 0;\n  margin: 0;\n}\n\n.unchecked:before {\n  content: \"\\F402\";\n  padding-left: 3px;\n  margin-right: 6px;\n  cursor: pointer;\n  box-sizing: border-box;\n}\n\n.checked:before {\n  content: \"\\F402\";\n}\n\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SMEditor.vue","var disposed = false\nfunction injectStyle (ssrContext) {\n  if (disposed) return\n  require(\"!!vue-style-loader!css-loader?{\\\"sourceMap\\\":false}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7f74acf7\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SMEditor.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SMEditor.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SMEditor.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7f74acf7\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./SMEditor.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\nComponent.options.__file = \"src/components/SMEditor.vue\"\n\n/* hot reload */\nif (module.hot) {(function () {\n  var hotAPI = require(\"vue-hot-reload-api\")\n  hotAPI.install(require(\"vue\"), false)\n  if (!hotAPI.compatible) return\n  module.hot.accept()\n  if (!module.hot.data) {\n    hotAPI.createRecord(\"data-v-7f74acf7\", Component.options)\n  } else {\n    hotAPI.reload(\"data-v-7f74acf7\", Component.options)\n  }\n  module.hot.dispose(function (data) {\n    disposed = true\n  })\n})()}\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SMEditor.vue\n// module id = null\n// module chunks = ","const qiniu = (name) => {\n  return `https://om4m02471.qnssl.com/2018/editor/${name}.svg?2`\n}\n\nconst names = ['bold', 'italic', 'underline', 'strikethrough', 'color', 'listOrdered', 'listUnordered', 'listCheck', 'indent', 'outdent', 'alignLeft', 'alignCenter', 'alignRight', 'undo', 'redo', 'removeFormat', 'insertVideo', 'insertLink', 'insertImage', 'insertLine', 'insertQuote', 'insertBlock']\nconst icons = {}\n\nnames.forEach(name => {\n  icons[name] = qiniu(name.toLowerCase())\n})\n\nexport default icons\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/icons.js","<template>\n  <span class=\"color-picker-options\">\n    <span v-for='(color, index) in colors' data-light=\"light\" class=\"ql-picker-item ql-primary\" :data-value=\"color\" v-bind:style=\"{backgroundColor: color}\" v-on:click='handleColorClick(index)' v-on:mouseover='handleColorHover(index)' v-bind:title='names[index]'>\n    </span>\n    <input type=\"text\" class=\"color-input\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" maxlength=\"6\" v-model='selectColor'>\n  </span>\n</template>\n<script type=\"text/javascript\">\n// import tippy from '../../node_modules/tippy.js/dist/tippy.min.js'\n\nexport default {\n  name: 'ColorPicker',\n  data () {\n    return {\n      selectColor: '#ffffff',\n      names: ['白', '漆黑', '红', '橙', '黄', '葱绿', '湖蓝', '天色', '紫', '白练', '鼠', '虹', '薄卵', '蒸栗', '白绿', '蓝白', '天空', '紫水晶', '白鼠', '墨', '甚三红', '雄黄', '金子', '薄青', '白群', '薄花', '紫苑', '灰青', '石墨', '红绯', '红金', '枯茶', '绿青', '浅葱', '薄缥', '紫霞', '薄钝', '黑', '朱绯', '褐', '黑茶', '深绿', '苍蓝', '琉璃', '葡萄'],\n      colors: ['#ffffff', '#0d0015', '#fe2c23', '#ff9900', '#ffd900', '#a3e043', '#37d9f0', '#4da8ee', '#aa17d0', '#f3f3f1', '#949494', '#fcdbd6', '#fde9d0', '#fff0cf', '#d4e9d6', '#def3f3', '#cee0ef', '#dfdbec', '#dcdedd', '#595856', '#ee837d', '#f8c387', '#e6b322', '#9abd9d', '#83ccd2', '#89b0ce', '#9389b1', '#c1c6ca', '#41464b', '#d51228', '#cf770b', '#8d634a', '#557b5c', '#01a3b0', '#3776a6', '#765c83', '#adadad', '#2b2b2b', '#a91913', '#884702', '#563725', '#00552e', '#00767a', '#194e77', '#530e6f']\n    }\n  },\n  props: ['ColorPickerClick'],\n  methods: {\n    handleColorHover (index) {\n      this.selectColor = this.colors[index]\n      // tippy(document.querySelectorAll('.color-picker-options span')[index])\n    },\n    handleColorClick (index) {\n      this.selectColor = this.colors[index]\n      this.ColorPickerClick(this.selectColor)\n    }\n  }\n}\n</script>\n\n<style type=\"text/css\">\n.color-picker-options {\n  width: 200px;\n  text-align: justify;\n  padding: 10px 10px 12px;\n  border-radius: 2px;\n  position: absolute;\n  left: -80px;\n  box-shadow: 0 1px 2px #ccc;\n  background-color: #fff;\n  margin-top: 10px;\n}\n\n.ql-picker-item {\n  border: 1px solid transparent;\n  float: left;\n  height: 16px;\n  margin: 2px;\n  padding: 0;\n  width: 16px;\n  cursor: pointer;\n  /*position: relative;*/\n}\n\n.color-name-tip {\n  /*background-color: transparent;*/\n/*  position: absolute;\n  z-index: 2;\n  display: flex;\n  background-color: #000;\n  color: #fff;*/\n}\n\ninput {\n  outline: none;\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/ColorPicker.vue","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"span\",\n    { staticClass: \"color-picker-options\" },\n    [\n      _vm._l(_vm.colors, function(color, index) {\n        return _c(\"span\", {\n          staticClass: \"ql-picker-item ql-primary\",\n          style: { backgroundColor: color },\n          attrs: {\n            \"data-light\": \"light\",\n            \"data-value\": color,\n            title: _vm.names[index]\n          },\n          on: {\n            click: function($event) {\n              _vm.handleColorClick(index)\n            },\n            mouseover: function($event) {\n              _vm.handleColorHover(index)\n            }\n          }\n        })\n      }),\n      _vm._v(\" \"),\n      _c(\"input\", {\n        directives: [\n          {\n            name: \"model\",\n            rawName: \"v-model\",\n            value: _vm.selectColor,\n            expression: \"selectColor\"\n          }\n        ],\n        staticClass: \"color-input\",\n        attrs: {\n          type: \"text\",\n          autocomplete: \"off\",\n          autocorrect: \"off\",\n          autocapitalize: \"off\",\n          spellcheck: \"false\",\n          maxlength: \"6\"\n        },\n        domProps: { value: _vm.selectColor },\n        on: {\n          input: function($event) {\n            if ($event.target.composing) {\n              return\n            }\n            _vm.selectColor = $event.target.value\n          }\n        }\n      })\n    ],\n    2\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-0684bb51\", esExports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0684bb51\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/ColorPicker.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"title-options\">\n    <ul>\n      <li v-for='(size, index) in sizes' v-on:click.stop='handleFontSizeClick(size, index)' v-bind:class=\"{fontSizeActive: current === size}\">\n        <div v-html='getHtml(size, index)'></div>\n      </li>\n    </ul>\n  </div>\n</template>\n<script type=\"text/javascript\">\n\nexport default {\n  name: 'FontSizePicker',\n  data () {\n    return {\n      sizes: ['H1', 'H2', 'H3', 'H4', 'H5', '正文'],\n      current: '正文'\n    }\n  },\n  props: ['titlePickerClick'],\n  methods: {\n    getHtml (size, index) {\n      if (index === this.sizes.length - 1) {\n        return size\n      }\n      return `<${size}>${size}</${size}>`\n    },\n    handleFontSizeClick (size, index) {\n      this.current = size\n      this.titlePickerClick(size, index)\n    }\n  }\n}\n</script>\n\n<style type=\"text/css\">\n.title-options {\n  width: 60px;\n  text-align: justify;\n  padding: 5px 0px;\n  border-radius: 2px;\n  position: absolute;\n  box-shadow: 0 1px 2px #ccc;\n  background-color: #fff;\n  margin-top: 10px;\n  text-align: center;\n  margin-left: -15px;\n}\n\n.title-options ul {\n  list-style: none;\n  padding: 0px;\n  margin: 0px;\n  font-size: 14px;\n  color: #333;\n\n}\n\n.title-options ul li {\n  padding: 5px;\n  transition: all 0.3s;\n}\n\n.title-options ul li:hover, .fontSizeActive {\n  background-color: #E5E5E5;\n}\n\n.title-options h1,\n.title-options h2,\n.title-options h3,\n.title-options h4,\n.title-options h5 {\n  margin: 0px;\n}\n\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/TitlePicker.vue","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"title-options\" }, [\n    _c(\n      \"ul\",\n      _vm._l(_vm.sizes, function(size, index) {\n        return _c(\n          \"li\",\n          {\n            class: { fontSizeActive: _vm.current === size },\n            on: {\n              click: function($event) {\n                $event.stopPropagation()\n                _vm.handleFontSizeClick(size, index)\n              }\n            }\n          },\n          [\n            _c(\"div\", {\n              domProps: { innerHTML: _vm._s(_vm.getHtml(size, index)) }\n            })\n          ]\n        )\n      })\n    )\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-ff6b7ff4\", esExports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ff6b7ff4\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/TitlePicker.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"insert-link\">\n    <div class=\"insert-link-box\">\n      <span class=\"cancel\" @click='cancelClick'>X</span>\n      <p>插入链接</p>\n      <input type=\"text\" name=\"text\" placeholder=\"链接文本\" v-model='text' v-on:keyup.enter='conformClick'>\n      <input type=\"text\" name=\"link\" placeholder=\"链接地址\" v-model='link'>\n      <button @click='conformClick'> 确认</button>\n    </div>\n  </div>\n</template>\n<script type=\"text/javascript\">\nexport default {\n  name: 'InsertLink',\n  data () {\n    return {\n      link: '',\n      text: ''\n    }\n  },\n  props: ['insertLink', 'cancel', 'propText'],\n  methods: {\n    conformClick () {\n      this.insertLink(this.link, this.text)\n    },\n    cancelClick () {\n      this.cancel()\n    }\n  },\n  watch: {\n    'propText': function () {\n      this.text = this.propText\n      this.link = this.propLink\n    }\n  }\n}\n</script>\n\n<style type=\"text/css\">\n.insert-link {\n  position: fixed;\n  top: 0px;\n  left: 0;\n  background-color: rgba(255, 255, 255, 1);\n  height: 100%;\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  z-index: 100;\n}\n\n.insert-link-box {\n  position: relative;\n  padding: 30px 20px;\n  border-radius: 6px;\n  margin: 0 auto 24px;\n  background-clip: padding-box;\n  box-shadow: 0 2px 8px rgba(0,0,0,.2);\n}\n.insert-link p {\n  text-align: center;\n  padding: 20px 0px;\n  font-size: 25px;\n}\n.insert-link input {\n  text-align: left;\n  margin: 5px 0px;\n  border: 1px solid rgb(200,200,200);\n  font-size: 14px;\n  padding: 10px 5px;\n  width: calc(100% - 20px);\n}\n\n.insert-link button {\n  outline: none;\n  cursor: pointer;\n  margin-left: calc(50% - 40px);\n  margin-top: 10px;\n  width: 80px;\n  height: 40px;\n  border: none;\n  text-align: center;\n  color: #898989;\n  background-color: #fff;\n  font-size: 15px;\n  border-radius: 1px;\n  -webkit-border-radius: 1px;\n  -moz-border-radius: 1px;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  -webkit-transition: all .2s ease-in;\n  -moz-transition: all .2s ease-in;\n  transition: all .2s ease-in;\n  -webkit-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  -moz-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  -ms-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  -o-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  box-shadow: 1px 2px 8px hsla(0,0%,70%,.8);\n  transition-property: right;\n  transition: all 0.3s;\n}\n\n.insert-link .cancel {\n  position: absolute;\n  top: 10px;\n  right: 10px;\n  z-index: 2;\n  font-size: 20px;\n  width: 40px;\n  height: 40px;\n  text-align: center;\n  line-height: 40px;\n  cursor: pointer;\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/InsertLink.vue","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"insert-link\" }, [\n    _c(\"div\", { staticClass: \"insert-link-box\" }, [\n      _c(\"span\", { staticClass: \"cancel\", on: { click: _vm.cancelClick } }, [\n        _vm._v(\"X\")\n      ]),\n      _vm._v(\" \"),\n      _c(\"p\", [_vm._v(\"插入链接\")]),\n      _vm._v(\" \"),\n      _c(\"input\", {\n        directives: [\n          {\n            name: \"model\",\n            rawName: \"v-model\",\n            value: _vm.text,\n            expression: \"text\"\n          }\n        ],\n        attrs: { type: \"text\", name: \"text\", placeholder: \"链接文本\" },\n        domProps: { value: _vm.text },\n        on: {\n          keyup: function($event) {\n            if (\n              !(\"button\" in $event) &&\n              _vm._k($event.keyCode, \"enter\", 13, $event.key)\n            ) {\n              return null\n            }\n            _vm.conformClick($event)\n          },\n          input: function($event) {\n            if ($event.target.composing) {\n              return\n            }\n            _vm.text = $event.target.value\n          }\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\"input\", {\n        directives: [\n          {\n            name: \"model\",\n            rawName: \"v-model\",\n            value: _vm.link,\n            expression: \"link\"\n          }\n        ],\n        attrs: { type: \"text\", name: \"link\", placeholder: \"链接地址\" },\n        domProps: { value: _vm.link },\n        on: {\n          input: function($event) {\n            if ($event.target.composing) {\n              return\n            }\n            _vm.link = $event.target.value\n          }\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\"button\", { on: { click: _vm.conformClick } }, [_vm._v(\" 确认\")])\n    ])\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-4b369b03\", esExports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4b369b03\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/InsertLink.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"insert-video\">\n    <div class=\"insert-video-box\">\n      <span class=\"cancel\" @click='cancelClick'>X</span>\n      <p>插入视频</p>\n      <input type=\"text\" name=\"text\" placeholder=\"复制通用代码 <iframe src='...'></iframe>\" v-model='text' v-on:keyup.enter='conformClick'>\n      <button @click='conformClick'> 确认</button>\n    </div>\n  </div>\n</template>\n<script type=\"text/javascript\">\nexport default {\n  name: 'InsertVideo',\n  data () {\n    return {\n      text: ''\n    }\n  },\n  props: ['insertVideo', 'cancel'],\n  methods: {\n    conformClick () {\n      this.insertVideo(this.text)\n    },\n    cancelClick () {\n      this.cancel()\n    }\n  },\n  mounted () {\n    document.querySelector('.insert-video-box input').focus()\n  }\n}\n</script>\n\n<style type=\"text/css\">\n.insert-video {\n  position: fixed;\n  top: 0;\n  left: 0;\n  background-color: rgba(255, 255, 255, 1);\n  height: 100%;\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.insert-video-box {\n  position: relative;\n  padding: 30px 20px;\n  border-radius: 6px;\n  margin: 0 auto 24px;\n  background-clip: padding-box;\n  box-shadow: 0 2px 8px rgba(0,0,0,.2);\n}\n.insert-video p {\n  text-align: center;\n  padding: 20px 0px;\n  font-size: 25px;\n}\n.insert-video input {\n  text-align: left;\n  margin: 5px 0px;\n  border: 1px solid rgb(200,200,200);\n  font-size: 14px;\n  padding: 10px 5px;\n  width: calc(100% - 10px);\n}\n\n.insert-video button {\n  outline: none;\n  cursor: pointer;\n  margin-left: calc(50% - 40px);\n  margin-top: 10px;\n  width: 80px;\n  height: 40px;\n  border: none;\n  text-align: center;\n  color: #898989;\n  background-color: #fff;\n  font-size: 15px;\n  border-radius: 1px;\n  -webkit-border-radius: 1px;\n  -moz-border-radius: 1px;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  -webkit-transition: all .2s ease-in;\n  -moz-transition: all .2s ease-in;\n  transition: all .2s ease-in;\n  -webkit-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  -moz-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  -ms-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  -o-box-shadow: 0 2px 8px hsla(0,0%,70%,.8);\n  box-shadow: 1px 2px 8px hsla(0,0%,70%,.8);\n  transition-property: right;\n  transition: all 0.3s;\n}\n\n.insert-video .cancel {\n  position: absolute;\n  top: 10px;\n  right: 10px;\n  z-index: 2;\n  font-size: 20px;\n  width: 40px;\n  height: 40px;\n  text-align: center;\n  line-height: 40px;\n  cursor: pointer;\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/InsertVideo.vue","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"insert-video\" }, [\n    _c(\"div\", { staticClass: \"insert-video-box\" }, [\n      _c(\"span\", { staticClass: \"cancel\", on: { click: _vm.cancelClick } }, [\n        _vm._v(\"X\")\n      ]),\n      _vm._v(\" \"),\n      _c(\"p\", [_vm._v(\"插入视频\")]),\n      _vm._v(\" \"),\n      _c(\"input\", {\n        directives: [\n          {\n            name: \"model\",\n            rawName: \"v-model\",\n            value: _vm.text,\n            expression: \"text\"\n          }\n        ],\n        attrs: {\n          type: \"text\",\n          name: \"text\",\n          placeholder: \"复制通用代码 <iframe src='...'></iframe>\"\n        },\n        domProps: { value: _vm.text },\n        on: {\n          keyup: function($event) {\n            if (\n              !(\"button\" in $event) &&\n              _vm._k($event.keyCode, \"enter\", 13, $event.key)\n            ) {\n              return null\n            }\n            _vm.conformClick($event)\n          },\n          input: function($event) {\n            if ($event.target.composing) {\n              return\n            }\n            _vm.text = $event.target.value\n          }\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\"button\", { on: { click: _vm.conformClick } }, [_vm._v(\" 确认\")])\n    ])\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-62fe0b7c\", esExports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-62fe0b7c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/InsertVideo.vue\n// module id = null\n// module chunks = ","<template>\n  <div class=\"insert-options-items\">\n    <ul>\n      <li v-for='(key, index) in names' @click='insertClick(key, index)'>\n        <input\n          v-if='index === 0'\n          id=\"images_upload\"\n          ref=\"input\"\n          type=\"file\"\n          accept=\"image/gif,image/jpeg,image/jpg,image/png,image/svg\"\n          multiple=\"multiple\"\n          @change=\"handleFileChange\"\n        />\n        <img :src='icons[key]' :class='key'></img>\n        <span>{{labels[index]}}</span>\n      </li>\n    </ul>\n  </div>\n</template>\n<script type=\"text/javascript\">\nimport icons from './icons.js'\nexport default {\n  name: 'Insert',\n  data () {\n    return {\n      icons: icons,\n      labels: ['图片', '分割线', '视频', '代码块'],\n      names: ['insertImage', 'insertLine', 'insertVideo', 'insertBlock']\n    }\n  },\n  props: ['insertImageClick', 'insertLink', 'insertLine', 'insertVideo', 'insertBlock', 'uploadImages'],\n  methods: {\n    handleFileChange () {\n      let input = this.$refs.input[0]\n      let files = input.files\n      this.uploadImages(files)\n    },\n    insertClick (key, index) {\n      if (this[key]) {\n        this[key]()\n      }\n    }\n  }\n}\n</script>\n\n<style type=\"text/css\">\n\n.insert-options-items {\n  width: 120px;\n  padding: 5px 0px;\n  border-radius: 2px;\n  position: absolute;\n  box-shadow: 0 1px 2px #ccc;\n  background-color: #fff;\n  margin-top: 35px;\n  text-align: left;\n  z-index: 3;\n}\n.insert-options-items ul {\n  list-style: none;\n  padding: 0;\n  margin: 0;\n}\n\n.insert-options-items ul li {\n  padding: 5px 20px;\n  color: #333;\n  font-size: 12px;\n  position: relative;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n}\n\n.insert-options-items ul li:hover, .insertActive {\n  background-color: #E5E5E5;\n}\n\n.insert-options-items img {\n  width: 20px;\n  height: 20px;\n  top: 1px;\n  position: relative;\n  margin-right: 15px;\n}\n\n.insert-options-items #images_upload {\n  position: absolute;\n  z-index: 2;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  opacity: 0;\n  cursor: pointer;\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/Insert.vue","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"insert-options-items\" }, [\n    _c(\n      \"ul\",\n      _vm._l(_vm.names, function(key, index) {\n        return _c(\n          \"li\",\n          {\n            on: {\n              click: function($event) {\n                _vm.insertClick(key, index)\n              }\n            }\n          },\n          [\n            index === 0\n              ? _c(\"input\", {\n                  ref: \"input\",\n                  refInFor: true,\n                  attrs: {\n                    id: \"images_upload\",\n                    type: \"file\",\n                    accept:\n                      \"image/gif,image/jpeg,image/jpg,image/png,image/svg\",\n                    multiple: \"multiple\"\n                  },\n                  on: { change: _vm.handleFileChange }\n                })\n              : _vm._e(),\n            _vm._v(\" \"),\n            _c(\"img\", { class: key, attrs: { src: _vm.icons[key] } }),\n            _vm._v(\" \"),\n            _c(\"span\", [_vm._v(_vm._s(_vm.labels[index]))])\n          ]\n        )\n      })\n    )\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-25956469\", esExports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-25956469\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Insert.vue\n// module id = null\n// module chunks = ","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { staticClass: \"smeditor\", attrs: { id: \"smeditor\" } },\n    [\n      _c(\n        \"div\",\n        {\n          staticClass: \"buttons\",\n          class: _vm.buttonsBarFixed == true ? \"isFixed\" : \"\"\n        },\n        [\n          _c(\n            \"button\",\n            {\n              staticClass: \"undo\",\n              attrs: { type: \"button\", title: \"撤销\" },\n              on: {\n                click: _vm.undo,\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.undo } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"redo\",\n              attrs: { type: \"button\", title: \"重做\" },\n              on: {\n                click: _vm.redo,\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.redo } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"remove-format\",\n              attrs: { type: \"button\", title: \"清除\" },\n              on: {\n                click: _vm.removeFormat,\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.removeFormat } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"set-font\",\n              attrs: { type: \"button\" },\n              on: {\n                click: function($event) {\n                  $event.stopPropagation()\n                  _vm.titleButtonClick($event)\n                }\n              }\n            },\n            [\n              _c(\"span\", [_vm._v(\"H\")]),\n              _vm._v(\" \"),\n              _c(\"title-picker\", {\n                directives: [\n                  {\n                    name: \"show\",\n                    rawName: \"v-show\",\n                    value: _vm.isTitlePickerShow,\n                    expression: \"isTitlePickerShow\"\n                  }\n                ],\n                attrs: { titlePickerClick: _vm.titlePickerClick }\n              })\n            ],\n            1\n          ),\n          _vm._v(\" \"),\n          _vm._l(_vm.basicIcons, function(name, index) {\n            return _c(\n              \"button\",\n              {\n                class: { buttonsActive: _vm.styles.indexOf(name) > -1 },\n                attrs: {\n                  type: \"button\",\n                  title:\n                    _vm.basicStyleNames[\n                      Object.keys(_vm.basicIcons).indexOf(name)\n                    ]\n                },\n                on: {\n                  click: function($event) {\n                    _vm.basicStyleClick(name)\n                  },\n                  mouseover: function($event) {\n                    $event.stopPropagation()\n                    _vm.mouseover($event)\n                  }\n                }\n              },\n              [_c(\"img\", { attrs: { src: _vm.icons[name] } })]\n            )\n          }),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              attrs: { type: \"button\", title: \"文本颜色\" },\n              on: {\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [\n              _c(\"img\", {\n                attrs: { src: _vm.icons.color },\n                on: {\n                  click: function($event) {\n                    _vm.isColorPickerShow = !_vm.isColorPickerShow\n                  }\n                }\n              }),\n              _vm._v(\" \"),\n              _c(\"color-picker\", {\n                directives: [\n                  {\n                    name: \"show\",\n                    rawName: \"v-show\",\n                    value: _vm.isColorPickerShow,\n                    expression: \"isColorPickerShow\"\n                  }\n                ],\n                attrs: { ColorPickerClick: _vm.colorPickerClick }\n              })\n            ],\n            1\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"indent\",\n              attrs: { type: \"button\", title: \"增加缩进\" },\n              on: {\n                click: function($event) {\n                  $event.stopPropagation()\n                  _vm.indent($event)\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.indent } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"outdent\",\n              attrs: { type: \"button\", title: \"减少缩进\" },\n              on: {\n                click: function($event) {\n                  $event.stopPropagation()\n                  _vm.outdent($event)\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.outdent } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"insert-ol\",\n              attrs: { type: \"button\", title: \"有序列表\" },\n              on: {\n                click: function($event) {\n                  _vm.insertList(\"OrderedList\")\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.listOrdered } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"insert-ul\",\n              attrs: { type: \"button\", title: \"无序列表\" },\n              on: {\n                click: function($event) {\n                  _vm.insertList(\"UnorderedList\")\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.listUnordered } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"align-left\",\n              attrs: { type: \"button\", title: \"左对齐\" },\n              on: {\n                click: function($event) {\n                  _vm.align(\"Left\")\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.alignLeft } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"align-center\",\n              attrs: { type: \"button\", title: \"居中对齐\" },\n              on: {\n                click: function($event) {\n                  _vm.align(\"Center\")\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.alignCenter } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"align-right\",\n              attrs: { type: \"button\", title: \"右对齐\" },\n              on: {\n                click: function($event) {\n                  _vm.align(\"Right\")\n                },\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.alignRight } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"insert-quote\",\n              attrs: { type: \"button\" },\n              on: { click: _vm.insertQuote }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.insertQuote } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"insert-link\",\n              attrs: { type: \"button\", title: \"插入链接\" },\n              on: {\n                click: _vm.insertLinkClick,\n                mouseover: function($event) {\n                  $event.stopPropagation()\n                  _vm.mouseover($event)\n                }\n              }\n            },\n            [_c(\"img\", { attrs: { src: _vm.icons.insertLink } })]\n          ),\n          _vm._v(\" \"),\n          _c(\n            \"button\",\n            {\n              staticClass: \"insert-options\",\n              attrs: { type: \"button\" },\n              on: {\n                click: function($event) {\n                  _vm.isInsertShow = !_vm.isInsertShow\n                }\n              }\n            },\n            [\n              _c(\"span\", { staticClass: \"insert-options-label\" }),\n              _vm._v(\" \"),\n              _c(\"insert-options\", {\n                directives: [\n                  {\n                    name: \"show\",\n                    rawName: \"v-show\",\n                    value: _vm.isInsertShow,\n                    expression: \"isInsertShow\"\n                  }\n                ],\n                attrs: {\n                  insertImage: _vm.insertImageClick,\n                  insertLine: _vm.insertLine,\n                  insertVideo: _vm.insertVideoClick,\n                  insertBlock: _vm.insertBlock,\n                  uploadImages: _vm.uploadImages\n                }\n              })\n            ],\n            1\n          ),\n          _vm._v(\" \"),\n          _c(\"button\", {\n            staticClass: \"backup\",\n            attrs: { type: \"button\", title: \"Ctrl + S\" },\n            on: {\n              click: _vm.backupClick,\n              mouseover: function($event) {\n                $event.stopPropagation()\n                _vm.mouseover($event)\n              }\n            }\n          }),\n          _vm._v(\" \"),\n          _c(\"button\", {\n            staticClass: \"restore\",\n            attrs: { type: \"button\" },\n            on: { click: _vm.restoreClick }\n          }),\n          _vm._v(\" \"),\n          _c(\"button\", {\n            staticClass: \"preview\",\n            attrs: { type: \"button\", title: \"Ctrl + P\" },\n            on: {\n              click: _vm.previewClick,\n              mouseover: function($event) {\n                $event.stopPropagation()\n                _vm.mouseover($event)\n              }\n            }\n          })\n        ],\n        2\n      ),\n      _vm._v(\" \"),\n      _c(\"div\", {\n        staticClass: \"input-area\",\n        attrs: {\n          contenteditable: \"true\",\n          autocorrect: \"off\",\n          autocomplete: \"off\",\n          spellcheck: \"false\",\n          id: \"input-area\"\n        },\n        on: {\n          mouseup: _vm.mouseup,\n          keyup: [\n            function($event) {\n              if (\n                !(\"button\" in $event) &&\n                _vm._k($event.keyCode, \"enter\", 13, $event.key)\n              ) {\n                return null\n              }\n              _vm.kenter($event)\n            },\n            function($event) {\n              if (!(\"button\" in $event) && $event.keyCode !== 83) {\n                return null\n              }\n              if (!$event.ctrlKey) {\n                return null\n              }\n              _vm.backupClick($event)\n            },\n            function($event) {\n              if (!(\"button\" in $event) && $event.keyCode !== 80) {\n                return null\n              }\n              if (!$event.ctrlKey) {\n                return null\n              }\n              _vm.previewClick($event)\n            }\n          ]\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\n        \"p\",\n        {\n          directives: [\n            {\n              name: \"show\",\n              rawName: \"v-show\",\n              value: _vm.selectWords,\n              expression: \"selectWords\"\n            }\n          ],\n          staticClass: \"select-words\"\n        },\n        [_vm._v(_vm._s(_vm.selectWords.length) + \"个字\")]\n      ),\n      _vm._v(\" \"),\n      _c(\"insert-link\", {\n        directives: [\n          {\n            name: \"show\",\n            rawName: \"v-show\",\n            value: _vm.isInsertLinkShow,\n            expression: \"isInsertLinkShow\"\n          }\n        ],\n        attrs: {\n          insertLink: _vm.insertLink,\n          propText: _vm.insertLinkSection.text,\n          propLink: _vm.insertLinkSection.link,\n          cancel: _vm.insertLinkCancel\n        }\n      }),\n      _vm._v(\" \"),\n      _c(\"insert-video\", {\n        directives: [\n          {\n            name: \"show\",\n            rawName: \"v-show\",\n            value: _vm.isInsertVideoShow,\n            expression: \"isInsertVideoShow\"\n          }\n        ],\n        attrs: { insertVideo: _vm.insertVideo, cancel: _vm.insertVideoCancel }\n      })\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\nif (module.hot) {\n  module.hot.accept()\n  if (module.hot.data) {\n    require(\"vue-hot-reload-api\")      .rerender(\"data-v-7f74acf7\", esExports)\n  }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7f74acf7\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SMEditor.vue\n// module id = null\n// module chunks = ","import SMEditor from './components/SMEditor.vue'\n\nconst install = function (Vue, opts = {}) {\n  /* istanbul ignore if */\n  if (install.installed) return\n\n  Vue.component(SMEditor.name, SMEditor)\n}\n\n// auto install\nif (typeof window !== 'undefined' && window.Vue) {\n  install(window.Vue)\n}\n\nexport default SMEditor\n\n\n\n// WEBPACK FOOTER //\n// ./src/smeditor.js","// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = xnc9\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = zQR9\n// module chunks = 0"],"sourceRoot":""}