{"version":3,"file":"editor-tools.js","mappings":"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","sources":["webpack://BlueBoxMoon.Rockumentation/./node_modules/@editorjs/code/dist/bundle.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/@editorjs/embed/dist/bundle.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/@editorjs/header/dist/bundle.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/@editorjs/image/dist/bundle.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/@editorjs/nested-list/dist/nested-list.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/@editorjs/quote/dist/bundle.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/@editorjs/raw/dist/bundle.js","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/styles/settings.pcss","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/styles/table-constructor.pcss","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/styles/table.pcss","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/styles/toolbox.pcss","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/styles/utils.pcss","webpack://BlueBoxMoon.Rockumentation/./src/alert/index.css","webpack://BlueBoxMoon.Rockumentation/./node_modules/css-loader/dist/runtime/api.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://BlueBoxMoon.Rockumentation/./src/alert/index.css?5cb5","webpack://BlueBoxMoon.Rockumentation/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://BlueBoxMoon.Rockumentation/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/img/cross.svg","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/img/new-to-down.svg","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/img/new-to-left.svg","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/img/new-to-right.svg","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/img/new-to-up.svg","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/img/plus.svg","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/img/tableIcon.svg","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/img/toolboxIcon.svg","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/img/with-headings.svg","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/img/without-headings.svg","webpack://BlueBoxMoon.Rockumentation/./src/alert/index.ts","webpack://BlueBoxMoon.Rockumentation/./src/articlelink.ts","webpack://BlueBoxMoon.Rockumentation/./src/code-inline.ts","webpack://BlueBoxMoon.Rockumentation/./src/code.ts","webpack://BlueBoxMoon.Rockumentation/./src/embed.ts","webpack://BlueBoxMoon.Rockumentation/./src/markdown.ts","webpack://BlueBoxMoon.Rockumentation/./src/nested-list.ts","webpack://BlueBoxMoon.Rockumentation/./src/quote.ts","webpack://BlueBoxMoon.Rockumentation/./src/raw.ts","webpack://BlueBoxMoon.Rockumentation/./src/rockimage.ts","webpack://BlueBoxMoon.Rockumentation/./src/tools.ts","webpack://BlueBoxMoon.Rockumentation/./src/vendor/inline-tool-link/dom.ts","webpack://BlueBoxMoon.Rockumentation/./src/vendor/inline-tool-link/index.ts","webpack://BlueBoxMoon.Rockumentation/./src/vendor/inline-tool-link/selection.ts","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/plugin.js","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/styles/table-constructor.pcss?e58d","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/documentUtils.js","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/styles/table.pcss?1bb3","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/styles/toolbox.pcss?0621","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/styles/utils.pcss?1ee0","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/styles/settings.pcss?79b5","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/toolbox.js","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/table.js","webpack://BlueBoxMoon.Rockumentation/./src/vendor/table/tableConstructor.js","webpack://BlueBoxMoon.Rockumentation/webpack/bootstrap","webpack://BlueBoxMoon.Rockumentation/webpack/runtime/compat get default export","webpack://BlueBoxMoon.Rockumentation/webpack/runtime/define property getters","webpack://BlueBoxMoon.Rockumentation/webpack/runtime/hasOwnProperty shorthand","webpack://BlueBoxMoon.Rockumentation/webpack/runtime/nonce","webpack://BlueBoxMoon.Rockumentation/webpack/startup"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.CodeTool=t():e.CodeTool=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/\",n(n.s=4)}([function(e,t,n){var r=n(1),o=n(2);\"string\"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,\"\"]]);var a={insert:\"head\",singleton:!1};r(o,a);e.exports=o.locals||{}},function(e,t,n){\"use strict\";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function c(e){for(var t=-1,n=0;n0;)t-=1,n=e.substr(t,1);return\"\\n\"===n&&(t+=1),t}(a,o);if(\" \"!==a.substr(i,\" \".length))return;n.value=a.substring(0,i)+a.substring(i+\" \".length),t=o-\" \".length}else t=o+\" \".length,n.value=a.substring(0,o)+\" \"+a.substring(o);n.setSelectionRange(t,t)}},{key:\"data\",get:function(){return this._data},set:function(e){this._data=e,this.nodes.textarea&&(this.nodes.textarea.textContent=e.code)}}],[{key:\"toolbox\",get:function(){return{icon:'',title:\"Code\"}}},{key:\"DEFAULT_PLACEHOLDER\",get:function(){return\"Enter a code\"}},{key:\"pasteConfig\",get:function(){return{tags:[\"pre\"]}}},{key:\"sanitize\",get:function(){return{code:!0}}}]),e}()}]).default}));","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.Embed=t():e.Embed=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/\",n(n.s=14)}([function(e,t,n){var r=n(5),i=n(6),o=n(7),a=n(9);e.exports=function(e,t){return r(e)||i(e,t)||o(e,t)||a()}},function(e,t){function n(t){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n(t)}e.exports=n},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}},function(e,t){function n(e,t){for(var n=0;n=0?r=setTimeout(c,t-s):(r=null,n||(l=e.apply(o,i),o=i=null))}null==t&&(t=100);var s=function(){o=this,i=arguments,a=Date.now();var s=n&&!r;return r||(r=setTimeout(c,t)),s&&(l=e.apply(o,i),o=i=null),l};return s.clear=function(){r&&(clearTimeout(r),r=null)},s.flush=function(){r&&(l=e.apply(o,i),o=i=null,clearTimeout(r),r=null)},s}n.debounce=n,e.exports=n},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}}},function(e,t,n){var r=n(8);e.exports=function(e,t){if(e){if(\"string\"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n?title=0&byline=0\",html:'',height:320,width:580},youtube:{regex:/(?:https?:\\/\\/)?(?:www\\.)?(?:(?:youtu\\.be\\/)|(?:youtube\\.com)\\/(?:v\\/|u\\/\\w\\/|embed\\/|watch))(?:(?:\\?v=)?([^#&?=]*))?((?:[?&]\\w*=\\w*)*)/,embedUrl:\"https://www.youtube.com/embed/<%= remote_id %>\",html:'',height:320,width:580,id:function(e){var t=a()(e,2),n=t[0],r=t[1];if(!r&&n)return n;var i={start:\"start\",end:\"end\",t:\"start\",time_continue:\"start\",list:\"list\"};return r=r.slice(1).split(\"&\").map((function(e){var t=e.split(\"=\"),r=a()(t,2),o=r[0],l=r[1];return n||\"v\"!==o?i[o]?\"LL\"===l||l.startsWith(\"RDMM\")||l.startsWith(\"FL\")?null:\"\".concat(i[o],\"=\").concat(l):null:(n=l,null)})).filter((function(e){return!!e})),n+\"?\"+r.join(\"&\")}},coub:{regex:/https?:\\/\\/coub\\.com\\/view\\/([^\\/\\?\\&]+)/,embedUrl:\"https://coub.com/embed/<%= remote_id %>\",html:'',height:320,width:580},vine:{regex:/https?:\\/\\/vine\\.co\\/v\\/([^\\/\\?\\&]+)/,embedUrl:\"https://vine.co/v/<%= remote_id %>/embed/simple/\",html:'',height:320,width:580},imgur:{regex:/https?:\\/\\/(?:i\\.)?imgur\\.com.*\\/([a-zA-Z0-9]+)(?:\\.gifv)?/,embedUrl:\"http://imgur.com/<%= remote_id %>/embed\",html:'',height:500,width:540},gfycat:{regex:/https?:\\/\\/gfycat\\.com(?:\\/detail)?\\/([a-zA-Z]+)/,embedUrl:\"https://gfycat.com/ifr/<%= remote_id %>\",html:\"\",height:436,width:580},\"twitch-channel\":{regex:/https?:\\/\\/www\\.twitch\\.tv\\/([^\\/\\?\\&]*)\\/?$/,embedUrl:\"https://player.twitch.tv/?channel=<%= remote_id %>\",html:'',height:366,width:600},\"twitch-video\":{regex:/https?:\\/\\/www\\.twitch\\.tv\\/(?:[^\\/\\?\\&]*\\/v|videos)\\/([0-9]*)/,embedUrl:\"https://player.twitch.tv/?video=v<%= remote_id %>\",html:'',height:366,width:600},\"yandex-music-album\":{regex:/https?:\\/\\/music\\.yandex\\.ru\\/album\\/([0-9]*)\\/?$/,embedUrl:\"https://music.yandex.ru/iframe/#album/<%= remote_id %>/\",html:'',height:400,width:540},\"yandex-music-track\":{regex:/https?:\\/\\/music\\.yandex\\.ru\\/album\\/([0-9]*)\\/track\\/([0-9]*)/,embedUrl:\"https://music.yandex.ru/iframe/#track/<%= remote_id %>/\",html:'',height:100,width:540,id:function(e){return e.join(\"/\")}},\"yandex-music-playlist\":{regex:/https?:\\/\\/music\\.yandex\\.ru\\/users\\/([^\\/\\?\\&]*)\\/playlists\\/([0-9]*)/,embedUrl:\"https://music.yandex.ru/iframe/#playlist/<%= remote_id %>/show/cover/description/\",html:'',height:400,width:540,id:function(e){return e.join(\"/\")}},codepen:{regex:/https?:\\/\\/codepen\\.io\\/([^\\/\\?\\&]*)\\/pen\\/([^\\/\\?\\&]*)/,embedUrl:\"https://codepen.io/<%= remote_id %>?height=300&theme-id=0&default-tab=css,result&embed-version=2\",html:\"\",height:300,width:600,id:function(e){return e.join(\"/embed/\")}},instagram:{regex:/https?:\\/\\/www\\.instagram\\.com\\/p\\/([^\\/\\?\\&]+)\\/?.*/,embedUrl:\"https://www.instagram.com/p/<%= remote_id %>/embed\",html:'',height:505,width:400},twitter:{regex:/^https?:\\/\\/twitter\\.com\\/(?:#!\\/)?(\\w+)\\/status(?:es)?\\/(\\d+?.*)?$/,embedUrl:\"https://twitframe.com/show?url=https://twitter.com/<%= remote_id %>\",html:'',height:300,width:600,id:function(e){return e.join(\"/status/\")}},pinterest:{regex:/https?:\\/\\/([^\\/\\?\\&]*).pinterest.com\\/pin\\/([^\\/\\?\\&]*)\\/?$/,embedUrl:\"https://assets.pinterest.com/ext/embed.html?id=<%= remote_id %>\",html:\"\",id:function(e){return e[1]}},facebook:{regex:/https?:\\/\\/www.facebook.com\\/([^\\/\\?\\&]*)\\/(.*)/,embedUrl:\"https://www.facebook.com/plugins/post.php?href=https://www.facebook.com/<%= remote_id %>&width=500\",html:\"\",id:function(e){return e.join(\"/\")}},aparat:{regex:/(?:http[s]?:\\/\\/)?(?:www.)?aparat\\.com\\/v\\/([^\\/\\?\\&]+)\\/?/,embedUrl:\"https://www.aparat.com/video/video/embed/videohash/<%= remote_id %>/vt/frame\",html:'',height:300,width:600},miro:{regex:/https:\\/\\/miro.com\\/\\S+(\\S{12})\\/(\\S+)?/,embedUrl:\"https://miro.com/app/live-embed/<%= remote_id %>\",html:''}},h=(n(10),n(4)),m=function(){function e(t){var n=t.data,r=t.api,i=t.readOnly;c()(this,e),this.api=r,this._data={},this.element=null,this.readOnly=i,this.data=n}return d()(e,[{key:\"render\",value:function(){var t=this;if(!this.data.service){var n=document.createElement(\"div\");return this.element=n,n}var r=e.services[this.data.service].html,i=document.createElement(\"div\"),o=document.createElement(\"div\"),a=document.createElement(\"template\"),l=this.createPreloader();i.classList.add(this.CSS.baseClass,this.CSS.container,this.CSS.containerLoading),o.classList.add(this.CSS.input,this.CSS.caption),i.appendChild(l),o.contentEditable=!this.readOnly,o.dataset.placeholder=this.api.i18n.t(\"Enter a caption\"),o.innerHTML=this.data.caption||\"\",a.innerHTML=r,a.content.firstChild.setAttribute(\"src\",this.data.embed),a.content.firstChild.classList.add(this.CSS.content);var c=this.embedIsReady(i);return i.appendChild(a.content.firstChild),i.appendChild(o),c.then((function(){i.classList.remove(t.CSS.containerLoading)})),this.element=i,i}},{key:\"createPreloader\",value:function(){var e=document.createElement(\"preloader\"),t=document.createElement(\"div\");return t.textContent=this.data.source,e.classList.add(this.CSS.preloader),t.classList.add(this.CSS.url),e.appendChild(t),e}},{key:\"save\",value:function(){return this.data}},{key:\"onPaste\",value:function(t){var n=t.detail,r=n.key,i=n.data,o=e.services[r],a=o.regex,l=o.embedUrl,c=o.width,s=o.height,d=o.id,u=void 0===d?function(e){return e.shift()}:d,h=a.exec(i).slice(1),m=l.replace(/<%= remote_id %>/g,u(h));this.data={service:r,source:i,embed:m,width:c,height:s}}},{key:\"embedIsReady\",value:function(e){var t=null;return new Promise((function(n,r){(t=new MutationObserver(Object(h.debounce)(n,450))).observe(e,{childList:!0,subtree:!0})})).then((function(){t.disconnect()}))}},{key:\"data\",set:function(e){if(!(e instanceof Object))throw Error(\"Embed Tool data should be object\");var t=e.service,n=e.source,r=e.embed,i=e.width,o=e.height,a=e.caption,l=void 0===a?\"\":a;this._data={service:t||this.data.service,source:n||this.data.source,embed:r||this.data.embed,width:i||this.data.width,height:o||this.data.height,caption:l||this.data.caption||\"\"};var c=this.element;c&&c.parentNode.replaceChild(this.render(),c)},get:function(){if(this.element){var e=this.element.querySelector(\".\".concat(this.api.styles.input));this._data.caption=e?e.innerHTML:\"\"}return this._data}},{key:\"CSS\",get:function(){return{baseClass:this.api.styles.block,input:this.api.styles.input,container:\"embed-tool\",containerLoading:\"embed-tool--loading\",preloader:\"embed-tool__preloader\",caption:\"embed-tool__caption\",url:\"embed-tool__url\",content:\"embed-tool__content\"}}}],[{key:\"prepare\",value:function(t){var n=t.config,r=(void 0===n?{}:n).services,o=void 0===r?{}:r,l=Object.entries(u),c=Object.entries(o).filter((function(e){var t=a()(e,2),n=(t[0],t[1]);return\"boolean\"==typeof n&&!0===n})).map((function(e){return a()(e,1)[0]})),s=Object.entries(o).filter((function(e){var t=a()(e,2),n=(t[0],t[1]);return\"object\"===i()(n)})).filter((function(t){var n=a()(t,2),r=(n[0],n[1]);return e.checkServiceConfig(r)})).map((function(e){var t=a()(e,2),n=t[0],r=t[1];return[n,{regex:r.regex,embedUrl:r.embedUrl,html:r.html,height:r.height,width:r.width,id:r.id}]}));c.length&&(l=l.filter((function(e){var t=a()(e,1)[0];return c.includes(t)}))),l=l.concat(s),e.services=l.reduce((function(e,t){var n=a()(t,2),r=n[0],i=n[1];return r in e?(e[r]=Object.assign({},e[r],i),e):(e[r]=i,e)}),{}),e.patterns=l.reduce((function(e,t){var n=a()(t,2),r=n[0],i=n[1];return e[r]=i.regex,e}),{})}},{key:\"checkServiceConfig\",value:function(e){var t=e.regex,n=e.embedUrl,r=e.html,i=e.height,o=e.width,a=e.id,l=t&&t instanceof RegExp&&n&&\"string\"==typeof n&&r&&\"string\"==typeof r;return l=(l=(l=l&&(void 0===a||a instanceof Function))&&(void 0===i||Number.isFinite(i)))&&(void 0===o||Number.isFinite(o))}},{key:\"pasteConfig\",get:function(){return{patterns:e.patterns}}},{key:\"isReadOnlySupported\",get:function(){return!0}}]),e}()}]).default}));","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.Header=t():e.Header=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/\",n(n.s=5)}([function(e,t,n){var r=n(1);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,\"/**\\n * Plugin styles\\n */\\n.ce-header {\\n padding: 0.6em 0 3px;\\n margin: 0;\\n line-height: 1.25em;\\n outline: none;\\n}\\n\\n.ce-header p,\\n.ce-header div{\\n padding: 0 !important;\\n margin: 0 !important;\\n}\\n\\n/**\\n * Styles for Plugin icon in Toolbar\\n */\\n.ce-header__icon {}\\n\\n.ce-header[contentEditable=true][data-placeholder]::before{\\n position: absolute;\\n content: attr(data-placeholder);\\n color: #707684;\\n font-weight: normal;\\n display: none;\\n cursor: text;\\n}\\n\\n.ce-header[contentEditable=true][data-placeholder]:empty::before {\\n display: block;\\n}\\n\\n.ce-header[contentEditable=true][data-placeholder]:empty:focus::before {\\n display: none;\\n}\\n\",\"\"])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||\"\",r=e[3];if(!r)return n;if(t&&\"function\"==typeof btoa){var o=(a=r,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),i=r.sources.map((function(e){return\"/*# sourceURL=\"+r.sourceRoot+e+\" */\"}));return[n].concat(i).concat([o]).join(\"\\n\")}var a;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n})).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var r={},o=0;o=0&&f.splice(t,1)}function b(e){var t=document.createElement(\"style\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),m(t,e.attrs),v(e,t),t}function m(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function y(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=c++;n=u||(u=b(t)),r=L.bind(null,n,a,!1),o=L.bind(null,n,a,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=function(e){var t=document.createElement(\"link\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),e.attrs.rel=\"stylesheet\",m(t,e.attrs),v(e,t),t}(t),r=x.bind(null,n,t),o=function(){g(n),n.href&&URL.revokeObjectURL(n.href)}):(n=b(t),r=M.bind(null,n),o=function(){g(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(t=t||{}).attrs=\"object\"==typeof t.attrs?t.attrs:{},t.singleton||\"boolean\"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto=\"head\"),t.insertAt||(t.insertAt=\"bottom\");var n=h(e,t);return p(n,t),function(e){for(var r=[],o=0;o',title:\"Heading\"}}}],(n=[{key:\"normalizeData\",value:function(e){var t={};return\"object\"!==r(e)&&(e={}),t.text=e.text||\"\",t.level=parseInt(e.level)||this.defaultLevel.number,t}},{key:\"render\",value:function(){return this._element}},{key:\"renderSettings\",value:function(){var e=this;return this.levels.map((function(t){return{icon:t.svg,label:e.api.i18n.t(\"Heading \".concat(t.number)),onActivate:function(){return e.setLevel(t.number)},closeOnActivate:!0,isActive:e.currentLevel.number===t.number}}))}},{key:\"setLevel\",value:function(e){this.data={level:e,text:this.data.text}}},{key:\"merge\",value:function(e){var t={text:this.data.text+e.text,level:this.data.level};this.data=t}},{key:\"validate\",value:function(e){return\"\"!==e.text.trim()}},{key:\"save\",value:function(e){return{text:e.innerHTML,level:this.currentLevel.number}}},{key:\"getTag\",value:function(){var e=document.createElement(this.currentLevel.tag);return e.innerHTML=this._data.text||\"\",e.classList.add(this._CSS.wrapper),e.contentEditable=this.readOnly?\"false\":\"true\",e.dataset.placeholder=this.api.i18n.t(this._settings.placeholder||\"\"),e}},{key:\"onPaste\",value:function(e){var t=e.detail.data,n=this.defaultLevel.number;switch(t.tagName){case\"H1\":n=1;break;case\"H2\":n=2;break;case\"H3\":n=3;break;case\"H4\":n=4;break;case\"H5\":n=5;break;case\"H6\":n=6}this._settings.levels&&(n=this._settings.levels.reduce((function(e,t){return Math.abs(t-n)'},{number:2,tag:\"H2\",svg:''},{number:3,tag:\"H3\",svg:''},{number:4,tag:\"H4\",svg:''},{number:5,tag:\"H5\",svg:''},{number:6,tag:\"H6\",svg:''}];return this._settings.levels?t.filter((function(t){return e._settings.levels.includes(t.number)})):t}}])&&o(t.prototype,n),i&&o(t,i),e}()}]).default}));","/*!\n * Image tool\n * \n * @version 2.8.1\n * \n * @package https://github.com/editor-js/image\n * @licence MIT\n * @author CodeX \n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.ImageTool=t():e.ImageTool=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/\",n(n.s=9)}([function(e,t){function n(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};if(e.url&&\"string\"!=typeof e.url)throw new Error(\"Url must be a string\");if(e.url=e.url||\"\",e.method&&\"string\"!=typeof e.method)throw new Error(\"`method` must be a string or null\");if(e.method=e.method?e.method.toUpperCase():\"GET\",e.headers&&\"object\"!==r(e.headers))throw new Error(\"`headers` must be an object or null\");if(e.headers=e.headers||{},e.type&&(\"string\"!=typeof e.type||!Object.values(o).includes(e.type)))throw new Error(\"`type` must be taken from module's «contentType» library\");if(e.progress&&\"function\"!=typeof e.progress)throw new Error(\"`progress` must be a function or null\");if(e.progress=e.progress||function(e){},e.beforeSend=e.beforeSend||function(e){},e.ratio&&\"number\"!=typeof e.ratio)throw new Error(\"`ratio` must be a number\");if(e.ratio<0||e.ratio>100)throw new Error(\"`ratio` must be in a 0-100 interval\");if(e.ratio=e.ratio||90,e.accept&&\"string\"!=typeof e.accept)throw new Error(\"`accept` must be a string with a list of allowed mime-types\");if(e.accept=e.accept||\"*/*\",e.multiple&&\"boolean\"!=typeof e.multiple)throw new Error(\"`multiple` must be a true or false\");if(e.multiple=e.multiple||!1,e.fieldName&&\"string\"!=typeof e.fieldName)throw new Error(\"`fieldName` must be a string\");return e.fieldName=e.fieldName||\"files\",e},c=function(e){switch(e.method){case\"GET\":var t=s(e.data,o.URLENCODED);delete e.data,e.url=/\\?/.test(e.url)?e.url+\"&\"+t:e.url+\"?\"+t;break;case\"POST\":case\"PUT\":case\"DELETE\":case\"UPDATE\":var n=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).type||o.JSON}(e);(d.isFormData(e.data)||d.isFormElement(e.data))&&(n=o.FORM),e.data=s(e.data,n),n!==f.contentType.FORM&&(e.headers[\"content-type\"]=n)}return e},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};switch(arguments.length>1?arguments[1]:void 0){case o.URLENCODED:return d.urlEncode(e);case o.JSON:return d.jsonEncode(e);case o.FORM:return d.formEncode(e);default:return e}},l=function(e){return e>=200&&e<300},{contentType:o={URLENCODED:\"application/x-www-form-urlencoded; charset=utf-8\",FORM:\"multipart/form-data\",JSON:\"application/json; charset=utf-8\"},request:i,get:function(e){return e.method=\"GET\",i(e)},post:a,transport:function(e){return e=u(e),d.selectFiles(e).then((function(t){for(var n=new FormData,r=0;r=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(6),t.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(0))},function(e,t,n){(function(e,t){!function(e,n){\"use strict\";if(!e.setImmediate){var r,o,i,a,u,c=1,s={},l=!1,d=e.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(e);f=f&&f.setTimeout?f:e,\"[object process]\"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage(\"\",\"*\"),e.onmessage=n,t}}()?(a=\"setImmediate$\"+Math.random()+\"$\",u=function(t){t.source===e&&\"string\"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener(\"message\",u,!1):e.attachEvent(\"onmessage\",u),r=function(t){e.postMessage(a+t,\"*\")}):e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){i.port2.postMessage(e)}):d&&\"onreadystatechange\"in d.createElement(\"script\")?(o=d.documentElement,r=function(e){var t=d.createElement(\"script\");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(h,0,e)},f.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n HTMLElement\")}},{key:\"isObject\",value:function(e){return\"[object Object]\"===Object.prototype.toString.call(e)}},{key:\"isFormData\",value:function(e){return e instanceof FormData}},{key:\"isFormElement\",value:function(e){return e instanceof HTMLFormElement}},{key:\"selectFiles\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise((function(t,n){var r=document.createElement(\"INPUT\");r.type=\"file\",e.multiple&&r.setAttribute(\"multiple\",\"multiple\"),e.accept&&r.setAttribute(\"accept\",e.accept),r.style.display=\"none\",document.body.appendChild(r),r.addEventListener(\"change\",(function(e){var n=e.target.files;t(n),document.body.removeChild(r)}),!1),r.click()}))}},{key:\"parseHeaders\",value:function(e){var t=e.trim().split(/[\\r\\n]+/),n={};return t.forEach((function(e){var t=e.split(\": \"),r=t.shift(),o=t.join(\": \");r&&(n[r]=o)})),n}}])&&r(t,n),e}()},function(e,t){var n=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,escape).replace(/%20/g,\"+\")},r=function(e,t,o,i){return t=t||null,o=o||\"&\",i=i||null,e?function(e){for(var t=new Array,n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;--o){var i=this.tryEntries[o],a=i.completion;if(\"root\"===i.tryLoc)return r(\"end\");if(i.tryLoc<=this.prev){var u=n.call(i,\"catchLoc\"),c=n.call(i,\"finallyLoc\");if(u&&c){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,\"finallyLoc\")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),k(n),s}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if(\"throw\"===r.type){var o=r.arg;k(n)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,n){return this.delegate={iterator:x(e),resultName:t,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),s}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function(\"r\",\"regeneratorRuntime = r\")(r)}},function(e,t,n){var r=n(12),o=n(13);\"string\"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,\"\"]]);var i={insert:\"head\",singleton:!1},a=(r(o,i),o.locals?o.locals:{});e.exports=a},function(e,t,n){\"use strict\";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function u(e){for(var t=-1,n=0;n1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=document.createElement(e);Array.isArray(n)?(t=o.classList).add.apply(t,p()(n)):n&&o.classList.add(n);for(var i in r)o[i]=r[i];return o}var m=function(){function e(t){var n=t.api,r=t.config,o=t.onSelectFile,i=t.readOnly;c()(this,e),this.api=n,this.config=r,this.onSelectFile=o,this.readOnly=i,this.nodes={wrapper:h(\"div\",[this.CSS.baseClass,this.CSS.wrapper]),imageContainer:h(\"div\",[this.CSS.imageContainer]),fileButton:this.createFileButton(),imageEl:void 0,imagePreloader:h(\"div\",this.CSS.imagePreloader),caption:h(\"div\",[this.CSS.input,this.CSS.caption],{contentEditable:!this.readOnly})},this.nodes.caption.dataset.placeholder=this.config.captionPlaceholder,this.nodes.imageContainer.appendChild(this.nodes.imagePreloader),this.nodes.wrapper.appendChild(this.nodes.imageContainer),this.nodes.wrapper.appendChild(this.nodes.caption),this.nodes.wrapper.appendChild(this.nodes.fileButton)}return l()(e,[{key:\"render\",value:function(t){return t.file&&0!==Object.keys(t.file).length?this.toggleStatus(e.status.UPLOADING):this.toggleStatus(e.status.EMPTY),this.nodes.wrapper}},{key:\"createFileButton\",value:function(){var e=this,t=h(\"div\",[this.CSS.button]);return t.innerHTML=this.config.buttonContent||\"\".concat(d,\" \").concat(this.api.i18n.t(\"Select an Image\")),t.addEventListener(\"click\",(function(){e.onSelectFile()})),t}},{key:\"showPreloader\",value:function(t){this.nodes.imagePreloader.style.backgroundImage=\"url(\".concat(t,\")\"),this.toggleStatus(e.status.UPLOADING)}},{key:\"hidePreloader\",value:function(){this.nodes.imagePreloader.style.backgroundImage=\"\",this.toggleStatus(e.status.EMPTY)}},{key:\"fillImage\",value:function(t){var n=this,r=/\\.mp4$/.test(t)?\"VIDEO\":\"IMG\",o={src:t},i=\"load\";\"VIDEO\"===r&&(o.autoplay=!0,o.loop=!0,o.muted=!0,o.playsinline=!0,i=\"loadeddata\"),this.nodes.imageEl=h(r,this.CSS.imageEl,o),this.nodes.imageEl.addEventListener(i,(function(){n.toggleStatus(e.status.FILLED),n.nodes.imagePreloader&&(n.nodes.imagePreloader.style.backgroundImage=\"\")})),this.nodes.imageContainer.appendChild(this.nodes.imageEl)}},{key:\"fillCaption\",value:function(e){this.nodes.caption&&(this.nodes.caption.innerHTML=e)}},{key:\"toggleStatus\",value:function(t){for(var n in e.status)Object.prototype.hasOwnProperty.call(e.status,n)&&this.nodes.wrapper.classList.toggle(\"\".concat(this.CSS.wrapper,\"--\").concat(e.status[n]),t===e.status[n])}},{key:\"applyTune\",value:function(e,t){this.nodes.wrapper.classList.toggle(\"\".concat(this.CSS.wrapper,\"--\").concat(e),t)}},{key:\"CSS\",get:function(){return{baseClass:this.api.styles.block,loading:this.api.styles.loader,input:this.api.styles.input,button:this.api.styles.button,wrapper:\"image-tool\",imageContainer:\"image-tool__image\",imagePreloader:\"image-tool__image-preloader\",imageEl:\"image-tool__image-picture\",caption:\"image-tool__caption\"}}}],[{key:\"status\",get:function(){return{EMPTY:\"empty\",UPLOADING:\"loading\",FILLED:\"filled\"}}}]),e}(),g=n(8),y=n.n(g),v=n(1),b=n.n(v);function w(e){return e&&\"function\"==typeof e.then}var k=function(){function e(t){var n=t.config,r=t.onUpload,o=t.onError;c()(this,e),this.config=n,this.onUpload=r,this.onError=o}return l()(e,[{key:\"uploadSelectedFile\",value:function(e){var t=this,n=e.onPreview,r=function(e){var t=new FileReader;t.readAsDataURL(e),t.onload=function(e){n(e.target.result)}};(this.config.uploader&&\"function\"==typeof this.config.uploader.uploadByFile?b.a.selectFiles({accept:this.config.types}).then((function(e){r(e[0]);var n=t.config.uploader.uploadByFile(e[0]);return w(n)||console.warn(\"Custom uploader method uploadByFile should return a Promise\"),n})):b.a.transport({url:this.config.endpoints.byFile,data:this.config.additionalRequestData,accept:this.config.types,headers:this.config.additionalRequestHeaders,beforeSend:function(e){r(e[0])},fieldName:this.config.field}).then((function(e){return e.body}))).then((function(e){t.onUpload(e)})).catch((function(e){t.onError(e)}))}},{key:\"uploadByUrl\",value:function(e){var t,n=this;this.config.uploader&&\"function\"==typeof this.config.uploader.uploadByUrl?w(t=this.config.uploader.uploadByUrl(e))||console.warn(\"Custom uploader method uploadByUrl should return a Promise\"):t=b.a.post({url:this.config.endpoints.byUrl,data:Object.assign({url:e},this.config.additionalRequestData),type:b.a.contentType.JSON,headers:this.config.additionalRequestHeaders}).then((function(e){return e.body})),t.then((function(e){n.onUpload(e)})).catch((function(e){n.onError(e)}))}},{key:\"uploadByFile\",value:function(e,t){var n,r=this,o=t.onPreview,i=new FileReader;if(i.readAsDataURL(e),i.onload=function(e){o(e.target.result)},this.config.uploader&&\"function\"==typeof this.config.uploader.uploadByFile)w(n=this.config.uploader.uploadByFile(e))||console.warn(\"Custom uploader method uploadByFile should return a Promise\");else{var a=new FormData;a.append(this.config.field,e),this.config.additionalRequestData&&Object.keys(this.config.additionalRequestData).length&&Object.entries(this.config.additionalRequestData).forEach((function(e){var t=y()(e,2),n=t[0],r=t[1];a.append(n,r)})),n=b.a.post({url:this.config.endpoints.byFile,data:a,type:b.a.contentType.JSON,headers:this.config.additionalRequestHeaders}).then((function(e){return e.body}))}n.then((function(e){r.onUpload(e)})).catch((function(e){r.onError(e)}))}}]),e}(),_=function(){function e(t){var n=this,r=t.data,o=t.config,i=t.api,a=t.readOnly;c()(this,e),this.api=i,this.readOnly=a,this.config={endpoints:o.endpoints||\"\",additionalRequestData:o.additionalRequestData||{},additionalRequestHeaders:o.additionalRequestHeaders||{},field:o.field||\"image\",types:o.types||\"image/*\",captionPlaceholder:this.api.i18n.t(o.captionPlaceholder||\"Caption\"),buttonContent:o.buttonContent||\"\",uploader:o.uploader||void 0,actions:o.actions||[]},this.uploader=new k({config:this.config,onUpload:function(e){return n.onUpload(e)},onError:function(e){return n.uploadingFailed(e)}}),this.ui=new m({api:i,config:this.config,onSelectFile:function(){n.uploader.uploadSelectedFile({onPreview:function(e){n.ui.showPreloader(e)}})},readOnly:a}),this._data={},this.data=r}var t;return l()(e,null,[{key:\"isReadOnlySupported\",get:function(){return!0}},{key:\"toolbox\",get:function(){return{icon:d,title:\"Image\"}}},{key:\"tunes\",get:function(){return[{name:\"withBorder\",icon:'',title:\"With border\",toggle:!0},{name:\"stretched\",icon:'',title:\"Stretch image\",toggle:!0},{name:\"withBackground\",icon:'',title:\"With background\",toggle:!0}]}}]),l()(e,[{key:\"render\",value:function(){return this.ui.render(this.data)}},{key:\"validate\",value:function(e){return e.file&&e.file.url}},{key:\"save\",value:function(){var e=this.ui.nodes.caption;return this._data.caption=e.innerHTML,this.data}},{key:\"renderSettings\",value:function(){var t=this;return e.tunes.concat(this.config.actions).map((function(e){return{icon:e.icon,label:t.api.i18n.t(e.title),name:e.name,toggle:e.toggle,isActive:t.data[e.name],onActivate:function(){\"function\"!=typeof e.action?t.tuneToggled(e.name):e.action(e.name)}}}))}},{key:\"appendCallback\",value:function(){this.ui.nodes.fileButton.click()}},{key:\"onPaste\",value:(t=a()(o.a.mark((function e(t){var n,r,i,a,u;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t.type,e.next=\"tag\"===e.t0?3:\"pattern\"===e.t0?15:\"file\"===e.t0?18:21;break;case 3:if(n=t.detail.data,!/^blob:/.test(n.src)){e.next=13;break}return e.next=7,fetch(n.src);case 7:return r=e.sent,e.next=10,r.blob();case 10:return i=e.sent,this.uploadFile(i),e.abrupt(\"break\",21);case 13:return this.uploadUrl(n.src),e.abrupt(\"break\",21);case 15:return a=t.detail.data,this.uploadUrl(a),e.abrupt(\"break\",21);case 18:return u=t.detail.file,this.uploadFile(u),e.abrupt(\"break\",21);case 21:case\"end\":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:\"onUpload\",value:function(e){e.success&&e.file?this.image=e.file:this.uploadingFailed(\"incorrect response: \"+JSON.stringify(e))}},{key:\"uploadingFailed\",value:function(e){console.log(\"Image Tool: uploading failed because of\",e),this.api.notifier.show({message:this.api.i18n.t(\"Couldn’t upload image. Please try another.\"),style:\"error\"}),this.ui.hidePreloader()}},{key:\"tuneToggled\",value:function(e){this.setTune(e,!this._data[e])}},{key:\"setTune\",value:function(e,t){var n=this;this._data[e]=t,this.ui.applyTune(e,t),\"stretched\"===e&&Promise.resolve().then((function(){var e=n.api.blocks.getCurrentBlockIndex();n.api.blocks.stretchBlock(e,t)})).catch((function(e){console.error(e)}))}},{key:\"uploadFile\",value:function(e){var t=this;this.uploader.uploadByFile(e,{onPreview:function(e){t.ui.showPreloader(e)}})}},{key:\"uploadUrl\",value:function(e){this.ui.showPreloader(e),this.uploader.uploadByUrl(e)}},{key:\"data\",set:function(t){var n=this;this.image=t.file,this._data.caption=t.caption||\"\",this.ui.fillCaption(this._data.caption),e.tunes.forEach((function(e){var r=e.name,o=void 0!==t[r]&&(!0===t[r]||\"true\"===t[r]);n.setTune(r,o)}))},get:function(){return this._data}},{key:\"image\",set:function(e){this._data.file=e||{},e&&e.url&&this.ui.fillImage(e.url)}}],[{key:\"pasteConfig\",get:function(){return{tags:[{img:{src:!0}}],patterns:{image:/https?:\\/\\/\\S+\\.(gif|jpe?g|tiff|png|svg|webp)(\\?[a-z0-9=]*)?$/i},files:{mimeTypes:[\"image/*\"]}}}}]),e}();\n/**\n * Image Tool for the Editor.js\n *\n * @author CodeX \n * @license MIT\n * @see {@link https://github.com/editor-js/image}\n *\n * To developers.\n * To simplify Tool structure, we split it to 4 parts:\n * 1) index.js — main Tool's interface, public API and methods for working with data\n * 2) uploader.js — module that has methods for sending files via AJAX: from device, by URL or File pasting\n * 3) ui.js — module for UI manipulations: render, showing preloader, etc\n * 4) tunes.js — working with Block Tunes: render buttons, handle clicks\n *\n * For debug purposes there is a testing server\n * that can save uploaded files and return a Response {@link UploadResponseFormat}\n *\n * $ node dev/server.js\n *\n * It will expose 8008 port, so you can pass http://localhost:8008 with the Tools config:\n *\n * image: {\n * class: ImageTool,\n * config: {\n * endpoints: {\n * byFile: 'http://localhost:8008/uploadFile',\n * byUrl: 'http://localhost:8008/fetchUrl',\n * }\n * },\n * },\n */}]).default}));","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.NestedList=t():e.NestedList=t()}(self,(function(){return(()=>{\"use strict\";var e={384:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(645),i=n.n(r)()((function(e){return e[1]}));i.push([e.id,'.cdx-nested-list {\\n margin: 0;\\n padding: 0;\\n outline: none;\\n counter-reset: item;\\n list-style: none;\\n}\\n\\n .cdx-nested-list__item {\\n line-height: 1.6em;\\n display: flex;\\n margin: 2px 0;\\n }\\n\\n .cdx-nested-list__item [contenteditable]{\\n outline: none;\\n }\\n\\n .cdx-nested-list__item-body {\\n flex-grow: 2;\\n }\\n\\n .cdx-nested-list__item-content,\\n .cdx-nested-list__item-children {\\n flex-basis: 100%;\\n }\\n\\n .cdx-nested-list__item-content {\\n word-break: break-word;\\n white-space: pre-wrap;\\n }\\n\\n .cdx-nested-list__item-children {}\\n\\n .cdx-nested-list__item::before {\\n counter-increment: item;\\n margin-right: 5px;\\n white-space: nowrap;\\n }\\n\\n .cdx-nested-list--ordered > .cdx-nested-list__item::before {\\n content: counters(item, \".\") \". \";\\n }\\n\\n .cdx-nested-list--unordered > .cdx-nested-list__item::before {\\n content: \"•\";\\n }\\n\\n .cdx-nested-list__settings {\\n display: flex;\\n }\\n\\n .cdx-nested-list__settings .cdx-settings-button {\\n width: 50%;\\n }\\n',\"\"]);const s=i},645:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,r){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var i={};if(r)for(var s=0;s{var r,i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),s=[];function o(e){for(var t=-1,n=0;n{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{function e(e,t=null,n={}){const r=document.createElement(e);Array.isArray(t)?r.classList.add(...t):t&&r.classList.add(t);for(const e in n)r[e]=n[e];return r}function t(t){const n=e(\"div\");return n.appendChild(t),n.innerHTML}function i(e){let t;return e.nodeType!==Node.ELEMENT_NODE?t=e.textContent:(t=e.innerHTML,t=t.replaceAll(\"
\",\"\")),0===t.trim().length}n.d(r,{default:()=>l});class s{constructor(){this.savedFakeCaret=void 0}save(){const t=s.range,n=e(\"span\");n.hidden=!0,t.insertNode(n),this.savedFakeCaret=n}restore(){if(!this.savedFakeCaret)return;const e=window.getSelection(),t=new Range;t.setStartAfter(this.savedFakeCaret),t.setEndAfter(this.savedFakeCaret),e.removeAllRanges(),e.addRange(t),setTimeout((()=>{this.savedFakeCaret.remove()}),150)}static get range(){const e=window.getSelection();return e&&e.rangeCount?e.getRangeAt(0):null}static extractFragmentFromCaretPositionTillTheEnd(){const e=window.getSelection();if(!e.rangeCount)return;const t=e.getRangeAt(0);let n=t.startContainer;n.nodeType!==Node.ELEMENT_NODE&&(n=n.parentNode);const r=n.closest(\"[contenteditable]\");t.deleteContents();const i=t.cloneRange();return i.selectNodeContents(r),i.setStart(t.endContainer,t.endOffset),i.extractContents()}static focus(e,t=!0){const n=document.createRange(),r=window.getSelection();n.selectNodeContents(e),n.collapse(t),r.removeAllRanges(),r.addRange(n)}static isAtStart(){const e=window.getSelection();if(e.focusOffset>0)return!1;const t=e.focusNode;return s.getHigherLevelSiblings(t,\"left\").every((e=>i(e)))}static getHigherLevelSiblings(e,t=\"left\"){let n=e;const r=[];for(;n.parentNode&&\"true\"!==n.parentNode.contentEditable;)n=n.parentNode;const i=\"left\"===t?\"previousSibling\":\"nextSibling\";for(;n[i];)n=n[i],r.push(n);return r}}const o='';var a=n(379),d=n.n(a),c=n(384);d()(c.Z,{insert:\"head\",singleton:!1}),c.Z.locals;class l{static get isReadOnlySupported(){return!0}static get enableLineBreaks(){return!0}static get toolbox(){return{icon:o,title:\"List\"}}constructor({data:e,config:t,api:n,readOnly:r}){this.nodes={wrapper:null},this.api=n,this.readOnly=r,this.config=t,this.defaultListStyle=\"ordered\"===this.config.defaultStyle?\"ordered\":\"unordered\";const i={style:this.defaultListStyle,items:[]};this.data=e&&Object.keys(e).length?e:i,this.caret=new s}render(){return this.nodes.wrapper=this.makeListWrapper(this.data.style,[this.CSS.baseBlock]),this.data.items.length?this.appendItems(this.data.items,this.nodes.wrapper):this.appendItems([{content:\"\",items:[]}],this.nodes.wrapper),this.readOnly||this.nodes.wrapper.addEventListener(\"keydown\",(e=>{switch(e.key){case\"Enter\":this.enterPressed(e);break;case\"Backspace\":this.backspace(e);break;case\"Tab\":e.shiftKey?this.shiftTab(e):this.addTab(e)}}),!1),this.nodes.wrapper}renderSettings(){return[{name:\"unordered\",label:this.api.i18n.t(\"Unordered\"),icon:''},{name:\"ordered\",label:this.api.i18n.t(\"Ordered\"),icon:o}].map((e=>({name:e.name,icon:e.icon,label:e.label,isActive:this.data.style===e.name,closeOnActivate:!0,onActivate:()=>{this.listStyle=e.name}})))}static get pasteConfig(){return{tags:[\"OL\",\"UL\",\"LI\"]}}onPaste(e){const t=e.detail.data;this.data=this.pasteHandler(t);const n=this.nodes.wrapper;n&&n.parentNode.replaceChild(this.render(),n)}pasteHandler(e){const{tagName:t}=e;let n,r;switch(t){case\"OL\":n=\"ordered\",r=\"ol\";break;case\"UL\":case\"LI\":n=\"unordered\",r=\"ul\"}const i={style:n,items:[]},s=e=>Array.from(e.querySelectorAll(\":scope > li\")).map((e=>{const t=e.querySelector(`:scope > ${r}`),n=t?s(t):[];return{content:e?.firstChild?.textContent||\"\",items:n}}));return i.items=s(e),i}appendItems(e,t){e.forEach((e=>{const n=this.createItem(e.content,e.items);t.appendChild(n)}))}createItem(t,n=[]){const r=e(\"li\",this.CSS.item),i=e(\"div\",this.CSS.itemBody),s=e(\"div\",this.CSS.itemContent,{innerHTML:t,contentEditable:!this.readOnly});return i.appendChild(s),r.appendChild(i),n&&n.length>0&&this.addChildrenList(r,n),r}save(){const e=t=>Array.from(t.querySelectorAll(`:scope > .${this.CSS.item}`)).map((t=>{const n=t.querySelector(`.${this.CSS.itemChildren}`);return{content:this.getItemContent(t),items:n?e(n):[]}}));return{style:this.data.style,items:e(this.nodes.wrapper)}}addChildrenList(e,t){const n=e.querySelector(`.${this.CSS.itemBody}`),r=this.makeListWrapper(void 0,[this.CSS.itemChildren]);this.appendItems(t,r),n.appendChild(r)}makeListWrapper(t=this.listStyle,n=[]){const r=\"ordered\"===t?\"ol\":\"ul\",i=\"ordered\"===t?this.CSS.wrapperOrdered:this.CSS.wrapperUnordered;return n.push(i),e(r,[this.CSS.wrapper,...n])}get CSS(){return{baseBlock:this.api.styles.block,wrapper:\"cdx-nested-list\",wrapperOrdered:\"cdx-nested-list--ordered\",wrapperUnordered:\"cdx-nested-list--unordered\",item:\"cdx-nested-list__item\",itemBody:\"cdx-nested-list__item-body\",itemContent:\"cdx-nested-list__item-content\",itemChildren:\"cdx-nested-list__item-children\",settingsWrapper:\"cdx-nested-list__settings\",settingsButton:this.api.styles.settingsButton,settingsButtonActive:this.api.styles.settingsButtonActive}}get listStyle(){return this.data.style||this.defaultListStyle}set listStyle(e){const t=Array.from(this.nodes.wrapper.querySelectorAll(`.${this.CSS.wrapper}`));t.push(this.nodes.wrapper),t.forEach((t=>{t.classList.toggle(this.CSS.wrapperUnordered,\"unordered\"===e),t.classList.toggle(this.CSS.wrapperOrdered,\"ordered\"===e)})),this.data.style=e}get currentItem(){let e=window.getSelection().anchorNode;return e.nodeType!==Node.ELEMENT_NODE&&(e=e.parentNode),e.closest(`.${this.CSS.item}`)}enterPressed(e){const n=this.currentItem;e.stopPropagation(),e.preventDefault();const r=0===this.getItemContent(n).trim().length,i=n.parentNode===this.nodes.wrapper,o=null===n.nextElementSibling;if(i&&o&&r)return void this.getOutOfList();if(o&&r)return void this.unshiftItem();const a=t(s.extractFragmentFromCaretPositionTillTheEnd()),d=n.querySelector(`.${this.CSS.itemChildren}`),c=this.createItem(a,void 0);d&&Array.from(d.querySelectorAll(`.${this.CSS.item}`)).length>0?d.prepend(c):n.after(c),this.focusItem(c)}unshiftItem(){const e=this.currentItem,t=e.parentNode.closest(`.${this.CSS.item}`);if(!t)return;this.caret.save(),t.after(e),this.caret.restore();const n=t.querySelector(`.${this.CSS.itemChildren}`);0===n.children.length&&n.remove()}getItemContent(e){const t=e.querySelector(`.${this.CSS.itemContent}`);return i(t)?\"\":t.innerHTML}focusItem(e,t=!0){const n=e.querySelector(`.${this.CSS.itemContent}`);s.focus(n,t)}getOutOfList(){this.currentItem.remove(),this.api.blocks.insert(),this.api.caret.setToBlock(this.api.blocks.getCurrentBlockIndex())}backspace(e){if(!s.isAtStart())return;e.preventDefault();const n=this.currentItem,r=n.previousSibling,i=n.parentNode.closest(`.${this.CSS.item}`);if(!r&&!i)return;let o;if(e.stopPropagation(),r){const e=r.querySelectorAll(`.${this.CSS.item}`);o=Array.from(e).pop()||r}else o=i;const a=t(s.extractFragmentFromCaretPositionTillTheEnd()),d=o.querySelector(`.${this.CSS.itemContent}`);s.focus(d,!1),this.caret.save(),d.insertAdjacentHTML(\"beforeend\",a);let c=n.querySelectorAll(`.${this.CSS.itemChildren} > .${this.CSS.item}`);c=Array.from(c),c=c.filter((e=>e.parentNode.closest(`.${this.CSS.item}`)===n)),c.reverse().forEach((e=>{r?o.after(e):n.after(e)})),n.remove(),this.caret.restore()}addTab(e){e.stopPropagation(),e.preventDefault();const t=this.currentItem,n=t.previousSibling;if(!n)return;const r=n.querySelector(`.${this.CSS.itemChildren}`);if(this.caret.save(),r)r.appendChild(t);else{const e=this.makeListWrapper(void 0,[this.CSS.itemChildren]),r=n.querySelector(`.${this.CSS.itemBody}`);e.appendChild(t),r.appendChild(e)}this.caret.restore()}shiftTab(e){e.stopPropagation(),e.preventDefault(),this.unshiftItem()}static joinRecursive(e){return e.items.map((e=>`${e.content} ${l.joinRecursive(e)}`)).join(\"\")}static get conversionConfig(){return{export:e=>l.joinRecursive(e),import:e=>({items:[{content:e,items:[]}],style:\"unordered\"})}}}})(),r.default})()}));","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Quote=e():t.Quote=e()}(window,function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/\",n(n.s=5)}([function(t,e,n){var r=n(1);\"string\"==typeof r&&(r=[[t.i,r,\"\"]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o);r.locals&&(t.exports=r.locals)},function(t,e,n){(t.exports=n(2)(!1)).push([t.i,\".cdx-quote-icon svg {\\n transform: rotate(180deg);\\n}\\n\\n.cdx-quote {\\n margin: 0;\\n}\\n\\n.cdx-quote__text {\\n min-height: 158px;\\n margin-bottom: 10px;\\n}\\n\\n.cdx-quote__caption {}\\n\\n.cdx-quote [contentEditable=true][data-placeholder]::before{\\n position: absolute;\\n content: attr(data-placeholder);\\n color: #707684;\\n font-weight: normal;\\n opacity: 0;\\n}\\n\\n.cdx-quote [contentEditable=true][data-placeholder]:empty::before {\\n opacity: 1;\\n}\\n\\n.cdx-quote [contentEditable=true][data-placeholder]:empty:focus::before {\\n opacity: 0;\\n}\\n\\n\\n.cdx-quote-settings {\\n display: flex;\\n}\\n\\n.cdx-quote-settings .cdx-settings-button {\\n width: 50%;\\n}\\n\",\"\"])},function(t,e){t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=function(t,e){var n=t[1]||\"\",r=t[3];if(!r)return n;if(e&&\"function\"==typeof btoa){var o=(a=r,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),i=r.sources.map(function(t){return\"/*# sourceURL=\"+r.sourceRoot+t+\" */\"});return[n].concat(i).concat([o]).join(\"\\n\")}var a;return[n].join(\"\\n\")}(e,t);return e[2]?\"@media \"+e[2]+\"{\"+n+\"}\":n}).join(\"\")},e.i=function(t,n){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var r={},o=0;o=0&&l.splice(e,1)}function y(t){var e=document.createElement(\"style\");return void 0===t.attrs.type&&(t.attrs.type=\"text/css\"),g(e,t.attrs),h(t,e),e}function g(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function b(t,e){var n,r,o,i;if(e.transform&&t.css){if(!(i=e.transform(t.css)))return function(){};t.css=i}if(e.singleton){var a=u++;n=c||(c=y(e)),r=x.bind(null,n,a,!1),o=x.bind(null,n,a,!0)}else t.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=function(t){var e=document.createElement(\"link\");return void 0===t.attrs.type&&(t.attrs.type=\"text/css\"),t.attrs.rel=\"stylesheet\",g(e,t.attrs),h(t,e),e}(e),r=function(t,e,n){var r=n.css,o=n.sourceMap,i=void 0===e.convertToAbsoluteUrls&&o;(e.convertToAbsoluteUrls||i)&&(r=f(r));o&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\");var a=new Blob([r],{type:\"text/css\"}),s=t.href;t.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,e),o=function(){v(n),n.href&&URL.revokeObjectURL(n.href)}):(n=y(e),r=function(t,e){var n=e.css,r=e.media;r&&t.setAttribute(\"media\",r);if(t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){v(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}t.exports=function(t,e){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(e=e||{}).attrs=\"object\"==typeof e.attrs?e.attrs:{},e.singleton||\"boolean\"==typeof e.singleton||(e.singleton=a()),e.insertInto||(e.insertInto=\"head\"),e.insertAt||(e.insertAt=\"bottom\");var n=p(t,e);return d(n,e),function(t){for(var r=[],o=0;o'},{name:\"center\",icon:''}]}}],[{key:\"isReadOnlySupported\",get:function(){return!0}},{key:\"toolbox\",get:function(){return{icon:'',title:\"Quote\"}}},{key:\"contentless\",get:function(){return!0}},{key:\"enableLineBreaks\",get:function(){return!0}},{key:\"DEFAULT_QUOTE_PLACEHOLDER\",get:function(){return\"Enter a quote\"}},{key:\"DEFAULT_CAPTION_PLACEHOLDER\",get:function(){return\"Enter a caption\"}},{key:\"ALIGNMENTS\",get:function(){return{left:\"left\",center:\"center\"}}},{key:\"DEFAULT_ALIGNMENT\",get:function(){return t.ALIGNMENTS.left}},{key:\"conversionConfig\",get:function(){return{import:\"text\",export:function(t){return t.caption?\"\".concat(t.text,\" — \").concat(t.caption):t.text}}}}]),i(t,[{key:\"render\",value:function(){var t=this._make(\"blockquote\",[this.CSS.baseClass,this.CSS.wrapper]),e=this._make(\"div\",[this.CSS.input,this.CSS.text],{contentEditable:!this.readOnly,innerHTML:this.data.text}),n=this._make(\"div\",[this.CSS.input,this.CSS.caption],{contentEditable:!this.readOnly,innerHTML:this.data.caption});return e.dataset.placeholder=this.quotePlaceholder,n.dataset.placeholder=this.captionPlaceholder,t.appendChild(e),t.appendChild(n),t}},{key:\"save\",value:function(t){var e=t.querySelector(\".\".concat(this.CSS.text)),n=t.querySelector(\".\".concat(this.CSS.caption));return Object.assign(this.data,{text:e.innerHTML,caption:n.innerHTML})}},{key:\"renderSettings\",value:function(){var t=this;return this.settings.map(function(e){return{icon:e.icon,label:t.api.i18n.t(\"Align \".concat((n=e.name,n[0].toUpperCase()+n.substr(1)))),onActivate:function(){return t._toggleTune(e.name)},isActive:t.data.alignment===e.name,closeOnActivate:!0};var n})}},{key:\"_toggleTune\",value:function(t){this.data.alignment=t}},{key:\"_make\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=document.createElement(t);Array.isArray(n)?(e=i.classList).add.apply(e,r(n)):n&&i.classList.add(n);for(var a in o)i[a]=o[a];return i}}],[{key:\"sanitize\",get:function(){return{text:{br:!0},caption:{br:!0},alignment:{}}}}]),t}()}]).default});","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.RawTool=t():e.RawTool=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/\",n(n.s=5)}([function(e,t,n){var r=n(1);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(3)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(2)(!1)).push([e.i,\".ce-rawtool__textarea {\\n min-height: 200px;\\n resize: vertical;\\n border-radius: 8px;\\n border: 0;\\n background-color: #1e2128;\\n font-family: Menlo, Monaco, Consolas, Courier New, monospace;\\n font-size: 12px;\\n line-height: 1.6;\\n letter-spacing: -0.2px;\\n color: #a1a7b6;\\n overscroll-behavior: contain;\\n}\\n\",\"\"])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||\"\",r=e[3];if(!r)return n;if(t&&\"function\"==typeof btoa){var o=(a=r,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+\" */\"),i=r.sources.map((function(e){return\"/*# sourceURL=\"+r.sourceRoot+e+\" */\"}));return[n].concat(i).concat([o]).join(\"\\n\")}var a;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \"+t[2]+\"{\"+n+\"}\":n})).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var r={},o=0;o=0&&f.splice(t,1)}function y(e){var t=document.createElement(\"style\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),m(t,e.attrs),v(e,t),t}function m(e,t){Object.keys(t).forEach((function(n){e.setAttribute(n,t[n])}))}function g(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=l++;n=c||(c=y(t)),r=L.bind(null,n,a,!1),o=L.bind(null,n,a,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=function(e){var t=document.createElement(\"link\");return void 0===e.attrs.type&&(e.attrs.type=\"text/css\"),e.attrs.rel=\"stylesheet\",m(t,e.attrs),v(e,t),t}(t),r=j.bind(null,n,t),o=function(){b(n),n.href&&URL.revokeObjectURL(n.href)}):(n=y(t),r=C.bind(null,n),o=function(){b(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(t=t||{}).attrs=\"object\"==typeof t.attrs?t.attrs:{},t.singleton||\"boolean\"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto=\"head\"),t.insertAt||(t.insertAt=\"bottom\");var n=h(e,t);return d(n,t),function(e){for(var r=[],o=0;o',title:\"Raw HTML\"}}}]),o(e,[{key:\"render\",value:function(){var e=this,t=document.createElement(\"div\");return this.textarea=document.createElement(\"textarea\"),t.classList.add(this.CSS.baseClass,this.CSS.wrapper),this.textarea.classList.add(this.CSS.textarea,this.CSS.input),this.textarea.textContent=this.data.html,this.textarea.placeholder=this.placeholder,this.readOnly?this.textarea.disabled=!0:this.textarea.addEventListener(\"input\",(function(){e.onInput()})),t.appendChild(this.textarea),setTimeout((function(){e.resize()}),100),t}},{key:\"save\",value:function(e){return{html:e.querySelector(\"textarea\").value}}},{key:\"onInput\",value:function(){var e=this;this.resizeDebounce&&clearTimeout(this.resizeDebounce),this.resizeDebounce=setTimeout((function(){e.resize()}),200)}},{key:\"resize\",value:function(){this.textarea.style.height=\"auto\",this.textarea.style.height=this.textarea.scrollHeight+\"px\"}}],[{key:\"DEFAULT_PLACEHOLDER\",get:function(){return\"Enter HTML code\"}},{key:\"sanitize\",get:function(){return{html:!0}}}]),e}()}]).default}));","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tc-setting{align-items:center;background-color:transparent;border:0;border-radius:3px;color:#000;cursor:pointer;display:inline-flex;height:34px;justify-content:center;line-height:34px;margin:0;outline:none;padding:0!important;text-align:center;transition:background-color .3s ease;vertical-align:bottom;width:52px;will-change:background-color}.tc-setting--active{color:#388ae5}.tc-setting:first-child{margin-right:3px}.tc-setting:hover{background-color:#eff2f5;transition:background-color 0s}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/vendor/table/styles/settings.pcss\"],\"names\":[],\"mappings\":\"AAAA,YAME,kBAAmB,CAQnB,4BAA6B,CAF7B,QAAS,CAFT,iBAAkB,CAMlB,UAAW,CALX,cAAe,CANf,mBAAoB,CAHpB,WAAY,CAKZ,sBAAuB,CAJvB,gBAAiB,CAcjB,QAAS,CAJT,YAAa,CALb,mBAAqB,CACrB,iBAAkB,CASlB,oCAAqC,CAHrC,qBAAsB,CAdtB,UAAW,CAkBX,4BAcF,CAZE,oBACE,aACF,CAEA,wBACE,gBACF,CAEA,kBACE,wBAAyB,CACzB,8BACF\",\"sourcesContent\":[\".tc-setting {\\r\\n width: 52px;\\r\\n height: 34px;\\r\\n line-height: 34px;\\r\\n margin-right: 0;\\r\\n display: inline-flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n padding: 0 !important;\\r\\n text-align: center;\\r\\n border-radius: 3px;\\r\\n cursor: pointer;\\r\\n border: 0;\\r\\n outline: none;\\r\\n background-color: transparent;\\r\\n vertical-align: bottom;\\r\\n color: #000;\\r\\n margin: 0;\\r\\n transition: background-color .3s ease;\\r\\n will-change: background-color;\\r\\n \\r\\n &--active {\\r\\n color: #388ae5;\\r\\n }\\r\\n\\r\\n &:first-child {\\r\\n margin-right: 3px;\\r\\n }\\r\\n\\r\\n &:hover {\\r\\n background-color: #eff2f5;\\r\\n transition: background-color 0s;\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tc-editor{box-sizing:content-box;left:-10px;padding:10px;position:relative;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/vendor/table/styles/table-constructor.pcss\"],\"names\":[],\"mappings\":\"AAEA,WAGE,sBAAuB,CAEvB,UAAW,CAJX,YAAa,CACb,iBAAkB,CAElB,UAEF\",\"sourcesContent\":[\"/* tc - project's prefix*/\\r\\n\\r\\n.tc-editor {\\r\\n padding: 10px;\\r\\n position: relative;\\r\\n box-sizing: content-box;\\r\\n width: 100%;\\r\\n left: -10px;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tc-table{border-top:1px solid #e8e8eb}.tc-table,.tc-table__wrap{display:grid;height:100%;position:relative;width:100%}.tc-table__wrap{border-left:0;box-sizing:border-box;grid-template-columns:calc(100% - 2.6em) 2.6em;margin-top:18px}.tc-table:after{content:\"\";height:100%;left:-30px;position:absolute;top:0;width:30px}.tc-table:before{content:\"\";height:30px;left:0;position:absolute;top:-30px;width:100%}.tc-table__wrap svg{vertical-align:top}.tc-table--heading .tc-row:first-child{border-bottom:2px solid #e8e8eb;font-weight:600}.tc-table--heading .tc-row:first-child:after{border-bottom:2px solid #e8e8eb;bottom:-2px}.tc-table--heading .tc-row:first-child [contenteditable]:empty:before{color:#7b7e89;content:\"Heading\"}.tc-add-column{border-top:1px solid #e8e8eb;display:flex;justify-content:center;padding:.8em 0}.tc-add-row{align-items:center;display:flex;height:2.6em;padding-left:.6em}.tc-add-column,.tc-add-row{cursor:pointer;transition:.1s}.tc-add-column:hover,.tc-add-row:hover{background:#f9f9fb}.tc-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10px,1fr));position:relative}.tc-row,.tc-row:after{border-bottom:1px solid #e8e8eb}.tc-row:after{bottom:-1px;content:\"\";height:100%;pointer-events:none;position:absolute;right:-2.6em;width:2.6em}.tc-row--selected,.tc-row--selected:after{background:#f9f9fb}.tc-column{border-right:1px solid #e8e8eb;clear:both;height:2em;outline:none;overflow:hidden;padding:.6em 0 0 .3em;white-space:nowrap}.tc-column--selected{background:#f9f9fb}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/vendor/table/styles/table.pcss\"],\"names\":[],\"mappings\":\"AAEA,UAKE,4BA+BF,CA7BE,0BAHA,YAAa,CADb,WAAY,CAFZ,iBAAkB,CAClB,UAeA,CAVA,gBAEE,aAAgB,CAKhB,qBAAsB,CAEtB,8CAA+C,CAH/C,eAIF,CAEA,gBAEE,UAAW,CAEX,WAAY,CACZ,UAAW,CAJX,iBAAkB,CAKlB,KAAM,CAHN,UAIF,CAEA,iBAEE,UAAW,CAEX,WAAY,CAEZ,MAAO,CALP,iBAAkB,CAIlB,SAAU,CAFV,UAIF,CAGF,oBACE,kBACF,CAEA,uCAEE,+BAAgC,CADhC,eAOF,CAJE,6CAEE,+BAAgC,CADhC,WAEF,CAIF,sEAEE,aAAc,CADd,iBAEF,CAEA,eAIE,4BAA6B,CAH7B,YAAa,CAEb,sBAAuB,CADvB,cAGF,CAEA,YAGE,kBAAmB,CADnB,YAAa,CADb,YAAa,CAGb,iBACF,CAEA,2BAEE,cAAe,CADf,cAMF,CAHE,uCACE,kBACF,CAGF,QACE,YAAa,CACb,uDAA0D,CAC1D,iBAiBF,CAdE,sBAFA,+BAWA,CATA,cAME,WAAY,CALZ,UAAW,CAIX,WAAY,CAHZ,mBAAoB,CACpB,iBAAkB,CAIlB,YAAa,CAHb,WAKF,CAQA,0CACE,kBACF,CAGF,WAEE,8BAA+B,CAC/B,UAAW,CAFX,UAAW,CAKX,YAAa,CADb,eAAgB,CADhB,qBAAsB,CAGtB,kBAKF,CAHE,qBACE,kBACF\",\"sourcesContent\":[\"/* tc- project's prefix*/\\r\\n\\r\\n.tc-table {\\r\\n position: relative;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n display: grid;\\r\\n border-top: 1px solid #e8e8eb;\\r\\n\\r\\n &__wrap {\\r\\n /*border: 1px solid #DBDBE2;*/\\r\\n border-left: 0px;\\r\\n position: relative;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n margin-top: 18px;\\r\\n box-sizing: border-box;\\r\\n display: grid;\\r\\n grid-template-columns: calc(100% - 2.6em) 2.6em;\\r\\n }\\r\\n\\r\\n &:after {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n width: 30px;\\r\\n height: 100%;\\r\\n left: -30px;\\r\\n top: 0;\\r\\n }\\r\\n\\r\\n &:before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n width: 100%;\\r\\n height: 30px;\\r\\n top: -30px;\\r\\n left: 0;\\r\\n }\\r\\n}\\r\\n\\r\\n.tc-table__wrap svg {\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.tc-table--heading .tc-row:first-child {\\r\\n font-weight: 600;\\r\\n border-bottom: 2px solid #e8e8eb;\\r\\n\\r\\n &:after {\\r\\n bottom: -2px;\\r\\n border-bottom: 2px solid #e8e8eb;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n.tc-table--heading .tc-row:first-child [contenteditable]:empty:before {\\r\\n content: \\\"Heading\\\";\\r\\n color: #7b7e89;\\r\\n}\\r\\n\\r\\n.tc-add-column {\\r\\n display: flex;\\r\\n padding: 0.8em 0;\\r\\n justify-content: center;\\r\\n border-top: 1px solid #e8e8eb;\\r\\n}\\r\\n\\r\\n.tc-add-row {\\r\\n height: 2.6em;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding-left: 0.6em;\\r\\n}\\r\\n\\r\\n.tc-add-column, .tc-add-row {\\r\\n transition: 0.1s;\\r\\n cursor: pointer;\\r\\n\\r\\n &:hover {\\r\\n background: #f9f9fb;\\r\\n }\\r\\n}\\r\\n\\r\\n.tc-row {\\r\\n display: grid;\\r\\n grid-template-columns: repeat(auto-fit, minmax(10px, 1fr));\\r\\n position: relative;\\r\\n border-bottom: 1px solid #e8e8eb;\\r\\n\\r\\n &:after {\\r\\n content: '';\\r\\n pointer-events: none;\\r\\n position: absolute;\\r\\n width: 2.6em;\\r\\n height: 100%;\\r\\n bottom: -1px;\\r\\n right: -2.6em;\\r\\n border-bottom: 1px solid #e8e8eb;\\r\\n }\\r\\n\\r\\n &--selected {\\r\\n background: #f9f9fb;\\r\\n }\\r\\n}\\r\\n\\r\\n.tc-row--selected {\\r\\n &:after {\\r\\n background: #f9f9fb;\\r\\n }\\r\\n}\\r\\n\\r\\n.tc-column {\\r\\n height: 2em;\\r\\n border-right: 1px solid #e8e8eb;\\r\\n clear: both;\\r\\n padding: .6em 0 0 .3em;\\r\\n overflow: hidden;\\r\\n outline: none;\\r\\n white-space: nowrap;\\r\\n\\r\\n &--selected {\\r\\n background: #f9f9fb;\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tc-toolbox-row{left:-30px;transform:translateY(-50%)}.tc-toolbox-column,.tc-toolbox-row{cursor:pointer;position:absolute;visibility:hidden;z-index:1}.tc-toolbox-column{top:-24px;transform:translateX(-50%)}.tc-toolbox-column__menu,.tc-toolbox-row__menu{background:#fff;border:1px solid #eaeaea;border-radius:4px;box-shadow:0 3px 15px -3px rgba(13,20,33,.13);display:grid;left:30px;padding:6px 0;position:absolute;top:0}.tc-toolbox-column__menu:before,.tc-toolbox-row__menu:before{content:\"\";height:100%;left:-30px;position:absolute;top:0;width:30px}.tc-toolbox-row__menu{width:165px}.tc-toolbox-column__menu{width:190px}.tc-toolbox-column__option,.tc-toolbox-row__option{grid-column-gap:11px;align-items:center;display:grid;font-size:.9em;grid-template-columns:auto 1fr;padding:5.5px 12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/vendor/table/styles/toolbox.pcss\"],\"names\":[],\"mappings\":\"AAAA,gBAEE,UAAW,CACX,0BAIF,CAEA,mCALE,cAAe,CAHf,iBAAkB,CAKlB,iBAAkB,CADlB,SAWF,CAPA,mBAEE,SAAU,CACV,0BAIF,CAEA,+CAIE,eAAgB,CAChB,wBAAyB,CAEzB,iBAAkB,CADlB,6CAAkD,CAGlD,YAAa,CAPb,SAAU,CAMV,aAAc,CAPd,iBAAkB,CAElB,KAgBF,CARE,6DACE,UAAW,CAKX,WAAY,CAHZ,UAAW,CADX,iBAAkB,CAElB,KAAM,CACN,UAEF,CAGF,sBACE,WACF,CAEA,yBACE,WACF,CAEA,mDAIE,oBAAqB,CACrB,kBAAmB,CAHnB,YAAa,CADb,cAAgB,CAEhB,8BAA+B,CAG/B,kBACF\",\"sourcesContent\":[\".tc-toolbox-row {\\r\\n position: absolute;\\r\\n left: -30px;\\r\\n transform: translateY(-50%);\\r\\n cursor: pointer;\\r\\n z-index: 1;\\r\\n visibility: hidden;;\\r\\n}\\r\\n\\r\\n.tc-toolbox-column {\\r\\n position: absolute;\\r\\n top: -24px;\\r\\n transform: translateX(-50%);\\r\\n cursor: pointer;\\r\\n z-index: 1;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.tc-toolbox-row__menu, .tc-toolbox-column__menu {\\r\\n position: absolute;\\r\\n left: 30px;\\r\\n top: 0;\\r\\n background: #fff;\\r\\n border: solid 1px #eaeaea;\\r\\n box-shadow: 0 3px 15px -3px rgba(13, 20, 33, 0.13);\\r\\n border-radius: 4px;\\r\\n padding: 6px 0;\\r\\n display: grid;\\r\\n\\r\\n &:before {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n left: -30px;\\r\\n top: 0;\\r\\n width: 30px;\\r\\n height: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.tc-toolbox-row__menu {\\r\\n width: 165px;\\r\\n}\\r\\n\\r\\n.tc-toolbox-column__menu {\\r\\n width: 190px;\\r\\n}\\r\\n\\r\\n.tc-toolbox-row__option, .tc-toolbox-column__option {\\r\\n font-size: 0.9em;\\r\\n display: grid;\\r\\n grid-template-columns: auto 1fr;\\r\\n grid-column-gap: 11px;\\r\\n align-items: center;\\r\\n padding: 5.5px 12px;\\r\\n}\\r\\n\\r\\n.tc-toolbox-add-column-right {\\r\\n\\r\\n}\\r\\n\\r\\n.tc-toolbox-add-column-left {\\r\\n\\r\\n}\\r\\n\\r\\n.tc-toolbox-add-row-above {\\r\\n\\r\\n}\\r\\n\\r\\n.tc-toolbox-add-row-below {\\r\\n\\r\\n}\\r\\n\\r\\n.tc-toolbox-delete {\\r\\n\\r\\n &--column {\\r\\n\\r\\n }\\r\\n\\r\\n &--row {\\r\\n\\r\\n }\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.tc-hidden{visibility:hidden}.tc-none{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/vendor/table/styles/utils.pcss\"],\"names\":[],\"mappings\":\"AAEA,WACE,iBACF,CAEA,SACE,YACF\",\"sourcesContent\":[\"/* tc- project's prefix*/\\r\\n\\r\\n.tc-hidden {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.tc-none {\\r\\n display: none;\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ce-alert-content {\r\n line-height: 1.6em;\r\n outline: none;\r\n}\r\n\r\n.ce-alert .alert-title > i {\r\n font-style: normal;\r\n}\r\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/alert/index.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,kBAAkB;IAClB,aAAa;AACjB;;AAEA;IACI,kBAAkB;AACtB\",\"sourcesContent\":[\".ce-alert-content {\\r\\n line-height: 1.6em;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.ce-alert .alert-title > i {\\r\\n font-style: normal;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!./index.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!./index.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\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}\nmodule.exports = styleTagTransform;","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","import { API, BlockTool } from \"@editorjs/editorjs\"\r\n\r\n/**\r\n * The data object used to store the tip contents.\r\n */\r\nexport interface AlertData {\r\n /** The text content of the alert. */\r\n text?: string;\r\n\r\n /** The type of alert. */\r\n type?: \"tip\" | \"note\" | \"important\" | \"warning\" | \"caution\"\r\n}\r\n\r\n/**\r\n * The configuration options for the alert tool.\r\n */\r\nexport interface AlertConfig {\r\n}\r\n\r\n/**\r\n * The definition of what a style type looks like.\r\n */\r\ninterface StyleType {\r\n /** The class string to be assigned to the icon. */\r\n iconClass: string;\r\n\r\n /** The class applied to the alert itself. */\r\n class: string;\r\n\r\n /** The title text displayed at the top of the alert. */\r\n text: string;\r\n};\r\n\r\nconst Styles: Array = [\r\n { iconClass: \"fa fa-lightbulb\", class: \"alert-success\", text: \"Tip\" },\r\n { iconClass: \"fa fa-info-circle\", class: \"alert-info\", text: \"Note\" },\r\n { iconClass: \"fa fa-exclamation-circle\", class: \"alert-info\", text: \"Important\" },\r\n { iconClass: \"fa fa-exclamation-triangle\", class: \"alert-warning\", text: \"Warning\" },\r\n { iconClass: \"fa fa-times-circle\", class: \"alert-danger\", text: \"Caution\" },\r\n];\r\n\r\nrequire(\"./index.css\").toString();\r\n\r\n/**\r\n * EditorJS tool for displaying quick tips and alerts to the user.\r\n */\r\nexport class Alert implements BlockTool {\r\n /** Reference to the EditorJS API for this instance. */\r\n private api: API;\r\n\r\n /** The configuration data we were initialized with. */\r\n private config: AlertConfig;\r\n\r\n /** True if we were initialized as a read only block. */\r\n private readOnly: boolean;\r\n\r\n /** The wrapper HTML element that contains all our UI data. */\r\n private wrapper!: HTMLDivElement;\r\n\r\n /** The paragraph element for the user to enter their text into. */\r\n private content!: HTMLParagraphElement;\r\n\r\n /**\r\n * Creates a new instance of the Alert block tool.\r\n * \r\n * @param config The initialization options for this tool.\r\n */\r\n constructor(config: { data: AlertData, config: AlertConfig, api: API, readOnly: boolean }) {\r\n this.api = config.api;\r\n this.config = config.config;\r\n this.readOnly = config.readOnly;\r\n\r\n this.setupContent(config.data);\r\n }\r\n\r\n /**\r\n * Enable Conversion Toolbar. Paragraph can be converted to/from other tools\r\n */\r\n static get conversionConfig() {\r\n return {\r\n export: 'text', // to convert Alert to other block, use 'text' property of saved data\r\n import: 'text' // to covert other block's exported string to Alert, fill 'text' property of tool data\r\n };\r\n }\r\n\r\n /**\r\n * Return the information to create the toolbox icon.\r\n */\r\n static get toolbox() {\r\n return {\r\n title: 'Alert',\r\n icon: \"\"\r\n };\r\n }\r\n\r\n /**\r\n * Setup all our DOM elements so we are ready to display data.\r\n * \r\n * @param data The data to load from a previous session.\r\n */\r\n setupContent(data: AlertData) {\r\n var styles = Styles.filter(a => a.text.toLowerCase() === data.type);\r\n let style: StyleType;\r\n\r\n if (styles.length >= 1) {\r\n style = styles[0];\r\n }\r\n else {\r\n style = Styles.filter(a => a.text.toLowerCase() === \"note\")[0];\r\n }\r\n\r\n this.wrapper = document.createElement(\"div\");\r\n this.wrapper.classList.add(\"ce-alert\", this.api.styles.block, \"alert\", style.class);\r\n\r\n const title = document.createElement(\"p\");\r\n title.classList.add(\"alert-title\");\r\n title.innerHTML = ` ${style.text}`;\r\n this.wrapper.appendChild(title);\r\n\r\n this.content = document.createElement(\"p\");\r\n this.content.classList.add(\"ce-alert-content\");\r\n this.content.innerHTML = data.text || \"\";\r\n this.wrapper.appendChild(this.content);\r\n\r\n if (!this.readOnly) {\r\n this.content.contentEditable = \"true\";\r\n this.content.addEventListener('keyup', this.onKeyUp.bind(this));\r\n }\r\n }\r\n\r\n /**\r\n * Check if text content is empty and set empty string to inner html.\r\n * We need this because some browsers (e.g. Safari) insert
into empty contenteditable elements\r\n *\r\n * @param e Key up event\r\n */\r\n onKeyUp(e: KeyboardEvent) {\r\n if (e.code !== 'Backspace' && e.code !== 'Delete') {\r\n return;\r\n }\r\n\r\n const { textContent } = this.content;\r\n\r\n if (textContent === '') {\r\n this.content.innerHTML = '';\r\n }\r\n }\r\n\r\n /**\r\n * Returns the DOM element taht contains all our on-screen information.\r\n */\r\n render() {\r\n return this.wrapper;\r\n }\r\n\r\n /**\r\n * Create Block's settings block\r\n *\r\n * @returns The HTML element that contains our custom settings buttons.\r\n */\r\n renderSettings() {\r\n const holder = document.createElement('DIV');\r\n\r\n const styleButtons: Array = [];\r\n\r\n /** Add type selectors */\r\n Styles.forEach(style => {\r\n const selectTypeButton = document.createElement('SPAN');\r\n\r\n selectTypeButton.classList.add(this.api.styles.settingsButton);\r\n\r\n /**\r\n * Highlight current button\r\n */\r\n if (this.wrapper.querySelector(\"p.alert-title > i\")!.className == style.iconClass) {\r\n selectTypeButton.classList.add(this.api.styles.settingsButtonActive);\r\n }\r\n\r\n /**\r\n * Add SVG icon\r\n */\r\n selectTypeButton.innerHTML = ``;\r\n\r\n /**\r\n * Save info to its button\r\n */\r\n selectTypeButton.dataset.iconClass = style.iconClass;\r\n\r\n /**\r\n * Set up click handler\r\n */\r\n selectTypeButton.addEventListener('click', () => {\r\n this.wrapper.classList.remove(\"alert-success\", \"alert-info\", \"alert-warning\", \"alert-danger\");\r\n this.wrapper.classList.add(style.class);\r\n this.wrapper.querySelector(\"p.alert-title\")!.innerHTML = ` ${style.text}`;\r\n\r\n styleButtons.forEach(button => {\r\n button.classList.toggle(this.api.styles.settingsButtonActive, button.dataset.iconClass === style.iconClass);\r\n });\r\n });\r\n\r\n /**\r\n * Append settings button to holder\r\n */\r\n holder.appendChild(selectTypeButton);\r\n styleButtons.push(selectTypeButton);\r\n });\r\n\r\n return holder;\r\n }\r\n\r\n /**\r\n * Method that specified how to merge two Text blocks.\r\n * Called by Editor.js by backspace at the beginning of the Block\r\n * @param data The data being merged in with ours.\r\n */\r\n merge(data: AlertData) {\r\n this.content.innerHTML = this.content.innerHTML + (data.text || \"\") ;\r\n }\r\n\r\n /**\r\n * Returns the data that describes this block in enough detail that we can\r\n * reconstruct it later.\r\n * \r\n * @param blockContent The DOM element that was previously returned by render.\r\n */\r\n save(blockContent: HTMLDivElement) {\r\n const iconClass = this.wrapper.querySelector(\"p.alert-title > i\")!.className;\r\n\r\n let styles = Styles.filter(a => a.iconClass === iconClass);\r\n let style = styles.length >= 1 ? styles[0] : Styles.filter(a => a.text.toLowerCase() === \"note\")[0];\r\n\r\n let data: AlertData = {\r\n text: this.content.innerHTML,\r\n type: style.text.toLowerCase()\r\n };\r\n\r\n return data;\r\n }\r\n\r\n /**\r\n * Validate data to make sure the text isn't blank.\r\n *\r\n * @param savedData Data generated after saving.\r\n * @returns false if saved data is not correct, otherwise true.\r\n * @public\r\n */\r\n validate(savedData: AlertData) {\r\n if (savedData.text === undefined || savedData.text.trim() === \"\") {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { InlineTool, SanitizerConfig } from \"@editorjs/editorjs\";\r\nimport SelectionUtils from \"./vendor/inline-tool-link/selection\";\r\n\r\ninterface ILinkHandler {\r\n dialogSaved(articleId: string, title: string): void;\r\n dialogClosed(): void;\r\n}\r\n\r\ninterface IArticleLinkConfig {\r\n openLinkDialog?(previousArticleId: string | undefined, handler: ILinkHandler): void;\r\n closeLinkDialog?(): void;\r\n}\r\n\r\n/**\r\n * Link Tool\r\n *\r\n * Inline Toolbar Tool\r\n *\r\n * Wrap selected text with tag\r\n */\r\nexport default class ArticleLink implements InlineTool, ILinkHandler {\r\n // #region Properties\r\n\r\n /**\r\n * Specifies Tool as Inline Toolbar Tool\r\n *\r\n * @returns {boolean}\r\n */\r\n public static isInline = true;\r\n\r\n /**\r\n * Title for hover-tooltip\r\n */\r\n public static title = 'Article Link';\r\n\r\n /**\r\n * Sanitizer Rule\r\n * Leave tags\r\n *\r\n * @returns {object}\r\n */\r\n public static get sanitize(): SanitizerConfig {\r\n return {\r\n a: {\r\n href: true,\r\n [\"data-article\"]: true,\r\n target: '_blank',\r\n rel: 'nofollow',\r\n },\r\n } as SanitizerConfig;\r\n }\r\n\r\n /**\r\n * Native Document's commands for link/unlink\r\n */\r\n private readonly commandLink: string = 'createLink';\r\n private readonly commandUnlink: string = 'unlink';\r\n\r\n /**\r\n * Styles\r\n */\r\n private readonly CSS = {\r\n button: 'ce-inline-tool',\r\n buttonActive: 'ce-inline-tool--active',\r\n buttonModifier: 'ce-inline-tool--link',\r\n buttonUnlink: 'ce-inline-tool--unlink',\r\n input: 'ce-inline-tool-input',\r\n inputShowed: 'ce-inline-tool-input--showed',\r\n };\r\n\r\n /**\r\n * Elements\r\n */\r\n private button: HTMLButtonElement = null!;\r\n private panel: HTMLElement = null!;\r\n private articleTitle: HTMLElement = null!;\r\n\r\n /**\r\n * SelectionUtils instance\r\n */\r\n private selection: SelectionUtils;\r\n\r\n /**\r\n * Input opening state\r\n */\r\n private inputOpened = false;\r\n\r\n /**\r\n * The configuration that was provided to the tool.\r\n */\r\n private config: IArticleLinkConfig;\r\n\r\n // #endregion\r\n\r\n /**\r\n * Creates a new instance of the article link tool.\r\n */\r\n constructor(config: any) {\r\n this.config = config.config;\r\n this.selection = new SelectionUtils();\r\n }\r\n\r\n /**\r\n * Create button for Inline Toolbar\r\n */\r\n public render(): HTMLElement {\r\n this.button = document.createElement('button') as HTMLButtonElement;\r\n this.button.type = 'button';\r\n this.button.classList.add(this.CSS.button, this.CSS.buttonModifier);\r\n this.button.innerHTML = ``;\r\n\r\n return this.button;\r\n }\r\n\r\n /**\r\n * Input for the link\r\n */\r\n public renderActions(): HTMLElement {\r\n this.panel = document.createElement(\"div\");\r\n this.panel.style.display = \"none\";\r\n this.panel.style.width = \"100%\";\r\n this.panel.style.borderTop = \"1px solid rgba(201,201,204,.48)\";\r\n this.panel.style.alignItems = \"stretch\";\r\n\r\n this.articleTitle = document.createElement(\"div\");\r\n this.articleTitle.style.flexGrow = \"1\";\r\n this.articleTitle.style.marginRight = \"8px\";\r\n this.articleTitle.style.padding = \"6px\";\r\n this.articleTitle.style.fontSize = \"0.85em\";\r\n this.articleTitle.innerText = \"Main Article with really long title\";\r\n this.panel.appendChild(this.articleTitle);\r\n\r\n const editButton = document.createElement(\"div\");\r\n editButton.style.cursor = \"pointer\";\r\n editButton.style.padding = \"0 7px\";\r\n editButton.style.alignContent = \"center\";\r\n editButton.style.borderLeft = \"1px solid rgba(201, 201, 204, 0.48)\";\r\n editButton.style.backgroundColor = \"rgba(128,128,128,0.05)\";\r\n editButton.innerHTML = ``;\r\n editButton.addEventListener(\"click\", () => {\r\n const parentAnchor = this.selection.findParentTag('A') as HTMLAnchorElement;\r\n\r\n this.config.openLinkDialog?.(parentAnchor?.dataset.article, this);\r\n });\r\n this.panel.appendChild(editButton);\r\n\r\n return this.panel;\r\n }\r\n\r\n /**\r\n * Handle clicks on the Inline Toolbar icon\r\n *\r\n * @param {Range} range - range to wrap with link\r\n */\r\n public surround(range: Range): void {\r\n /**\r\n * Range will be null when user makes second click on the 'link icon'\r\n * to close opened input.\r\n */\r\n if (range) {\r\n if (this.inputOpened) {\r\n const parentAnchor = this.selection.findParentTag('A');\r\n\r\n /**\r\n * Unlink icon pressed\r\n */\r\n if (parentAnchor) {\r\n this.selection.expandToTag(parentAnchor);\r\n this.unlink();\r\n this.closeActions();\r\n this.checkState();\r\n }\r\n }\r\n else {\r\n this.selection.save();\r\n\r\n this.openActions();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Check selection and set activated state to button if there are tag\r\n */\r\n public checkState(): boolean {\r\n const anchorTag = this.selection.findParentTag('A');\r\n\r\n if (anchorTag && anchorTag.dataset.article) {\r\n this.button.classList.add(this.CSS.buttonUnlink);\r\n this.button.classList.add(this.CSS.buttonActive);\r\n this.selection.save();\r\n\r\n this.openActions();\r\n\r\n return true;\r\n } else {\r\n this.button.classList.remove(this.CSS.buttonUnlink);\r\n this.button.classList.remove(this.CSS.buttonActive);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Function called with Inline Toolbar closing\r\n */\r\n public clear(): void {\r\n }\r\n\r\n /**\r\n * Opens the link dialog.\r\n */\r\n private openActions(): void {\r\n const parentAnchor = this.selection.findParentTag('A') as HTMLAnchorElement;\r\n\r\n if (parentAnchor) {\r\n this.panel.style.display = \"flex\";\r\n this.articleTitle.innerText = \"Some Title\";\r\n }\r\n else {\r\n this.config.openLinkDialog?.(undefined, this);\r\n }\r\n\r\n this.inputOpened = true;\r\n }\r\n\r\n /**\r\n * Close input\r\n *\r\n * @param clearSavedSelection We don't need to clear saved selection\r\n * on toggle-clicks on the icon of opened Toolbar\r\n */\r\n private closeActions(clearSavedSelection: boolean = true): void {\r\n this.selection.restore();\r\n\r\n this.config.closeLinkDialog?.();\r\n\r\n if (clearSavedSelection) {\r\n this.selection.clearSaved();\r\n }\r\n\r\n this.panel.style.display = \"none\";\r\n this.inputOpened = false;\r\n }\r\n\r\n public dialogSaved(articleId: string, title: string): void {\r\n console.log(\"articleId\", articleId);\r\n if (!articleId) {\r\n this.selection.restore();\r\n this.unlink();\r\n this.closeActions();\r\n\r\n return;\r\n }\r\n\r\n this.selection.restore();\r\n\r\n this.insertLink(articleId);\r\n\r\n this.selection.collapseToEnd();\r\n }\r\n\r\n public dialogClosed(): void {\r\n this.selection.restore();\r\n this.selection.clearSaved();\r\n this.inputOpened = false;\r\n }\r\n\r\n /**\r\n * Inserts tag with \"href\"\r\n *\r\n * @param {string} link - \"href\" value\r\n */\r\n private insertLink(articleId: string): void {\r\n /**\r\n * Edit all link, not selected part\r\n */\r\n let anchorTag = this.selection.findParentTag('A');\r\n\r\n if (anchorTag) {\r\n this.selection.expandToTag(anchorTag);\r\n }\r\n else {\r\n this.selection.trim();\r\n }\r\n\r\n document.execCommand(this.commandLink, false, \"#\");\r\n\r\n anchorTag = this.selection.findParentTag(\"A\");\r\n if (anchorTag) {\r\n anchorTag.dataset.article = articleId;\r\n }\r\n }\r\n\r\n /**\r\n * Removes tag\r\n */\r\n private unlink(): void {\r\n document.execCommand(this.commandUnlink);\r\n }\r\n}\r\n","import { API, InlineTool } from \"@editorjs/editorjs\"\r\n\r\n/**\r\n * The configuration options for the inline code tool.\r\n */\r\nexport interface CodeInlineConfig {\r\n}\r\n\r\n/**\r\n * The inline code tool that allows the user to mark a bit of text as an\r\n * inline code stream.\r\n */\r\nexport class CodeInline implements InlineTool {\r\n /** The API for the EditorJS instance. */\r\n private api: API;\r\n\r\n /** The configuration data we were initialized with. */\r\n private config: CodeInlineConfig;\r\n\r\n /** The button that will be used to activate this tool. */\r\n private button?: HTMLButtonElement;\r\n\r\n /** The HTML tag used by this tool. */\r\n private tag = \"CODE\";\r\n\r\n /**\r\n * Initializes a new instance of this inline tool.\r\n * \r\n * @param config The initialization options for the tool.\r\n */\r\n constructor(config: { config: CodeInlineConfig, api: API }) {\r\n this.api = config.api;\r\n this.config = config.config;\r\n }\r\n\r\n /**\r\n * Get tool icon's title.\r\n * \r\n * @return {string}\r\n */\r\n static get title() {\r\n return \"Code\";\r\n }\r\n\r\n /**\r\n * Sanitizer rule. All CODE html elements should be allowed.\r\n *\r\n * @returns The rule that describes when this is allowed.\r\n */\r\n static get sanitize() {\r\n return {\r\n code: true,\r\n };\r\n }\r\n\r\n /**\r\n * Indicates if this tool is an inline tool or not.\r\n */\r\n static get isInline() {\r\n return true;\r\n }\r\n\r\n /**\r\n * Renders the inline toolbar button.\r\n * \r\n * @returns The HTML element to display in the inline toolbar.\r\n */\r\n render() {\r\n this.button = document.createElement(\"button\");\r\n this.button.type = \"button\";\r\n this.button.classList.add(this.api.styles.inlineToolButton);\r\n this.button.innerHTML = this.toolboxIcon;\r\n\r\n return this.button;\r\n }\r\n\r\n /**\r\n * Get the tools icon HTML content.\r\n * \r\n * @return A string that describes the icon node.\r\n */\r\n private get toolboxIcon() {\r\n return ``;\r\n }\r\n\r\n /**\r\n * Method that accepts selected range and wrap it somehow.\r\n * \r\n * @param range The range of text to be surrounded by code tags.\r\n */\r\n public surround(range: Range): void {\r\n let termWrapper = this.api.selection.findParentTag(this.tag);\r\n\r\n if (termWrapper) {\r\n this.unwrap(termWrapper);\r\n } else {\r\n this.wrap(range);\r\n }\r\n }\r\n\r\n /**\r\n * Updates the state of our button based on the current selection.\r\n * \r\n * @param selection The current selection made by the user.\r\n * @returns false\r\n */\r\n public checkState(selection: Selection): boolean {\r\n const termTag = this.api.selection.findParentTag(this.tag);\r\n\r\n this.button?.classList.toggle(this.api.styles.inlineToolButtonActive, !!termTag);\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Wrap selection with code tag.\r\n *\r\n * @param range Selected text range.\r\n */\r\n private wrap(range: Range) {\r\n /**\r\n * Create a wrapper for highlighting\r\n */\r\n let span = document.createElement(this.tag);\r\n\r\n /**\r\n * SurroundContent throws an error if the Range splits a non-Text node with only one of its boundary points\r\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Range/surroundContents}\r\n *\r\n * // range.surroundContents(span);\r\n */\r\n span.appendChild(range.extractContents());\r\n range.insertNode(span);\r\n\r\n /**\r\n * Expand (add) selection to highlighted block\r\n */\r\n this.api.selection.expandToTag(span);\r\n }\r\n\r\n /**\r\n * Unwrap selection from code tag.\r\n *\r\n * @param termWrapper The element that is currently wrapping the text.\r\n */\r\n private unwrap(termWrapper: HTMLElement) {\r\n /**\r\n * Expand selection to all term-tag\r\n */\r\n this.api.selection.expandToTag(termWrapper);\r\n\r\n let sel = window.getSelection();\r\n let range = sel.getRangeAt(0);\r\n\r\n let unwrappedContent = range.extractContents();\r\n\r\n /**\r\n * Remove empty term-tag\r\n */\r\n termWrapper.parentNode?.removeChild(termWrapper);\r\n\r\n /**\r\n * Insert extracted content\r\n */\r\n range.insertNode(unwrappedContent);\r\n\r\n /**\r\n * Restore selection\r\n */\r\n sel.removeAllRanges();\r\n sel.addRange(range);\r\n }\r\n}\r\n","import EditorJSCode, { CodeData as EditorJSCodeData, CodeConfig as EditorJSCodeConfig } from \"@editorjs/code\";\r\nimport { API, BlockAPI } from \"@editorjs/editorjs\";\r\n\r\n/**\r\n * The data for the custom code tool.\r\n */\r\nexport interface CodeData extends EditorJSCodeData {\r\n /** The language code that should be used for syntax highlighting. */\r\n lang?: string;\r\n}\r\n\r\n/**\r\n * A dictionary of all the supported languages. The key is the short language\r\n * code and the value is the user friendly text.\r\n */\r\nconst supportedLanguages: Record = {\r\n bash: \"Bash\",\r\n c: \"C\",\r\n csharp: \"C#\",\r\n cpp: \"C++\",\r\n coffee: \"Coffee\",\r\n coffeescript: \"Coffee Script\",\r\n css: \"CSS\",\r\n html: \"HTML\",\r\n javascript: \"JavaScript\",\r\n json: \"JSON\",\r\n lava: \"Lava\",\r\n markdown: \"Markdown\",\r\n objectivec: \"Objective-C\",\r\n perl: \"Perl\",\r\n php: \"PHP\",\r\n plsql: \"PL/SQL\",\r\n powershell: \"PowerShell\",\r\n py: \"Python\",\r\n rb: \"Ruby\",\r\n regex: \"Regular Expression\",\r\n ruby: \"Ruby\",\r\n sass: \"SASS\",\r\n scss: \"SCSS\",\r\n shell: \"Shell\",\r\n sql: \"SQL\",\r\n svg: \"SVG\",\r\n swift: \"Swift\",\r\n ts: \"TypeScript\",\r\n xaml: \"XAML\",\r\n xml: \"XML\",\r\n yaml: \"YAML\"\r\n};\r\n\r\n/**\r\n * Custom code editor that extends the standard code tool in EditorJS. Provides\r\n * additional option to select the language of the code being entered.\r\n */\r\nexport class Code extends EditorJSCode {\r\n /** The HTML node that provides the user with the option to select the language. */\r\n private languageNode?: HTMLSelectElement;\r\n\r\n /** The block API interface. */\r\n private api?: BlockAPI;\r\n\r\n /**\r\n * Creates a new instance of the code tool.\r\n * \r\n * @param config The initialization options for the tool.\r\n */\r\n constructor(config: { data: CodeData, block: BlockAPI, config: EditorJSCodeConfig, api: API, readOnly: boolean }) {\r\n super(config);\r\n\r\n const holder = (this).nodes.holder;\r\n\r\n this.api = config.block;\r\n this.languageNode = this.createLanguageNode();\r\n this.languageNode.selectedIndex = this.findLanguageIndex(config.data?.lang || \"\");\r\n holder.appendChild(this.languageNode);\r\n }\r\n\r\n /**\r\n * Create the HTML node that will let the user pick the language.\r\n * \r\n * @returns The HTML node that will be used for picking the language.\r\n */\r\n createLanguageNode(): HTMLSelectElement {\r\n const languageNode = document.createElement(\"select\");\r\n languageNode.setAttribute(\"class\", \"form-control\");\r\n\r\n let option = document.createElement(\"option\");\r\n option.value = \"\";\r\n option.text = \"Select Language\";\r\n languageNode.options.add(option);\r\n\r\n const languageKeys = Object.keys(supportedLanguages);\r\n for (let i = 0; i < languageKeys.length; i++) {\r\n const key = languageKeys[i];\r\n\r\n option = document.createElement(\"option\");\r\n option.value = key;\r\n option.text = supportedLanguages[key];\r\n languageNode.options.add(option);\r\n }\r\n\r\n languageNode.addEventListener(\"change\", () => {\r\n this.api?.dispatchChange();\r\n });\r\n\r\n return languageNode;\r\n }\r\n\r\n public render() {\r\n const container = super.render();\r\n const textarea = container.querySelector(\"textarea\");\r\n\r\n if (textarea) {\r\n // Workaround for https://github.com/editor-js/raw/issues/16\r\n if (navigator.userAgent.toLowerCase().includes(\"firefox\")) {\r\n const blockKeys = [\"ArrowLeft\", \"ArrowUp\", \"Backspace\"];\r\n\r\n textarea.addEventListener(\"keydown\", function (event) {\r\n if (blockKeys.includes(event.key)) {\r\n event.stopPropagation();\r\n }\r\n });\r\n }\r\n }\r\n\r\n return container;\r\n }\r\n\r\n /**\r\n * Gets the save data for the code tool.\r\n * \r\n * @param codeWrapper The HTML element that contains all our data.\r\n * @returns An object that contains all the data required to save this block.\r\n */\r\n public save(codeWrapper: HTMLDivElement) {\r\n const data: CodeData = {\r\n ...super.save(codeWrapper)\r\n };\r\n\r\n const languageNode = codeWrapper.querySelector(\"select\");\r\n if (languageNode !== null) {\r\n data.lang = languageNode.options[languageNode.selectedIndex].value;\r\n }\r\n\r\n return data;\r\n }\r\n\r\n /**\r\n * Validates the data to see if it should be included in the saved data\r\n * stream.\r\n * \r\n * @param savedData The data that was returned by the save method.\r\n * @returns True if the data is valid and should be saved.\r\n */\r\n public validate(savedData: CodeData) {\r\n return savedData.code !== \"\";\r\n }\r\n\r\n /**\r\n * Returns the tool's private data.\r\n *\r\n * @returns The private data for the tool.\r\n */\r\n get data() {\r\n return super.data;\r\n }\r\n\r\n /**\r\n * Sets the tools private data.\r\n *\r\n * @param data Saved tool data\r\n */\r\n set data(data: CodeData) {\r\n super.data = data;\r\n\r\n if (this.languageNode !== undefined) {\r\n this.languageNode.selectedIndex = this.findLanguageIndex(data?.lang || \"\");\r\n }\r\n }\r\n\r\n /**\r\n * Finds the index of the specified language identifier in the select HTML\r\n * node.\r\n * \r\n * @param lang The language identifier.\r\n * @returns The index of the language identifier or 0 if not found.\r\n */\r\n findLanguageIndex(lang: string) {\r\n if (this.languageNode !== undefined) {\r\n for (let i = 0; i < this.languageNode.options.length; i++) {\r\n if (this.languageNode?.options[i].value === lang) {\r\n return i;\r\n }\r\n }\r\n }\r\n\r\n return 0;\r\n }\r\n}\r\n","import EditorJSEmbed from \"@editorjs/embed\";\r\n\r\nexport class Embed extends EditorJSEmbed {\r\n constructor(config: { data: any, config: any, api: any, readOnly: boolean }) {\r\n super(config);\r\n }\r\n\r\n static prepare(config: any) {\r\n EditorJSEmbed.prepare({\r\n config: {\r\n services: {\r\n youtube: true,\r\n vimeo: true,\r\n video: {\r\n regex: /(https?:\\/\\/.*\\.(mp4|m4v|mov))/,\r\n embedUrl: '<%= remote_id %>',\r\n html: \"\",\r\n height: 300,\r\n width: 600\r\n },\r\n rockMedia: {\r\n regex: /https?:\\/\\/[^\\/]+\\/admin\\/cms\\/media-accounts\\/items\\/([^\\/]+)$/i,\r\n embedUrl: \"/rockumentation__mediaplayer/<%= remote_id %>\",\r\n html: ``,\r\n height: 320,\r\n width: 580,\r\n id: ([id]: unknown[]) => {\r\n return id as string;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const container = super.render();\r\n if (container.childElementCount === 0) {\r\n return container;\r\n }\r\n\r\n const iframeContainer = document.createElement(\"div\");\r\n iframeContainer.classList.add(\"embed-responsive\", \"embed-responsive-16by9\", \"mb-3\");\r\n\r\n const iframe = container.querySelector(\"iframe\") || container.querySelector(\"video\");\r\n iframe.classList.add(\"embed-responsive-item\");\r\n iframe.removeAttribute(\"style\");\r\n iframe.removeAttribute(\"width\");\r\n iframe.removeAttribute(\"height\");\r\n\r\n iframe.before(iframeContainer);\r\n iframe.remove();\r\n iframeContainer.appendChild(iframe);\r\n\r\n return container;\r\n }\r\n}\r\n\r\n","import { API } from \"@editorjs/editorjs\"\r\n\r\n/**\r\n * The save data for the Markdown tool.\r\n */\r\nexport interface MarkdownData {\r\n text?: string;\r\n}\r\n\r\n/**\r\n * The configuration options for the markdown tool.\r\n */\r\nexport interface MarkdownConfig {\r\n /** The binary file type unique identifier to use when uploading. */\r\n binaryFileType?: string;\r\n\r\n /** The callback that will be called anytime a file is uploaded. */\r\n uploadCallback?: (id: number) => void;\r\n}\r\n\r\n/**\r\n * The structure of the data returned by the upload handler.\r\n */\r\ninterface RockUploadedFile {\r\n /** The binary file identifier for the uploaded file. */\r\n Id: number;\r\n\r\n /** The name of the uploaded file. */\r\n FileName: string;\r\n}\r\n\r\n/**\r\n * A block tool that allows the user to enter markdown text in the same format\r\n * as supported by the Rockumentation system.\r\n */\r\nexport class Markdown {\r\n /** The element that wraps all our user interface content. */\r\n private wrapper!: HTMLDivElement;\r\n\r\n /** The text area that is used by the ACE editor. */\r\n private editorTextArea!: HTMLTextAreaElement;\r\n\r\n /** The binary file type unique identifier to use when uploading a file. */\r\n private binaryFileType?: string;\r\n\r\n /** The DOM selector to use when storing the uploaded file identifier. */\r\n private uploadCallback?: (id: number) => void;\r\n\r\n /**\r\n * Creates a new instance of the Markdown block tool.\r\n *\r\n * @param config The initialization parameters for the tool.\r\n */\r\n constructor(config: { data: MarkdownData, config: MarkdownConfig, api: API, readOnly: boolean }) {\r\n /* Default to the Unsecured file type if it wasn't specified. */\r\n this.binaryFileType = config.config.binaryFileType;\r\n this.uploadCallback = config.config.uploadCallback;\r\n\r\n this.setupContent(config.data);\r\n }\r\n\r\n /**\r\n * Determines if line breaks should be supported in the tool.\r\n *\r\n * @returns true if line breaks (and the enter key) are allowed; otherwise false.\r\n */\r\n static get enableLineBreaks() {\r\n return true;\r\n }\r\n\r\n /**\r\n * Get the details that describe the button in the toolbox to switch\r\n * this block to Markdown editor.\r\n *\r\n * @returns The button details.\r\n */\r\n static get toolbox() {\r\n return {\r\n title: 'Markdown',\r\n icon: ''\r\n };\r\n }\r\n\r\n /**\r\n * The function that is called once a file has been uploaded.\r\n *\r\n * @param uploadedFile The information returned by the file uploader.\r\n * @returns The content to be inserted into the markdown text.\r\n */\r\n private uploadImageHelper(uploadedFile: RockUploadedFile) {\r\n var imageChar = '';\r\n if ((/\\.(gif|jpg|jpeg|tif|tiff|png)$/i).test(uploadedFile.FileName)) {\r\n imageChar = '!';\r\n }\r\n\r\n if (this.uploadCallback !== undefined) {\r\n this.uploadCallback(uploadedFile.Id);\r\n }\r\n\r\n let pathRoot = '/';\r\n\r\n return imageChar + '[' + uploadedFile.FileName + '](' + pathRoot + 'GetFile.ashx?Id=' + uploadedFile.Id + ')';\r\n }\r\n\r\n /**\r\n * Called when the user wishes to preview what they have written.\r\n *\r\n * @param content The markdown content to be converted to HTML.\r\n * @param callback The callback to call when the conversion has finished.\r\n */\r\n async previewContent(content: string, callback: Function) {\r\n let result = await $.ajax({\r\n url: '/api/v2/plugins/com.blueboxmoon/rockumentation/utilities/previewMarkdown',\r\n type: 'POST',\r\n dataType: 'json',\r\n contentType: 'application/json',\r\n data: JSON.stringify({ markdown: content })\r\n });\r\n\r\n callback(result.html);\r\n }\r\n\r\n /**\r\n * Prepares the DOM editor that will be used to display our custom UI.\r\n *\r\n * @param data The initial content data.\r\n */\r\n setupContent(data: MarkdownData) {\r\n this.wrapper = document.createElement(\"div\");\r\n this.editorTextArea = document.createElement(\"textarea\");\r\n this.wrapper.appendChild(this.editorTextArea);\r\n\r\n if (data && data.text) {\r\n this.editorTextArea.value = data.text;\r\n }\r\n\r\n const $domEditor = $(this.editorTextArea);\r\n ($domEditor).markdownEditor({\r\n height: \"auto\",\r\n fullscreen: false,\r\n preview: true,\r\n onPreview: this.previewContent,\r\n imageUpload: this.binaryFileType !== undefined && this.binaryFileType !== \"\",\r\n uploadPath: `/FileUploader.ashx?isBinaryFile=1&fileTypeGuid=${this.binaryFileType}`,\r\n uploadHelper: this.uploadImageHelper.bind(this)\r\n });\r\n\r\n var editor = ($domEditor).markdownEditor('getEditor');\r\n\r\n editor.setOptions({ minLines: 8, maxLines: Infinity });\r\n editor.container.style.height = (editor.getSession().getScreenLength() * editor.renderer.lineHeight + editor.renderer.scrollBar.getWidth()) + 'px';\r\n editor.resize();\r\n\r\n $domEditor.on('focus', () => editor.focus());\r\n }\r\n\r\n /**\r\n * Renders the DOM element that will display our UI.\r\n *\r\n * @returns The DOM element that will display our UI.\r\n */\r\n public render() {\r\n return this.wrapper;\r\n }\r\n\r\n /**\r\n * Save this block's content and return the data that can be used to\r\n * re-create it later.\r\n *\r\n * @param blockContent The DOM element that contains our UI.\r\n * @returns The saved data for this block.\r\n */\r\n public save(blockContent: any) {\r\n let data : MarkdownData = {\r\n text: this.editorTextArea.value\r\n };\r\n\r\n return data;\r\n }\r\n\r\n /**\r\n * Checks if this block's content should be included in the editor's save data.\r\n *\r\n * @param savedData The data generated by our save method.\r\n * @returns true if this block should be saved; otherwise false.\r\n */\r\n public validate(savedData: MarkdownData) {\r\n return savedData.text !== \"\";\r\n }\r\n}\r\n","import EditorNestedList, { NestedListData } from \"@editorjs/nested-list\";\r\n\r\n/**\r\n * Custom subclass of the nested list block tool.\r\n */\r\nexport class NestedList extends EditorNestedList {\r\n /**\r\n * Checks if there is any contents and if not indicate the the block should\r\n * not be included in the saved data.\r\n * \r\n * @param savedData The data generated by the save method.\r\n * @returns true if the block data should be included; false otherwise.\r\n */\r\n public validate(savedData: NestedListData) {\r\n return savedData.items.length > 0 && savedData.items[0].content !== \"\";\r\n }\r\n}\r\n","import EditorQuote, { QuoteData } from \"@editorjs/quote\"\r\n\r\n/**\r\n * Custom implementation of the Quote block to deny line breaks.\r\n */\r\nexport class Quote extends EditorQuote {\r\n /**\r\n * Do not allow to press Enter inside the Quote. They are meant to be single paragraphs.\r\n *\r\n * @returns true if line breaks should be allowed, false otherwise.\r\n */\r\n static get enableLineBreaks() {\r\n return false;\r\n }\r\n\r\n /**\r\n * Checks if the block's save data should be included in the structured\r\n * content stream.\r\n *\r\n * @param savedData The data that was returned by the save method.\r\n * @returns true if the block's contents should be included in the save data.\r\n */\r\n public validate(savedData: QuoteData) {\r\n return savedData.text !== \"\";\r\n }\r\n}\r\n","import { BlockToolConstructorOptions } from \"@editorjs/editorjs\";\r\nimport EditorRaw, { RawData } from \"@editorjs/raw\";\r\n\r\nexport class Raw extends EditorRaw {\r\n constructor(config: BlockToolConstructorOptions) {\r\n super(config);\r\n }\r\n\r\n render() {\r\n const container = super.render();\r\n const textarea = container.querySelector(\"textarea\");\r\n\r\n if (textarea) {\r\n textarea.spellcheck = false;\r\n\r\n // Workaround for https://github.com/editor-js/raw/issues/16\r\n if (navigator.userAgent.toLowerCase().includes(\"firefox\")) {\r\n const blockKeys = [\"ArrowLeft\", \"ArrowUp\", \"Backspace\"];\r\n\r\n textarea.addEventListener(\"keydown\", function (event) {\r\n if (blockKeys.includes(event.key)) {\r\n event.stopPropagation();\r\n }\r\n });\r\n }\r\n }\r\n\r\n return container;\r\n }\r\n\r\n static get toolbox() {\r\n const config = EditorRaw.toolbox;\r\n\r\n if (Array.isArray(config)) {\r\n for (const item of config) {\r\n if (item.title === \"Raw HTML\") {\r\n item.title = \"Raw HTML/Lava\";\r\n }\r\n }\r\n }\r\n else {\r\n config.title = \"Raw HTML/Lava\";\r\n }\r\n\r\n return config;\r\n }\r\n}\r\n","import EditorImage, { ImageConfig, ImageData, ImageUpload } from \"@editorjs/image\"\r\nimport { API } from \"@editorjs/editorjs\";\r\n\r\n/**\r\n * The save data for the RockImage block.\r\n */\r\ninterface RockImageData extends ImageData {\r\n file: {\r\n /** The URL used to display the image. */\r\n url: string,\r\n\r\n /** The identifier of the image if it was uploaded into Rock. */\r\n fileId?: number;\r\n }\r\n}\r\n\r\n/**\r\n * The configuration options for the RockImage block.\r\n */\r\ninterface RockImageConfig extends ImageConfig {\r\n /** The binary file type unique identifier to use when uploading. */\r\n binaryFileType?: string;\r\n};\r\n\r\n/**\r\n * Upload a file to Rock and return the link to view it with.\r\n * \r\n * @param file The file to be uploaded.\r\n */\r\nasync function uploadByFile(file: File, fileTypeGuid: string): Promise {\r\n const data = new FormData();\r\n\r\n data.append(\"file\", file);\r\n\r\n return await $.ajax({\r\n url: `/FileUploader.ashx?isBinaryFile=1&fileTypeGuid=${fileTypeGuid}`,\r\n type: 'POST',\r\n contentType: false,\r\n data: data,\r\n processData: false,\r\n cache: false,\r\n dataType: 'json'\r\n }).then(function (uploadedFile) {\r\n if (uploadedFile.Id && uploadedFile.FileName) {\r\n return {\r\n success: true,\r\n file: {\r\n url: `/GetImage.ashx?Id=${uploadedFile.Id}`,\r\n fileId: uploadedFile.Id\r\n }\r\n }\r\n }\r\n else {\r\n return {\r\n success: false,\r\n file: {\r\n url: \"\"\r\n }\r\n };\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Upload by URL. In this case we just return the URL itself.\r\n * \r\n * @param url The URL of the image.\r\n */\r\nfunction uploadByUrl(url: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n resolve({\r\n success: true,\r\n file: {\r\n url: url\r\n }\r\n });\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Extended implementation of the standard EditorJS image tool. This is updated\r\n * to work specifically with Rock.\r\n */\r\nexport class RockImage extends EditorImage {\r\n /**\r\n * Creates a new instance of the RockImage block tool.\r\n * \r\n * @param config The initialization data.\r\n */\r\n constructor(config: { data: ImageData, config: RockImageConfig, api: API, readOnly: boolean }) {\r\n /* Use unsecured file type unless the user specifies one. */\r\n const binaryFileType = config.config.binaryFileType || \"C1142570-8CD6-4A20-83B1-ACB47C1CD377\";\r\n\r\n /* Override the uploader to use our custom Rock uploader. */\r\n config.config.uploader = {\r\n uploadByUrl: uploadByUrl,\r\n uploadByFile: function (file: File) { return uploadByFile(file, binaryFileType); }\r\n };\r\n\r\n super(config);\r\n }\r\n\r\n /**\r\n * Render the settings tune that lets the user configure the block.\r\n * \r\n * @returns The HTML element that contains our actions.\r\n */\r\n public renderSettings() {\r\n const element = super.renderSettings() as HTMLElement | Record[];\r\n\r\n /* Remove the withBorder and withBackground actions. They don't make\r\n * sense in our use case. */\r\n if (Array.isArray(element)) {\r\n for (let i = 0; i < element.length;) {\r\n if (element[i].name === \"withBorder\" || element[i].name === \"withBackground\" || element[i].name == \"stretched\") {\r\n element.splice(i, 1);\r\n }\r\n else {\r\n i++;\r\n }\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < element.children.length;) {\r\n const child = element.children[i];\r\n const tune = child.dataset.tune;\r\n\r\n if (tune === \"withBorder\" || tune === \"withBackground\" || tune === \"stretched\") {\r\n element.removeChild(child);\r\n }\r\n else {\r\n i++;\r\n }\r\n }\r\n }\r\n\r\n return element;\r\n }\r\n\r\n /**\r\n * Get the save data for the block.\r\n * \r\n * @param blockWrapper The HTML element that contains all our content.\r\n * @returns Our save data.\r\n */\r\n public save(blockWrapper: HTMLDivElement) {\r\n const data = super.save(blockWrapper);\r\n\r\n /* Ensure we have an empty url string if no upload performed. */\r\n data.file.url = data.file.url ?? \"\";\r\n\r\n /* Remove values we don't use. */\r\n delete data.withBackground;\r\n delete data.withBorder;\r\n\r\n return data;\r\n }\r\n\r\n /**\r\n * Checks if the data that describes this block's contents should be\r\n * included in the editor's save data.\r\n * \r\n * @param savedData The data generated by the save method.\r\n * @returns true if this block should be included in the editor's save data; false otherwise.\r\n */\r\n public validate(savedData: RockImageData) {\r\n return savedData.file.url !== \"\";\r\n }\r\n}\r\n","import Header from \"@editorjs/header\";\r\nimport LinkInline from \"./vendor/inline-tool-link\";\r\nimport ArticleLinkInline from \"./articlelink\";\r\nimport { NestedList } from \"./nested-list\";\r\nimport { Quote } from \"./quote\";\r\nimport Table from \"./vendor/table/plugin\";\r\nimport { Markdown } from \"./markdown\";\r\nimport { CodeInline } from \"./code-inline\";\r\nimport { Code } from \"./code\";\r\nimport { Alert } from \"./alert\";\r\nimport { RockImage } from \"./rockimage\";\r\nimport { Embed } from \"./embed\";\r\nimport { Raw } from \"./raw\";\r\n\r\nexport const Tools = {\r\n Alert,\r\n Code,\r\n CodeInline,\r\n Embed,\r\n Header,\r\n Image: RockImage,\r\n LinkInline,\r\n ArticleLinkInline,\r\n Markdown,\r\n NestedList,\r\n Quote,\r\n Raw,\r\n Table\r\n}\r\n","//import * as _ from './utils';\r\n\r\n/**\r\n * DOM manipulations helper\r\n */\r\nexport default class Dom {\r\n /**\r\n * Creates SVG icon linked to the sprite\r\n *\r\n * @param {string} name - name (id) of icon from sprite\r\n * @param {number} [width] - icon width\r\n * @param {number} [height] - icon height\r\n *\r\n * @returns {SVGElement}\r\n */\r\n public static svg(name: string, width = 14, height = 14): SVGElement {\r\n const icon = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\r\n\r\n icon.classList.add('icon', 'icon--' + name);\r\n icon.setAttribute('width', width + 'px');\r\n icon.setAttribute('height', height + 'px');\r\n icon.innerHTML = ``;\r\n\r\n return icon;\r\n }\r\n\r\n /**\r\n * Checks target if it is native input\r\n *\r\n * @param {*} target - HTML element or string\r\n *\r\n * @returns {boolean}\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n public static isNativeInput(target: any): target is HTMLInputElement | HTMLTextAreaElement {\r\n const nativeInputs = [\r\n 'INPUT',\r\n 'TEXTAREA',\r\n ];\r\n\r\n return target && target.tagName ? nativeInputs.includes(target.tagName) : false;\r\n }\r\n\r\n /**\r\n * Checks if we can set caret\r\n *\r\n * @param {HTMLElement} target - target to check\r\n *\r\n * @returns {boolean}\r\n */\r\n public static canSetCaret(target: HTMLElement): boolean {\r\n let result = true;\r\n\r\n if (Dom.isNativeInput(target)) {\r\n switch (target.type) {\r\n case 'file':\r\n case 'checkbox':\r\n case 'radio':\r\n case 'hidden':\r\n case 'submit':\r\n case 'button':\r\n case 'image':\r\n case 'reset':\r\n result = false;\r\n break;\r\n }\r\n } else {\r\n result = Dom.isContentEditable(target);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Check if passed element is contenteditable\r\n *\r\n * @param {HTMLElement} element - html element to check\r\n *\r\n * @returns {boolean}\r\n */\r\n public static isContentEditable(element: HTMLElement): boolean {\r\n return element.contentEditable === 'true';\r\n }\r\n\r\n /**\r\n * Check if object is DOM node\r\n *\r\n * @param {*} node - object to check\r\n *\r\n * @returns {boolean}\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n public static isElement(node: any): node is Element {\r\n if (typeof(node) === 'number') {\r\n return false;\r\n }\r\n\r\n return node && node.nodeType && node.nodeType === Node.ELEMENT_NODE;\r\n }\r\n}\r\n","// Taken from https://github.com/codex-team/editor.js/blob/v2.21.0/src/components/inline-tools/inline-tool-link.ts\r\n// Small modifications to remove internal dependencies.\r\nimport SelectionUtils from './selection';\r\n\r\nimport $ from './dom';\r\n//import * as _ from '../utils';\r\nimport { InlineTool, SanitizerConfig } from \"@editorjs/editorjs\";\r\nimport { Notifier, Toolbar, I18n } from \"@editorjs/editorjs/types/api\";\r\n\r\n/**\r\n * Link Tool\r\n *\r\n * Inline Toolbar Tool\r\n *\r\n * Wrap selected text with tag\r\n */\r\nexport default class LinkInlineTool implements InlineTool {\r\n /**\r\n * Specifies Tool as Inline Toolbar Tool\r\n *\r\n * @returns {boolean}\r\n */\r\n public static isInline = true;\r\n\r\n /**\r\n * Title for hover-tooltip\r\n */\r\n public static title = 'Link';\r\n\r\n /**\r\n * Sanitizer Rule\r\n * Leave tags\r\n *\r\n * @returns {object}\r\n */\r\n public static get sanitize(): SanitizerConfig {\r\n return {\r\n a: {\r\n href: true,\r\n target: '_blank',\r\n rel: 'nofollow',\r\n },\r\n } as SanitizerConfig;\r\n }\r\n\r\n /**\r\n * Native Document's commands for link/unlink\r\n */\r\n private readonly commandLink: string = 'createLink';\r\n private readonly commandUnlink: string = 'unlink';\r\n\r\n /**\r\n * Enter key code\r\n */\r\n private readonly ENTER_KEY: number = 13;\r\n\r\n /**\r\n * Styles\r\n */\r\n private readonly CSS = {\r\n button: 'ce-inline-tool',\r\n buttonActive: 'ce-inline-tool--active',\r\n buttonModifier: 'ce-inline-tool--link',\r\n buttonUnlink: 'ce-inline-tool--unlink',\r\n input: 'ce-inline-tool-input',\r\n inputShowed: 'ce-inline-tool-input--showed',\r\n };\r\n\r\n /**\r\n * Elements\r\n */\r\n private nodes: {\r\n button: HTMLButtonElement;\r\n input: HTMLInputElement;\r\n } = {\r\n button: null,\r\n input: null,\r\n };\r\n\r\n /**\r\n * SelectionUtils instance\r\n */\r\n private selection: SelectionUtils;\r\n\r\n /**\r\n * Input opening state\r\n */\r\n private inputOpened = false;\r\n\r\n /**\r\n * Available Toolbar methods (open/close)\r\n */\r\n private toolbar: Toolbar;\r\n\r\n /**\r\n * Available inline toolbar methods (open/close)\r\n */\r\n private inlineToolbar: Toolbar;\r\n\r\n /**\r\n * Notifier API methods\r\n */\r\n private notifier: Notifier;\r\n\r\n /**\r\n * I18n API\r\n */\r\n private i18n: I18n;\r\n\r\n /**\r\n * @param {API} api - Editor.js API\r\n */\r\n constructor(config: any) {\r\n this.toolbar = config.api.toolbar;\r\n this.inlineToolbar = config.api.inlineToolbar;\r\n this.notifier = config.api.notifier;\r\n this.i18n = config.api.i18n;\r\n this.selection = new SelectionUtils();\r\n }\r\n\r\n /**\r\n * Create button for Inline Toolbar\r\n */\r\n public render(): HTMLElement {\r\n this.nodes.button = document.createElement('button') as HTMLButtonElement;\r\n this.nodes.button.type = 'button';\r\n this.nodes.button.classList.add(this.CSS.button, this.CSS.buttonModifier);\r\n this.nodes.button.innerHTML = ``;\r\n\r\n return this.nodes.button;\r\n }\r\n\r\n /**\r\n * Input for the link\r\n */\r\n public renderActions(): HTMLElement {\r\n this.nodes.input = document.createElement('input') as HTMLInputElement;\r\n this.nodes.input.placeholder = this.i18n.t('Add a link');\r\n this.nodes.input.classList.add(this.CSS.input);\r\n this.nodes.input.addEventListener('keydown', (event: KeyboardEvent) => {\r\n if (event.keyCode === this.ENTER_KEY) {\r\n this.enterPressed(event);\r\n }\r\n });\r\n\r\n return this.nodes.input;\r\n }\r\n\r\n /**\r\n * Handle clicks on the Inline Toolbar icon\r\n *\r\n * @param {Range} range - range to wrap with link\r\n */\r\n public surround(range: Range): void {\r\n /**\r\n * Range will be null when user makes second click on the 'link icon' to close opened input\r\n */\r\n if (range) {\r\n /**\r\n * Save selection before change focus to the input\r\n */\r\n if (!this.inputOpened) {\r\n /** Create blue background instead of selection */\r\n this.selection.setFakeBackground();\r\n this.selection.save();\r\n } else {\r\n this.selection.restore();\r\n this.selection.removeFakeBackground();\r\n }\r\n const parentAnchor = this.selection.findParentTag('A');\r\n\r\n /**\r\n * Unlink icon pressed\r\n */\r\n if (parentAnchor) {\r\n this.selection.expandToTag(parentAnchor);\r\n this.unlink();\r\n this.closeActions();\r\n this.checkState();\r\n this.toolbar.close();\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.toggleActions();\r\n }\r\n\r\n /**\r\n * Check selection and set activated state to button if there are tag\r\n *\r\n * @param {Selection} selection - selection to check\r\n */\r\n public checkState(selection?: Selection): boolean {\r\n const anchorTag = this.selection.findParentTag('A');\r\n\r\n if (anchorTag && !anchorTag?.dataset.article) {\r\n this.nodes.button.classList.add(this.CSS.buttonUnlink);\r\n this.nodes.button.classList.add(this.CSS.buttonActive);\r\n this.openActions();\r\n\r\n /**\r\n * Fill input value with link href\r\n */\r\n const hrefAttr = anchorTag.getAttribute('href');\r\n\r\n this.nodes.input.value = hrefAttr !== null ? hrefAttr : '';\r\n\r\n this.selection.save();\r\n } else {\r\n this.nodes.button.classList.remove(this.CSS.buttonUnlink);\r\n this.nodes.button.classList.remove(this.CSS.buttonActive);\r\n }\r\n\r\n return !!anchorTag;\r\n }\r\n\r\n /**\r\n * Function called with Inline Toolbar closing\r\n */\r\n public clear(): void {\r\n this.closeActions();\r\n }\r\n\r\n /**\r\n * Set a shortcut\r\n */\r\n public get shortcut(): string {\r\n return 'CMD+K';\r\n }\r\n\r\n /**\r\n * Show/close link input\r\n */\r\n private toggleActions(): void {\r\n if (!this.inputOpened) {\r\n this.openActions(true);\r\n } else {\r\n this.closeActions(false);\r\n }\r\n }\r\n\r\n /**\r\n * @param {boolean} needFocus - on link creation we need to focus input. On editing - nope.\r\n */\r\n private openActions(needFocus = false): void {\r\n this.nodes.input.classList.add(this.CSS.inputShowed);\r\n if (needFocus) {\r\n this.nodes.input.focus();\r\n }\r\n this.inputOpened = true;\r\n }\r\n\r\n /**\r\n * Close input\r\n *\r\n * @param {boolean} clearSavedSelection � we don't need to clear saved selection\r\n * on toggle-clicks on the icon of opened Toolbar\r\n */\r\n private closeActions(clearSavedSelection = true): void {\r\n if (this.selection.isFakeBackgroundEnabled) {\r\n // if actions is broken by other selection We need to save new selection\r\n const currentSelection = new SelectionUtils();\r\n\r\n currentSelection.save();\r\n\r\n this.selection.restore();\r\n this.selection.removeFakeBackground();\r\n\r\n // and recover new selection after removing fake background\r\n currentSelection.restore();\r\n }\r\n\r\n this.nodes.input.classList.remove(this.CSS.inputShowed);\r\n this.nodes.input.value = '';\r\n if (clearSavedSelection) {\r\n this.selection.clearSaved();\r\n }\r\n this.inputOpened = false;\r\n }\r\n\r\n /**\r\n * Enter pressed on input\r\n *\r\n * @param {KeyboardEvent} event - enter keydown event\r\n */\r\n private enterPressed(event: KeyboardEvent): void {\r\n let value = this.nodes.input.value || '';\r\n\r\n if (!value.trim()) {\r\n this.selection.restore();\r\n this.unlink();\r\n event.preventDefault();\r\n this.closeActions();\r\n\r\n return;\r\n }\r\n\r\n if (!this.validateURL(value)) {\r\n this.notifier.show({\r\n message: 'Pasted link is not valid.',\r\n style: 'error',\r\n });\r\n\r\n //_.log('Incorrect Link pasted', 'warn', value);\r\n\r\n return;\r\n }\r\n\r\n value = this.prepareLink(value);\r\n\r\n this.selection.restore();\r\n this.selection.removeFakeBackground();\r\n\r\n this.insertLink(value);\r\n\r\n /**\r\n * Preventing events that will be able to happen\r\n */\r\n event.preventDefault();\r\n event.stopPropagation();\r\n event.stopImmediatePropagation();\r\n this.selection.collapseToEnd();\r\n this.inlineToolbar.close();\r\n }\r\n\r\n /**\r\n * Detects if passed string is URL\r\n *\r\n * @param {string} str - string to validate\r\n * @returns {boolean}\r\n */\r\n private validateURL(str: string): boolean {\r\n /**\r\n * Don't allow spaces\r\n */\r\n return !/\\s/.test(str);\r\n }\r\n\r\n /**\r\n * Process link before injection\r\n * - sanitize\r\n * - add protocol for links like 'google.com'\r\n *\r\n * @param {string} link - raw user input\r\n */\r\n private prepareLink(link: string): string {\r\n link = link.trim();\r\n link = this.addProtocol(link);\r\n\r\n return link;\r\n }\r\n\r\n /**\r\n * Add 'http' protocol to the links like 'vc.ru', 'google.com'\r\n *\r\n * @param {string} link - string to process\r\n */\r\n private addProtocol(link: string): string {\r\n return link; /* Always use the link as-is. */\r\n\r\n /**\r\n * If protocol already exists, do nothing\r\n */\r\n if (/^(\\w+):(\\/\\/)?/.test(link)) {\r\n return link;\r\n }\r\n\r\n /**\r\n * We need to add missed HTTP protocol to the link, but skip 2 cases:\r\n * 1) Internal links like \"/general\" or \"./general\"\r\n * 2) Anchors looks like \"#results\"\r\n * 3) Protocol-relative URLs like \"//google.com\"\r\n */\r\n const isInternal = /^\\/[^/\\s]/.test(link),\r\n isAnchor = link.substring(0, 1) === '#',\r\n isProtocolRelative = /^\\/\\/[^/\\s]/.test(link);\r\n\r\n if (!isInternal && !isAnchor && !isProtocolRelative) {\r\n link = 'http://' + link;\r\n }\r\n\r\n return link;\r\n }\r\n\r\n /**\r\n * Inserts tag with \"href\"\r\n *\r\n * @param {string} link - \"href\" value\r\n */\r\n private insertLink(link: string): void {\r\n /**\r\n * Edit all link, not selected part\r\n */\r\n const anchorTag = this.selection.findParentTag('A');\r\n\r\n if (anchorTag) {\r\n this.selection.expandToTag(anchorTag);\r\n }\r\n else {\r\n this.selection.trim();\r\n }\r\n\r\n document.execCommand(this.commandLink, false, link);\r\n }\r\n\r\n /**\r\n * Removes tag\r\n */\r\n private unlink(): void {\r\n document.execCommand(this.commandUnlink);\r\n }\r\n}\r\n","/**\r\n * TextRange interface for IE9-\r\n */\r\n//import * as _ from './utils';\r\nimport $ from './dom';\r\n\r\ninterface TextRange {\r\n boundingTop: number;\r\n boundingLeft: number;\r\n boundingBottom: number;\r\n boundingRight: number;\r\n boundingHeight: number;\r\n boundingWidth: number;\r\n}\r\n\r\n/**\r\n * Interface for object returned by document.selection in IE9-\r\n */\r\ninterface MSSelection {\r\n createRange: () => TextRange;\r\n type: string;\r\n}\r\n\r\n/**\r\n * Extends Document interface for IE9-\r\n */\r\ninterface Document {\r\n selection?: MSSelection;\r\n}\r\n\r\n/**\r\n * Working with selection\r\n *\r\n * @typedef {SelectionUtils} SelectionUtils\r\n */\r\nexport default class SelectionUtils {\r\n /**\r\n * Editor styles\r\n *\r\n * @returns {{editorWrapper: string, editorZone: string}}\r\n */\r\n public static get CSS(): { editorWrapper: string; editorZone: string } {\r\n return {\r\n editorWrapper: 'codex-editor',\r\n editorZone: 'codex-editor__redactor',\r\n };\r\n }\r\n\r\n /**\r\n * Returns selected anchor\r\n * {@link https://developer.mozilla.org/ru/docs/Web/API/Selection/anchorNode}\r\n *\r\n * @returns {Node|null}\r\n */\r\n public static get anchorNode(): Node | null {\r\n const selection = window.getSelection();\r\n\r\n return selection ? selection.anchorNode : null;\r\n }\r\n\r\n /**\r\n * Returns selected anchor element\r\n *\r\n * @returns {Element|null}\r\n */\r\n public static get anchorElement(): Element | null {\r\n const selection = window.getSelection();\r\n\r\n if (!selection) {\r\n return null;\r\n }\r\n\r\n const anchorNode = selection.anchorNode;\r\n\r\n if (!anchorNode) {\r\n return null;\r\n }\r\n\r\n if (!$.isElement(anchorNode)) {\r\n return anchorNode.parentElement;\r\n } else {\r\n return anchorNode;\r\n }\r\n }\r\n\r\n /**\r\n * Returns selection offset according to the anchor node\r\n * {@link https://developer.mozilla.org/ru/docs/Web/API/Selection/anchorOffset}\r\n *\r\n * @returns {number|null}\r\n */\r\n public static get anchorOffset(): number | null {\r\n const selection = window.getSelection();\r\n\r\n return selection ? selection.anchorOffset : null;\r\n }\r\n\r\n /**\r\n * Is current selection range collapsed\r\n *\r\n * @returns {boolean|null}\r\n */\r\n public static get isCollapsed(): boolean | null {\r\n const selection = window.getSelection();\r\n\r\n return selection ? selection.isCollapsed : null;\r\n }\r\n\r\n /**\r\n * Check current selection if it is at Editor's zone\r\n *\r\n * @returns {boolean}\r\n */\r\n public static get isAtEditor(): boolean {\r\n const selection = SelectionUtils.get();\r\n\r\n /**\r\n * Something selected on document\r\n */\r\n let selectedNode = (selection.anchorNode || selection.focusNode) as HTMLElement;\r\n\r\n if (selectedNode && selectedNode.nodeType === Node.TEXT_NODE) {\r\n selectedNode = selectedNode.parentNode as HTMLElement;\r\n }\r\n\r\n let editorZone = null;\r\n\r\n if (selectedNode && selectedNode instanceof Element) {\r\n editorZone = selectedNode.closest(`.${SelectionUtils.CSS.editorZone}`);\r\n }\r\n\r\n /**\r\n * SelectionUtils is not out of Editor because Editor's wrapper was found\r\n */\r\n return (editorZone && editorZone.nodeType === Node.ELEMENT_NODE);\r\n }\r\n\r\n /**\r\n * Methods return boolean that true if selection exists on the page\r\n */\r\n public static get isSelectionExists(): boolean {\r\n const selection = SelectionUtils.get();\r\n\r\n return !!selection.anchorNode;\r\n }\r\n\r\n /**\r\n * Return first range\r\n *\r\n * @returns {Range|null}\r\n */\r\n public static get range(): Range | null {\r\n const selection = window.getSelection();\r\n\r\n return selection && selection.rangeCount ? selection.getRangeAt(0) : null;\r\n }\r\n\r\n /**\r\n * Calculates position and size of selected text\r\n *\r\n * @returns {DOMRect | ClientRect}\r\n */\r\n public static get rect(): DOMRect | ClientRect {\r\n let sel: Selection | MSSelection | undefined = (document as Document).selection,\r\n range: TextRange | Range;\r\n\r\n let rect = {\r\n x: 0,\r\n y: 0,\r\n width: 0,\r\n height: 0,\r\n } as DOMRect;\r\n\r\n if (sel && sel.type !== 'Control') {\r\n sel = sel as MSSelection;\r\n range = sel.createRange() as TextRange;\r\n rect.x = range.boundingLeft;\r\n rect.y = range.boundingTop;\r\n rect.width = range.boundingWidth;\r\n rect.height = range.boundingHeight;\r\n\r\n return rect;\r\n }\r\n\r\n if (!window.getSelection) {\r\n //_.log('Method window.getSelection is not supported', 'warn');\r\n\r\n return rect;\r\n }\r\n\r\n sel = window.getSelection();\r\n\r\n if (sel.rangeCount === null || isNaN(sel.rangeCount)) {\r\n //_.log('Method SelectionUtils.rangeCount is not supported', 'warn');\r\n\r\n return rect;\r\n }\r\n\r\n if (sel.rangeCount === 0) {\r\n return rect;\r\n }\r\n\r\n range = sel.getRangeAt(0).cloneRange() as Range;\r\n\r\n if (range.getBoundingClientRect) {\r\n rect = range.getBoundingClientRect() as DOMRect;\r\n }\r\n // Fall back to inserting a temporary element\r\n if (rect.x === 0 && rect.y === 0) {\r\n const span = document.createElement('span');\r\n\r\n if (span.getBoundingClientRect) {\r\n // Ensure span has dimensions and position by\r\n // adding a zero-width space character\r\n span.appendChild(document.createTextNode('\\u200b'));\r\n range.insertNode(span);\r\n rect = span.getBoundingClientRect() as DOMRect;\r\n\r\n const spanParent = span.parentNode;\r\n\r\n spanParent!.removeChild(span);\r\n\r\n // Glue any broken text nodes back together\r\n spanParent!.normalize();\r\n }\r\n }\r\n\r\n return rect;\r\n }\r\n\r\n /**\r\n * Returns selected text as String\r\n *\r\n * @returns {string}\r\n */\r\n public static get text(): string {\r\n return window.getSelection ? window.getSelection()!.toString() : '';\r\n }\r\n\r\n /**\r\n * Selection instances\r\n *\r\n * @todo Check if this is still relevant\r\n */\r\n public instance: Selection | null = null;\r\n public selection: Selection | null = null;\r\n\r\n /**\r\n * This property can store SelectionUtils's range for restoring later\r\n *\r\n * @type {Range|null}\r\n */\r\n public savedSelectionRange: Range | null = null;\r\n\r\n /**\r\n * Fake background is active\r\n *\r\n * @returns {boolean}\r\n */\r\n public isFakeBackgroundEnabled = false;\r\n\r\n /**\r\n * Native Document's commands for fake background\r\n */\r\n private readonly commandBackground: string = 'backColor';\r\n private readonly commandRemoveFormat: string = 'removeFormat';\r\n\r\n /**\r\n * Returns window SelectionUtils\r\n * {@link https://developer.mozilla.org/ru/docs/Web/API/Window/getSelection}\r\n *\r\n * @returns {Selection}\r\n */\r\n public static get(): Selection {\r\n return window.getSelection();\r\n }\r\n\r\n /**\r\n * Set focus to contenteditable or native input element\r\n *\r\n * @param element - element where to set focus\r\n * @param offset - offset of cursor\r\n *\r\n * @returns {DOMRect} of range\r\n */\r\n public static setCursor(element: HTMLInputElement, offset = 0): DOMRect | undefined {\r\n const range = document.createRange();\r\n const selection = window.getSelection();\r\n\r\n /** if found deepest node is native input */\r\n if ($.isNativeInput(element)) {\r\n if (!$.canSetCaret(element)) {\r\n return;\r\n }\r\n\r\n element.focus();\r\n element.selectionStart = element.selectionEnd = offset;\r\n\r\n return element.getBoundingClientRect();\r\n }\r\n\r\n range.setStart(element, offset);\r\n range.setEnd(element, offset);\r\n\r\n selection!.removeAllRanges();\r\n selection!.addRange(range);\r\n\r\n return range.getBoundingClientRect();\r\n }\r\n\r\n /**\r\n * Removes fake background\r\n */\r\n public removeFakeBackground(): void {\r\n if (!this.isFakeBackgroundEnabled) {\r\n return;\r\n }\r\n\r\n this.isFakeBackgroundEnabled = false;\r\n document.execCommand(this.commandRemoveFormat);\r\n }\r\n\r\n /**\r\n * Sets fake background\r\n */\r\n public setFakeBackground(): void {\r\n document.execCommand(this.commandBackground, false, '#a8d6ff');\r\n\r\n this.isFakeBackgroundEnabled = true;\r\n }\r\n\r\n public trim(): void {\r\n const sel = window.getSelection();\r\n\r\n if (!sel.anchorNode || !sel.focusNode) {\r\n return;\r\n }\r\n\r\n if ((sel).direction !== \"none\" && (sel).direction !== \"forward\") {\r\n return;\r\n }\r\n\r\n if (sel.focusNode.textContent) {\r\n const text = sel.focusNode.textContent;\r\n let offset = sel.focusOffset;\r\n console.log(text, offset);\r\n\r\n while (offset > 1 && text[offset-1] === \" \") {\r\n offset--;\r\n }\r\n\r\n if (offset !== sel.focusOffset) {\r\n const range = document.createRange();\r\n range.setStart(sel.anchorNode, sel.anchorOffset);\r\n range.setEnd(sel.focusNode, offset);\r\n\r\n sel.removeAllRanges();\r\n sel.addRange(range);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Save SelectionUtils's range\r\n */\r\n public save(): void {\r\n this.savedSelectionRange = SelectionUtils.range;\r\n }\r\n\r\n /**\r\n * Restore saved SelectionUtils's range\r\n */\r\n public restore(): void {\r\n if (!this.savedSelectionRange) {\r\n return;\r\n }\r\n\r\n const sel = window.getSelection();\r\n\r\n sel.removeAllRanges();\r\n sel.addRange(this.savedSelectionRange);\r\n }\r\n\r\n /**\r\n * Clears saved selection\r\n */\r\n public clearSaved(): void {\r\n this.savedSelectionRange = null;\r\n }\r\n\r\n /**\r\n * Collapse current selection\r\n */\r\n public collapseToEnd(): void {\r\n const sel = window.getSelection();\r\n const range = document.createRange();\r\n\r\n range.selectNodeContents(sel.focusNode);\r\n range.collapse(false);\r\n sel.removeAllRanges();\r\n sel.addRange(range);\r\n }\r\n\r\n /**\r\n * Looks ahead to find passed tag from current selection\r\n *\r\n * @param {string} tagName - tag to found\r\n * @param {string} [className] - tag's class name\r\n * @param {number} [searchDepth] - count of tags that can be included. For better performance.\r\n *\r\n * @returns {HTMLElement|null}\r\n */\r\n public findParentTag(tagName: string, className?: string, searchDepth = 10): HTMLElement | null {\r\n const selection = window.getSelection();\r\n let parentTag = null;\r\n\r\n /**\r\n * If selection is missing or no anchorNode or focusNode were found then return null\r\n */\r\n if (!selection || !selection.anchorNode || !selection.focusNode) {\r\n return null;\r\n }\r\n\r\n let startNode: HTMLElement | null = selection.anchorNode as HTMLElement;\r\n let endNode: HTMLElement | null = selection.focusNode as HTMLElement;\r\n\r\n if (selection.anchorOffset === startNode.textContent?.length) {\r\n startNode = startNode.nextSibling as HTMLElement;\r\n }\r\n if (selection.focusOffset === 0) {\r\n endNode = endNode.previousSibling as HTMLElement;\r\n }\r\n\r\n /**\r\n * Define Nodes for start and end of selection\r\n */\r\n const boundNodes: (HTMLElement | null)[] = [\r\n /** the Node in which the selection begins */\r\n startNode,\r\n /** the Node in which the selection ends */\r\n endNode\r\n ];\r\n\r\n /**\r\n * For each selection parent Nodes we try to find target tag [with target class name]\r\n * It would be saved in parentTag variable\r\n */\r\n boundNodes.forEach((parent) => {\r\n if (!parent) {\r\n return;\r\n }\r\n\r\n /** Reset tags limit */\r\n let searchDepthIterable = searchDepth;\r\n\r\n while (searchDepthIterable > 0 && parent.parentNode) {\r\n /**\r\n * Check tag's name\r\n */\r\n if (parent.tagName === tagName) {\r\n /**\r\n * Save the result\r\n */\r\n parentTag = parent;\r\n\r\n /**\r\n * Optional additional check for class-name mismatching\r\n */\r\n if (className && parent.classList && !parent.classList.contains(className)) {\r\n parentTag = null;\r\n }\r\n\r\n /**\r\n * If we have found required tag with class then go out from the cycle\r\n */\r\n if (parentTag) {\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Target tag was not found. Go up to the parent and check it\r\n */\r\n parent = parent.parentNode as HTMLElement;\r\n searchDepthIterable--;\r\n }\r\n });\r\n\r\n /**\r\n * Return found tag or null\r\n */\r\n return parentTag;\r\n }\r\n\r\n /**\r\n * Expands selection range to the passed parent node\r\n *\r\n * @param {HTMLElement} element - element which contents should be selcted\r\n */\r\n public expandToTag(element: HTMLElement): void {\r\n const selection = window.getSelection();\r\n\r\n selection.removeAllRanges();\r\n const range = document.createRange();\r\n\r\n range.selectNodeContents(element);\r\n selection.addRange(range);\r\n }\r\n}\r\n","const TableConstructor = require('./tableConstructor').TableConstructor;\r\nconst svgIcon = require('./img/tableIcon.svg');\r\nconst withHeadings = require('./img/with-headings.svg');\r\nconst withoutHeadings = require('./img/without-headings.svg');\r\n\r\nconst CSS = {\r\n input: 'tc-table__inp',\r\n setting: 'tc-setting',\r\n settingActive: 'tc-setting--active'\r\n};\r\n\r\nconst tunes = {\r\n withHeadings: 'With headings',\r\n withoutHeadings: 'Without headings'\r\n}\r\n\r\n/**\r\n * Tool for table's creating\r\n *\r\n * @typedef {object} TableData - object with the data transferred to form a table\r\n * @property {string[][]} content - two-dimensional array which contains table content\r\n */\r\nclass Table {\r\n /**\r\n * Notify core that read-only mode is supported\r\n *\r\n * @returns {boolean}\r\n */\r\n static get isReadOnlySupported() {\r\n return true;\r\n }\r\n\r\n /**\r\n * Allow to press Enter inside the CodeTool textarea\r\n *\r\n * @returns {boolean}\r\n * @public\r\n */\r\n static get enableLineBreaks() {\r\n return true;\r\n }\r\n\r\n /**\r\n * Get Tool toolbox settings\r\n * icon - Tool icon's SVG\r\n * title - title to show in toolbox\r\n *\r\n * @returns {{icon: string, title: string}}\r\n */\r\n static get toolbox() {\r\n return {\r\n icon: svgIcon,\r\n title: 'Table',\r\n };\r\n }\r\n\r\n /**\r\n * Render plugin`s main Element and fill it with saved data\r\n *\r\n * @param {TableData} data — previously saved data\r\n * @param {object} config - user config for Tool\r\n * @param {object} api - Editor.js API\r\n * @param {boolean} readOnly - read-only mode flag\r\n */\r\n constructor({ data, config, api, readOnly }) {\r\n this.api = api;\r\n this.readOnly = readOnly;\r\n this.data = {\r\n withHeadings: data && data.withHeadings ? data.withHeadings : (config.defaultHeadings ? config.defaultHeadings : false)\r\n }\r\n\r\n this._tableConstructor = new TableConstructor(data, config, api, readOnly);\r\n this._tableConstructor.useHeadings(this.data.withHeadings);\r\n }\r\n\r\n /**\r\n * Return Tool's view\r\n *\r\n * @returns {HTMLDivElement}\r\n */\r\n render() {\r\n return this._tableConstructor.htmlElement;\r\n }\r\n\r\n /**\r\n * Add plugin settings \r\n * \r\n * @returns {HTMLElement} - wrapper element\r\n */\r\n renderSettings(){\r\n const settings = {\r\n withHeadings:{\r\n name: tunes.withHeadings,\r\n icon: withHeadings\r\n },\r\n withoutHeadings: {\r\n name: tunes.withoutHeadings,\r\n icon: withoutHeadings\r\n },\r\n };\r\n const wrapper = document.createElement('div');\r\n\r\n let withHeadingsButton = document.createElement('div');\r\n withHeadingsButton.classList.add(CSS.setting);\r\n withHeadingsButton.innerHTML = settings.withHeadings.icon;\r\n\r\n let withoutHeadingsButton = document.createElement('div');\r\n withoutHeadingsButton.classList.add(CSS.setting);\r\n withoutHeadingsButton.innerHTML = settings.withoutHeadings.icon;\r\n\r\n if (this.data.withHeadings) {\r\n withHeadingsButton.classList.add(CSS.settingActive);\r\n } else {\r\n withoutHeadingsButton.classList.add(CSS.settingActive);\r\n }\r\n\r\n withHeadingsButton.addEventListener('click', () => {\r\n this._toggleTune(withHeadingsButton, withoutHeadingsButton);\r\n });\r\n\r\n withoutHeadingsButton.addEventListener('click', () => {\r\n this._toggleTune(withHeadingsButton, withoutHeadingsButton);\r\n });\r\n\r\n wrapper.append(withHeadingsButton, withoutHeadingsButton);\r\n\r\n this.api.tooltip.onHover(withHeadingsButton, 'With headings', {placement: 'top'});\r\n this.api.tooltip.onHover(withoutHeadingsButton, 'Without headings', {placement: 'top'});\r\n\r\n return wrapper;\r\n }\r\n\r\n /**\r\n * Extract Tool's data from the view\r\n *\r\n * @param {HTMLElement} toolsContent - Tool HTML element\r\n *\r\n * @returns {TableData} - saved data\r\n */\r\n save(toolsContent) {\r\n const table = toolsContent.querySelector('.tc-table');\r\n const data = [];\r\n const rows = table.childElementCount;\r\n\r\n for (let i = 1; i <= rows; i++) {\r\n const row = table.querySelector(`.tc-row:nth-child(${i})`);\r\n const cols = Array.from(row.querySelectorAll(`.tc-column`));\r\n const isWorthless = cols.every(this._isEmpty);\r\n\r\n if (isWorthless) {\r\n continue;\r\n }\r\n\r\n data.push(cols.map(column => column.innerHTML));\r\n }\r\n\r\n let result = {};\r\n\r\n if (this.data.withHeadings) {\r\n result.withHeadings = true;\r\n }\r\n\r\n result.content = data;\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Validates the saved data.\r\n * \r\n * @param {TableData} savedData The data that was saved.\r\n * @returns {boolean} true if the data is valid.\r\n */\r\n validate(savedData) {\r\n return savedData.content.length > 0;\r\n }\r\n\r\n /**\r\n * @private\r\n * @param {HTMLElement} input - input field\r\n * @returns {boolean}\r\n */\r\n _isEmpty(input) {\r\n return !input.textContent.trim();\r\n }\r\n\r\n /**\r\n * @private\r\n * Click on the Settings Button\r\n * @param {string} tuneName — tune name from this.settings\r\n */\r\n _toggleTune(withHeadingsButton, withoutHeadingsButton) {\r\n if (withHeadingsButton.classList.contains(CSS.settingActive)) {\r\n this.data.withHeadings = false;\r\n } else {\r\n this.data.withHeadings = true;\r\n }\r\n \r\n withHeadingsButton.classList.toggle(CSS.settingActive);\r\n withoutHeadingsButton.classList.toggle(CSS.settingActive);\r\n\r\n this._tableConstructor.useHeadings(this.data.withHeadings);\r\n }\r\n}\r\n\r\nmodule.exports = Table;\r\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./table-constructor.pcss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./table-constructor.pcss\";\n export default content && content.locals ? content.locals : undefined;\n","/**\r\n * Checks the item is not missed or messed\r\n * \r\n * @param {object|string[]|Element[]|HTMLElement|string} elem - element\r\n * @returns {boolean} true if element is correct\r\n * @private\r\n */\r\nfunction _isNotMissed(elem) {\r\n return (!(elem === undefined || elem === null));\r\n}\r\n\r\n/**\r\n * Create DOM element with set parameters\r\n * @param {string} tagName - Html tag of the element to be created\r\n * @param {string[]} cssClasses - Css classes that must be applied to an element\r\n * @param {object} attrs - Attributes that must be applied to the element\r\n * @param {Element[]} children - child elements of creating element\r\n * @returns {HTMLElement} the new element\r\n */\r\nexport function create(tagName, cssClasses = null, attrs = null, children = null) {\r\n const elem = document.createElement(tagName);\r\n\r\n if (_isNotMissed(cssClasses)) {\r\n for (let i = 0; i < cssClasses.length; i++) {\r\n if (_isNotMissed(cssClasses[i])) {\r\n elem.classList.add(cssClasses[i]);\r\n }\r\n }\r\n }\r\n if (_isNotMissed(attrs)) {\r\n for (let key in attrs) {\r\n elem.setAttribute(key, attrs[key]);\r\n }\r\n }\r\n if (_isNotMissed(children)) {\r\n for (let i = 0; i < children.length; i++) {\r\n if (_isNotMissed(children[i])) {\r\n elem.appendChild(children[i]);\r\n }\r\n }\r\n }\r\n return elem;\r\n}\r\n\r\n/**\r\n * Get item position relative to document\r\n * \r\n * @param {HTMLElement} elem - item\r\n * @returns {{x1: number, y1: number, x2: number, y2: number}} coordinates of the upper left (x1,y1) and lower right(x2,y2) corners\r\n */\r\nexport function getCoords(elem) {\r\n const rect = elem.getBoundingClientRect();\r\n\r\n return {\r\n y1: Math.floor(rect.top + window.pageYOffset),\r\n x1: Math.floor(rect.left + window.pageXOffset),\r\n x2: Math.floor(rect.right + window.pageXOffset),\r\n y2: Math.floor(rect.bottom + window.pageYOffset)\r\n };\r\n}\r\n\r\n/**\r\n * Get the coordinates relative to the parent element\r\n * \r\n * @param {HTMLElement} elem \r\n * @param {Event} event \r\n * @returns mouse position relative to the element\r\n */\r\nexport function getRelativeCoords(elem, event) {\r\n const rect = elem.getBoundingClientRect();\r\n const { width, height, x, y } = rect;\r\n const { clientX, clientY } = event;\r\n\r\n return {\r\n width,\r\n height,\r\n x: clientX - x,\r\n y: clientY - y\r\n }\r\n}\r\n\r\n/**\r\n * Calculates the row and column that the cursor is currently hovering over\r\n * \r\n * @param {HTMLElement} table - table element\r\n * @param {Event} event - mousemove event\r\n * @param {number} numberOfColumns - number of columns in the table\r\n * @param {number} numberOfRows - number of rows in the table\r\n * @returns hovered cell coordinates as an integer row and column\r\n */\r\nexport function hoveredCell(table, event, numberOfColumns, numberOfRows) {\r\n const { width, height, x, y } = getRelativeCoords(table, event);\r\n const hoveredRow = Math.floor(y / (height / numberOfRows)) + 1;\r\n const hoveredColumn = Math.floor(x / (width / numberOfColumns)) + 1;\r\n\r\n return {\r\n row: hoveredRow,\r\n column: hoveredColumn\r\n }\r\n}\r\n\r\n/**\r\n * Insert element after the referenced\r\n * \r\n * @param {HTMLElement} newNode \r\n * @param {HTMLElement} referenceNode\r\n * @returns {HTMLElement}\r\n */\r\nexport function insertAfter(newNode, referenceNode) {\r\n return referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);\r\n}\r\n\r\n/**\r\n * Insert element after the referenced\r\n * \r\n * @param {HTMLElement} newNode \r\n * @param {HTMLElement} referenceNode \r\n * @returns {HTMLElement}\r\n */\r\n export function insertBefore(newNode, referenceNode) {\r\n return referenceNode.parentNode.insertBefore(newNode, referenceNode);\r\n}","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./table.pcss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./table.pcss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./toolbox.pcss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./toolbox.pcss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./utils.pcss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./utils.pcss\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./settings.pcss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./settings.pcss\";\n export default content && content.locals ? content.locals : undefined;\n","import { create, getCoords, getSideByCoords, insertAfter, insertBefore } from './documentUtils';\r\nimport toolboxIcon from './img/toolboxIcon.svg';\r\nimport newToLeftIcon from './img/new-to-left.svg';\r\nimport newToRightIcon from './img/new-to-right.svg';\r\nimport newToUp from './img/new-to-up.svg';\r\nimport newToDown from './img/new-to-down.svg';\r\nimport closeIcon from './img/cross.svg';\r\n\r\nconst CSS = {\r\n hidden: 'tc-hidden',\r\n none: 'tc-none',\r\n toolboxRow: 'tc-toolbox-row',\r\n toolboxRowMenu: 'tc-toolbox-row__menu',\r\n toolboxColumn: 'tc-toolbox-column',\r\n toolboxColumnMenu: 'tc-toolbox-column__menu',\r\n toolboxAddColumnRight: 'tc-toolbox-add-column-right',\r\n toolboxAddColumnLeft: 'tc-toolbox-add-column-left',\r\n toolboxAddRowAbove: 'tc-toolbox-add-row-above',\r\n toolboxAddRowBelow: 'tc-toolbox-add-row-below',\r\n toolboxDelete: 'tc-toolbox-delete',\r\n toolboxDeleteColumn: 'tc-toolbox-delete--column',\r\n toolboxDeleteRow: 'tc-toolbox-delete--row',\r\n toolboxOption: 'tc-toolbox-row__option',\r\n}\r\n\r\n/**\r\n * @constructor\r\n */\r\nexport class Toolbox {\r\n constructor() {\r\n this._toolboxRow = this.createToolboxRow();\r\n this._toolboxColumn = this.createToolboxColumn();\r\n this._toolboxRowMenu = this._toolboxRow.querySelector(`.${CSS.toolboxRowMenu}`);\r\n this._toolboxColumnMenu = this._toolboxColumn.querySelector(`.${CSS.toolboxColumnMenu}`);\r\n\r\n // row and column above which the toolboxes should be displayed, 0 means hide\r\n this._row = 0;\r\n this._column = 0;\r\n }\r\n \r\n /**\r\n * Creating a toolbox to open menu for a manipulating rows\r\n * \r\n * @returns \r\n */\r\n createToolboxRow() {\r\n let toolboxRowMenu = this._createRowMenu();\r\n let toolboxRowElem = create('div', [ CSS.toolboxRow ]);\r\n\r\n toolboxRowElem.innerHTML = toolboxIcon;\r\n toolboxRowElem.append(toolboxRowMenu);\r\n\r\n return toolboxRowElem;\r\n }\r\n\r\n /**\r\n * Creating a toolbox to open menu for a manipulating columns\r\n * \r\n * @returns {HTMLElement} \r\n */\r\n createToolboxColumn() {\r\n let toolboxColumnMenu = this._createColumnMenu();\r\n let toolboxColumnElem = create('div', [ CSS.toolboxColumn ]);\r\n\r\n toolboxColumnElem.innerHTML = toolboxIcon;\r\n toolboxColumnElem.append(toolboxColumnMenu);\r\n\r\n return toolboxColumnElem;\r\n }\r\n\r\n /**\r\n * Creating a tooolbox row menu\r\n * \r\n * @private\r\n * @returns {HTMLElement} - row menu\r\n */\r\n _createRowMenu() {\r\n let addRowAboveText = create('span');\r\n let addRowBelowText = create('span');\r\n let deleteRowText = create('span');\r\n\r\n addRowAboveText.textContent = 'Add row above';\r\n addRowBelowText.textContent = 'Add row below';\r\n deleteRowText.textContent = 'Delete row';\r\n\r\n let addRowAbove= create('div', [ CSS.toolboxAddRowAbove, CSS.toolboxOption ]);\r\n addRowAbove.innerHTML = newToUp;\r\n addRowAbove.append(addRowAboveText);\r\n\r\n let addRowBelow = create('div', [ CSS.toolboxAddRowBelow, CSS.toolboxOption ]);\r\n addRowBelow.innerHTML = newToDown;\r\n addRowBelow.append(addRowBelowText);\r\n\r\n let deleteRow = create('div', [ CSS.toolboxDelete, CSS.toolboxOption, CSS.toolboxDeleteRow ]);\r\n deleteRow.innerHTML = closeIcon;\r\n deleteRow.append(deleteRowText);\r\n\r\n let toolboxRowMenu = create('div', [ CSS.toolboxRowMenu, CSS.hidden ], null, [\r\n addRowAbove, \r\n addRowBelow,\r\n deleteRow\r\n ]);\r\n\r\n return toolboxRowMenu;\r\n }\r\n\r\n /**\r\n * Creating a tooolbox column menu\r\n * \r\n * @private\r\n * @returns {HTMLElement} - column menu\r\n */\r\n _createColumnMenu() {\r\n let addColumnLeftText = create('span');\r\n let addColumnRightText = create('span');\r\n let deleteColumnText = create('span');\r\n\r\n addColumnLeftText.textContent = 'Add column to left';\r\n addColumnRightText.textContent = 'Add column to right';\r\n deleteColumnText.textContent = 'Delete column';\r\n\r\n let addColumnRight = create('div', [ CSS.toolboxAddColumnRight, CSS.toolboxOption ]);\r\n addColumnRight.innerHTML = newToRightIcon;\r\n addColumnRight.append(addColumnRightText);\r\n\r\n let addColumnLeft = create('div', [ CSS.toolboxAddColumnLeft, CSS.toolboxOption ]);\r\n addColumnLeft.innerHTML = newToLeftIcon;\r\n addColumnLeft.append(addColumnLeftText);\r\n\r\n let deleteColumn = create('div', [ CSS.toolboxDelete, CSS.toolboxOption, CSS.toolboxDeleteColumn ]);\r\n deleteColumn.innerHTML = closeIcon;\r\n deleteColumn.append(deleteColumnText);\r\n\r\n let toolboxColumnMenu = create('div', [ CSS.toolboxColumnMenu, CSS.hidden ], null, [\r\n addColumnLeft, \r\n addColumnRight,\r\n deleteColumn\r\n ]);\r\n\r\n return toolboxColumnMenu;\r\n }\r\n\r\n /**\r\n * Get toolbox row element\r\n */\r\n get toolboxRow() {\r\n return this._toolboxRow;\r\n }\r\n\r\n /**\r\n * Get toolbox column element\r\n */\r\n get toolboxColumn() {\r\n return this._toolboxColumn;\r\n }\r\n\r\n /**\r\n * Hide delete column button for event when we only have one column left\r\n */\r\n hideDeleteColumnButton() {\r\n this._toolboxColumnMenu.querySelector(`.${CSS.toolboxDeleteColumn}`).classList.add(CSS.none);\r\n }\r\n\r\n /**\r\n * Unhide delete column button when we have more than one column left again\r\n */\r\n unhideDeleteColumnButton() {\r\n this._toolboxColumnMenu.querySelector(`.${CSS.toolboxDeleteColumn}`).classList.remove(CSS.none);\r\n }\r\n\r\n /**\r\n * Hide delete row button for event when we only have one row left\r\n */\r\n hideDeleteRowButton() {\r\n this._toolboxRowMenu.querySelector(`.${CSS.toolboxDeleteRow}`).classList.add(CSS.none);\r\n }\r\n\r\n /**\r\n * Unhide delete column button when we have more than one row left again\r\n */\r\n unhideDeleteRowButton() {\r\n this._toolboxRowMenu.querySelector(`.${CSS.toolboxDeleteRow}`).classList.remove(CSS.none);\r\n }\r\n\r\n /**\r\n * Show toolbox row menu when the toolbox was clicked \r\n */\r\n openToolboxRowMenu() {\r\n this._toolboxRowMenu.classList.remove(CSS.hidden);\r\n }\r\n\r\n /**\r\n * Hide toolbox row menu\r\n */\r\n closeToolboxRowMenu() {\r\n this._toolboxRowMenu.classList.add(CSS.hidden);\r\n }\r\n\r\n /**\r\n * Show toolbox column menu when the column toolbox was clicked\r\n */\r\n openToolboxColumnMenu() {\r\n this._toolboxColumnMenu.classList.remove(CSS.hidden);\r\n }\r\n\r\n /**\r\n * Hide toolbox column menu\r\n */\r\n closeToolboxColumnMenu() {\r\n this._toolboxColumnMenu.classList.add(CSS.hidden);\r\n }\r\n\r\n /**\r\n * Change column toolbox position\r\n * \r\n * @param {number} numberOfColumns - number of columns in the table\r\n * @param {number} column - current column, if 0 then hide toolbox\r\n */\r\n updateToolboxColumnPosition(numberOfColumns = 0, column = this._column) {\r\n this._column = column;\r\n\r\n if (this._column <= 0 || this._column > numberOfColumns) {\r\n this._toolboxColumn.style.visibility = 'hidden';\r\n } else {\r\n this._toolboxColumn.style.cssText = 'visibility: visible; ' + `left: calc((100% - 2.6em) / (${numberOfColumns} * 2) * (1 + (${column} - 1) * 2))`;\r\n }\r\n\r\n if (numberOfColumns == 1) {\r\n this.hideDeleteColumnButton();\r\n } else {\r\n this.unhideDeleteColumnButton();\r\n }\r\n }\r\n\r\n /**\r\n * Change row toolbox position\r\n * \r\n * @param {number} numberOfRows - number of rows\r\n * @param {number} row - hovered row\r\n */\r\n updateToolboxRowPosition(numberOfRows = 0, row = this._row) {\r\n this._row = row;\r\n\r\n if (this._row <= 0 || this._row > numberOfRows) {\r\n this._toolboxRow.style.visibility = 'hidden';\r\n } else {\r\n this._toolboxRow.style.visibility = 'visible';\r\n this._toolboxRow.style.top = `calc((100% - 2.6em) / (${numberOfRows} * 2) * (1 + (${row} - 1) * 2))`;\r\n }\r\n\r\n if (numberOfRows == 1) {\r\n this.hideDeleteRowButton();\r\n } else {\r\n this.unhideDeleteRowButton();\r\n }\r\n }\r\n}","import { create, getCoords, getSideByCoords, insertAfter, insertBefore, hoveredCell } from './documentUtils';\r\nimport './styles/table.pcss';\r\nimport './styles/toolbox.pcss';\r\nimport './styles/utils.pcss';\r\nimport './styles/settings.pcss';\r\nimport svgPlusButton from './img/plus.svg';\r\nimport {Toolbox} from './toolbox';\r\n\r\nconst CSS = {\r\n table: 'tc-table',\r\n row: 'tc-row',\r\n withHeadings: 'tc-table--heading',\r\n rowSelected: 'tc-row--selected',\r\n column: 'tc-column',\r\n columnSelected: 'tc-column--selected',\r\n addRow: 'tc-add-row',\r\n addColumn: 'tc-add-column',\r\n addColumnCell: 'tc-add-column--cell',\r\n inputField: 'tc-table__inp',\r\n cell: 'tc-table__cell',\r\n wrapper: 'tc-table__wrap',\r\n area: 'tc-table__area',\r\n toolboxAddColumnRight: 'tc-toolbox-add-column-right',\r\n toolboxAddColumnLeft: 'tc-toolbox-add-column-left',\r\n toolboxDeleteColumn: 'tc-toolbox-delete--column',\r\n toolboxAddRowAbove: 'tc-toolbox-add-row-above',\r\n toolboxAddRowBelow: 'tc-toolbox-add-row-below',\r\n toolboxDeleteRow: 'tc-toolbox-delete--row'\r\n};\r\n\r\n/**\r\n * Generates and manages _table contents.\r\n */\r\nexport class Table {\r\n /**\r\n * Creates\r\n *\r\n * @param {boolean} readOnly - read-only mode flag\r\n */\r\n constructor(readOnly) {\r\n this.readOnly = readOnly;\r\n this._numberOfColumns = 0;\r\n this._numberOfRows = 0;\r\n this._toolbox = new Toolbox();\r\n this._element = this._createTableWrapper();\r\n this._table = this._element.querySelector(`.${CSS.table}`);\r\n this._hoveredRow = 0;\r\n this._hoveredColumn = 0;\r\n this._lastSelectedRow = 0;\r\n this._lastSelectedColumn = 0;\r\n\r\n this._fillAddButtons();\r\n\r\n if (!this.readOnly) {\r\n this._hangEvents();\r\n }\r\n }\r\n\r\n /**\r\n * Add column in table on index place\r\n * Add cells in each row\r\n *\r\n * @param {number} index - number in the array of columns, where new column to insert, -1 if insert at the end\r\n */\r\n addColumn(index = -1) {\r\n this._numberOfColumns++;\r\n \r\n for (let i = 1; i <= this._numberOfRows; i++) {\r\n let cell;\r\n const newCell = create('div', [ CSS.column ], { contenteditable: !this.readOnly });\r\n this.addTabEvent(newCell);\r\n\r\n if (index > 0) {\r\n cell = this._table.querySelector(`.${CSS.row}:nth-child(${i}) .${CSS.column}:nth-child(${index})`);\r\n\r\n if (cell) {\r\n insertBefore(newCell, cell);\r\n } else {\r\n cell = this._table.querySelector(`.${CSS.row}:nth-child(${i}) .${CSS.column}:nth-child(${index - 1})`);\r\n \r\n insertAfter(newCell, cell);\r\n }\r\n \r\n } else {\r\n cell = this._table.querySelector(`.${CSS.row}:nth-child(${i})`).appendChild(newCell);\r\n }\r\n\r\n this._fillCell(cell);\r\n }\r\n };\r\n\r\n /**\r\n * Adds the tab event listener to the cell to move to the next and previous\r\n * columns depending on the state of the shift key.\r\n * \r\n * @param {HTMLElement} cell - cell to add the event listener to\r\n */\r\n addTabEvent(cell) {\r\n if (this.readOnly) {\r\n return;\r\n }\r\n\r\n cell.addEventListener(\"keydown\", (event) => {\r\n if (event.which === 9) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (event.shiftKey === true) {\r\n if (event.target.previousSibling !== null) {\r\n event.target.previousSibling.focus();\r\n }\r\n else if (event.target.parentNode.previousSibling !== null) {\r\n event.target.parentNode.previousSibling.lastChild.focus();\r\n }\r\n }\r\n else {\r\n if (event.target.nextSibling !== null) {\r\n event.target.nextSibling.focus();\r\n }\r\n else {\r\n if (event.target.parentNode.nextSibling !== null) {\r\n event.target.parentNode.nextSibling.firstChild.focus();\r\n }\r\n else {\r\n this.addRow();\r\n event.target.parentNode.nextSibling.firstChild.focus();\r\n }\r\n }\r\n }\r\n }\r\n }, false);\r\n };\r\n\r\n /**\r\n * Add row in table on index place\r\n *\r\n * @param {number} index - number in the array of rows, where new column to insert,-1 if insert at the end\r\n * @returns {HTMLElement} row\r\n */\r\n addRow(index = -1) {\r\n this._numberOfRows++;\r\n let newRow;\r\n let rowElem = create('div', [ CSS.row ]);\r\n\r\n if (index > 0) {\r\n let row = this._table.querySelector(`.${CSS.row}:nth-child(${index})`);\r\n\r\n if (row) {\r\n newRow = insertBefore(rowElem, row);\r\n } else {\r\n row = this._table.querySelector(`.${CSS.row}:nth-child(${index - 1})`);\r\n\r\n newRow = insertAfter(rowElem, row);\r\n }\r\n \r\n } else {\r\n newRow = this._table.appendChild(rowElem);\r\n }\r\n\r\n this._fillRow(newRow);\r\n\r\n return newRow;\r\n };\r\n\r\n /**\r\n * Delete a column by index\r\n * \r\n * @param {number} index \r\n */\r\n deleteColumn(index) {\r\n for (let i = 1; i <= this._numberOfRows; i++) {\r\n this._table.querySelector(`.${CSS.row}:nth-child(${i}) .${CSS.column}:nth-child(${index})`).remove();\r\n }\r\n \r\n this._numberOfColumns--;\r\n }\r\n\r\n /**\r\n * Delete a row by index\r\n * \r\n * @param {number} index \r\n */\r\n deleteRow(index) {\r\n this._table.querySelector(`.${CSS.row}:nth-child(${index})`).remove();\r\n\r\n this._numberOfRows--;\r\n }\r\n\r\n /**\r\n * Add buttons to fast add row/column\r\n * \r\n * @private\r\n */\r\n _fillAddButtons() {\r\n this._element.querySelector(`.${CSS.addColumn}`).innerHTML = svgPlusButton;\r\n this._element.querySelector(`.${CSS.addRow}`).innerHTML = svgPlusButton;\r\n }\r\n\r\n /**\r\n * get html element of table\r\n *\r\n * @returns {HTMLElement}\r\n */\r\n get htmlElement() {\r\n return this._element;\r\n }\r\n\r\n /**\r\n * get real table tag\r\n *\r\n * @returns {HTMLElement}\r\n */\r\n get body() {\r\n return this._table;\r\n }\r\n\r\n /**\r\n * Create wrapper with an additional interface\r\n * \r\n * @private\r\n * @returns {HTMLElement} wrapper - where all buttons for a table and the table itself will be\r\n */\r\n _createTableWrapper() {\r\n return create('div', [ CSS.wrapper ], null, [\r\n this._toolbox.toolboxRow,\r\n this._toolbox.toolboxColumn,\r\n create('div', [ CSS.table ]),\r\n create('div', [ CSS.addColumn ]),\r\n create('div', [ CSS.addRow ]) \r\n ]);\r\n }\r\n\r\n /**\r\n * @todo fill cells\r\n * @private\r\n * @param {HTMLElement} cell - empty cell\r\n */\r\n _fillCell(cell) {\r\n // cell.classList.add(CSS.cell);\r\n }\r\n\r\n /**\r\n * Add cells to a row\r\n * \r\n * @private\r\n * @param {HTMLElement} row\r\n */\r\n _fillRow(row) {\r\n for (let i = 1; i <= this._numberOfColumns; i++) {\r\n const newCell = create('div', [ CSS.column ], { contenteditable: !this.readOnly });\r\n this.addTabEvent(newCell);\r\n\r\n row.appendChild(newCell);\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n * \r\n * Hangs the necessary handlers to events\r\n */\r\n _hangEvents() {\r\n // Update toolboxes position depending on the mouse movements\r\n this._table.addEventListener('mousemove', (event) => {\r\n const { row, column } = hoveredCell(this._table, event, this._numberOfColumns, this._numberOfRows);\r\n\r\n this._updateToolboxesPosition(row, column);\r\n }, true);\r\n\r\n // Hide toolboxes when leaving the table\r\n this._element.addEventListener('mouseleave', (event) => {\r\n this._toolbox.closeToolboxColumnMenu();\r\n this._toolbox.closeToolboxRowMenu();\r\n this._updateToolboxesPosition(0, 0);\r\n });\r\n \r\n // Hide toolboxes when over the add column button\r\n this._element.querySelector(`.${CSS.addColumn}`).addEventListener('mouseover', event => {\r\n this._updateToolboxesPosition(0, 0);\r\n });\r\n\r\n // Hide toolboxes when over the add row button\r\n this._element.querySelector(`.${CSS.addRow}`).addEventListener('mouseover', event => {\r\n this._updateToolboxesPosition(0, 0);\r\n });\r\n \r\n // Add column to right\r\n this._toolbox.toolboxColumn.querySelector(`.${CSS.toolboxAddColumnRight}`).addEventListener('click', event => {\r\n event.stopPropagation();\r\n\r\n this.addColumn(this._hoveredColumn + 1);\r\n this._updateToolboxesPosition(0, 0);\r\n });\r\n\r\n // Add column to left\r\n this._toolbox.toolboxColumn.querySelector(`.${CSS.toolboxAddColumnLeft}`).addEventListener('click', event => {\r\n event.stopPropagation();\r\n\r\n this.addColumn(this._hoveredColumn);\r\n this._updateToolboxesPosition(0, 0);\r\n });\r\n\r\n // Add row above\r\n this._toolbox.toolboxRow.querySelector(`.${CSS.toolboxAddRowAbove}`).addEventListener('click', event => {\r\n event.stopPropagation();\r\n\r\n this.addRow(this._hoveredRow);\r\n this._updateToolboxesPosition(0, 0);\r\n });\r\n\r\n // Add row below\r\n this._toolbox.toolboxRow.querySelector(`.${CSS.toolboxAddRowBelow}`).addEventListener('click', event => {\r\n event.stopPropagation();\r\n\r\n this.addRow(this._hoveredRow + 1);\r\n this._updateToolboxesPosition(0, 0);\r\n });\r\n\r\n // Delete selected column\r\n this._toolbox.toolboxColumn.querySelector(`.${CSS.toolboxDeleteColumn}`).addEventListener('click', event => {\r\n this.deleteColumn(this._hoveredColumn);\r\n this._updateToolboxesPosition(0, 0);\r\n })\r\n\r\n // Delete selected row\r\n this._toolbox.toolboxRow.querySelector(`.${CSS.toolboxDeleteRow}`).addEventListener('click', event => {\r\n this.deleteRow(this._hoveredRow);\r\n this._updateToolboxesPosition(0, 0);\r\n })\r\n\r\n this._toolbox.toolboxRow.addEventListener('click', event => {\r\n this._selectRow(this._hoveredRow);\r\n this._toolbox.openToolboxRowMenu();\r\n });\r\n\r\n this._toolbox.toolboxColumn.addEventListener('click', event => {\r\n this._selectColumn(this._hoveredColumn);\r\n this._toolbox.openToolboxColumnMenu();\r\n });\r\n\r\n // Prevent Enter p\r\n this._table.onkeypress = (event) => {\r\n return event.key != 'Enter';\r\n }\r\n }\r\n\r\n /**\r\n * Update toolboxes position\r\n * \r\n * @private\r\n * @param {number} row - hovered row\r\n * @param {number} column - hovered column\r\n */\r\n _updateToolboxesPosition(row, column) {\r\n if (this._hoveredRow == row && this._hoveredColumn == column) {\r\n return;\r\n }\r\n\r\n if (this._hoveredColumn != column) {\r\n this._unselectColumn();\r\n this._toolbox.closeToolboxColumnMenu();\r\n }\r\n\r\n if (this._hoveredRow != row) {\r\n this._unselectRow();\r\n this._toolbox.closeToolboxRowMenu();\r\n }\r\n \r\n this._hoveredRow = row;\r\n this._hoveredColumn = column;\r\n\r\n this._toolbox.updateToolboxColumnPosition(this._numberOfColumns, column);\r\n this._toolbox.updateToolboxRowPosition(this._numberOfRows, row);\r\n }\r\n\r\n /**\r\n * Makes the first row headings\r\n * @param {boolean} withHeadings - use headings row or not\r\n */\r\n useHeadings(withHeadings) {\r\n if (withHeadings) {\r\n this._table.classList.add(CSS.withHeadings);\r\n } else {\r\n this._table.classList.remove(CSS.withHeadings);\r\n }\r\n }\r\n\r\n /**\r\n * Add effect of a selected row\r\n * \r\n * @param {number} index \r\n */\r\n _selectRow(index) {\r\n this._lastSelectedRow = index;\r\n \r\n const row = this._table.querySelector(`.${CSS.row}:nth-child(${index})`);\r\n\r\n if (row) {\r\n row.classList.add(CSS.rowSelected);\r\n }\r\n }\r\n\r\n /**\r\n * Remove effect of a selected row\r\n */\r\n _unselectRow() {\r\n if (this._lastSelectedRow <= 0) {\r\n return;\r\n }\r\n\r\n const row = this._table.querySelector(`.${CSS.rowSelected}`);\r\n\r\n if (row) {\r\n row.classList.remove(CSS.rowSelected);\r\n }\r\n\r\n this._lastSelectedRow = 0;\r\n }\r\n\r\n /**\r\n * Add effect of a selected column\r\n * \r\n * @param {number} index \r\n */\r\n _selectColumn(index) {\r\n for (let i = 1; i <= this._numberOfRows; i++) {\r\n const column = this._table.querySelector(`.${CSS.row}:nth-child(${i}) .${CSS.column}:nth-child(${index})`);\r\n\r\n if (column) {\r\n column.classList.add(CSS.columnSelected);\r\n }\r\n }\r\n\r\n this._lastSelectedColumn = index;\r\n }\r\n\r\n /**\r\n * Remove effect of a selected column\r\n */\r\n _unselectColumn() {\r\n if (this._lastSelectedColumn <= 0) {\r\n return;\r\n }\r\n\r\n let columns = this._table.querySelectorAll(`.${CSS.columnSelected}`);\r\n\r\n Array.from(columns).forEach(column => {\r\n column.classList.remove(CSS.columnSelected);\r\n })\r\n\r\n this._lastSelectedColumn = 0;\r\n }\r\n}\r\n","import './styles/table-constructor.pcss';\r\nimport {create, getCoords, getSideByCoords} from './documentUtils';\r\nimport {Table} from './table';\r\n\r\nconst CSS = {\r\n editor: 'tc-editor',\r\n toolBarHor: 'tc-toolbar--hor',\r\n toolBarVer: 'tc-toolbar--ver',\r\n inputField: 'tc-table__inp',\r\n addRow: 'tc-add-row',\r\n addColumn: 'tc-add-column',\r\n row: 'tc-row',\r\n column: 'tc-column',\r\n};\r\n\r\n/**\r\n * Entry point. Controls table and give API to user\r\n */\r\nexport class TableConstructor {\r\n /**\r\n * Creates\r\n * @param {TableData} data - previously saved data for insert in table\r\n * @param {object} config - configuration of table\r\n * @param {object} api - Editor.js API\r\n * @param {boolean} readOnly - read-only mode flag\r\n */\r\n constructor(data, config, api, readOnly) {\r\n this.readOnly = readOnly;\r\n\r\n /** creating table */\r\n this._table = new Table(readOnly);\r\n const size = this._resizeTable(data, config);\r\n\r\n let apiStyles = null;\r\n if (api && api.styles && api.styles.block) {\r\n apiStyles = api.styles.block;\r\n }\r\n\r\n /** creating container around table */\r\n this._container = create('div', [CSS.editor, apiStyles], null, [this._table.htmlElement]);\r\n\r\n this._fillTable(data, size);\r\n\r\n /** Activated elements */\r\n this._hoveredCell = null;\r\n this._hoveredCellSide = null;\r\n\r\n if (!this.readOnly) {\r\n this._hangEvents();\r\n }\r\n }\r\n\r\n /**\r\n * returns html element of TableConstructor;\r\n * @return {HTMLElement}\r\n */\r\n get htmlElement() {\r\n return this._container;\r\n }\r\n\r\n /**\r\n * @private\r\n *\r\n * Fill table data passed to the constructor\r\n * @param {TableData} data - data for insert in table\r\n * @param {{rows: number, cols: number}} size - contains number of rows and cols\r\n */\r\n _fillTable(data, size) {\r\n if (data.content !== undefined) {\r\n for (let i = 0; i < size.rows && i < data.content.length; i++) {\r\n for (let j = 0; j < size.cols && j < data.content[i].length; j++) {\r\n // get current cell and her editable part\r\n const cell = this._container.querySelector(`.${CSS.row}:nth-child(${i + 1}) .${CSS.column}:nth-child(${j + 1})`)\r\n\r\n cell.innerHTML = data.content[i][j];\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @private\r\n *\r\n * resize to match config or transmitted data\r\n * @param {TableData} data - data for inserting to the table\r\n * @param {object} config - configuration of table\r\n * @param {number|string} config.rows - number of rows in configuration\r\n * @param {number|string} config.cols - number of cols in configuration\r\n * @return {{rows: number, cols: number}} - number of cols and rows\r\n */\r\n _resizeTable(data, config) {\r\n const isValidArray = Array.isArray(data.content);\r\n const isNotEmptyArray = isValidArray ? data.content.length : false;\r\n const contentRows = isValidArray ? data.content.length : undefined;\r\n const contentCols = isNotEmptyArray ? data.content[0].length : undefined;\r\n const parsedRows = Number.parseInt(config.rows);\r\n const parsedCols = Number.parseInt(config.cols);\r\n // value of config have to be positive number\r\n const configRows = !isNaN(parsedRows) && parsedRows > 0 ? parsedRows : undefined;\r\n const configCols = !isNaN(parsedCols) && parsedCols > 0 ? parsedCols : undefined;\r\n const defaultRows = 2;\r\n const defaultCols = 2;\r\n const rows = contentRows || configRows || defaultRows;\r\n const cols = contentCols || configCols || defaultCols;\r\n\r\n for (let i = 0; i < rows; i++) {\r\n this._table.addRow();\r\n }\r\n for (let i = 0; i < cols; i++) {\r\n this._table.addColumn();\r\n }\r\n\r\n return {\r\n rows: rows,\r\n cols: cols\r\n };\r\n }\r\n\r\n /**\r\n * @private\r\n *\r\n * hang necessary events\r\n */\r\n _hangEvents() {\r\n this._container.querySelector(`.${CSS.addColumn}`).addEventListener('click', (event) => {\r\n this._table.addColumn();\r\n });\r\n\r\n this._container.querySelector(`.${CSS.addRow}`).addEventListener('click', (event) => {\r\n this._table.addRow();\r\n });\r\n }\r\n\r\n /**\r\n * Passes the new setting for changing the UI to the table \r\n * @param {boolean} withHeadings \r\n */\r\n useHeadings(withHeadings) {\r\n this._table.useHeadings(withHeadings);\r\n }\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(7594);\n"],"names":["window","module","exports","e","t","n","r","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","insert","singleton","locals","a","document","querySelector","HTMLIFrameElement","contentDocument","head","length","identifier","base","u","concat","f","css","media","sourceMap","references","updater","push","b","createElement","attributes","nonce","nc","keys","forEach","setAttribute","Error","appendChild","filter","Boolean","join","styleSheet","cssText","createTextNode","childNodes","removeChild","insertBefore","removeAttribute","btoa","unescape","encodeURIComponent","JSON","stringify","firstChild","h","v","parentNode","all","atob","toString","splice","this","map","sources","sourceRoot","configurable","writable","key","data","config","api","readOnly","TypeError","placeholder","i18n","DEFAULT_PLACEHOLDER","CSS","baseClass","styles","block","input","wrapper","textarea","nodes","holder","code","drawView","classList","add","textContent","disabled","addEventListener","tabHandler","detail","stopPropagation","preventDefault","target","shiftKey","selectionStart","substr","substring","setSelectionRange","_data","set","icon","title","tags","iterator","constructor","Date","now","setTimeout","apply","arguments","clear","clearTimeout","flush","debounce","Array","isArray","next","done","return","slice","name","from","test","vimeo","regex","embedUrl","html","height","width","youtube","id","start","end","time_continue","list","split","startsWith","coub","vine","imgur","gfycat","codepen","instagram","twitter","pinterest","facebook","aparat","miro","element","service","services","createPreloader","container","containerLoading","caption","contentEditable","dataset","innerHTML","content","embed","embedIsReady","then","remove","source","preloader","url","shift","exec","replace","Promise","MutationObserver","observe","childList","subtree","disconnect","replaceChild","render","entries","checkServiceConfig","includes","reduce","assign","patterns","RegExp","Function","Number","isFinite","hmr","transform","insertInto","refs","parts","y","insertAt","nextSibling","before","g","indexOf","attrs","type","L","URL","createObjectURL","revokeObjectURL","Blob","rel","x","href","M","DEBUG","w","k","convertToAbsoluteUrls","location","protocol","host","pathname","trim","_CSS","_settings","normalizeData","_element","getTag","export","import","level","text","parseInt","defaultLevel","number","levels","svg","label","onActivate","setLevel","closeOnActivate","isActive","currentLevel","tag","tagName","Math","abs","find","console","warn","_state","_handled","_value","_deferreds","_immediateFn","onFulfilled","onRejected","promise","_unhandledRejectionFn","catch","finally","resolve","reject","race","setImmediate","beforeSend","XMLHttpRequest","ActiveXObject","open","method","setRequestHeader","headers","ratio","upload","round","loaded","total","ceil","progress","min","onreadystatechange","readyState","response","parse","parseHeaders","getAllResponseHeaders","body","status","send","toUpperCase","values","accept","multiple","fieldName","URLENCODED","isFormData","isFormElement","FORM","contentType","urlEncode","jsonEncode","formEncode","request","post","transport","selectFiles","FormData","append","isObject","self","_id","_clearFn","setInterval","clearInterval","close","unref","ref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","getPrototypeOf","process","nextTick","postMessage","importScripts","onmessage","random","attachEvent","MessageChannel","port1","port2","documentElement","callback","args","run","fun","array","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","HTMLFormElement","style","display","files","click","escape","isNaN","parseFloat","asyncIterator","_","_invoke","arg","delegate","sent","_sent","dispatchException","abrupt","wrap","__await","resultName","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","reset","E","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","reverse","pop","prev","charAt","stop","rval","complete","finish","delegateYield","regeneratorRuntime","onSelectFile","imageContainer","fileButton","createFileButton","imageEl","imagePreloader","captionPlaceholder","file","toggleStatus","UPLOADING","EMPTY","button","buttonContent","backgroundImage","src","autoplay","loop","muted","playsinline","FILLED","toggle","loading","loader","onUpload","onError","onPreview","FileReader","readAsDataURL","onload","result","uploader","uploadByFile","types","endpoints","byFile","additionalRequestData","additionalRequestHeaders","field","uploadByUrl","byUrl","actions","uploadingFailed","ui","uploadSelectedFile","showPreloader","tunes","action","tuneToggled","t0","fetch","blob","uploadFile","uploadUrl","success","image","log","notifier","show","message","hidePreloader","setTune","applyTune","blocks","getCurrentBlockIndex","stretchBlock","error","fillCaption","fillImage","img","mimeTypes","Z","nodeType","Node","ELEMENT_NODE","replaceAll","savedFakeCaret","save","range","hidden","insertNode","restore","getSelection","Range","setStartAfter","setEndAfter","removeAllRanges","addRange","rangeCount","getRangeAt","extractFragmentFromCaretPositionTillTheEnd","startContainer","closest","deleteContents","cloneRange","selectNodeContents","setStart","endContainer","endOffset","extractContents","focus","createRange","collapse","isAtStart","focusOffset","focusNode","getHigherLevelSiblings","every","isReadOnlySupported","enableLineBreaks","toolbox","defaultListStyle","defaultStyle","items","caret","makeListWrapper","baseBlock","appendItems","enterPressed","backspace","shiftTab","addTab","renderSettings","listStyle","pasteConfig","onPaste","pasteHandler","querySelectorAll","createItem","item","itemBody","itemContent","addChildrenList","itemChildren","getItemContent","wrapperOrdered","wrapperUnordered","settingsWrapper","settingsButton","settingsButtonActive","currentItem","anchorNode","nextElementSibling","getOutOfList","unshiftItem","prepend","after","focusItem","children","setToBlock","previousSibling","insertAdjacentHTML","joinRecursive","conversionConfig","ALIGNMENTS","DEFAULT_ALIGNMENT","quotePlaceholder","DEFAULT_QUOTE_PLACEHOLDER","DEFAULT_CAPTION_PLACEHOLDER","alignment","defaultAlignment","left","center","_make","settings","_toggleTune","br","j","C","resizeDebounce","onInput","resize","scrollHeight","___CSS_LOADER_EXPORT___","cssWithMappingToString","needLayer","modules","dedupe","supports","layer","undefined","alreadyImportedModules","_k","cssMapping","base64","sourceMapping","options","styleTagTransform","setAttributes","domAPI","insertStyleElement","stylesInDOM","getIndexByIdentifier","modulesToDom","idCountMap","identifiers","count","indexByIdentifier","obj","addElementStyle","byIndex","update","newObj","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","styleTarget","getTarget","styleElement","removeStyleElement","Styles","iconClass","class","setupContent","toLowerCase","onKeyUp","styleButtons","selectTypeButton","className","merge","blockContent","validate","savedData","ArticleLink","sanitize","commandLink","commandUnlink","buttonActive","buttonModifier","buttonUnlink","inputShowed","panel","articleTitle","inputOpened","selection","renderActions","borderTop","alignItems","flexGrow","marginRight","padding","fontSize","innerText","editButton","cursor","alignContent","borderLeft","backgroundColor","parentAnchor","findParentTag","openLinkDialog","article","surround","expandToTag","unlink","closeActions","checkState","openActions","anchorTag","clearSavedSelection","closeLinkDialog","clearSaved","dialogSaved","articleId","insertLink","collapseToEnd","dialogClosed","execCommand","isInline","inlineToolButton","toolboxIcon","termWrapper","unwrap","termTag","inlineToolButtonActive","span","sel","unwrappedContent","supportedLanguages","bash","csharp","cpp","coffee","coffeescript","javascript","json","lava","markdown","objectivec","perl","php","plsql","powershell","py","rb","ruby","sass","scss","shell","sql","swift","ts","xaml","xml","yaml","Code","super","languageNode","createLanguageNode","selectedIndex","findLanguageIndex","lang","option","languageKeys","dispatchChange","navigator","userAgent","blockKeys","event","codeWrapper","Embed","prepare","video","rockMedia","childElementCount","iframeContainer","iframe","binaryFileType","uploadCallback","uploadImageHelper","uploadedFile","imageChar","FileName","Id","previewContent","$","ajax","dataType","editorTextArea","$domEditor","markdownEditor","fullscreen","preview","imageUpload","uploadPath","uploadHelper","editor","setOptions","minLines","maxLines","Infinity","getSession","getScreenLength","renderer","lineHeight","scrollBar","getWidth","NestedList","Quote","Raw","spellcheck","RockImage","fileTypeGuid","processData","cache","fileId","child","tune","blockWrapper","withBackground","withBorder","Tools","Alert","CodeInline","Header","Image","LinkInline","ArticleLinkInline","Markdown","Table","Dom","createElementNS","isNativeInput","canSetCaret","isContentEditable","isElement","node","LinkInlineTool","ENTER_KEY","toolbar","inlineToolbar","keyCode","removeFakeBackground","setFakeBackground","toggleActions","hrefAttr","getAttribute","shortcut","needFocus","isFakeBackgroundEnabled","currentSelection","validateURL","prepareLink","stopImmediatePropagation","str","link","addProtocol","SelectionUtils","instance","savedSelectionRange","commandBackground","commandRemoveFormat","editorWrapper","editorZone","anchorElement","parentElement","anchorOffset","isCollapsed","isAtEditor","selectedNode","TEXT_NODE","Element","isSelectionExists","rect","boundingLeft","boundingTop","boundingWidth","boundingHeight","getBoundingClientRect","spanParent","normalize","setCursor","offset","selectionEnd","setEnd","direction","searchDepth","parentTag","startNode","endNode","parent","searchDepthIterable","contains","TableConstructor","svgIcon","withHeadings","withoutHeadings","defaultHeadings","_tableConstructor","useHeadings","htmlElement","withHeadingsButton","withoutHeadingsButton","tooltip","onHover","placement","toolsContent","table","rows","row","cols","_isEmpty","column","_isNotMissed","elem","cssClasses","insertAfter","newNode","referenceNode","Toolbox","_toolboxRow","createToolboxRow","_toolboxColumn","createToolboxColumn","_toolboxRowMenu","_toolboxColumnMenu","_row","_column","toolboxRowMenu","_createRowMenu","toolboxRowElem","toolboxColumnMenu","_createColumnMenu","toolboxColumnElem","addRowAboveText","addRowBelowText","deleteRowText","addRowAbove","addRowBelow","deleteRow","addColumnLeftText","addColumnRightText","deleteColumnText","addColumnRight","addColumnLeft","deleteColumn","toolboxRow","toolboxColumn","hideDeleteColumnButton","unhideDeleteColumnButton","hideDeleteRowButton","unhideDeleteRowButton","openToolboxRowMenu","closeToolboxRowMenu","openToolboxColumnMenu","closeToolboxColumnMenu","updateToolboxColumnPosition","numberOfColumns","visibility","updateToolboxRowPosition","numberOfRows","top","_numberOfColumns","_numberOfRows","_toolbox","_createTableWrapper","_table","_hoveredRow","_hoveredColumn","_lastSelectedRow","_lastSelectedColumn","_fillAddButtons","_hangEvents","addColumn","cell","newCell","contenteditable","addTabEvent","_fillCell","which","lastChild","addRow","newRow","rowElem","_fillRow","clientX","clientY","getRelativeCoords","floor","hoveredCell","_updateToolboxesPosition","_selectRow","_selectColumn","onkeypress","_unselectColumn","_unselectRow","columns","size","_resizeTable","apiStyles","_container","_fillTable","_hoveredCell","_hoveredCellSide","isValidArray","isNotEmptyArray","contentRows","contentCols","parsedRows","parsedCols","configRows","configCols","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","prop","__webpack_exports__"],"sourceRoot":""}