UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

1,180 lines (1,053 loc) 2.19 MB
/*! * jodit-pro - PRO Version of Jodit Editor * Author: Chupurnov Valerii <chupurnov@gmail.com> * Version: v4.9.27 * Url: https://xdsoft.net/jodit/pro/ * License(s): SEE LICENSE IN LICENSE.md */ (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]; } })(self, function() { return /******/ (function() { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ 117: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ askInsertTypeDialog: function() { return /* binding */ askInsertTypeDialog; }, /* harmony export */ getAllTypes: function() { return /* binding */ getAllTypes; }, /* harmony export */ pasteInsertHtml: function() { return /* binding */ pasteInsertHtml; } /* harmony export */ }); /* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758); /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2748); /* harmony import */ var _core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27613); /* harmony import */ var _core_ui_button_button_button_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10830); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /** * Remove special HTML comments * @private */ function removeExtraFragments(html) { html = html.replace(/<meta[^>]+?>/g, ''); const start = html.search(/<!--StartFragment-->/i); if (start !== -1) { html = html.substring(start + 20); } const end = html.search(/<!--EndFragment-->/i); if (end !== -1) { html = html.substring(0, end); } return html; } /** * @private */ function isDragEvent(e) { return Boolean(e && e.type === 'drop'); } /** * One insert point for clipboard plugins * @private */ function pasteInsertHtml(e, editor, html) { if (editor.isInDestruct) { return; } if (isDragEvent(e)) { editor.s.insertCursorAtPoint(e.clientX, e.clientY); } const result = editor.e.fire('beforePasteInsert', html); if (!(0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_2__.isVoid)(result) && ((0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_2__.isString)(result) || (0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(result) || _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isNode(result))) { html = result; } if ((0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_2__.isString)(html)) { html = removeExtraFragments(html); } editor.s.insertHTML(html); } /** * Return all available data types in event * @private */ function getAllTypes(dt) { const types = dt.types; let types_str = ''; if ((0,_core_helpers_checker_index_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(types) || ({}).toString.call(types) === '[object DOMStringList]') { for(let i = 0; i < types.length; i += 1){ types_str += types[i] + ';'; } } else { types_str = (types || _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.TEXT_PLAIN).toString() + ';'; } return types_str; } /** * Make command dialog * @private */ function askInsertTypeDialog(jodit, msg, title, callback, buttonList) { if (jodit.e.fire('beforeOpenPasteDialog', msg, title, callback, buttonList) === false) { return; } const dialog = jodit.confirm(`<div style="word-break: normal; white-space: normal">${jodit.i18n(msg)}</div>`, jodit.i18n(title)); const buttons = buttonList.map(({ text, value })=>(0,_core_ui_button_button_button_js__WEBPACK_IMPORTED_MODULE_3__.Button)(jodit, { text, name: text.toLowerCase(), tabIndex: 0 }).onAction(()=>{ dialog.close(); callback(value); })); dialog.e.one(dialog, 'afterClose', ()=>{ if (!jodit.s.isFocused()) { jodit.s.focus(); } }); const cancel = (0,_core_ui_button_button_button_js__WEBPACK_IMPORTED_MODULE_3__.Button)(jodit, { text: 'Cancel', tabIndex: 0 }).onAction(()=>{ dialog.close(); }); dialog.setFooter([ ...buttons, cancel ]); buttons[0].focus(); buttons[0].state.variant = 'primary'; jodit.e.fire('afterOpenPasteDialog', dialog, msg, title, callback, buttonList); return dialog; } /***/ }), /***/ 159: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ FileBrowserItem: function() { return /* binding */ FileBrowserItem; } /* harmony export */ }); /* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21537); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ class FileBrowserItem { static create(data) { if (data instanceof FileBrowserItem) { return data; } return new FileBrowserItem(data); } get path() { return (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.normalizePath)(this.data.source.path ? this.data.source.path + '/' : '/'); } get imageURL() { const timestamp = this.time || new Date().getTime().toString(), { thumbIsAbsolute, source, thumb, file } = this.data, path = thumb || file; return thumbIsAbsolute && path ? path : (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.normalizeUrl)(source.baseurl, source.path, path || '') + '?_tmst=' + encodeURIComponent(timestamp); } get fileURL() { let { name } = this.data; const { file, fileIsAbsolute, source } = this.data; if (file !== undefined) { name = file; } return fileIsAbsolute && name ? name : (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_0__.normalizeUrl)(source.baseurl, source.path, name || ''); } get time() { const { changed } = this.data; return changed && (typeof changed === 'number' ? new Date(changed).toLocaleString() : changed) || ''; } get uniqueHashKey() { const data = this.data; let key = [ data.sourceName, data.name, data.file, this.time, data.thumb ].join('_'); key = key.toLowerCase().replace(/[^0-9a-z\-.]/g, '-'); return key; } toJSON() { return this.data; } constructor(data){ this.data = data; // TODO Check with Object.assign Object.keys(data).forEach((key)=>{ this[key] = data[key]; }); } } /***/ }), /***/ 302: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ getKey: function() { return /* binding */ getKey; } /* harmony export */ }); /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /** * @module plugins/indent */ /** * Get style rule key for current direction * @internal */ const getKey = (direction, box)=>`${_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isCell(box) ? 'padding' : 'margin'}${direction === 'rtl' ? 'Right' : 'Left'}`; /***/ }), /***/ 384: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ sanitizeAttributes: function() { return /* binding */ sanitizeAttributes; } /* harmony export */ }); /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748); /* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21537); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /** * @private */ function sanitizeAttributes(jodit, nodeElm, hadEffect) { if (_core_dom_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nodeElm) && (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_1__.sanitizeHTMLElement)(nodeElm, { safeJavaScriptLink: jodit.options.cleanHTML.safeJavaScriptLink, removeOnError: jodit.options.cleanHTML.removeOnError })) { return true; } return hadEffect; } /***/ }), /***/ 445: /***/ (function(__unused_webpack_module, __webpack_exports__) { /* harmony default export */ __webpack_exports__["default"] = ("<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z\"/> </svg> "); /***/ }), /***/ 575: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* unused harmony export enter */ /* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758); /* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478); /* harmony import */ var _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2748); /* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(580); /* harmony import */ var _core_helpers_checker_is_boolean_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(87612); /* harmony import */ var _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20356); /* harmony import */ var _helpers_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(35399); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ var __decorate = undefined && undefined.__decorate || function(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; }; /** * One of most important core plugins. It is responsible for all the browsers to have the same effect when the Enter * button is pressed. By default, it should insert the <p> */ class enter extends _core_plugin_plugin_js__WEBPACK_IMPORTED_MODULE_5__.Plugin { /** @override */ afterInit(editor) { // use 'enter' option if no set const defaultTag = editor.o.enter.toLowerCase(); const brMode = defaultTag === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.BR.toLowerCase(); if (!editor.o.enterBlock) { editor.o.enterBlock = brMode ? _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.PARAGRAPH : defaultTag; } editor.registerCommand('enter', (command, value, event = {})=>this.onEnter(event)); } onEnterKeyDown(event) { if (event.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_ENTER) { const editor = this.j; const beforeEnter = editor.e.fire('beforeEnter', event); if (beforeEnter !== undefined) { return beforeEnter; } if (!editor.s.isCollapsed()) { editor.execCommand('Delete'); } editor.s.focus(); this.onEnter(event); editor.e.fire('afterEnter', event); editor.synchronizeValues(); // fire change return false; } } onEnter(event) { const { jodit } = this; const fake = jodit.createInside.fake(); try { _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeInsertNode(jodit.s.range, fake); (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.moveCursorOutFromSpecialTags)(jodit, fake, [ 'a' ]); let block = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.getBlockWrapper)(fake, jodit); const isLi = _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isLeaf(block); // if use <br> defaultTag for break line or when was entered SHIFt key or in <td> or <th> or <blockquote> if ((!isLi || (event === null || event === void 0 ? void 0 : event.shiftKey)) && (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.checkBR)(fake, jodit, event === null || event === void 0 ? void 0 : event.shiftKey)) { return false; } // wrap no wrapped element if (!block && !(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.hasPreviousBlock)(fake, jodit)) { block = (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.wrapText)(fake, jodit); } if (!block) { (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.insertParagraph)(fake, jodit, isLi ? 'li' : jodit.o.enter); return false; } if (!(0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.checkUnsplittableBox)(fake, jodit, block)) { return false; } if (isLi && this.__isEmptyListLeaf(block)) { (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.processEmptyLILeaf)(fake, jodit, block); return false; } (0,_helpers_index_js__WEBPACK_IMPORTED_MODULE_6__.splitFragment)(fake, jodit, block); } finally{ fake.isConnected && jodit.s.setCursorBefore(fake); _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.safeRemove(fake); } } __isEmptyListLeaf(li) { const result = this.j.e.fire('enterIsEmptyListLeaf', li); return (0,_core_helpers_checker_is_boolean_js__WEBPACK_IMPORTED_MODULE_4__.isBoolean)(result) ? result : _core_dom_dom_js__WEBPACK_IMPORTED_MODULE_2__.Dom.isEmpty(li); } /** @override */ beforeDestruct(editor) { editor.e.off('keydown.enter'); } } __decorate([ (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)(':keydown.enter') ], enter.prototype, "onEnterKeyDown", null); _core_global_js__WEBPACK_IMPORTED_MODULE_3__.pluginSystem.add('enter', enter); /***/ }), /***/ 580: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ eventEmitter: function() { return /* binding */ eventEmitter; }, /* harmony export */ extendLang: function() { return /* binding */ extendLang; }, /* harmony export */ getContainer: function() { return /* binding */ getContainer; }, /* harmony export */ getPopupViewRoot: function() { return /* binding */ getPopupViewRoot; }, /* harmony export */ instances: function() { return /* binding */ instances; }, /* harmony export */ modules: function() { return /* binding */ modules; }, /* harmony export */ pluginSystem: function() { return /* binding */ pluginSystem; }, /* harmony export */ uniqueUid: function() { return /* binding */ uniqueUid; } /* harmony export */ }); /* harmony import */ var _helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19306); /* harmony import */ var _helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(70799); /* harmony import */ var _helpers_checker_is_view_object_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39955); /* harmony import */ var _helpers_string_kebab_case_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12475); /* harmony import */ var _helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(41180); /* harmony import */ var _helpers_utils_get_class_name_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80568); /* harmony import */ var _plugin_plugin_system_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(41876); /* harmony import */ var _event_emitter_global_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(57012); /* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(82758); /* harmony import */ var _dom_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(22732); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ const instances = {}; let counter = 1; const uuids = new Set(); /** * Generate global unique uid */ function uniqueUid() { function gen() { counter += 10 * (Math.random() + 1); return Math.round(counter).toString(16); } let uid = gen(); while(uuids.has(uid)){ uid = gen(); } uuids.add(uid); return uid; } const pluginSystem = new _plugin_plugin_system_js__WEBPACK_IMPORTED_MODULE_6__.PluginSystem({ getContainer }); const modules = {}; const extendLang = (langs)=>{ Object.keys(langs).forEach((key)=>{ if (_constants_js__WEBPACK_IMPORTED_MODULE_8__.lang[key]) { Object.assign(_constants_js__WEBPACK_IMPORTED_MODULE_8__.lang[key], langs[key]); } else { _constants_js__WEBPACK_IMPORTED_MODULE_8__.lang[key] = langs[key]; } }); }; const boxes = new WeakMap(); /** * Create unique box(HTMLCotainer) and remove it after destroy */ function getContainer(jodit, classFunc, tag = 'div', createInsideEditor = false) { const name = (0,_helpers_checker_is_string_js__WEBPACK_IMPORTED_MODULE_1__.isString)(classFunc) ? classFunc : classFunc ? (0,_helpers_utils_get_class_name_js__WEBPACK_IMPORTED_MODULE_5__.getClassName)(classFunc.prototype) : 'jodit-utils'; const data = boxes.get(jodit) || {}, key = name + tag; const view = (0,_helpers_checker_is_view_object_js__WEBPACK_IMPORTED_MODULE_2__.isViewObject)(jodit) ? jodit : jodit.j; let body = null; if (!data[key]) { let c = view.c; body = getPopupViewRoot(view.o, view.container, jodit.od.body); if (createInsideEditor && (0,_helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_0__.isJoditObject)(jodit) && jodit.od !== jodit.ed) { c = jodit.createInside; const place = tag === 'style' ? jodit.ed.head : jodit.ed.body; body = (0,_helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_0__.isJoditObject)(jodit) && jodit.o.shadowRoot ? jodit.o.shadowRoot : place; } const box = c.element(tag, { className: `jodit jodit-${(0,_helpers_string_kebab_case_js__WEBPACK_IMPORTED_MODULE_3__.kebabCase)(name)}-container jodit-box` }); box.classList.add(`jodit_theme_${view.o.theme || 'default'}`); body.appendChild(box); data[key] = box; jodit.hookStatus('beforeDestruct', ()=>{ view.events.off(box); _dom_index_js__WEBPACK_IMPORTED_MODULE_9__.Dom.safeRemove(box); delete data[key]; if (Object.keys(data).length) { boxes.delete(jodit); } }); boxes.set(jodit, data); view.events.fire('getContainer', box); } data[key].classList.remove('jodit_theme_default', 'jodit_theme_dark'); data[key].classList.add(`jodit_theme_${view.o.theme || 'default'}`); return data[key]; } /** * Get root element for view * @internal */ function getPopupViewRoot(o, container, defaultRoot) { var _a, _b, _c; return (_c = (_b = (_a = o.popupRoot) !== null && _a !== void 0 ? _a : o.shadowRoot) !== null && _b !== void 0 ? _b : _dom_index_js__WEBPACK_IMPORTED_MODULE_9__.Dom.closest(container, (parentElement)=>_dom_index_js__WEBPACK_IMPORTED_MODULE_9__.Dom.isHTMLElement(parentElement) && (_dom_index_js__WEBPACK_IMPORTED_MODULE_9__.Dom.isTag(parentElement, 'dialog') || [ 'fixed', 'absolute' ].includes((0,_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_4__.css)(parentElement, 'position'))), defaultRoot)) !== null && _c !== void 0 ? _c : defaultRoot; } /** * Global event emitter * @deprecated use `import { eventEmitter } from 'jodit/core/event-emitter/global';` */ const eventEmitter = _event_emitter_global_js__WEBPACK_IMPORTED_MODULE_7__.eventEmitter; /***/ }), /***/ 638: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Alert: function() { return /* reexport safe */ _alert_js__WEBPACK_IMPORTED_MODULE_0__.Alert; }, /* harmony export */ Confirm: function() { return /* reexport safe */ _confirm_js__WEBPACK_IMPORTED_MODULE_1__.Confirm; }, /* harmony export */ Dialog: function() { return /* reexport safe */ _dialog_js__WEBPACK_IMPORTED_MODULE_2__.Dialog; }, /* harmony export */ Prompt: function() { return /* reexport safe */ _prompt_js__WEBPACK_IMPORTED_MODULE_3__.Prompt; } /* harmony export */ }); /* harmony import */ var _alert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71568); /* harmony import */ var _confirm_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26866); /* harmony import */ var _dialog_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78584); /* harmony import */ var _prompt_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(36806); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /** * [[include:modules/dialog/README.md]] * @packageDocumentation * @module modules/dialog */ /***/ }), /***/ 757: /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6441); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /** * @module plugins/media */ _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.mediaFakeTag = 'jodit-media'; _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.mediaInFakeBlock = true; _config_js__WEBPACK_IMPORTED_MODULE_0__.Config.prototype.mediaBlocks = [ 'video', 'audio' ]; /***/ }), /***/ 767: /***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { /* harmony import */ var _core_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82758); /* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65478); /* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(580); /* harmony import */ var _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50911); /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(66288); /* harmony import */ var _cases_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(47686); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ var __decorate = undefined && undefined.__decorate || function(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; }; class tab extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_3__.Plugin { afterInit(jodit) {} __onTab(event) { if (event.key === _core_constants_js__WEBPACK_IMPORTED_MODULE_0__.KEY_TAB && this.__onShift(event.shiftKey)) { return false; } } __onCommand(command) { if ((command === 'indent' || command === 'outdent') && this.__onShift(command === 'outdent')) { return false; } } __onShift(shift) { const res = (0,_cases_index_js__WEBPACK_IMPORTED_MODULE_5__.onTabInsideLi)(this.j, shift); if (res) { this.j.e.fire('afterTab', shift); } return res; } beforeDestruct(jodit) {} } __decorate([ (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)(':keydown.tab') ], tab.prototype, "__onTab", null); __decorate([ (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_1__.watch)(':beforeCommand.tab') ], tab.prototype, "__onCommand", null); _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('tab', tab); /***/ }), /***/ 820: /***/ (function(__unused_webpack_module, __webpack_exports__) { /* harmony default export */ __webpack_exports__["default"] = ("<svg xmlns='http://www.w3.org/2000/svg' viewBox=\"0 0 1792 1792\"> <path d=\"M747 1521q74 32 140 32 376 0 376-335 0-114-41-180-27-44-61.5-74t-67.5-46.5-80.5-25-84-10.5-94.5-2q-73 0-101 10 0 53-.5 159t-.5 158q0 8-1 67.5t-.5 96.5 4.5 83.5 12 66.5zm-14-746q42 7 109 7 82 0 143-13t110-44.5 74.5-89.5 25.5-142q0-70-29-122.5t-79-82-108-43.5-124-14q-50 0-130 13 0 50 4 151t4 152q0 27-.5 80t-.5 79q0 46 1 69zm-541 889l2-94q15-4 85-16t106-27q7-12 12.5-27t8.5-33.5 5.5-32.5 3-37.5.5-34v-65.5q0-982-22-1025-4-8-22-14.5t-44.5-11-49.5-7-48.5-4.5-30.5-3l-4-83q98-2 340-11.5t373-9.5q23 0 68.5.5t67.5.5q70 0 136.5 13t128.5 42 108 71 74 104.5 28 137.5q0 52-16.5 95.5t-39 72-64.5 57.5-73 45-84 40q154 35 256.5 134t102.5 248q0 100-35 179.5t-93.5 130.5-138 85.5-163.5 48.5-176 14q-44 0-132-3t-132-3q-106 0-307 11t-231 12z\"/> </svg> "); /***/ }), /***/ 1115: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /* harmony default export */ __webpack_exports__["default"] = ({ 'Speech Recognize': 'Puheentunnistus', newline: 'uusi rivi', delete: 'poistaa', space: 'tilaa', Sound: 'Ääni', 'Interim Results': 'Välitulokset' }); /***/ }), /***/ 1172: /***/ (function(__unused_webpack_module, __webpack_exports__) { /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /* harmony default export */ __webpack_exports__["default"] = ({ 'copy-format': '复制格式' }); /***/ }), /***/ 1255: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* unused harmony export dragAndDropElement */ /* harmony import */ var _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65478); /* harmony import */ var _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22732); /* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(580); /* harmony import */ var _core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21537); /* harmony import */ var _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50911); /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44586); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ var __decorate = undefined && undefined.__decorate || function(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; }; var DragState; (function(DragState) { DragState[DragState["IDLE"] = 0] = "IDLE"; DragState[DragState["WAIT_DRAGGING"] = 1] = "WAIT_DRAGGING"; DragState[DragState["DRAGGING"] = 2] = "DRAGGING"; })(DragState || (DragState = {})); /** * Process drag and drop image or another element inside the editor */ class dragAndDropElement extends _core_plugin_index_js__WEBPACK_IMPORTED_MODULE_4__.Plugin { /** @override */ afterInit() { this.dragList = this.j.o.draggableTags ? (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.splitArray)(this.j.o.draggableTags).filter(Boolean).map((item)=>item.toLowerCase()) : []; if (!this.dragList.length) { return; } this.j.e.on('mousedown dragstart', this.onDragStart); } /** * Drag start handler */ onDragStart(event) { if (event.type === 'dragstart' && this.draggable) { return false; } if (this.state > DragState.IDLE) { return; } const target = event.target; if (!this.dragList.length || !target) { return; } const matched = (node)=>Boolean(node && this.dragList.includes(node.nodeName.toLowerCase())); let lastTarget = _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.furthest(target, matched, this.j.editor) || (matched(target) ? target : null); if (!lastTarget) { return; } if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(lastTarget.parentElement, 'a') && lastTarget.parentElement.firstChild === lastTarget && lastTarget.parentElement.lastChild === lastTarget) { lastTarget = lastTarget.parentElement; } this.startX = event.clientX; this.startY = event.clientY; this.isCopyMode = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.ctrlKey)(event); // we can move only element from editor this.draggable = lastTarget.cloneNode(true); (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.dataBind)(this.draggable, 'target', lastTarget); this.state = DragState.WAIT_DRAGGING; this.addDragListeners(); } /** * Mouse move handler handler */ onDrag(event) { var _a, _b; if (!this.draggable || this.state === DragState.IDLE) { return; } const x = event.clientX, y = event.clientY; if (this.state === DragState.WAIT_DRAGGING && Math.sqrt(Math.pow(x - this.startX, 2) + Math.pow(y - this.startY, 2)) < this.diffStep) { return; } if (this.state === DragState.WAIT_DRAGGING) { this.j.lock('drag-and-drop-element'); this.state = DragState.DRAGGING; } this.j.e.fire('hidePopup hideResizer'); if (!this.draggable.parentNode) { const target = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.dataBind)(this.draggable, 'target'); (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.css)(this.draggable, { zIndex: 10000000000000, pointerEvents: 'none', pointer: 'drag', position: 'fixed', opacity: 0.7, display: 'inline-block', left: event.clientX, top: event.clientY, width: (_a = target === null || target === void 0 ? void 0 : target.offsetWidth) !== null && _a !== void 0 ? _a : 100, height: (_b = target === null || target === void 0 ? void 0 : target.offsetHeight) !== null && _b !== void 0 ? _b : 100 }); (0,_core_global_js__WEBPACK_IMPORTED_MODULE_2__.getContainer)(this.j, dragAndDropElement).appendChild(this.draggable); } (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.css)(this.draggable, { left: event.clientX, top: event.clientY }); this.j.s.insertCursorAtPoint(event.clientX, event.clientY); } /** * Mouseup handler in any place */ onDragEnd() { if (this.isInDestruct) { return; } this.removeDragListeners(); this.j.unlock(); this.state = DragState.IDLE; if (this.draggable) { _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(this.draggable); this.draggable = null; } } /** * Mouseup handler inside editor */ onDrop() { if (!this.draggable || this.state < DragState.DRAGGING) { this.onDragEnd(); return; } let fragment = (0,_core_helpers_index_js__WEBPACK_IMPORTED_MODULE_3__.dataBind)(this.draggable, 'target'); this.onDragEnd(); if (this.isCopyMode) { fragment = fragment.cloneNode(true); } const { parentElement } = fragment; this.j.s.insertNode(fragment, true, false); if (parentElement && _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isEmpty(parentElement) && !_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isCell(parentElement)) { _core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.safeRemove(parentElement); } if (_core_dom_index_js__WEBPACK_IMPORTED_MODULE_1__.Dom.isTag(fragment, 'img') && this.j.e) { this.j.e.fire('afterInsertImage', fragment); } this.j.e.fire('synchro'); } /** * Add global event listener after drag start */ addDragListeners() { this.j.e.on(this.j.editor, 'mousemove', this.onDrag).on('mouseup', this.onDrop).on([ this.j.ew, this.ow ], 'mouseup', this.onDragEnd); } /** * Remove global event listener after drag start */ removeDragListeners() { this.j.e.off(this.j.editor, 'mousemove', this.onDrag).off('mouseup', this.onDrop).off([ this.j.ew, this.ow ], 'mouseup', this.onDragEnd); } /** @override */ beforeDestruct() { this.onDragEnd(); this.j.e.off('mousedown dragstart', this.onDragStart); this.removeDragListeners(); } constructor(){ super(...arguments); this.dragList = []; this.draggable = null; this.isCopyMode = false; /** * Shift in pixels after which we consider that the transfer of the element has begun */ this.diffStep = 10; this.startX = 0; this.startY = 0; this.state = DragState.IDLE; } } __decorate([ _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.autobind ], dragAndDropElement.prototype, "onDragStart", null); __decorate([ (0,_core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.throttle)((ctx)=>ctx.defaultTimeout / 10) ], dragAndDropElement.prototype, "onDrag", null); __decorate([ _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.autobind ], dragAndDropElement.prototype, "onDragEnd", null); __decorate([ _core_decorators_index_js__WEBPACK_IMPORTED_MODULE_0__.autobind ], dragAndDropElement.prototype, "onDrop", null); _core_global_js__WEBPACK_IMPORTED_MODULE_2__.pluginSystem.add('dragAndDropElement', dragAndDropElement); /***/ }), /***/ 1322: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /* harmony default export */ __webpack_exports__["default"] = ({ Spellcheck: 'Stavekontroll' }); /***/ }), /***/ 1580: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ processImage: function() { return /* binding */ processImage; } /* harmony export */ }); /* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21537); /*! * Jodit Editor PRO (https://xdsoft.net/jodit/) * See LICENSE.md in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/ */ const processImage = (elm, ctx)=>{ if (ctx.rtf && elm.name === '#comment' && elm.attributes.nodeValue && elm.attributes.nodeValue.indexOf('<v:shape') !== -1) { if (!ctx.shapes) { ctx.shapes = {}; } const elms = ctx.jodit.create.fromHTML(elm.attributes.nodeValue); (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_0__.toArray)(elms.getElementsByTagName('v:shape')).forEach((e)=>{ ctx.shapes[e.id] = e.getAttribute('o:spid'); }); return elm; } if (elm.name !== 'img') { return elm; } if (ctx.rtf && elm.attributes['v:shapes']) { const spid = ctx.shapes?.[elm.attributes['v:shapes']]; if (spid) { const imageMap = ctx.imageMap ?? {}; if (!ctx.imageMap) { ctx.imageMap = imageMap; parseImages(ctx.rtf, 'i', '\\shppict', ctx.imageMap); parseImages(ctx.rtf, 's', '\\shp{', ctx.imageMap); } const a = imageMap[spid.substring(7)]; if (a) { const base = [], parsedD = a.hex.match(/[0-9a-f]{2}/gi); if (parsedD) { for(let i = 0; i < parsedD.length; i++){ const digit = parseInt(parsedD[i], 16); base.push(String.fromCharCode(digit)); } elm.attributes.src = 'data:' + a.type + ';base64,' + btoa(base.join('')); } } } } return elm; }; function parseImages(rtf, prefix, separator, imageMap) { const parts = rtf.split(separator); for (const part of parts){ const shapes = part.split('shplid'); if (1 < shapes.length) { const shape = shapes[1]; let id = ''; for(let i = 0; i < shape.length && !/[{ \r\n\\]/.test(shape[i]); i++){ id += shape[i]; } const images = shape.split('bliptag'); if (images && images.length < 2) { continue; } let format = null; if (images[0].indexOf('pngblip')) { format = 'image/png'; } else if (images[0].indexOf('jpegblip') !== -1) { format = 'image/jpeg'; } if (!format) { continue; } const endings = images[1].split('}'); if (endings && endings.length < 2) { continue; } let result; if (2 < endings.length && endings[0].includes('blipuid')) { result = endings[1].split(' '); } else { result = endings[0].split(' '); if (result && result.length < 2) { continue; } result.shift(); } imageMap[prefix + id] = { hex: result.join(''), type: format }; } } } /***/ }), /***/ 1808: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ UIMessages: function() { return /* binding */ UIMessages; } /* harmony export */ }); /* harmony import */ var _core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87325); /* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41180); /* harmony import */ var _core_ui_group_group_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(62405); /* harmony import */ var _message_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68389); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ var __decorate = undefined && undefined.__decorate || function(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; }; /** * Plugin display pop-up messages in the lower right corner of the editor */ let UIMessages = class UIMessages extends _core_ui_group_group_js__WEBPACK_IMPORTED_MODULE_2__.UIGroup { className() { return 'UIMessages'; } /** * Show popup info message in the lower right corner of the container * ```js * const jodit = Jodit.make('#editor'); * jodit.info('Hello world', 3000); * ``` */ info(text, timeout) { this.__message(text, 'info', timeout); } /** * Show popup success message in the lower right corner of the container * ```js * const jodit = Jodit.make('#editor'); * jodit.success('Hello world', 3000); * ``` */ success(text, timeout) { this.__message(text, 'success', timeout); } /** * Show popup error message in the lower right corner of the container * ```js * const jodit = Jodit.make('#editor'); * jodit.error('Hello world', 3000); * ``` */ error(text, timeout) { this.__message(text, 'error', timeout); } /** * Show popup message in the lower right corner of the container * ```js * const jodit = Jodit.make('#editor'); * jodit.message('Hello world', 'info', 3000); * ``` */ message(text, variant, timeout) { this.__message(text, variant, timeout); } __message(text, variant = 'info', timeout) { const key = text + ':' + variant; if (this.__messages.has(key)) { this.async.updateTimeout(key, timeout || this.options.defaultTimeout); return; } if (!this.__box) { throw new Error('Container is not defined: ' + key); } this.__box.appendChild(this.container); const msg = new _message_js__WEBPACK_IMPORTED_MODULE_3__.UIMessage(this.j, { text, variant }); this.append(msg); this.__calcOffsets(); this.__messages.add(key); const remove = this.__getRemoveCallback(msg, key); this.j.e.on(msg.container, 'pointerdown', remove); this.async.setTimeout(remove, { label: key, timeout: timeout || this.options.defaultTimeout }); } __getRemoveCallback(msg, key) { const remove = (e)=>{ e && e.preventDefault(); if (msg.isInDestruct) { return; } this.async.clearTimeout(key); this.j.e.off(msg.container, 'pointerdown', remove); this.__messages.delete(key); msg.setMod('active', false); this.async.setTimeout(()=>{ this.remove(msg); msg.destruct(); this.__calcOffsets(); }, 300); }; return remove; } __calcOffsets() { let height = 5; this.elements.forEach((elm)=>{ (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_1__.css)(elm.container, 'bottom', height + 'px'); height += elm.container.offsetHeight + this.options.defaultOffset; }); } constructor(jodit, __box, options = { defaultTimeout: 3000, defaultOffset: 5 }){ super(jodit); this.__box = __box; this.options = options; this.__messages = new Set(); } }; UIMessages = __decorate([ _core_decorators_component_component_js__WEBPACK_IMPORTED_MODULE_0__.component ], UIMessages); /***/ }), /***/ 1830: /***/ (function(__unused_webpack_module, __webpack_exports__) { /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ // English /* harmony default export */ __webpack_exports__["default"] = ({ 'Type something': 'Start writing...', pencil: 'Edit', Quadrate: 'Square' }); /***/ }), /***/ 1879: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /* harmony default export */ __webpack_exports__["default"] = ({ Spellcheck: 'Spellingcontrole' }); /***/ }), /***/ 2169: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { /* unused harmony export fullsize */ /* harmony import */ var _core_global_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(580); /* harmony import */ var _core_helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19306); /* harmony import */ var _core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41180); /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(99823); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ const fullsizeStack = new Set(); /** * Process `toggleFullSize` event, and behavior - set/unset fullsize mode */ function fullsize(editor) { editor.registerButton({ name: 'fullsize' }); let isEnabled = false, oldHeight = 0, oldWidth = 0, wasToggled = false; const resize = ()=>{ const { container, events } = editor; if (!events) { return; } if (isEnabled) { oldHeight = (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(container, 'height', true); oldWidth = (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(container, 'width', true); (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(container, { height: editor.ow.innerHeight, width: editor.ow.innerWidth }); wasToggled = true; } else if (wasToggled) { (0,_core_helpers_utils_css_js__WEBPACK_IMPORTED_MODULE_2__.css)(container, { height: oldHeight || 'auto', width: oldWidth || 'auto' }); } }, /** * Change editor's state between FullSize and normal */ toggle = (enable)=>{ var _a; const { container, events } = editor; if (!container) { return; } if (enable === undefined) { enable = !container.classList.contains('jodit_fullsize'); } editor.setMod('fullsize', enable); editor.o.fullsize = enable; isEnabled = enable; container.classList.toggle('jodit_fullsize', enable); if (editor.toolbar) { (0,_core_helpers_checker_is_jodit_object_js__WEBPACK_IMPORTED_MODULE_1__.isJoditObject)(editor) && ((_a = editor.toolbarContainer) === null || _a === void 0 ? void 0 : _a.appendChild(editor.toolbar.container)); (0,_core_helpers_utils_css_js_