UNPKG

jodit

Version:

Jodit is awesome and usefully wysiwyg editor with filebrowser

1,326 lines (1,281 loc) 1.07 MB
/*! * jodit - Jodit is awesome and usefully wysiwyg editor with filebrowser * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/) * Version: v3.4.14 * Url: https://xdsoft.net/jodit/ * License(s): MIT */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else { var a = factory(); for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; } })(window, function() { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/build/"; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 68); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__extends", function() { return __extends; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__assign", function() { return __assign; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__rest", function() { return __rest; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__decorate", function() { return __decorate; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__param", function() { return __param; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__metadata", function() { return __metadata; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__awaiter", function() { return __awaiter; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__generator", function() { return __generator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__createBinding", function() { return __createBinding; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__exportStar", function() { return __exportStar; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__values", function() { return __values; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__read", function() { return __read; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spread", function() { return __spread; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__spreadArrays", function() { return __spreadArrays; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__await", function() { return __await; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncGenerator", function() { return __asyncGenerator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncDelegator", function() { return __asyncDelegator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__asyncValues", function() { return __asyncValues; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__makeTemplateObject", function() { return __makeTemplateObject; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importStar", function() { return __importStar; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__importDefault", function() { return __importDefault; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldGet", function() { return __classPrivateFieldGet; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__classPrivateFieldSet", function() { return __classPrivateFieldSet; }); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function() { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; } return __assign.apply(this, arguments); } function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; } function __param(paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } } function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function __generator(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } } var __createBinding = Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; }); function __exportStar(m, exports) { for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); } function __values(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); } function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; } function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; } function __spreadArrays() { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; function __await(v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } function __asyncGenerator(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var g = generator.apply(thisArg, _arguments || []), i, q = []; return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } } function __asyncDelegator(o) { var i, p; return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } } function __asyncValues(o) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var m = o[Symbol.asyncIterator], i; return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } } function __makeTemplateObject(cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; var __setModuleDefault = Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }; function __importStar(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; } function __importDefault(mod) { return (mod && mod.__esModule) ? mod : { default: mod }; } function __classPrivateFieldGet(receiver, privateMap) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return privateMap.get(receiver); } function __classPrivateFieldSet(receiver, privateMap, value) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to set private field on non-instance"); } privateMap.set(receiver, value); return value; } /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2020 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = __webpack_require__(0); tslib_1.__exportStar(__webpack_require__(15), exports); tslib_1.__exportStar(__webpack_require__(106), exports); tslib_1.__exportStar(__webpack_require__(109), exports); tslib_1.__exportStar(__webpack_require__(27), exports); tslib_1.__exportStar(__webpack_require__(5), exports); tslib_1.__exportStar(__webpack_require__(30), exports); tslib_1.__exportStar(__webpack_require__(112), exports); tslib_1.__exportStar(__webpack_require__(32), exports); tslib_1.__exportStar(__webpack_require__(127), exports); tslib_1.__exportStar(__webpack_require__(12), exports); tslib_1.__exportStar(__webpack_require__(132), exports); tslib_1.__exportStar(__webpack_require__(133), exports); tslib_1.__exportStar(__webpack_require__(134), exports); tslib_1.__exportStar(__webpack_require__(135), exports); tslib_1.__exportStar(__webpack_require__(136), exports); tslib_1.__exportStar(__webpack_require__(137), exports); tslib_1.__exportStar(__webpack_require__(37), exports); tslib_1.__exportStar(__webpack_require__(139), exports); tslib_1.__exportStar(__webpack_require__(42), exports); tslib_1.__exportStar(__webpack_require__(140), exports); tslib_1.__exportStar(__webpack_require__(26), exports); tslib_1.__exportStar(__webpack_require__(36), exports); tslib_1.__exportStar(__webpack_require__(43), exports); tslib_1.__exportStar(__webpack_require__(141), exports); tslib_1.__exportStar(__webpack_require__(142), exports); tslib_1.__exportStar(__webpack_require__(31), exports); tslib_1.__exportStar(__webpack_require__(29), exports); tslib_1.__exportStar(__webpack_require__(143), exports); /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2020 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", { value: true }); exports.Dom = void 0; var consts = __webpack_require__(3); var helpers_1 = __webpack_require__(1); var helpers_2 = __webpack_require__(46); var Dom = (function () { function Dom() { } Dom.detach = function (node) { while (node.firstChild) { node.removeChild(node.firstChild); } }; Dom.wrapInline = function (current, tag, editor) { var tmp, first = current, last = current; var selInfo = editor.s.save(); var needFindNext = false; do { needFindNext = false; tmp = first.previousSibling; if (tmp && !Dom.isBlock(tmp, editor.ew)) { needFindNext = true; first = tmp; } } while (needFindNext); do { needFindNext = false; tmp = last.nextSibling; if (tmp && !Dom.isBlock(tmp, editor.ew)) { needFindNext = true; last = tmp; } } while (needFindNext); var wrapper = helpers_1.isString(tag) ? editor.createInside.element(tag) : tag; if (first.parentNode) { first.parentNode.insertBefore(wrapper, first); } var next = first; while (next) { next = first.nextSibling; wrapper.appendChild(first); if (first === last || !next) { break; } first = next; } editor.s.restore(selInfo); return wrapper; }; Dom.wrap = function (current, tag, editor) { var selInfo = editor.s.save(); var wrapper = helpers_1.isString(tag) ? editor.createInside.element(tag) : tag; if (!current.parentNode) { return null; } current.parentNode.insertBefore(wrapper, current); wrapper.appendChild(current); editor.s.restore(selInfo); return wrapper; }; Dom.unwrap = function (node) { var parent = node.parentNode; if (parent) { while (node.firstChild) { parent.insertBefore(node.firstChild, node); } Dom.safeRemove(node); } }; Dom.each = function (elm, callback) { var node = elm.firstChild; if (node) { while (node) { var next = Dom.next(node, Boolean, elm); if (callback(node) === false) { return false; } if (node.parentNode && !Dom.each(node, callback)) { return false; } node = next; } } return true; }; Dom.replace = function (elm, newTagName, create, withAttributes, notMoveContent) { if (withAttributes === void 0) { withAttributes = false; } if (notMoveContent === void 0) { notMoveContent = false; } var tag = helpers_1.isString(newTagName) ? create.element(newTagName) : newTagName; if (!notMoveContent) { while (elm.firstChild) { tag.appendChild(elm.firstChild); } } if (withAttributes) { Array.from(elm.attributes).forEach(function (attr) { tag.setAttribute(attr.name, attr.value); }); } if (elm.parentNode) { elm.parentNode.replaceChild(tag, elm); } return tag; }; Dom.isEmptyTextNode = function (node) { return (Dom.isText(node) && (!node.nodeValue || node.nodeValue.replace(consts.INVISIBLE_SPACE_REG_EXP(), '') .length === 0)); }; Dom.isEmpty = function (node, condNoEmptyElement) { if (condNoEmptyElement === void 0) { condNoEmptyElement = /^(img|svg|canvas|input|textarea|form)$/; } if (!node) { return true; } if (Dom.isText(node)) { return node.nodeValue === null || helpers_1.trim(node.nodeValue).length === 0; } return (!condNoEmptyElement.test(node.nodeName.toLowerCase()) && Dom.each(node, function (elm) { if ((Dom.isText(elm) && elm.nodeValue !== null && helpers_1.trim(elm.nodeValue).length !== 0) || (Dom.isElement(elm) && condNoEmptyElement.test(elm.nodeName.toLowerCase()))) { return false; } })); }; Dom.isNode = function (object, win) { if (!object) { return false; } if (typeof win === 'object' && win && (typeof win.Node === 'function' || typeof win.Node === 'object')) { return object instanceof win.Node; } return false; }; Dom.isCell = function (elm, win) { return Dom.isNode(elm, win) && /^(td|th)$/i.test(elm.nodeName); }; Dom.isImage = function (elm, win) { return (Dom.isNode(elm, win) && /^(img|svg|picture|canvas)$/i.test(elm.nodeName)); }; Dom.isBlock = function (node, win) { return (node && typeof node === 'object' && Dom.isNode(node, win) && consts.IS_BLOCK.test(node.nodeName)); }; Dom.isText = function (node) { return Boolean(node && node.nodeType === Node.TEXT_NODE); }; Dom.isElement = function (node) { return Boolean(node && node.nodeType === Node.ELEMENT_NODE); }; Dom.isHTMLElement = function (node, win) { return (Dom.isNode(node, win) && node instanceof win.HTMLElement); }; Dom.isInlineBlock = function (node) { return (Dom.isElement(node) && !/^(BR|HR)$/i.test(node.tagName) && ['inline', 'inline-block'].indexOf(helpers_1.css(node, 'display').toString()) !== -1); }; Dom.canSplitBlock = function (node, win) { return (node && node instanceof win.HTMLElement && Dom.isBlock(node, win) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && node.style !== undefined && !/^(fixed|absolute)/i.test(node.style.position)); }; Dom.prev = function (node, condition, root, withChild) { if (withChild === void 0) { withChild = true; } return Dom.find(node, condition, root, false, 'previousSibling', withChild ? 'lastChild' : false); }; Dom.next = function (node, condition, root, withChild) { if (withChild === void 0) { withChild = true; } return Dom.find(node, condition, root, undefined, undefined, withChild ? 'firstChild' : false); }; Dom.prevWithClass = function (node, className) { return Dom.prev(node, function (node) { return (Dom.isElement(node) && node.classList.contains(className)); }, node.parentNode); }; Dom.nextWithClass = function (node, className) { return Dom.next(node, function (elm) { return Dom.isElement(elm) && elm.classList.contains(className); }, node.parentNode); }; Dom.find = function (node, condition, root, recurse, sibling, child) { if (recurse === void 0) { recurse = false; } if (sibling === void 0) { sibling = 'nextSibling'; } if (child === void 0) { child = 'firstChild'; } if (recurse && condition(node)) { return node; } var start = node, next; do { next = start[sibling]; if (condition(next)) { return next ? next : null; } if (child && next && next[child]) { var nextOne = Dom.find(next[child], condition, next, true, sibling, child); if (nextOne) { return nextOne; } } if (!next) { next = start.parentNode; } start = next; } while (start && start !== root); return null; }; Dom.findWithCurrent = function (node, condition, root, sibling, child) { if (sibling === void 0) { sibling = 'nextSibling'; } if (child === void 0) { child = 'firstChild'; } var next = node; do { if (condition(next)) { return next || null; } if (child && next && next[child]) { var nextOne = Dom.findWithCurrent(next[child], condition, next, sibling, child); if (nextOne) { return nextOne; } } while (next && !next[sibling] && next !== root) { next = next.parentNode; } if (next && next[sibling] && next !== root) { next = next[sibling]; } } while (next && next !== root); return null; }; Dom.getNormalSibling = function (node, left, normal) { if (left === void 0) { left = true; } if (normal === void 0) { normal = function (n) { return !Dom.isEmptyTextNode(n); }; } var start = helpers_2.getSibling(node, left); while (start && !normal(start)) { start = helpers_2.getSibling(start, left); } return start && normal(start) ? start : null; }; Dom.up = function (node, condition, root, checkRoot) { if (checkRoot === void 0) { checkRoot = false; } var start = node; if (!node) { return null; } do { if (condition(start)) { return start; } if (start === root || !start.parentNode) { break; } start = start.parentNode; } while (start && start !== root); if (start === root && checkRoot && condition(start)) { return start; } return null; }; Dom.closest = function (node, tagsOrCondition, root) { var condition; if (helpers_1.isFunction(tagsOrCondition)) { condition = tagsOrCondition; } else if (helpers_1.isArray(tagsOrCondition)) { condition = function (tag) { return tag && tagsOrCondition.includes(tag.nodeName.toLowerCase()); }; } else { condition = function (tag) { return tag && tagsOrCondition === tag.nodeName.toLowerCase(); }; } return Dom.up(node, condition, root); }; Dom.appendChildFirst = function (root, newElement) { var child = root.firstChild; if (child) { if (child !== newElement) { root.insertBefore(newElement, child); } } else { root.appendChild(newElement); } }; Dom.after = function (elm, newElement) { var parentNode = elm.parentNode; if (!parentNode) { return; } if (parentNode.lastChild === elm) { parentNode.appendChild(newElement); } else { parentNode.insertBefore(newElement, elm.nextSibling); } }; Dom.before = function (elm, newElement) { var parentNode = elm.parentNode; if (!parentNode) { return; } parentNode.insertBefore(newElement, elm); }; Dom.prepend = function (root, newElement) { root.insertBefore(newElement, root.firstChild); }; Dom.append = function (root, newElement) { root.appendChild(newElement); }; Dom.moveContent = function (from, to, inStart) { if (inStart === void 0) { inStart = false; } var fragment = (from.ownerDocument || document).createDocumentFragment(); Array.from(from.childNodes).forEach(function (node) { fragment.appendChild(node); }); if (!inStart || !to.firstChild) { to.appendChild(fragment); } else { to.insertBefore(fragment, to.firstChild); } }; Dom.all = function (node, condition, prev) { if (prev === void 0) { prev = false; } var nodes = node.childNodes ? Array.from(node.childNodes) : []; if (condition(node)) { return node; } if (prev) { nodes = nodes.reverse(); } nodes.forEach(function (child) { Dom.all(child, condition, prev); }); return null; }; Dom.isOrContains = function (root, child, onlyContains) { if (onlyContains === void 0) { onlyContains = false; } if (root === child) { return !onlyContains; } return Boolean(child && root && this.up(child, function (nd) { return nd === root; }, root, true)); }; Dom.safeRemove = function (node) { node && node.parentNode && node.parentNode.removeChild(node); }; Dom.hide = function (node) { if (!node) { return; } helpers_1.dataBind(node, '__old_display', node.style.display); node.style.display = 'none'; }; Dom.show = function (node) { if (!node) { return; } var display = helpers_1.dataBind(node, '__old_display'); if (node.style.display === 'none') { node.style.display = display || ''; } }; Dom.isTag = function (node, tagNames) { var tags = helpers_1.asArray(tagNames).map(String); for (var i = 0; i < tags.length; i += 1) { if (this.isElement(node) && node.tagName.toLowerCase() === tags[i].toLowerCase()) { return true; } } return false; }; Dom.findInline = function (node, toLeft, root) { var prevElement = node, nextElement = null; do { if (prevElement) { nextElement = toLeft ? prevElement.previousSibling : prevElement.nextSibling; if (!nextElement && prevElement.parentNode && prevElement.parentNode !== root && Dom.isInlineBlock(prevElement.parentNode)) { prevElement = prevElement.parentNode; } else { break; } } else { break; } } while (!nextElement); while (nextElement && Dom.isInlineBlock(nextElement) && (!toLeft ? nextElement.firstChild : nextElement.lastChild)) { nextElement = !toLeft ? nextElement.firstChild : nextElement.lastChild; } return nextElement; }; return Dom; }()); exports.Dom = Dom; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2020 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", { value: true }); exports.BASE_PATH = exports.KEY_ALIASES = exports.IS_MAC = exports.SAFE_COUNT_CHANGE_CALL = exports.INSERT_ONLY_TEXT = exports.INSERT_AS_TEXT = exports.INSERT_CLEAR_HTML = exports.INSERT_AS_HTML = exports.EMULATE_DBLCLICK_TIMEOUT = exports.MARKER_CLASS = exports.TEXT_HTML = exports.TEXT_PLAIN = exports.URL_LIST = exports.IS_IE = exports.MODE_SPLIT = exports.MODE_SOURCE = exports.MODE_WYSIWYG = exports.PARAGRAPH = exports.BR = exports.COMMAND_KEYS = exports.ACCURACY = exports.NEARBY = exports.KEY_F3 = exports.KEY_DELETE = exports.KEY_DOWN = exports.KEY_RIGHT = exports.KEY_UP = exports.KEY_LEFT = exports.KEY_ESC = exports.KEY_ENTER = exports.KEY_TAB = exports.KEY_BACKSPACE = exports.MAY_BE_REMOVED_WITH_KEY = exports.INSEPARABLE_TAGS = exports.IS_INLINE = exports.IS_BLOCK = exports.SPACE_REG_EXP_END = exports.SPACE_REG_EXP_START = exports.SPACE_REG_EXP = exports.INVISIBLE_SPACE_REG_EXP_START = exports.INVISIBLE_SPACE_REG_EXP_END = exports.INVISIBLE_SPACE_REG_EXP = exports.INVISIBLE_SPACE = void 0; exports.INVISIBLE_SPACE = '\uFEFF'; exports.INVISIBLE_SPACE_REG_EXP = function () { return /[\uFEFF]/g; }; exports.INVISIBLE_SPACE_REG_EXP_END = function () { return /[\uFEFF]+$/g; }; exports.INVISIBLE_SPACE_REG_EXP_START = function () { return /^[\uFEFF]+/g; }; exports.SPACE_REG_EXP = function () { return /[\s\n\t\r\uFEFF\u200b]+/g; }; exports.SPACE_REG_EXP_START = function () { return /^[\s\n\t\r\uFEFF\u200b]+/g; }; exports.SPACE_REG_EXP_END = function () { return /[\s\n\t\r\uFEFF\u200b]+$/g; }; exports.IS_BLOCK = /^(SCRIPT|IFRAME|JODIT|JODIT-MEDIA|PRE|DIV|P|LI|UL|OL|H[1-6]|BLOCKQUOTE|TD|TH|TABLE|BODY|HTML|FIGCAPTION|FIGURE|DT|DD)$/i; exports.IS_INLINE = /^(STRONG|SPAN|I|EM|B|SUP|SUB)$/i; exports.INSEPARABLE_TAGS = [ 'img', 'br', 'iframe', 'script', 'input', 'textarea', 'hr', 'jodit', 'jodit-media' ]; exports.MAY_BE_REMOVED_WITH_KEY = RegExp("^" + exports.INSEPARABLE_TAGS.join('|') + "$", 'i'); exports.KEY_BACKSPACE = 'Backspace'; exports.KEY_TAB = 'Tab'; exports.KEY_ENTER = 'Enter'; exports.KEY_ESC = 'Escape'; exports.KEY_LEFT = 'ArrowLeft'; exports.KEY_UP = 'ArrowUp'; exports.KEY_RIGHT = 'ArrowRight'; exports.KEY_DOWN = 'ArrowDown'; exports.KEY_DELETE = 'Delete'; exports.KEY_F3 = 'F3'; exports.NEARBY = 5; exports.ACCURACY = 10; exports.COMMAND_KEYS = [ exports.KEY_BACKSPACE, exports.KEY_DELETE, exports.KEY_UP, exports.KEY_DOWN, exports.KEY_RIGHT, exports.KEY_LEFT, exports.KEY_ENTER, exports.KEY_ESC, exports.KEY_F3, exports.KEY_TAB ]; exports.BR = 'br'; exports.PARAGRAPH = 'p'; exports.MODE_WYSIWYG = 1; exports.MODE_SOURCE = 2; exports.MODE_SPLIT = 3; exports.IS_IE = typeof navigator !== 'undefined' && (navigator.userAgent.indexOf('MSIE') !== -1 || /rv:11.0/i.test(navigator.userAgent)); exports.URL_LIST = exports.IS_IE ? 'url' : 'text/uri-list'; exports.TEXT_PLAIN = exports.IS_IE ? 'text' : 'text/plain'; exports.TEXT_HTML = exports.IS_IE ? 'text' : 'text/html'; exports.MARKER_CLASS = 'jodit-selection_marker'; exports.EMULATE_DBLCLICK_TIMEOUT = 300; exports.INSERT_AS_HTML = 'insert_as_html'; exports.INSERT_CLEAR_HTML = 'insert_clear_html'; exports.INSERT_AS_TEXT = 'insert_as_text'; exports.INSERT_ONLY_TEXT = 'insert_only_text'; exports.SAFE_COUNT_CHANGE_CALL = 10; exports.IS_MAC = typeof window !== 'undefined' && /Mac|iPod|iPhone|iPad/.test(window.navigator.platform); exports.KEY_ALIASES = { add: '+', break: 'pause', cmd: 'meta', command: 'meta', ctl: 'control', ctrl: 'control', del: 'delete', down: 'arrowdown', esc: 'escape', ins: 'insert', left: 'arrowleft', mod: exports.IS_MAC ? 'meta' : 'control', opt: 'alt', option: 'alt', return: 'enter', right: 'arrowright', space: ' ', spacebar: ' ', up: 'arrowup', win: 'meta', windows: 'meta' }; exports.BASE_PATH = (function () { if (typeof document === 'undefined') { return ''; } var script = document.currentScript, removeScriptName = function (s) { return s.replace(/\/[^/]+.js$/, '/'); }; if (script) { return removeScriptName(script.src); } var scripts = document.querySelectorAll('script[src]'); if (scripts && scripts.length) { return removeScriptName(scripts[scripts.length - 1].src); } return window.location.href; })(); /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2020 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", { value: true }); exports.configFactory = exports.OptionsDefault = exports.Config = void 0; var tslib_1 = __webpack_require__(0); var consts = __webpack_require__(3); var dom_1 = __webpack_require__(2); var helpers_1 = __webpack_require__(1); var widget_1 = __webpack_require__(18); var Config = (function () { function Config() { this.iframe = false; this.license = ''; this.preset = 'custom'; this.presets = { inline: { inline: true, toolbar: false, toolbarInline: true, toolbarInlineForSelection: true, showXPathInStatusbar: false, showCharsCounter: false, showWordsCounter: false, showPlaceholder: false } }; this.ownerDocument = (typeof document !== 'undefined' ? document : null); this.ownerWindow = (typeof window !== 'undefined' ? window : null); this.shadowRoot = null; this.zIndex = 0; this.readonly = false; this.disabled = false; this.activeButtonsInReadOnly = [ 'source', 'fullsize', 'print', 'about', 'dots', 'selectall' ]; this.toolbarButtonSize = 'middle'; this.allowTabNavigation = false; this.inline = false; this.theme = 'default'; this.saveModeInStorage = false; this.saveHeightInStorage = false; this.spellcheck = true; this.editorCssClass = false; this.style = false; this.triggerChangeEvent = true; this.width = 'auto'; this.minWidth = '200px'; this.maxWidth = '100%'; this.height = 'auto'; this.minHeight = 200; this.direction = ''; this.language = 'auto'; this.debugLanguage = false; this.i18n = false; this.tabIndex = -1; this.toolbar = true; this.showTooltip = true; this.showTooltipDelay = 1000; this.useNativeTooltip = false; this.enter = consts.PARAGRAPH; this.enterBlock = this.enter !== 'br' ? this.enter : consts.PARAGRAPH; this.defaultMode = consts.MODE_WYSIWYG; this.useSplitMode = false; this.colors = { greyscale: [ '#000000', '#434343', '#666666', '#999999', '#B7B7B7', '#CCCCCC', '#D9D9D9', '#EFEFEF', '#F3F3F3', '#FFFFFF' ], palette: [ '#980000', '#FF0000', '#FF9900', '#FFFF00', '#00F0F0', '#00FFFF', '#4A86E8', '#0000FF', '#9900FF', '#FF00FF' ], full: [ '#E6B8AF', '#F4CCCC', '#FCE5CD', '#FFF2CC', '#D9EAD3', '#D0E0E3', '#C9DAF8', '#CFE2F3', '#D9D2E9', '#EAD1DC', '#DD7E6B', '#EA9999', '#F9CB9C', '#FFE599', '#B6D7A8', '#A2C4C9', '#A4C2F4', '#9FC5E8', '#B4A7D6', '#D5A6BD', '#CC4125', '#E06666', '#F6B26B', '#FFD966', '#93C47D', '#76A5AF', '#6D9EEB', '#6FA8DC', '#8E7CC3', '#C27BA0', '#A61C00', '#CC0000', '#E69138', '#F1C232', '#6AA84F', '#45818E', '#3C78D8', '#3D85C6', '#674EA7', '#A64D79', '#85200C', '#990000', '#B45F06', '#BF9000', '#38761D', '#134F5C', '#1155CC', '#0B5394', '#351C75', '#733554', '#5B0F00', '#660000', '#783F04', '#7F6000', '#274E13', '#0C343D', '#1C4587', '#073763', '#20124D', '#4C1130' ] }; this.colorPickerDefaultTab = 'background'; this.imageDefaultWidth = 300; this.removeButtons = []; this.disablePlugins = []; this.extraPlugins = []; this.extraButtons = []; this.createAttributes = {}; this.sizeLG = 900; this.sizeMD = 700; this.sizeSM = 400; this.buttons = [ 'source', '|', 'bold', 'strikethrough', 'underline', 'italic', 'eraser', '|', 'superscript', 'subscript', '|', 'ul', 'ol', '|', 'outdent', 'indent', '|', 'font', 'fontsize', 'brush', 'paragraph', '|', 'image', 'file', 'video', 'table', 'link', '|', 'align', 'undo', 'redo', '\n', 'selectall', 'cut', 'copy', 'paste', 'copyformat', '|', 'hr', 'symbol', 'fullsize', 'print', 'about' ]; this.buttonsMD = [ 'source', '|', 'bold', 'italic', '|', 'ul', 'ol', 'eraser', '|', 'font', 'fontsize', 'brush', 'paragraph', '|', 'image', 'table', 'link', '|', 'align', '\n', 'undo', 'redo', '|', 'hr', 'copyformat', 'fullsize', 'dots' ]; this.buttonsSM = [ 'source', '|', 'bold', 'italic', '|', 'ul', 'ol', 'eraser', '|', 'fontsize', 'brush', 'paragraph', '|', 'image', 'table', '\n', 'link', '|', 'align', '|', 'undo', 'redo', '|', 'copyformat', 'fullsize', 'dots' ]; this.buttonsXS = [ 'bold', 'image', '|', 'brush', 'paragraph', 'eraser', '\n', 'align', '|', 'undo', 'redo', '|', 'dots' ]; this.events = {}; this.textIcons = false; this.showBrowserColorPicker = true; } Object.defineProperty(Config, "defaultOptions", { get: function () { if (!Config.__defaultOptions) { Config.__defaultOptions = new Config(); } return Config.__defaultOptions; }, enumerable: false, configurable: true }); return Config; }()); exports.Config = Config; exports.OptionsDefault = function (options, def) { var _this = this; if (def === void 0) { def = Config.defaultOptions; } var self = this; self.plainOptions = options; if (options !== undefined && typeof options === 'object') { var extendKey_1 = function (opt, key) { if (key === 'preset') { if (def.presets[opt.preset] !== undefined) { var preset = def.presets[opt.preset]; Object.keys(preset).forEach(extendKey_1.bind(_this, preset)); } } var defValue = def[key], isObject = typeof defValue === 'object' && defValue !== null; if (isObject && !['ownerWindow', 'ownerDocument'].includes(key) && !helpers_1.isArray(defValue)) { self[key] = helpers_1.extend(true, {}, defValue, opt[key]); } else { self[key] = opt[key]; } }; Object.keys(options).forEach(extendKey_1.bind(this, options)); } }; Config.prototype.controls = { print: { exec: function (editor) { var mywindow = window.open('', 'PRINT'); if (mywindow) { if (editor.o.iframe) { editor.e.fire('generateDocumentStructure.iframe', mywindow.document, editor); mywindow.document.body.innerHTML = editor.value; } else { mywindow.document.write('<!doctype html><html lang="' + helpers_1.defaultLanguage(editor.o.language) + '"><head><title></title></head>' + '<body>' + editor.value + '</body></html>'); mywindow.document.close(); } mywindow.focus(); mywindow.print(); mywindow.close(); } }, mode: consts.MODE_SOURCE + consts.MODE_WYSIWYG, tooltip: 'Print' }, hr: { command: 'insertHorizontalRule', tags: ['hr'], tooltip: 'Insert Horizontal