From d25ff608594a35611ff0a21df574299563c371d4 Mon Sep 17 00:00:00 2001 From: xdan Date: Sat, 17 Dec 2022 14:17:09 +0300 Subject: [PATCH] New version 3.24.1. Read more https://github.com/xdan/jodit/blob/master/CHANGELOG.md --- build/jodit.css | 11 +- build/jodit.es2018.css | 9 +- build/jodit.es2018.en.css | 9 +- build/jodit.es2018.en.js | 16182 ++++++++-------- build/jodit.es2018.en.min.css | 2 +- build/jodit.es2018.en.min.js | 2 +- build/jodit.es2018.js | 16182 ++++++++-------- build/jodit.es2018.min.css | 2 +- build/jodit.es2018.min.js | 2 +- build/jodit.js | 5291 ++--- build/jodit.min.css | 4 +- build/jodit.min.js | 2 +- build/plugins/debug/debug.es2018.en.js | 16 +- build/plugins/debug/debug.es2018.en.min.js | 2 +- build/plugins/debug/debug.es2018.js | 16 +- build/plugins/debug/debug.es2018.min.js | 2 +- build/plugins/debug/debug.js | 16 +- build/plugins/debug/debug.min.js | 2 +- .../speech-recognize/speech-recognize.css | 2 +- .../speech-recognize.es2018.css | 2 +- .../speech-recognize.es2018.en.css | 2 +- .../speech-recognize.es2018.en.js | 76 +- .../speech-recognize.es2018.en.min.js | 2 +- .../speech-recognize.es2018.js | 76 +- .../speech-recognize.es2018.min.js | 2 +- .../speech-recognize/speech-recognize.js | 60 +- .../speech-recognize/speech-recognize.min.js | 2 +- build/vdom.css | 13 +- build/vdom.js | 1486 +- package-lock.json | 4 +- package.json | 2 +- .../checker/has-browser-color-picker.ts | 3 +- src/core/vdom/on-demand.ts | 6 +- src/core/vdom/render/index.ts | 1 - src/core/vdom/render/patcher.ts | 5 +- src/index.ts | 3 +- src/jodit.ts | 2 +- src/modules/file-browser/config.ts | 2 +- .../backspace/cases/check-join-two-lists.ts | 2 - src/plugins/backspace/interface.ts | 1 - src/plugins/indent/indent.test.js | 10 +- src/plugins/tab/cases/on-tab-inside-li.ts | 2 +- 42 files changed, 21229 insertions(+), 18289 deletions(-) diff --git a/build/jodit.css b/build/jodit.css index bbc4df79b..316e851b8 100644 --- a/build/jodit.css +++ b/build/jodit.css @@ -1,14 +1,14 @@ /*! * jodit - Jodit is awesome and usefully wysiwyg editor with filebrowser * Author: Chupurnov (https://xdsoft.net/) - * Version: v3.23.3 + * Version: v3.24.1 * Url: https://xdsoft.net/jodit/ * License(s): MIT */ /*! * jodit - Jodit is awesome and usefully wysiwyg editor with filebrowser * Author: Chupurnov (https://xdsoft.net/) - * Version: v3.23.3 + * Version: v3.24.1 * Url: https://xdsoft.net/jodit/ * License(s): MIT */ @@ -1796,7 +1796,8 @@ svg.jodit-icon { } } .jodit-dialog_static_true { - position: static; + position: relative; + z-index: inherit; display: block; width: auto; height: auto; @@ -1805,6 +1806,7 @@ svg.jodit-icon { } .jodit-dialog_static_true .jodit-dialog__panel { position: relative; + z-index: inherit; top: auto !important; left: auto !important; width: 100% !important; @@ -2051,6 +2053,9 @@ svg.jodit-icon { .jodit_fullsize .jodit-dialog__panel .jodit-dialog__resizer { display: none; } +.jodit-dialog .jodit-ui-messages { + z-index: 20000004; +} /*! * Jodit Editor (https://xdsoft.net/jodit/) diff --git a/build/jodit.es2018.css b/build/jodit.es2018.css index 8fa995a9c..5d7c2988e 100644 --- a/build/jodit.es2018.css +++ b/build/jodit.es2018.css @@ -1,7 +1,7 @@ /*! * jodit - Jodit is awesome and usefully wysiwyg editor with filebrowser * Author: Chupurnov (https://xdsoft.net/) - * Version: v3.23.3 + * Version: v3.24.1 * Url: https://xdsoft.net/jodit/ * License(s): MIT */ @@ -1600,7 +1600,8 @@ svg.jodit-icon { } } .jodit-dialog_static_true { - position: static; + position: relative; + z-index: inherit; display: block; width: auto; height: auto; @@ -1608,6 +1609,7 @@ svg.jodit-icon { } .jodit-dialog_static_true .jodit-dialog__panel { position: relative; + z-index: inherit; top: auto !important; left: auto !important; width: 100% !important; @@ -1799,6 +1801,9 @@ svg.jodit-icon { .jodit_fullsize .jodit-dialog__panel .jodit-dialog__resizer { display: none; } +.jodit-dialog .jodit-ui-messages { + z-index: var(--jd-z-index-dialog); +} /*! * Jodit Editor (https://xdsoft.net/jodit/) diff --git a/build/jodit.es2018.en.css b/build/jodit.es2018.en.css index 8fa995a9c..5d7c2988e 100644 --- a/build/jodit.es2018.en.css +++ b/build/jodit.es2018.en.css @@ -1,7 +1,7 @@ /*! * jodit - Jodit is awesome and usefully wysiwyg editor with filebrowser * Author: Chupurnov (https://xdsoft.net/) - * Version: v3.23.3 + * Version: v3.24.1 * Url: https://xdsoft.net/jodit/ * License(s): MIT */ @@ -1600,7 +1600,8 @@ svg.jodit-icon { } } .jodit-dialog_static_true { - position: static; + position: relative; + z-index: inherit; display: block; width: auto; height: auto; @@ -1608,6 +1609,7 @@ svg.jodit-icon { } .jodit-dialog_static_true .jodit-dialog__panel { position: relative; + z-index: inherit; top: auto !important; left: auto !important; width: 100% !important; @@ -1799,6 +1801,9 @@ svg.jodit-icon { .jodit_fullsize .jodit-dialog__panel .jodit-dialog__resizer { display: none; } +.jodit-dialog .jodit-ui-messages { + z-index: var(--jd-z-index-dialog); +} /*! * Jodit Editor (https://xdsoft.net/jodit/) diff --git a/build/jodit.es2018.en.js b/build/jodit.es2018.en.js index 110ad6bae..b04fea15a 100644 --- a/build/jodit.es2018.en.js +++ b/build/jodit.es2018.en.js @@ -1,7 +1,7 @@ /*! * jodit - Jodit is awesome and usefully wysiwyg editor with filebrowser * Author: Chupurnov (https://xdsoft.net/) - * Version: v3.23.3 + * Version: v3.24.1 * Url: https://xdsoft.net/jodit/ * License(s): MIT */ @@ -257,7 +257,7 @@ module.exports = " /***/ }), -/***/ 6102: +/***/ 18548: /***/ (function(module) { module.exports = " " @@ -886,14 +886,14 @@ function __classPrivateFieldIn(state, receiver) { /***/ }), -/***/ 80031: +/***/ 93166: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "D": function() { return /* binding */ Config; } /* harmony export */ }); -/* harmony import */ var _core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); +/* harmony import */ var _core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -1234,7 +1234,7 @@ Config.prototype.controls = {}; /***/ }), -/***/ 83735: +/***/ 21317: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1245,17 +1245,17 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/async/set-timeout.ts -var set_timeout = __webpack_require__(81778); +var set_timeout = __webpack_require__(27512); // EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts -var is_function = __webpack_require__(87385); +var is_function = __webpack_require__(42096); // EXTERNAL MODULE: ./src/core/helpers/checker/is-plain-object.ts -var is_plain_object = __webpack_require__(76856); +var is_plain_object = __webpack_require__(79736); // EXTERNAL MODULE: ./src/core/helpers/checker/is-promise.ts -var is_promise = __webpack_require__(15199); +var is_promise = __webpack_require__(26335); // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); // EXTERNAL MODULE: ./src/core/helpers/checker/is-number.ts -var is_number = __webpack_require__(98296); +var is_number = __webpack_require__(61817); // EXTERNAL MODULE: external "{assert(){}};" var external_assert_ = __webpack_require__(52378); ;// CONCATENATED MODULE: ./src/core/async/async.ts @@ -1315,10 +1315,12 @@ class Async { return timer; } updateTimeout(label, timeout) { + void 0; if (!label || !this.timers.has(label)) { return null; } const callback = this.__callbacks.get(label); + void 0; return this.setTimeout(callback, { label, timeout }); } clearLabel(label) { @@ -1487,17 +1489,17 @@ class Async { /***/ }), -/***/ 16867: +/***/ 45113: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "w": function() { return /* binding */ Component; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16672); -/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71685); -/* harmony import */ var jodit_core_async__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83735); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17332); +/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29411); +/* harmony import */ var jodit_core_async__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21317); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -1509,12 +1511,6 @@ class Async { const StatusListHandlers = new Map(); class Component { - constructor() { - this.async = new jodit_core_async__WEBPACK_IMPORTED_MODULE_3__/* .Async */ .e(); - this.ownerWindow = window; - this.__componentStatus = jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__/* .STATUSES.beforeInit */ .n.beforeInit; - this.uid = 'jodit-uid-' + (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .uniqueUid */ .fe)(); - } get componentName() { if (!this.__componentName) { this.__componentName = @@ -1562,6 +1558,12 @@ class Component { component.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__/* .STATUSES.beforeDestruct */ .n.beforeDestruct, () => !this.isInDestruct && this.destruct()); return this; } + constructor() { + this.async = new jodit_core_async__WEBPACK_IMPORTED_MODULE_3__/* .Async */ .e(); + this.ownerWindow = window; + this.__componentStatus = jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__/* .STATUSES.beforeInit */ .n.beforeInit; + this.uid = 'jodit-uid-' + (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .uniqueUid */ .fe)(); + } destruct() { this.setStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__/* .STATUSES.destructed */ .n.destructed); this.async.destruct(); @@ -1614,7 +1616,7 @@ Component.STATUSES = jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__/ /***/ }), -/***/ 2624: +/***/ 90549: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1627,9 +1629,9 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/component/statuses.ts -var statuses = __webpack_require__(71685); +var statuses = __webpack_require__(29411); // EXTERNAL MODULE: ./src/core/component/component.ts -var component = __webpack_require__(16867); +var component = __webpack_require__(45113); ;// CONCATENATED MODULE: ./src/core/component/view-component.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -1638,10 +1640,6 @@ var component = __webpack_require__(16867); */ class ViewComponent extends component/* Component */.w { - constructor(jodit) { - super(); - this.setParentView(jodit); - } get j() { return this.jodit; } @@ -1656,6 +1654,10 @@ class ViewComponent extends component/* Component */.w { jodit.components.add(this); return this; } + constructor(jodit) { + super(); + this.setParentView(jodit); + } destruct() { this.j.components.delete(this); return super.destruct(); @@ -1675,7 +1677,7 @@ class ViewComponent extends component/* Component */.w { /***/ }), -/***/ 71685: +/***/ 29411: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1697,7 +1699,7 @@ const STATUSES = { /***/ }), -/***/ 47386: +/***/ 86893: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1737,12 +1739,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ "KEY_TAB": function() { return /* binding */ KEY_TAB; }, /* harmony export */ "KEY_UP": function() { return /* binding */ KEY_UP; }, /* harmony export */ "MARKER_CLASS": function() { return /* binding */ MARKER_CLASS; }, -/* harmony export */ "MAY_BE_REMOVED_WITH_KEY": function() { return /* binding */ MAY_BE_REMOVED_WITH_KEY; }, /* harmony export */ "MODE_SOURCE": function() { return /* binding */ MODE_SOURCE; }, /* harmony export */ "MODE_SPLIT": function() { return /* binding */ MODE_SPLIT; }, /* harmony export */ "MODE_WYSIWYG": function() { return /* binding */ MODE_WYSIWYG; }, /* harmony export */ "NBSP_SPACE": function() { return /* binding */ NBSP_SPACE; }, /* harmony export */ "NEARBY": function() { return /* binding */ NEARBY; }, +/* harmony export */ "NO_EMPTY_TAGS": function() { return /* binding */ NO_EMPTY_TAGS; }, /* harmony export */ "PARAGRAPH": function() { return /* binding */ PARAGRAPH; }, /* harmony export */ "SAFE_COUNT_CHANGE_CALL": function() { return /* binding */ SAFE_COUNT_CHANGE_CALL; }, /* harmony export */ "SOURCE_CONSUMER": function() { return /* binding */ SOURCE_CONSUMER; }, @@ -1770,20 +1772,24 @@ const SPACE_REG_EXP_START = () => /^[\s\n\t\r\uFEFF\u200b]+/g; const SPACE_REG_EXP_END = () => /[\s\n\t\r\uFEFF\u200b]+$/g; const IS_BLOCK = /^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i; const IS_INLINE = /^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i; -const INSEPARABLE_TAGS = [ +const __UNSEPARABLE_TAGS = [ 'img', - 'br', 'video', + 'svg', 'iframe', 'script', 'input', 'textarea', - 'hr', 'link', 'jodit', 'jodit-media' ]; -const MAY_BE_REMOVED_WITH_KEY = RegExp(`^${INSEPARABLE_TAGS.join('|')}$`, 'i'); +const INSEPARABLE_TAGS = new Set([ + ...__UNSEPARABLE_TAGS, + 'br', + 'hr' +]); +const NO_EMPTY_TAGS = new Set(__UNSEPARABLE_TAGS); const KEY_META = 'Meta'; const KEY_BACKSPACE = 'Backspace'; const KEY_TAB = 'Tab'; @@ -1883,7 +1889,7 @@ const SOURCE_CONSUMER = 'source-consumer'; /***/ }), -/***/ 45466: +/***/ 11441: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1914,7 +1920,7 @@ function component(constructorFunction) { /***/ }), -/***/ 2830: +/***/ 55773: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1922,9 +1928,9 @@ function component(constructorFunction) { /* harmony export */ "D": function() { return /* binding */ debounce; }, /* harmony export */ "P": function() { return /* binding */ throttle; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43435); -/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2624); -/* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(70843); +/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78411); +/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90549); +/* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14582); /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52378); /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__); /*! @@ -1944,6 +1950,7 @@ function debounce(timeout, firstCallImmediately = false, method = 'debounce') { } target.hookStatus(jodit_core_component__WEBPACK_IMPORTED_MODULE_1__/* .STATUSES.ready */ .n$.ready, (component) => { const { async } = component; + void 0; const realTimeout = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isFunction */ .mf)(timeout) ? timeout(component) : timeout; @@ -1969,7 +1976,7 @@ function throttle(timeout, firstCallImmediately = false) { /***/ }), -/***/ 63945: +/***/ 67493: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1994,7 +2001,7 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); +var helpers = __webpack_require__(40332); ;// CONCATENATED MODULE: ./src/core/decorators/cache/cache.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -2023,11 +2030,11 @@ function cache(target, name, descriptor) { } // EXTERNAL MODULE: ./src/core/decorators/component/component.ts -var component = __webpack_require__(45466); +var component = __webpack_require__(11441); // EXTERNAL MODULE: ./src/core/decorators/debounce/debounce.ts -var debounce = __webpack_require__(2830); +var debounce = __webpack_require__(55773); // EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules -var core_component = __webpack_require__(2624); +var core_component = __webpack_require__(90549); ;// CONCATENATED MODULE: ./src/core/decorators/idle/idle.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -2050,9 +2057,9 @@ function idle() { } // EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 7 modules -var checker = __webpack_require__(43435); +var checker = __webpack_require__(78411); // EXTERNAL MODULE: ./src/core/helpers/utils/error/index.ts + 5 modules -var error = __webpack_require__(70843); +var error = __webpack_require__(14582); ;// CONCATENATED MODULE: ./src/core/decorators/hook/hook.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -2095,7 +2102,7 @@ const nonenumerable = (target, propertyKey) => { }; // EXTERNAL MODULE: ./src/core/helpers/checker/is-view-object.ts -var is_view_object = __webpack_require__(33679); +var is_view_object = __webpack_require__(96574); ;// CONCATENATED MODULE: ./src/core/decorators/persistent/persistent.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -2156,7 +2163,7 @@ function wait(condition) { } // EXTERNAL MODULE: ./src/core/decorators/watch/watch.ts -var watch = __webpack_require__(30192); +var watch = __webpack_require__(46163); ;// CONCATENATED MODULE: ./src/core/decorators/derive/derive.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -2279,7 +2286,7 @@ function autobind() { /***/ }), -/***/ 30192: +/***/ 46163: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2287,13 +2294,13 @@ function autobind() { /* harmony export */ "YP": function() { return /* binding */ watch; }, /* harmony export */ "w7": function() { return /* binding */ getPropertyDescriptor; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(87385); -/* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(76856); -/* harmony import */ var jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33679); -/* harmony import */ var jodit_core_event_emitter_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34526); -/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71685); -/* harmony import */ var jodit_core_helpers_array_split_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11986); -/* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(70843); +/* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42096); +/* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(79736); +/* harmony import */ var jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(96574); +/* harmony import */ var jodit_core_event_emitter_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88418); +/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29411); +/* harmony import */ var jodit_core_helpers_array_split_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14556); +/* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14582); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -2395,16 +2402,19 @@ function watch(observeFields, context) { /***/ }), -/***/ 65401: +/***/ 24263: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "i": function() { return /* binding */ Dom; } /* harmony export */ }); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_selection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92415); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); +/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78411); +/* harmony import */ var jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(56888); +/* harmony import */ var jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89170); +/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76502); +/* harmony import */ var jodit_core_helpers_checker_is_marker__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(37204); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -2414,6 +2424,9 @@ function watch(observeFields, context) { + + + class Dom { static detach(node) { while (node.firstChild) { @@ -2440,7 +2453,7 @@ class Dom { last = tmp; } } while (needFindNext); - const wrapper = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(tag) ? editor.createInside.element(tag) : tag; + const wrapper = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .HD)(tag) ? editor.createInside.element(tag) : tag; if (first.parentNode) { first.parentNode.insertBefore(wrapper, first); } @@ -2457,10 +2470,10 @@ class Dom { return wrapper; } static wrap(current, tag, create) { - const wrapper = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(tag) ? create.element(tag) : tag; + const wrapper = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .HD)(tag) ? create.element(tag) : tag; if (Dom.isNode(current)) { if (!current.parentNode) { - throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.error)('Element should be in DOM'); + throw (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.error)('Element should be in DOM'); } current.parentNode.insertBefore(wrapper, current); wrapper.appendChild(current); @@ -2498,10 +2511,10 @@ class Dom { } } static replace(elm, newTagName, create, withAttributes = false, notMoveContent = false) { - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isHTML)(newTagName)) { + if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isHTML */ .FP)(newTagName)) { newTagName = create.fromHTML(newTagName); } - const tag = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(newTagName) + const tag = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .HD)(newTagName) ? create.element(newTagName) : newTagName; if (!notMoveContent) { @@ -2510,7 +2523,7 @@ class Dom { } } if (withAttributes && Dom.isElement(elm) && Dom.isElement(tag)) { - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.toArray)(elm.attributes).forEach(attr => { + (0,jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .qo)(elm.attributes).forEach(attr => { tag.setAttribute(attr.name, attr.value); }); } @@ -2534,30 +2547,35 @@ class Dom { !Dom.closest(node, elm => Dom.isElement(elm) && elm.getAttribute('contenteditable') === 'false', root)); } - static isEmpty(node, condNoEmptyElement = /^(img|svg|canvas|input|textarea|form)$/) { + static isEmpty(node, condNoEmptyElement = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.NO_EMPTY_TAGS) { if (!node) { return true; } + let cond; + if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isFunction */ .mf)(condNoEmptyElement)) { + cond = (elm) => condNoEmptyElement.has(elm.nodeName.toLowerCase()); + } + else { + cond = condNoEmptyElement; + } + const emptyText = (node) => node.nodeValue == null || (0,jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__/* .trim */ .fy)(node.nodeValue).length === 0; if (Dom.isText(node)) { - return node.nodeValue == null || (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.trim)(node.nodeValue).length === 0; + return emptyText(node); } - return (!condNoEmptyElement.test(node.nodeName.toLowerCase()) && + return (!(Dom.isElement(node) && cond(node)) && Dom.each(node, (elm) => { - if ((Dom.isText(elm) && - elm.nodeValue != null && - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.trim)(elm.nodeValue).length !== 0) || - (Dom.isElement(elm) && - condNoEmptyElement.test(elm.nodeName.toLowerCase()))) { + if ((Dom.isText(elm) && !emptyText(elm)) || + (Dom.isElement(elm) && cond(elm))) { return false; } })); } static isNode(object) { return Boolean(object && - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(object.nodeName) && + (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .HD)(object.nodeName) && typeof object.nodeType === 'number' && object.childNodes && - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(object.appendChild)); + (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isFunction */ .mf)(object.appendChild)); } static isCell(elm) { return Dom.isNode(elm) && /^(td|th)$/i.test(elm.nodeName); @@ -2566,7 +2584,7 @@ class Dom { return (Dom.isNode(elm) && /^(img|svg|picture|canvas)$/i.test(elm.nodeName)); } static isBlock(node) { - return (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isVoid)(node) && + return (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isVoid */ .nj)(node) && typeof node === 'object' && Dom.isNode(node) && jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.IS_BLOCK.test(node.nodeName)); @@ -2601,10 +2619,10 @@ class Dom { static isInlineBlock(node) { return (Dom.isElement(node) && !/^(BR|HR)$/i.test(node.tagName) && - ['inline', 'inline-block'].indexOf((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.css)(node, 'display').toString()) !== -1); + ['inline', 'inline-block'].indexOf((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.css)(node, 'display').toString()) !== -1); } static canSplitBlock(node) { - return (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isVoid)(node) && + return (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isVoid */ .nj)(node) && Dom.isHTMLElement(node) && Dom.isBlock(node) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && @@ -2740,11 +2758,11 @@ class Dom { return Dom.findSibling(node, left, n => { var _a; return (!Dom.isEmptyTextNode(n) && - Boolean(!Dom.isText(n) || (((_a = n.nodeValue) === null || _a === void 0 ? void 0 : _a.length) && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.trim)(n.nodeValue)))); + Boolean(!Dom.isText(n) || (((_a = n.nodeValue) === null || _a === void 0 ? void 0 : _a.length) && (0,jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__/* .trim */ .fy)(n.nodeValue)))); }); } static findNotEmptyNeighbor(node, left, root) { - return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.call)(left ? Dom.prev : Dom.next, node, n => Boolean(n && (!Dom.isText(n) || (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.trim)((n === null || n === void 0 ? void 0 : n.nodeValue) || '').length)), root); + return (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.call)(left ? Dom.prev : Dom.next, node, n => Boolean(n && (!Dom.isText(n) || (0,jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__/* .trim */ .fy)((n === null || n === void 0 ? void 0 : n.nodeValue) || '').length)), root); } static sibling(node, left) { return left ? node.previousSibling : node.nextSibling; @@ -2770,15 +2788,16 @@ class Dom { } static closest(node, tagsOrCondition, root) { let condition; - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(tagsOrCondition)) { + const lc = (s) => s.toLowerCase(); + if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isFunction */ .mf)(tagsOrCondition)) { condition = tagsOrCondition; } - else if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isArray)(tagsOrCondition)) { - condition = (tag) => Boolean(tag && - tagsOrCondition.includes(tag.nodeName.toLowerCase())); + else if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isArray */ .kJ)(tagsOrCondition)) { + const set = new Set(tagsOrCondition.map(lc)); + condition = (tag) => Boolean(tag && set.has(lc(tag.nodeName))); } else { - condition = (tag) => Boolean(tag && tagsOrCondition === tag.nodeName.toLowerCase()); + condition = (tag) => Boolean(tag && lc(tagsOrCondition) === lc(tag.nodeName)); } return Dom.up(node, condition, root); } @@ -2826,7 +2845,7 @@ class Dom { root.insertBefore(newElement, root.firstChild); } static append(root, newElement) { - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isArray)(newElement)) { + if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isArray */ .kJ)(newElement)) { newElement.forEach(node => { this.append(root, node); }); @@ -2835,9 +2854,17 @@ class Dom { root.appendChild(newElement); } } - static moveContent(from, to, inStart = false) { + static moveContent(from, to, inStart = false, filter = () => true) { const fragment = (from.ownerDocument || document).createDocumentFragment(); - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.toArray)(from.childNodes).forEach((node) => { + (0,jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .qo)(from.childNodes) + .filter(elm => { + if (filter(elm)) { + return true; + } + Dom.safeRemove(elm); + return false; + }) + .forEach((node) => { fragment.appendChild(node); }); if (!inStart || !to.firstChild) { @@ -2867,51 +2894,58 @@ class Dom { if (!node) { return; } - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.dataBind)(node, '__old_display', node.style.display); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.dataBind)(node, '__old_display', node.style.display); node.style.display = 'none'; } static show(node) { if (!node) { return; } - const display = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.dataBind)(node, '__old_display'); + const display = (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.dataBind)(node, '__old_display'); if (node.style.display === 'none') { node.style.display = display || ''; } } static isTag(node, tagNames) { - const tags = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.asArray)(tagNames).map(String); + if (!this.isElement(node)) { + return false; + } + const nameL = node.tagName.toLowerCase(); + const nameU = node.tagName.toUpperCase(); + if (tagNames instanceof Set) { + return tagNames.has(nameL) || tagNames.has(nameU); + } + const tags = (0,jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__/* .asArray */ ._2)(tagNames).map(s => String(s).toLowerCase()); for (let i = 0; i < tags.length; i += 1) { - if (this.isElement(node) && - node.tagName.toLowerCase() === tags[i].toLowerCase()) { + if (nameL === tags[i] || nameU === tags[i]) { return true; } } return false; } static markTemporary(element, attributes) { - attributes && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(element, attributes); - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(element, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR, true); + attributes && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(element, attributes); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(element, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR, true); return element; } static isTemporary(element) { if (!Dom.isElement(element)) { return false; } - return jodit_core_selection__WEBPACK_IMPORTED_MODULE_2__/* .Select.isMarker */ .Ph.isMarker(element) || (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(element, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR) === 'true'; + return (0,jodit_core_helpers_checker_is_marker__WEBPACK_IMPORTED_MODULE_5__/* .isMarker */ ._)(element) || (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(element, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR) === 'true'; } static replaceTemporaryFromString(value) { return value.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi, '$2'); } static temporaryList(root) { - return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.$$)(`[${jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR}]`, root); + return (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.$$)(`[${jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR}]`, root); } } /***/ }), -/***/ 36516: +/***/ 64968: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2919,8 +2953,8 @@ class Dom { /* harmony export */ "b": function() { return /* reexport safe */ _lazy_walker__WEBPACK_IMPORTED_MODULE_1__.b; }, /* harmony export */ "i": function() { return /* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_0__.i; } /* harmony export */ }); -/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65401); -/* harmony import */ var _lazy_walker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20847); +/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24263); +/* harmony import */ var _lazy_walker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33841); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -2932,7 +2966,7 @@ class Dom { /***/ }), -/***/ 20847: +/***/ 33841: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2940,9 +2974,9 @@ class Dom { /* harmony export */ "b": function() { return /* binding */ LazyWalker; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_event_emitter_eventify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36090); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65401); +/* harmony import */ var jodit_core_event_emitter_eventify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73852); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24263); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -2953,6 +2987,15 @@ class Dom { class LazyWalker extends jodit_core_event_emitter_eventify__WEBPACK_IMPORTED_MODULE_2__/* .Eventify */ .a { + setWork(root) { + if (this.isWorked) { + this.break(); + } + this.workNodes = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.eachGen */ .i.eachGen(root, !this.options.reverse); + this.isFinished = false; + this.startIdleRequest(); + return this; + } constructor(async, options = {}) { super(); this.async = async; @@ -2963,15 +3006,6 @@ class LazyWalker extends jodit_core_event_emitter_eventify__WEBPACK_IMPORTED_MOD this.isFinished = false; this.idleId = 0; } - setWork(root) { - if (this.isWorked) { - this.break(); - } - this.workNodes = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.eachGen */ .i.eachGen(root, !this.options.reverse); - this.isFinished = false; - this.startIdleRequest(); - return this; - } startIdleRequest() { var _a; this.idleId = this.async.requestIdleCallback(this.workPerform, { @@ -3045,7 +3079,7 @@ class LazyWalker extends jodit_core_event_emitter_eventify__WEBPACK_IMPORTED_MOD /***/ }), -/***/ 36090: +/***/ 73852: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3094,7 +3128,7 @@ class Eventify { /***/ }), -/***/ 18122: +/***/ 4567: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3111,7 +3145,7 @@ __webpack_require__.d(__webpack_exports__, { // EXTERNAL MODULE: external "{assert(){}};" var external_assert_ = __webpack_require__(52378); // EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts -var to_array = __webpack_require__(58260); +var to_array = __webpack_require__(1853); ;// CONCATENATED MODULE: ./src/core/event-emitter/store.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -3128,6 +3162,7 @@ class EventHandlersStore { get(event, namespace) { if (this.__store.has(namespace)) { const ns = this.__store.get(namespace); + void 0; return ns[event]; } } @@ -3184,15 +3219,15 @@ class EventHandlersStore { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); // EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts -var is_function = __webpack_require__(87385); +var is_function = __webpack_require__(42096); // EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts -var is_array = __webpack_require__(41515); +var is_array = __webpack_require__(49781); // EXTERNAL MODULE: ./src/core/helpers/utils/error/index.ts + 5 modules -var error = __webpack_require__(70843); +var error = __webpack_require__(14582); // EXTERNAL MODULE: ./src/core/helpers/array/split-array.ts -var split_array = __webpack_require__(11986); +var split_array = __webpack_require__(14556); ;// CONCATENATED MODULE: ./src/core/event-emitter/event-emitter.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -3206,55 +3241,6 @@ var split_array = __webpack_require__(11986); class EventEmitter { - constructor(doc) { - this.__mutedEvents = new Set(); - this.__key = '__JoditEventEmitterNamespaces'; - this.__doc = document; - this.__prepareEvent = (e) => { - if (e.cancelBubble) { - return; - } - if (e.composed && (0,is_function/* isFunction */.m)(e.composedPath) && e.composedPath()[0]) { - Object.defineProperty(e, 'target', { - value: e.composedPath()[0], - configurable: true, - enumerable: true - }); - } - if (e.type.match(/^touch/) && - e.changedTouches && - e.changedTouches.length) { - ['clientX', 'clientY', 'pageX', 'pageY'].forEach((key) => { - Object.defineProperty(e, key, { - value: e.changedTouches[0][key], - configurable: true, - enumerable: true - }); - }); - } - if (!e.originalEvent) { - e.originalEvent = e; - } - if (e.type === 'paste' && - e.clipboardData === undefined && - this.__doc.defaultView.clipboardData) { - Object.defineProperty(e, 'clipboardData', { - get: () => { - return this.__doc.defaultView.clipboardData; - }, - configurable: true, - enumerable: true - }); - } - }; - this.currents = []; - this.__stopped = []; - this.__isDestructed = false; - if (doc) { - this.__doc = doc; - } - this.__key += new Date().getTime(); - } mute(event) { this.__mutedEvents.add(event !== null && event !== void 0 ? event : '*'); return this; @@ -3620,6 +3606,55 @@ class EventEmitter { } return result; } + constructor(doc) { + this.__mutedEvents = new Set(); + this.__key = '__JoditEventEmitterNamespaces'; + this.__doc = document; + this.__prepareEvent = (e) => { + if (e.cancelBubble) { + return; + } + if (e.composed && (0,is_function/* isFunction */.m)(e.composedPath) && e.composedPath()[0]) { + Object.defineProperty(e, 'target', { + value: e.composedPath()[0], + configurable: true, + enumerable: true + }); + } + if (e.type.match(/^touch/) && + e.changedTouches && + e.changedTouches.length) { + ['clientX', 'clientY', 'pageX', 'pageY'].forEach((key) => { + Object.defineProperty(e, key, { + value: e.changedTouches[0][key], + configurable: true, + enumerable: true + }); + }); + } + if (!e.originalEvent) { + e.originalEvent = e; + } + if (e.type === 'paste' && + e.clipboardData === undefined && + this.__doc.defaultView.clipboardData) { + Object.defineProperty(e, 'clipboardData', { + get: () => { + return this.__doc.defaultView.clipboardData; + }, + configurable: true, + enumerable: true + }); + } + }; + this.currents = []; + this.__stopped = []; + this.__isDestructed = false; + if (doc) { + this.__doc = doc; + } + this.__key += new Date().getTime(); + } destruct() { if (!this.__isDestructed) { return; @@ -3632,9 +3667,9 @@ class EventEmitter { } // EXTERNAL MODULE: ./src/core/event-emitter/eventify.ts -var eventify = __webpack_require__(36090); +var eventify = __webpack_require__(73852); // EXTERNAL MODULE: ./src/core/event-emitter/observable.ts -var observable = __webpack_require__(34526); +var observable = __webpack_require__(88418); ;// CONCATENATED MODULE: ./src/core/event-emitter/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -3649,17 +3684,17 @@ var observable = __webpack_require__(34526); /***/ }), -/***/ 34526: +/***/ 88418: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "L": function() { return /* binding */ observable; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41515); -/* harmony import */ var jodit_core_helpers_checker_is_equal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13739); -/* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76856); -/* harmony import */ var jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30192); +/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49781); +/* harmony import */ var jodit_core_helpers_checker_is_equal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(32756); +/* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79736); +/* harmony import */ var jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(46163); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -3773,7 +3808,7 @@ function observable(obj) { /***/ }), -/***/ 16672: +/***/ 17332: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3786,14 +3821,14 @@ function observable(obj) { /* harmony export */ "qz": function() { return /* binding */ modules; }, /* harmony export */ "xl": function() { return /* binding */ extendLang; } /* harmony export */ }); -/* harmony import */ var _plugin_plugin_system__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60154); -/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36516); -/* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18122); -/* harmony import */ var _helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12866); -/* harmony import */ var _helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33679); -/* harmony import */ var _helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(870); -/* harmony import */ var _helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(72919); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47386); +/* harmony import */ var _plugin_plugin_system__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44540); +/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64968); +/* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4567); +/* harmony import */ var _helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77892); +/* harmony import */ var _helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(96574); +/* harmony import */ var _helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(87247); +/* harmony import */ var _helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(11278); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86893); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -3877,7 +3912,7 @@ const eventEmitter = new _event_emitter__WEBPACK_IMPORTED_MODULE_2__/* .EventEmi /***/ }), -/***/ 90824: +/***/ 56888: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3890,7 +3925,7 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts -var is_array = __webpack_require__(41515); +var is_array = __webpack_require__(49781); ;// CONCATENATED MODULE: ./src/core/helpers/array/as-array.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -3901,9 +3936,9 @@ var is_array = __webpack_require__(41515); const asArray = (a) => ((0,is_array/* isArray */.k)(a) ? a : [a]); // EXTERNAL MODULE: ./src/core/helpers/array/split-array.ts -var split_array = __webpack_require__(11986); +var split_array = __webpack_require__(14556); // EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts -var to_array = __webpack_require__(58260); +var to_array = __webpack_require__(1853); ;// CONCATENATED MODULE: ./src/core/helpers/array/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -3917,7 +3952,7 @@ var to_array = __webpack_require__(58260); /***/ }), -/***/ 11986: +/***/ 14556: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3936,15 +3971,15 @@ function splitArray(a) { /***/ }), -/***/ 58260: +/***/ 1853: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "q": function() { return /* binding */ toArray; } /* harmony export */ }); -/* harmony import */ var _utils_reset__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(943); -/* harmony import */ var _checker_is_native_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67940); +/* harmony import */ var _utils_reset__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80861); +/* harmony import */ var _checker_is_native_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28069); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -3963,7 +3998,7 @@ const toArray = function toArray(...args) { /***/ }), -/***/ 45044: +/***/ 4696: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3971,7 +4006,7 @@ const toArray = function toArray(...args) { /* harmony export */ "g": function() { return /* reexport safe */ _set_timeout__WEBPACK_IMPORTED_MODULE_0__.g; }, /* harmony export */ "i": function() { return /* reexport safe */ _set_timeout__WEBPACK_IMPORTED_MODULE_0__.i; } /* harmony export */ }); -/* harmony import */ var _set_timeout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81778); +/* harmony import */ var _set_timeout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27512); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -3982,7 +4017,7 @@ const toArray = function toArray(...args) { /***/ }), -/***/ 81778: +/***/ 27512: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4011,7 +4046,7 @@ function clearTimeout(timer) { /***/ }), -/***/ 43435: +/***/ 78411: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4032,6 +4067,7 @@ __webpack_require__.d(__webpack_exports__, { "GN": function() { return /* reexport */ isInt; }, "Zu": function() { return /* reexport */ is_jodit_object/* isJoditObject */.Z; }, "A1": function() { return /* reexport */ isLicense; }, + "_V": function() { return /* reexport */ is_marker/* isMarker */._; }, "QC": function() { return /* reexport */ is_native_function/* isNativeFunction */.Q; }, "hj": function() { return /* reexport */ is_number/* isNumber */.h; }, "kE": function() { return /* reexport */ is_numeric/* isNumeric */.k; }, @@ -4057,8 +4093,8 @@ function hasBrowserColorPicker() { try { const a = document.createElement('input'); a.type = 'color'; - supportsColor = - a.type === 'color' && typeof a.selectionStart !== 'number'; + a.value = '!'; + supportsColor = a.type === 'color' && a.value !== '!'; } catch (e) { supportsColor = false; @@ -4067,15 +4103,15 @@ function hasBrowserColorPicker() { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts -var is_array = __webpack_require__(41515); +var is_array = __webpack_require__(49781); // EXTERNAL MODULE: ./src/core/helpers/checker/is-boolean.ts -var is_boolean = __webpack_require__(10152); +var is_boolean = __webpack_require__(67749); // EXTERNAL MODULE: ./src/core/helpers/checker/is-equal.ts -var is_equal = __webpack_require__(13739); +var is_equal = __webpack_require__(32756); // EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts -var is_function = __webpack_require__(87385); +var is_function = __webpack_require__(42096); // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); ;// CONCATENATED MODULE: ./src/core/helpers/checker/is-html.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4099,9 +4135,9 @@ function isHtmlFromWord(data) { } // EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom = __webpack_require__(65401); +var dom = __webpack_require__(24263); // EXTERNAL MODULE: ./src/core/helpers/checker/is-void.ts -var is_void = __webpack_require__(62061); +var is_void = __webpack_require__(24021); ;// CONCATENATED MODULE: ./src/core/helpers/checker/is-imp-interface.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4122,7 +4158,7 @@ function hasContainer(value) { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-numeric.ts -var is_numeric = __webpack_require__(37381); +var is_numeric = __webpack_require__(57649); ;// CONCATENATED MODULE: ./src/core/helpers/checker/is-int.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4139,9 +4175,9 @@ function isInt(value) { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-jodit-object.ts -var is_jodit_object = __webpack_require__(12866); +var is_jodit_object = __webpack_require__(77892); // EXTERNAL MODULE: ./src/core/helpers/checker/is-view-object.ts -var is_view_object = __webpack_require__(33679); +var is_view_object = __webpack_require__(96574); ;// CONCATENATED MODULE: ./src/core/helpers/checker/is-license.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4154,15 +4190,15 @@ const isLicense = (license) => (0,is_string/* isString */.H)(license) && /^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(license); // EXTERNAL MODULE: ./src/core/helpers/checker/is-native-function.ts -var is_native_function = __webpack_require__(67940); +var is_native_function = __webpack_require__(28069); // EXTERNAL MODULE: ./src/core/helpers/checker/is-number.ts -var is_number = __webpack_require__(98296); +var is_number = __webpack_require__(61817); // EXTERNAL MODULE: ./src/core/helpers/checker/is-plain-object.ts -var is_plain_object = __webpack_require__(76856); +var is_plain_object = __webpack_require__(79736); // EXTERNAL MODULE: ./src/core/helpers/checker/is-promise.ts -var is_promise = __webpack_require__(15199); +var is_promise = __webpack_require__(26335); // EXTERNAL MODULE: ./src/core/helpers/checker/is-url.ts -var is_url = __webpack_require__(42139); +var is_url = __webpack_require__(64350); ;// CONCATENATED MODULE: ./src/core/helpers/checker/is-valid-name.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4177,7 +4213,9 @@ function isValidName(name) { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-window.ts -var is_window = __webpack_require__(64892); +var is_window = __webpack_require__(85994); +// EXTERNAL MODULE: ./src/core/helpers/checker/is-marker.ts +var is_marker = __webpack_require__(37204); ;// CONCATENATED MODULE: ./src/core/helpers/checker/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4206,11 +4244,12 @@ var is_window = __webpack_require__(64892); + /***/ }), -/***/ 41515: +/***/ 49781: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4229,7 +4268,7 @@ function isArray(elm) { /***/ }), -/***/ 10152: +/***/ 67749: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4248,7 +4287,7 @@ function isBoolean(elm) { /***/ }), -/***/ 13739: +/***/ 32756: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4256,7 +4295,7 @@ function isBoolean(elm) { /* harmony export */ "L": function() { return /* binding */ isFastEqual; }, /* harmony export */ "X": function() { return /* binding */ isEqual; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_string_stringify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58753); +/* harmony import */ var jodit_core_helpers_string_stringify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42554); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4273,7 +4312,7 @@ function isFastEqual(a, b) { /***/ }), -/***/ 87385: +/***/ 42096: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4292,14 +4331,14 @@ function isFunction(value) { /***/ }), -/***/ 12866: +/***/ 77892: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": function() { return /* binding */ isJoditObject; } /* harmony export */ }); -/* harmony import */ var _is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87385); +/* harmony import */ var _is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42096); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4317,7 +4356,32 @@ function isJoditObject(jodit) { /***/ }), -/***/ 67940: +/***/ 37204: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "_": function() { return /* binding */ isMarker; } +/* harmony export */ }); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86893); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +function isMarker(elm) { + return (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isNode */ .i.isNode(elm) && + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isTag */ .i.isTag(elm, 'span') && + elm.hasAttribute('data-' + jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.MARKER_CLASS)); +} + + +/***/ }), + +/***/ 28069: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4339,7 +4403,7 @@ function isNativeFunction(f) { /***/ }), -/***/ 98296: +/***/ 61817: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4358,14 +4422,14 @@ function isNumber(value) { /***/ }), -/***/ 37381: +/***/ 57649: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "k": function() { return /* binding */ isNumeric; } /* harmony export */ }); -/* harmony import */ var _is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86129); +/* harmony import */ var _is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24421); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4385,14 +4449,14 @@ function isNumeric(value) { /***/ }), -/***/ 76856: +/***/ 79736: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "P": function() { return /* binding */ isPlainObject; } /* harmony export */ }); -/* harmony import */ var _is_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64892); +/* harmony import */ var _is_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85994); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4410,7 +4474,7 @@ function isPlainObject(obj) { /***/ }), -/***/ 15199: +/***/ 26335: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4429,7 +4493,7 @@ function isPromise(val) { /***/ }), -/***/ 86129: +/***/ 24421: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4437,7 +4501,7 @@ function isPromise(val) { /* harmony export */ "G": function() { return /* binding */ isStringArray; }, /* harmony export */ "H": function() { return /* binding */ isString; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41515); +/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49781); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4454,7 +4518,7 @@ function isStringArray(value) { /***/ }), -/***/ 42139: +/***/ 64350: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4487,14 +4551,14 @@ function isURL(str) { /***/ }), -/***/ 33679: +/***/ 96574: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "f": function() { return /* binding */ isViewObject; } /* harmony export */ }); -/* harmony import */ var _is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87385); +/* harmony import */ var _is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42096); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4511,7 +4575,7 @@ function isViewObject(jodit) { /***/ }), -/***/ 62061: +/***/ 24021: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4530,7 +4594,7 @@ function isVoid(value) { /***/ }), -/***/ 64892: +/***/ 85994: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4549,7 +4613,7 @@ function isWindow(obj) { /***/ }), -/***/ 96485: +/***/ 13203: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4587,14 +4651,14 @@ const colorToHex = (color) => { /***/ }), -/***/ 24044: +/***/ 61354: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "h": function() { return /* reexport safe */ _color_to_hex__WEBPACK_IMPORTED_MODULE_0__.h; } /* harmony export */ }); -/* harmony import */ var _color_to_hex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96485); +/* harmony import */ var _color_to_hex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13203); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4605,7 +4669,7 @@ const colorToHex = (color) => { /***/ }), -/***/ 29516: +/***/ 69678: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4622,11 +4686,11 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom = __webpack_require__(65401); +var dom = __webpack_require__(24263); // EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var utils = __webpack_require__(38301); +var utils = __webpack_require__(76502); // EXTERNAL MODULE: ./src/core/helpers/string/trim.ts -var trim = __webpack_require__(89681); +var trim = __webpack_require__(33941); ;// CONCATENATED MODULE: ./src/core/helpers/html/apply-styles.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4719,7 +4783,7 @@ function applyStyles(html) { } // EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts -var to_array = __webpack_require__(58260); +var to_array = __webpack_require__(1853); ;// CONCATENATED MODULE: ./src/core/helpers/html/clean-from-word.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4803,7 +4867,7 @@ function htmlspecialchars(html) { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); ;// CONCATENATED MODULE: ./src/core/helpers/html/strip-tags.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4839,7 +4903,7 @@ function stripTags(html, doc = document) { } // EXTERNAL MODULE: ./src/core/helpers/html/safe-html.ts -var safe_html = __webpack_require__(46860); +var safe_html = __webpack_require__(67128); ;// CONCATENATED MODULE: ./src/core/helpers/html/nl2br.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4866,7 +4930,7 @@ function nl2br(html) { /***/ }), -/***/ 46860: +/***/ 67128: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4874,8 +4938,8 @@ function nl2br(html) { /* harmony export */ "e": function() { return /* binding */ safeHTML; }, /* harmony export */ "n": function() { return /* binding */ sanitizeHTMLElement; } /* harmony export */ }); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38301); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65401); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76502); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24263); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4919,13 +4983,14 @@ function sanitizeHTMLElement(elm, { safeJavaScriptLink, removeOnError } = { /***/ }), -/***/ 83370: +/***/ 40332: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "CamelCaseToKebabCase": function() { return /* reexport safe */ _string__WEBPACK_IMPORTED_MODULE_8__.gP; }, +/* harmony export */ "NUMBER_FIELDS_REG": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.DO; }, /* harmony export */ "applyStyles": function() { return /* reexport safe */ _html__WEBPACK_IMPORTED_MODULE_5__.Zs; }, /* harmony export */ "asArray": function() { return /* reexport safe */ _array__WEBPACK_IMPORTED_MODULE_1__._2; }, /* harmony export */ "camelCase": function() { return /* reexport safe */ _string__WEBPACK_IMPORTED_MODULE_8__.eV; }, @@ -4952,6 +5017,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ "isInt": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.GN; }, /* harmony export */ "isJoditObject": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.Zu; }, /* harmony export */ "isLicense": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.A1; }, +/* harmony export */ "isMarker": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__._V; }, /* harmony export */ "isNativeFunction": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.QC; }, /* harmony export */ "isNumber": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.hj; }, /* harmony export */ "isNumeric": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.kE; }, @@ -4967,6 +5033,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ "kebabCase": function() { return /* reexport safe */ _string__WEBPACK_IMPORTED_MODULE_8__.GL; }, /* harmony export */ "nl2br": function() { return /* reexport safe */ _html__WEBPACK_IMPORTED_MODULE_5__.hU; }, /* harmony export */ "normalizeColor": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.ut; }, +/* harmony export */ "normalizeCssNumericValue": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.xI; }, /* harmony export */ "normalizeCssValue": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.Zh; }, /* harmony export */ "normalizeKeyAliases": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.T2; }, /* harmony export */ "normalizeLicense": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.Pd; }, @@ -4990,18 +5057,18 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ "trimInv": function() { return /* reexport safe */ _string__WEBPACK_IMPORTED_MODULE_8__.as; }, /* harmony export */ "ucfirst": function() { return /* reexport safe */ _string__WEBPACK_IMPORTED_MODULE_8__.Ps; } /* harmony export */ }); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38301); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76502); /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {}; /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _utils__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _utils__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__) /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__); -/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90824); -/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45044); -/* harmony import */ var _checker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(43435); -/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24044); -/* harmony import */ var _html__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29516); -/* harmony import */ var _normalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(57561); -/* harmony import */ var _size__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(19751); -/* harmony import */ var _string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68181); +/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56888); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4696); +/* harmony import */ var _checker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(78411); +/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61354); +/* harmony import */ var _html__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(69678); +/* harmony import */ var _normalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(46361); +/* harmony import */ var _size__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(52438); +/* harmony import */ var _string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(89170); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5020,18 +5087,20 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ 57561: +/***/ 46361: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { + "DO": function() { return /* reexport */ normalize_css_value/* NUMBER_FIELDS_REG */.DO; }, "ut": function() { return /* reexport */ normalizeColor; }, - "Zh": function() { return /* reexport */ normalize_css_value/* normalizeCssValue */.Z; }, + "xI": function() { return /* reexport */ normalize_css_value/* normalizeCssNumericValue */.xI; }, + "Zh": function() { return /* reexport */ normalize_css_value/* normalizeCssValue */.Zh; }, "T2": function() { return /* reexport */ normalizeKeyAliases; }, "Pd": function() { return /* reexport */ normalizeLicense; }, - "Tz": function() { return /* reexport */ normalizeNode; }, + "Tz": function() { return /* reexport */ normalize_node/* normalizeNode */.T; }, "AH": function() { return /* reexport */ normalizePath; }, "Jf": function() { return /* reexport */ normalizeRelativePath; }, "aC": function() { return /* reexport */ normalizeSize; }, @@ -5039,9 +5108,9 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/string/trim.ts -var trim = __webpack_require__(89681); +var trim = __webpack_require__(33941); // EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); +var constants = __webpack_require__(86893); ;// CONCATENATED MODULE: ./src/core/helpers/normalize/normalize-key-aliases.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5097,37 +5166,10 @@ const normalizeLicense = (license, count = 8) => { return parts.join('-'); }; -// EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom = __webpack_require__(65401); -;// CONCATENATED MODULE: ./src/core/helpers/normalize/normalize-node.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -const normalizeNode = (node) => { - if (!node) { - return; - } - if (dom/* Dom.isText */.i.isText(node) && node.nodeValue != null && node.parentNode) { - while (dom/* Dom.isText */.i.isText(node.nextSibling)) { - if (node.nextSibling.nodeValue != null) { - node.nodeValue += node.nextSibling.nodeValue; - } - node.nodeValue = node.nodeValue.replace((0,constants.INVISIBLE_SPACE_REG_EXP)(), ''); - dom/* Dom.safeRemove */.i.safeRemove(node.nextSibling); - } - } - else { - normalizeNode(node.firstChild); - } - normalizeNode(node.nextSibling); -}; - +// EXTERNAL MODULE: ./src/core/helpers/normalize/normalize-node.ts +var normalize_node = __webpack_require__(74504); // EXTERNAL MODULE: ./src/core/helpers/string/index.ts + 2 modules -var string = __webpack_require__(68181); +var string = __webpack_require__(89170); ;// CONCATENATED MODULE: ./src/core/helpers/normalize/normalize-path.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5208,9 +5250,9 @@ const normalizeUrl = (...urls) => { }; // EXTERNAL MODULE: ./src/core/helpers/normalize/normalize-css-value.ts -var normalize_css_value = __webpack_require__(80686); +var normalize_css_value = __webpack_require__(49353); // EXTERNAL MODULE: ./src/core/helpers/color/color-to-hex.ts -var color_to_hex = __webpack_require__(96485); +var color_to_hex = __webpack_require__(13203); ;// CONCATENATED MODULE: ./src/core/helpers/normalize/normalize-color.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5259,16 +5301,19 @@ const normalizeColor = (colorInput) => { /***/ }), -/***/ 80686: +/***/ 49353: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Z": function() { return /* binding */ normalizeCssValue; } +/* harmony export */ "DO": function() { return /* binding */ NUMBER_FIELDS_REG; }, +/* harmony export */ "Zh": function() { return /* binding */ normalizeCssValue; }, +/* harmony export */ "xI": function() { return /* binding */ normalizeCssNumericValue; } /* harmony export */ }); -/* harmony import */ var _checker_is_numeric__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37381); -/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(72919); -/* harmony import */ var _color_color_to_hex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96485); +/* harmony import */ var _checker_is_numeric__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57649); +/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11278); +/* harmony import */ var _color_color_to_hex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13203); +/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24021); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5277,8 +5322,18 @@ const normalizeColor = (colorInput) => { + +const NUMBER_FIELDS_REG = /^(left|top|bottom|right|width|min|max|height|margin|padding|fontsize|font-size)/i; +function normalizeCssNumericValue(key, value) { + if (!(0,_checker_is_void__WEBPACK_IMPORTED_MODULE_0__/* .isVoid */ .n)(value) && + NUMBER_FIELDS_REG.test(key) && + (0,_checker_is_numeric__WEBPACK_IMPORTED_MODULE_1__/* .isNumeric */ .k)(value.toString())) { + return parseInt(value.toString(), 10) + 'px'; + } + return value; +} function normalizeCssValue(key, value) { - switch ((0,_string_kebab_case__WEBPACK_IMPORTED_MODULE_0__/* .kebabCase */ .G)(key)) { + switch ((0,_string_kebab_case__WEBPACK_IMPORTED_MODULE_2__/* .kebabCase */ .G)(key)) { case 'font-weight': switch (value.toString().toLowerCase()) { case '700': @@ -5294,7 +5349,7 @@ function normalizeCssValue(key, value) { return (0,_checker_is_numeric__WEBPACK_IMPORTED_MODULE_1__/* .isNumeric */ .k)(value) ? Number(value) : value; } if (/color/i.test(key) && /^rgb/i.test(value.toString())) { - return (0,_color_color_to_hex__WEBPACK_IMPORTED_MODULE_2__/* .colorToHex */ .h)(value.toString()) || value; + return (0,_color_color_to_hex__WEBPACK_IMPORTED_MODULE_3__/* .colorToHex */ .h)(value.toString()) || value; } return value; } @@ -5302,7 +5357,45 @@ function normalizeCssValue(key, value) { /***/ }), -/***/ 19751: +/***/ 74504: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "T": function() { return /* binding */ normalizeNode; } +/* harmony export */ }); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24263); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +function normalizeNode(node) { + if (!node) { + return; + } + if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isText */ .i.isText(node) && node.nodeValue != null && node.parentNode) { + while (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isText */ .i.isText(node.nextSibling)) { + if (node.nextSibling.nodeValue != null) { + node.nodeValue += node.nextSibling.nodeValue; + } + node.nodeValue = node.nodeValue.replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP)(), ''); + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeRemove */ .i.safeRemove(node.nextSibling); + } + } + else { + normalizeNode(node.firstChild); + } + normalizeNode(node.nextSibling); +} + + +/***/ }), + +/***/ 52438: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5329,9 +5422,9 @@ const getContentWidth = (element, win) => { }; // EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var utils = __webpack_require__(38301); +var utils = __webpack_require__(76502); // EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom = __webpack_require__(65401); +var dom = __webpack_require__(24263); ;// CONCATENATED MODULE: ./src/core/helpers/size/get-scroll-parent.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5417,7 +5510,7 @@ const offset = (elm, jodit, doc, recurse = false) => { }; // EXTERNAL MODULE: ./src/core/helpers/checker/is-jodit-object.ts -var is_jodit_object = __webpack_require__(12866); +var is_jodit_object = __webpack_require__(77892); ;// CONCATENATED MODULE: ./src/core/helpers/size/position.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5445,7 +5538,7 @@ function position(elm, jodit, recurse = false) { } // EXTERNAL MODULE: ./src/core/helpers/size/object-size.ts -var object_size = __webpack_require__(74395); +var object_size = __webpack_require__(16492); ;// CONCATENATED MODULE: ./src/core/helpers/size/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5462,14 +5555,14 @@ var object_size = __webpack_require__(74395); /***/ }), -/***/ 74395: +/***/ 16492: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "d": function() { return /* binding */ size; } /* harmony export */ }); -/* harmony import */ var _checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43435); +/* harmony import */ var _checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78411); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5489,7 +5582,7 @@ function size(subject) { /***/ }), -/***/ 79417: +/***/ 26596: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5510,14 +5603,14 @@ const camelCase = (key) => { /***/ }), -/***/ 83212: +/***/ 93163: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Q": function() { return /* binding */ fuzzySearchIndex; } /* harmony export */ }); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5557,7 +5650,7 @@ function fuzzySearchIndex(needle, haystack, offset = 0, maxDistance = 1) { /***/ }), -/***/ 68181: +/***/ 89170: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5577,15 +5670,15 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/string/camel-case.ts -var camel_case = __webpack_require__(79417); +var camel_case = __webpack_require__(26596); // EXTERNAL MODULE: ./src/core/helpers/string/fuzzy-search-index.ts -var fuzzy_search_index = __webpack_require__(83212); +var fuzzy_search_index = __webpack_require__(93163); // EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); +var config = __webpack_require__(93166); // EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var utils = __webpack_require__(38301); +var utils = __webpack_require__(76502); // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); ;// CONCATENATED MODULE: ./src/core/helpers/string/ucfirst.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5600,7 +5693,7 @@ function ucfirst(value) { } // EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); +var constants = __webpack_require__(86893); ;// CONCATENATED MODULE: ./src/core/helpers/string/i18n.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5685,11 +5778,11 @@ function i18n(key, params, options) { } // EXTERNAL MODULE: ./src/core/helpers/string/kebab-case.ts -var kebab_case = __webpack_require__(72919); +var kebab_case = __webpack_require__(11278); // EXTERNAL MODULE: ./src/core/helpers/string/stringify.ts -var stringify = __webpack_require__(58753); +var stringify = __webpack_require__(42554); // EXTERNAL MODULE: ./src/core/helpers/string/trim.ts -var trim = __webpack_require__(89681); +var trim = __webpack_require__(33941); ;// CONCATENATED MODULE: ./src/core/helpers/string/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5707,7 +5800,7 @@ var trim = __webpack_require__(89681); /***/ }), -/***/ 72919: +/***/ 11278: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5737,7 +5830,7 @@ const CamelCaseToKebabCase = (key) => { /***/ }), -/***/ 58753: +/***/ 42554: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5773,7 +5866,7 @@ function stringify(value, options = {}) { /***/ }), -/***/ 89681: +/***/ 33941: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5781,7 +5874,7 @@ function stringify(value, options = {}) { /* harmony export */ "a": function() { return /* binding */ trimInv; }, /* harmony export */ "f": function() { return /* binding */ trim; } /* harmony export */ }); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5802,7 +5895,7 @@ function trimInv(value) { /***/ }), -/***/ 55667: +/***/ 60303: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5811,8 +5904,8 @@ function trimInv(value) { /* harmony export */ "wL": function() { return /* binding */ clearAlign; }, /* harmony export */ "zC": function() { return /* binding */ hAlignElement; } /* harmony export */ }); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36516); -/* harmony import */ var _utils_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76239); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64968); +/* harmony import */ var _utils_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26911); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5878,7 +5971,7 @@ function alignElement(command, box) { /***/ }), -/***/ 23502: +/***/ 62462: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5889,9 +5982,9 @@ function alignElement(command, box) { /* harmony export */ "uR": function() { return /* binding */ appendScript; }, /* harmony export */ "wY": function() { return /* binding */ loadNext; } /* harmony export */ }); -/* harmony import */ var _complete_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39188); -/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87385); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86129); +/* harmony import */ var _complete_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48240); +/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42096); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24421); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5967,7 +6060,33 @@ const loadNextStyle = (jodit, urls, i = 0) => { /***/ }), -/***/ 1856: +/***/ 603: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export assert */ +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +class AssertionError extends Error { + constructor(message) { + super(message); + this.name = 'AssertionError'; + } +} +function assert(condition, message) { + if (!condition) { + throw new AssertionError(`Assertion failed: ${message}`); + } +} + + + +/***/ }), + +/***/ 37682: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6006,14 +6125,14 @@ const browser = (browser) => { /***/ }), -/***/ 95101: +/***/ 71567: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "X": function() { return /* binding */ buildQuery; } /* harmony export */ }); -/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76856); +/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79736); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6036,7 +6155,7 @@ const buildQuery = (data, prefix) => { /***/ }), -/***/ 39188: +/***/ 48240: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6058,7 +6177,7 @@ const completeUrl = (url) => { /***/ }), -/***/ 48202: +/***/ 64981: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6066,13 +6185,13 @@ const completeUrl = (url) => { /* harmony export */ "I": function() { return /* binding */ ConfigProto; }, /* harmony export */ "t": function() { return /* binding */ ConfigFlatten; } /* harmony export */ }); -/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(54739); -/* harmony import */ var _checker_is_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(41515); -/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76856); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86129); -/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62061); -/* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80031); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(32389); +/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7935); +/* harmony import */ var _checker_is_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49781); +/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(79736); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24421); +/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(24021); +/* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93166); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67309); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6127,15 +6246,15 @@ function ConfigFlatten(obj) { /***/ }), -/***/ 93194: +/***/ 42051: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "U": function() { return /* binding */ convertMediaUrlToVideoEmbed; } /* harmony export */ }); -/* harmony import */ var _checker_is_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42139); -/* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19814); +/* harmony import */ var _checker_is_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64350); +/* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67285); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6194,7 +6313,7 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => { /***/ }), -/***/ 76239: +/***/ 26911: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6202,13 +6321,11 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => { /* harmony export */ "b": function() { return /* binding */ clearCenterAlign; }, /* harmony export */ "i": function() { return /* binding */ css; } /* harmony export */ }); -/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76856); -/* harmony import */ var _checker_is_numeric__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37381); -/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(62061); -/* harmony import */ var _checker_is_boolean__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10152); -/* harmony import */ var _normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80686); -/* harmony import */ var _string_camel_case__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(79417); -/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(72919); +/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(79736); +/* harmony import */ var _checker_is_boolean__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67749); +/* harmony import */ var _normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49353); +/* harmony import */ var _string_camel_case__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26596); +/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11278); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6219,39 +6336,32 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => { - - function css(element, key, value, onlyStyleMode = false) { - const numberFieldsReg = /^(left|top|bottom|right|width|min|max|height|margin|padding|fontsize|font-size)/i; if ((0,_checker_is_boolean__WEBPACK_IMPORTED_MODULE_0__/* .isBoolean */ .j)(value)) { onlyStyleMode = value; value = undefined; } if ((0,_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_1__/* .isPlainObject */ .P)(key) || value !== undefined) { const setValue = (elm, _key, _value) => { - if (!(0,_checker_is_void__WEBPACK_IMPORTED_MODULE_2__/* .isVoid */ .n)(_value) && - numberFieldsReg.test(_key) && - (0,_checker_is_numeric__WEBPACK_IMPORTED_MODULE_3__/* .isNumeric */ .k)(_value.toString())) { - _value = parseInt(_value.toString(), 10) + 'px'; - } + _value = (0,_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_2__/* .normalizeCssNumericValue */ .xI)(_key, _value); if (_value !== undefined && (_value == null || - css(elm, _key, true) !== (0,_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__/* .normalizeCssValue */ .Z)(_key, _value))) { + css(elm, _key, true) !== (0,_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_2__/* .normalizeCssValue */ .Zh)(_key, _value))) { elm.style[_key] = _value; } }; if ((0,_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_1__/* .isPlainObject */ .P)(key)) { const keys = Object.keys(key); for (let j = 0; j < keys.length; j += 1) { - setValue(element, (0,_string_camel_case__WEBPACK_IMPORTED_MODULE_5__/* .camelCase */ .e)(keys[j]), key[keys[j]]); + setValue(element, (0,_string_camel_case__WEBPACK_IMPORTED_MODULE_3__/* .camelCase */ .e)(keys[j]), key[keys[j]]); } } else { - setValue(element, (0,_string_camel_case__WEBPACK_IMPORTED_MODULE_5__/* .camelCase */ .e)(key), value); + setValue(element, (0,_string_camel_case__WEBPACK_IMPORTED_MODULE_3__/* .camelCase */ .e)(key), value); } return ''; } - const key2 = (0,_string_kebab_case__WEBPACK_IMPORTED_MODULE_6__/* .kebabCase */ .G)(key), doc = element.ownerDocument || document, win = doc ? doc.defaultView || doc.parentWindow : false; + const key2 = (0,_string_kebab_case__WEBPACK_IMPORTED_MODULE_4__/* .kebabCase */ .G)(key), doc = element.ownerDocument || document, win = doc ? doc.defaultView || doc.parentWindow : false; const currentValue = element.style[key]; let result = ''; if (currentValue !== undefined && currentValue !== '') { @@ -6260,11 +6370,11 @@ function css(element, key, value, onlyStyleMode = false) { else if (win && !onlyStyleMode) { result = win.getComputedStyle(element).getPropertyValue(key2); } - if (numberFieldsReg.test(key) && + if (_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_2__/* .NUMBER_FIELDS_REG.test */ .DO.test(key) && /^[-+]?[0-9.]+px$/.test(result.toString())) { result = parseInt(result.toString(), 10); } - return (0,_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__/* .normalizeCssValue */ .Z)(key, result); + return (0,_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_2__/* .normalizeCssValue */ .Zh)(key, result); } const clearCenterAlign = (image) => { if (css(image, 'display') === 'block') { @@ -6280,7 +6390,7 @@ const clearCenterAlign = (image) => { /***/ }), -/***/ 7009: +/***/ 2522: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6308,14 +6418,14 @@ const ctrlKey = (e) => { /***/ }), -/***/ 75698: +/***/ 63122: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "q": function() { return /* binding */ dataBind; } /* harmony export */ }); -/* harmony import */ var _checker_is_view_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33679); +/* harmony import */ var _checker_is_view_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96574); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6350,14 +6460,14 @@ const dataBind = (elm, key, value) => { /***/ }), -/***/ 4371: +/***/ 93351: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "X": function() { return /* binding */ defaultLanguage; } /* harmony export */ }); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86129); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24421); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6380,7 +6490,7 @@ const defaultLanguage = (language, defaultLanguage = 'en') => { /***/ }), -/***/ 70843: +/***/ 14582: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6481,7 +6591,7 @@ function isAbort(error) { /***/ }), -/***/ 54739: +/***/ 7935: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6490,7 +6600,7 @@ function isAbort(error) { /* harmony export */ "V8": function() { return /* binding */ fastClone; }, /* harmony export */ "XT": function() { return /* binding */ markAsAtomic; } /* harmony export */ }); -/* harmony import */ var _string_stringify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58753); +/* harmony import */ var _string_stringify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42554); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6515,7 +6625,7 @@ function fastClone(object) { /***/ }), -/***/ 870: +/***/ 87247: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6523,7 +6633,7 @@ function fastClone(object) { /* harmony export */ "g": function() { return /* binding */ getClassName; }, /* harmony export */ "k": function() { return /* binding */ keepNames; } /* harmony export */ }); -/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87385); +/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42096); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6551,15 +6661,15 @@ const getClassName = (obj) => { /***/ }), -/***/ 56143: +/***/ 69384: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "U": function() { return /* binding */ get; } /* harmony export */ }); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86129); -/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62061); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24421); +/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24021); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6593,7 +6703,7 @@ function get(chain, obj) { /***/ }), -/***/ 24891: +/***/ 6102: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6618,7 +6728,7 @@ const humanSizeToBytes = (human) => { /***/ }), -/***/ 38301: +/***/ 76502: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6682,37 +6792,37 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ "set": function() { return /* reexport safe */ _set__WEBPACK_IMPORTED_MODULE_23__.t; }, /* harmony export */ "val": function() { return /* reexport safe */ _val__WEBPACK_IMPORTED_MODULE_26__.P; } /* harmony export */ }); -/* harmony import */ var _align__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55667); -/* harmony import */ var _append_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23502); +/* harmony import */ var _align__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60303); +/* harmony import */ var _append_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62462); /* harmony import */ var _assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52378); /* harmony import */ var _assert__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_assert__WEBPACK_IMPORTED_MODULE_2__); /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {}; /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _assert__WEBPACK_IMPORTED_MODULE_2__) if(["default","alignElement","clearAlign","hAlignElement","appendScript","appendScriptAsync","appendStyleAsync","loadNext","loadNextStyle"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _assert__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__) /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__); -/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1856); -/* harmony import */ var _build_query__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(95101); -/* harmony import */ var _complete_url__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(39188); -/* harmony import */ var _config_proto__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(48202); -/* harmony import */ var _convert_media_url_to_video_embed__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(93194); -/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(76239); -/* harmony import */ var _ctrl_key__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7009); -/* harmony import */ var _data_bind__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(75698); -/* harmony import */ var _default_language__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(4371); -/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(70843); -/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(54739); -/* harmony import */ var _get__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(56143); -/* harmony import */ var _get_class_name__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(870); -/* harmony import */ var _human_size_to_bytes__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(24891); -/* harmony import */ var _mark_deprecated__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(16385); -/* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(19814); -/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(25846); -/* harmony import */ var _reset__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(943); -/* harmony import */ var _scroll_into_view__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(14475); -/* harmony import */ var _selector__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(73549); -/* harmony import */ var _set__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(55736); -/* harmony import */ var _stack__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(14923); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(32389); -/* harmony import */ var _val__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(2717); +/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37682); +/* harmony import */ var _build_query__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71567); +/* harmony import */ var _complete_url__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(48240); +/* harmony import */ var _config_proto__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64981); +/* harmony import */ var _convert_media_url_to_video_embed__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42051); +/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26911); +/* harmony import */ var _ctrl_key__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2522); +/* harmony import */ var _data_bind__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(63122); +/* harmony import */ var _default_language__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(93351); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(14582); +/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(7935); +/* harmony import */ var _get__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(69384); +/* harmony import */ var _get_class_name__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(87247); +/* harmony import */ var _human_size_to_bytes__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(6102); +/* harmony import */ var _mark_deprecated__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(47580); +/* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(67285); +/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(21498); +/* harmony import */ var _reset__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(80861); +/* harmony import */ var _scroll_into_view__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(9005); +/* harmony import */ var _selector__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(54188); +/* harmony import */ var _set__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(21518); +/* harmony import */ var _stack__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(37228); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(67309); +/* harmony import */ var _val__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(22362); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6749,7 +6859,7 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ 16385: +/***/ 47580: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6774,7 +6884,7 @@ function markDeprecated(method, names = [''], ctx = null) { /***/ }), -/***/ 19814: +/***/ 67285: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6798,18 +6908,18 @@ const parseQuery = (queryString) => { /***/ }), -/***/ 25846: +/***/ 21498: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "$": function() { return /* binding */ previewBox; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86129); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65401); -/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76239); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(32389); -/* harmony import */ var _selector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73549); +/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24421); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24263); +/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26911); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67309); +/* harmony import */ var _selector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(54188); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6957,15 +7067,15 @@ function previewBox(editor, defaultValue, points = 'px', container = null) { /***/ }), -/***/ 943: +/***/ 80861: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "m": function() { return /* binding */ reset; } /* harmony export */ }); -/* harmony import */ var _get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(56143); -/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87385); +/* harmony import */ var _get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69384); +/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42096); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7002,7 +7112,7 @@ const reset = function (key) { /***/ }), -/***/ 14475: +/***/ 9005: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7010,7 +7120,7 @@ const reset = function (key) { /* harmony export */ "j": function() { return /* binding */ inView; }, /* harmony export */ "n": function() { return /* binding */ scrollIntoViewIfNeeded; } /* harmony export */ }); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65401); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24263); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7048,7 +7158,7 @@ function scrollIntoViewIfNeeded(elm, root, doc) { /***/ }), -/***/ 73549: +/***/ 54188: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7059,14 +7169,14 @@ function scrollIntoViewIfNeeded(elm, root, doc) { /* harmony export */ "iN": function() { return /* binding */ cssPath; }, /* harmony export */ "xL": function() { return /* binding */ refs; } /* harmony export */ }); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); -/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(86129); -/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38301); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_helpers_string_camel_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(79417); -/* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58260); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16867); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); +/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24421); +/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76502); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_helpers_string_camel_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26596); +/* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1853); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45113); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7174,17 +7284,17 @@ function resolveElement(element, od) { /***/ }), -/***/ 55736: +/***/ 21518: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "t": function() { return /* binding */ set; } /* harmony export */ }); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86129); -/* harmony import */ var _checker_is_numeric__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37381); -/* harmony import */ var _checker_is_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41515); -/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76856); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24421); +/* harmony import */ var _checker_is_numeric__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57649); +/* harmony import */ var _checker_is_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49781); +/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79736); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7215,7 +7325,7 @@ function set(chain, value, obj) { /***/ }), -/***/ 14923: +/***/ 37228: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7250,7 +7360,7 @@ class LimitedStack { /***/ }), -/***/ 32389: +/***/ 67309: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7264,14 +7374,14 @@ class LimitedStack { /* harmony export */ "qu": function() { return /* binding */ getDataTransfer; }, /* harmony export */ "u3": function() { return /* binding */ memorizeExec; } /* harmony export */ }); -/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87385); -/* harmony import */ var _checker_is_promise__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(15199); -/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(62061); -/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76856); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86129); -/* harmony import */ var _data_bind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75698); -/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76239); -/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(72919); +/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42096); +/* harmony import */ var _checker_is_promise__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(26335); +/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(24021); +/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79736); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24421); +/* harmony import */ var _data_bind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63122); +/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26911); +/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11278); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7394,7 +7504,7 @@ const getDataTransfer = (event) => { /***/ }), -/***/ 2717: +/***/ 22362: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7420,15 +7530,15 @@ const val = (elm, selector, value) => { /***/ }), -/***/ 76454: +/***/ 57549: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "S": function() { return /* reexport safe */ _plugin__WEBPACK_IMPORTED_MODULE_1__.S; } /* harmony export */ }); -/* harmony import */ var _plugin_system__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60154); -/* harmony import */ var _plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90431); +/* harmony import */ var _plugin_system__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44540); +/* harmony import */ var _plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(85605); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7440,19 +7550,19 @@ const val = (elm, selector, value) => { /***/ }), -/***/ 60154: +/***/ 44540: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "h": function() { return /* binding */ PluginSystem; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43435); -/* harmony import */ var jodit_core_helpers_utils_append_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23502); -/* harmony import */ var jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(90824); -/* harmony import */ var jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68181); -/* harmony import */ var jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(32389); -/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16672); +/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78411); +/* harmony import */ var jodit_core_helpers_utils_append_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62462); +/* harmony import */ var jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(56888); +/* harmony import */ var jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89170); +/* harmony import */ var jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67309); +/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(17332); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7654,7 +7764,7 @@ PluginSystem.styles = new Set(); /***/ }), -/***/ 90431: +/***/ 85605: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7662,9 +7772,9 @@ PluginSystem.styles = new Set(); /* harmony export */ "S": function() { return /* binding */ Plugin; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20255); -/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2624); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83370); +/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90549); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40332); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7675,6 +7785,9 @@ PluginSystem.styles = new Set(); class Plugin extends _component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent */ .Hr { + className() { + return ''; + } constructor(jodit) { super(jodit); this.requires = []; @@ -7695,9 +7808,6 @@ class Plugin extends _component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent */ }) .on('beforeDestruct', this.destruct); } - className() { - return ''; - } init(jodit) { } destruct() { @@ -7723,7 +7833,7 @@ class Plugin extends _component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent */ /***/ }), -/***/ 5887: +/***/ 12709: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7737,11 +7847,11 @@ __webpack_require__.d(__webpack_exports__, { // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js var tslib_es6 = __webpack_require__(20255); // EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); +var config = __webpack_require__(93166); // EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); +var helpers = __webpack_require__(40332); // EXTERNAL MODULE: ./src/core/helpers/utils/error/index.ts + 5 modules -var error = __webpack_require__(70843); +var error = __webpack_require__(14582); ;// CONCATENATED MODULE: ./src/core/request/response.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -7749,15 +7859,15 @@ var error = __webpack_require__(70843); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ class Response { - constructor(request, status, statusText, body) { - this.request = request; + get url() { + return this.request.url; + } + constructor(request, status, statusText, body) { + this.request = request; this.status = status; this.statusText = statusText; this.body = body; } - get url() { - return this.request.url; - } async json() { return JSON.parse(this.body); } @@ -7770,9 +7880,9 @@ class Response { } // EXTERNAL MODULE: ./src/core/async/index.ts + 1 modules -var core_async = __webpack_require__(83735); +var core_async = __webpack_require__(21317); // EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); +var decorators = __webpack_require__(67493); ;// CONCATENATED MODULE: ./src/core/request/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -7970,7 +8080,7 @@ Ajax.log = []; /***/ }), -/***/ 37424: +/***/ 80805: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7982,9 +8092,9 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); +var dom = __webpack_require__(64968); // EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); +var constants = __webpack_require__(86893); ;// CONCATENATED MODULE: ./src/core/selection/helpers/move-node-inside-start.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -8044,1029 +8154,737 @@ function moveTheNodeAlongTheEdgeOutward(node, start, root) { /***/ }), -/***/ 92415: +/***/ 88755: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { - "RP": function() { return /* reexport */ CommitStyle; }, - "Ph": function() { return /* reexport */ Select; } + "Ke": function() { return /* reexport */ Storage; } }); -// UNUSED EXPORTS: CHANGE, INITIAL, REPLACE, UNSET, UNWRAP, WRAP +// UNUSED EXPORTS: LocalStorageProvider, MemoryStorageProvider, StorageKey, canUsePersistentStorage -// EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var utils = __webpack_require__(38301); -// EXTERNAL MODULE: ./src/core/helpers/utils/css.ts -var css = __webpack_require__(76239); -// EXTERNAL MODULE: ./src/core/helpers/utils/data-bind.ts -var data_bind = __webpack_require__(75698); -// EXTERNAL MODULE: ./src/core/helpers/string/kebab-case.ts -var kebab_case = __webpack_require__(72919); -// EXTERNAL MODULE: ./src/core/helpers/normalize/normalize-css-value.ts -var normalize_css_value = __webpack_require__(80686); -// EXTERNAL MODULE: ./src/core/helpers/size/object-size.ts -var object_size = __webpack_require__(74395); -// EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); -// EXTERNAL MODULE: ./src/core/global.ts -var global = __webpack_require__(16672); -;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle/toggle-css.ts +;// CONCATENATED MODULE: ./src/core/storage/engines/local-storage-provider.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ - - - - - - - - - -function toggleCSS(commitStyle, elm, jodit, mode, dry = false) { - const { style, className } = commitStyle.options; - if (style && (0,object_size/* size */.d)(style) > 0) { - Object.keys(style).forEach((rule) => { - const inlineValue = elm.style.getPropertyValue((0,kebab_case/* kebabCase */.G)(rule)); - if (inlineValue === '' && style[rule] == null) { - return; - } - if (getNativeCSSValue(jodit, elm, rule) === - (0,normalize_css_value/* normalizeCssValue */.Z)(rule, style[rule])) { - !dry && (0,css/* css */.i)(elm, rule, null); - mode = UNSET; - mode = removeExtraStyleAttribute(commitStyle, elm, mode); - return; - } - mode = CHANGE; - !dry && (0,css/* css */.i)(elm, rule, style[rule]); - if (!dry) { - mode = removeExtraStyleAttribute(commitStyle, elm, mode); - } - }); - } - if (className) { - if (elm.classList.contains(className)) { - elm.classList.remove(className); - mode = UNSET; +const canUsePersistentStorage = (() => { + const canUse = () => { + const tmpKey = '___Jodit___' + Math.random().toString(); + try { + localStorage.setItem(tmpKey, '1'); + const result = localStorage.getItem(tmpKey) === '1'; + localStorage.removeItem(tmpKey); + return result; } - else { - elm.classList.add(className); - mode = CHANGE; + catch (_a) { } + return false; + }; + let result; + return () => { + if (result === undefined) { + result = canUse(); + } + return result; + }; +})(); +class LocalStorageProvider { + set(key, value) { + try { + const buffer = localStorage.getItem(this.rootKey); + const json = buffer ? JSON.parse(buffer) : {}; + json[key] = value; + localStorage.setItem(this.rootKey, JSON.stringify(json)); } + catch (_a) { } + return this; } - return mode; -} -function removeExtraStyleAttribute(commitStyle, elm, mode) { - if (!(0,utils.attr)(elm, 'style')) { - (0,utils.attr)(elm, 'style', null); - if (elm.tagName.toLowerCase() === commitStyle.defaultTag) { - dom/* Dom.unwrap */.i.unwrap(elm); - mode = UNWRAP; + delete(key) { + try { + localStorage.removeItem(this.rootKey); } + catch (_a) { } + return this; } - return mode; -} -function getShadowRoot(jodit) { - var _a; - if ((0,data_bind/* dataBind */.q)(jodit, 'shadowRoot') !== undefined) { - return (0,data_bind/* dataBind */.q)(jodit, 'shadowRoot'); + get(key) { + try { + const buffer = localStorage.getItem(this.rootKey); + const json = buffer ? JSON.parse(buffer) : {}; + return json[key] !== undefined ? json[key] : null; + } + catch (_a) { } + } + exists(key) { + return this.get(key) != null; + } + constructor(rootKey) { + this.rootKey = rootKey; + } + clear() { + try { + localStorage.removeItem(this.rootKey); + } + catch (_a) { } + return this; } - const container = (0,global/* getContainer */.ZO)(jodit); - const iframe = document.createElement('iframe'); - (0,css/* css */.i)(iframe, { - width: 0, - height: 0, - position: 'absolute', - border: 0 - }); - iframe.src = 'about:blank'; - container.appendChild(iframe); - const doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document; - const shadowRoot = !doc ? jodit.od.body : doc.body; - (0,data_bind/* dataBind */.q)(jodit, 'shadowRoot', shadowRoot); - return shadowRoot; -} -function getNativeCSSValue(jodit, elm, key) { - const newElm = jodit.create.element(elm.tagName.toLowerCase()); - newElm.style.cssText = elm.style.cssText; - const root = getShadowRoot(jodit); - root.appendChild(newElm); - const result = (0,css/* css */.i)(newElm, key); - dom/* Dom.safeRemove */.i.safeRemove(newElm); - return result; } -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/selection/helpers/index.ts + 2 modules -var selection_helpers = __webpack_require__(37424); -;// CONCATENATED MODULE: ./src/core/selection/select.ts +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +;// CONCATENATED MODULE: ./src/core/storage/engines/memory-storage-provider.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ - - - - - - - - -class Select { - constructor(jodit) { - this.jodit = jodit; - jodit.e.on('removeMarkers', () => { - this.removeMarkers(); - }); - } - get j() { - return this.jodit; +class MemoryStorageProvider { + constructor() { + this.data = new Map(); } - errorNode(node) { - if (!dom/* Dom.isNode */.i.isNode(node)) { - throw (0,helpers.error)('Parameter node must be instance of Node'); - } + set(key, value) { + this.data.set(key, value); + return this; } - get area() { - return this.j.editor; + delete(key) { + this.data.delete(key); + return this; } - get win() { - return this.j.ew; + get(key) { + return this.data.get(key); } - get doc() { - return this.j.ed; + exists(key) { + return this.data.has(key); } - get sel() { - if (this.j.o.shadowRoot && - (0,helpers.isFunction)(this.j.o.shadowRoot.getSelection)) { - return this.j.o.shadowRoot.getSelection(); - } - return this.win.getSelection(); + clear() { + this.data.clear(); + return this; } - get range() { - const sel = this.sel; - return sel && sel.rangeCount ? sel.getRangeAt(0) : this.createRange(); +} + +;// CONCATENATED MODULE: ./src/core/storage/storage.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +const StorageKey = 'Jodit_'; +class Storage { + set(key, value) { + this.provider.set((0,helpers.camelCase)(this.prefix + key), value); + return this; } - get isInsideArea() { - const { sel } = this; - const range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel.getRangeAt(0) : null; - return !(!range || !dom/* Dom.isOrContains */.i.isOrContains(this.area, range.startContainer)); + delete(key) { + this.provider.delete((0,helpers.camelCase)(this.prefix + key)); + return this; } - createRange(select = false) { - const range = this.doc.createRange(); - if (select) { - this.selectRange(range); - } - return range; + get(key) { + return this.provider.get((0,helpers.camelCase)(this.prefix + key)); } - remove() { - const sel = this.sel, current = this.current(); - if (sel && current) { - for (let i = 0; i < sel.rangeCount; i += 1) { - sel.getRangeAt(i).deleteContents(); - sel.getRangeAt(i).collapse(true); - } - } + exists(key) { + return this.provider.exists((0,helpers.camelCase)(this.prefix + key)); } clear() { - var _a, _b; - if ((_a = this.sel) === null || _a === void 0 ? void 0 : _a.rangeCount) { - (_b = this.sel) === null || _b === void 0 ? void 0 : _b.removeAllRanges(); + this.provider.clear(); + return this; + } + constructor(provider, suffix) { + this.provider = provider; + this.prefix = StorageKey; + if (suffix) { + this.prefix += suffix; } } - removeNode(node) { - if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, node, true)) { - throw (0,helpers.error)("Selection.removeNode can remove only editor's children"); + static makeStorage(persistent = false, suffix) { + let provider; + if (persistent && canUsePersistentStorage()) { + provider = new LocalStorageProvider(StorageKey + suffix); } - dom/* Dom.safeRemove */.i.safeRemove(node); - this.j.e.fire('afterRemoveNode', node); + if (!provider) { + provider = new MemoryStorageProvider(); + } + return new Storage(provider, suffix); } - insertCursorAtPoint(x, y) { - this.removeMarkers(); - try { - const rng = this.createRange(); - (() => { - if (this.doc.caretPositionFromPoint) { - const caret = this.doc.caretPositionFromPoint(x, y); - if (caret) { - rng.setStart(caret.offsetNode, caret.offset); - return; - } - } - if (this.doc.caretRangeFromPoint) { - const caret = this.doc.caretRangeFromPoint(x, y); - rng.setStart(caret.startContainer, caret.startOffset); - } - })(); - rng.collapse(true); - this.selectRange(rng); - return true; - } - catch (_a) { } - return false; +} + +;// CONCATENATED MODULE: ./src/core/storage/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + +/***/ }), + +/***/ 72452: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "lf": function() { return /* reexport */ Dlgs; }, + "Fx": function() { return /* reexport */ Elms; }, + "$t": function() { return /* reexport */ Mods; } +}); + +// EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts +var to_array = __webpack_require__(1853); +;// CONCATENATED MODULE: ./src/core/traits/elms.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + +class Elms { + getElm(elementName) { + return this.container.querySelector(`.${this.getFullElName(elementName)}`); } - static isMarker(elm) { - return (dom/* Dom.isNode */.i.isNode(elm) && - dom/* Dom.isTag */.i.isTag(elm, 'span') && - elm.hasAttribute('data-' + constants.MARKER_CLASS)); + getElms(elementName) { + return (0,to_array/* toArray */.q)(this.container.querySelectorAll(`.${this.getFullElName(elementName)}`)); } - get hasMarkers() { - return Boolean(this.markers.length); +} + +// EXTERNAL MODULE: ./src/core/helpers/checker/is-void.ts +var is_void = __webpack_require__(24021); +;// CONCATENATED MODULE: ./src/core/traits/mods.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class Mods { + afterSetMod(name, value) { } + setMod(name, value, container) { + name = name.toLowerCase(); + if (this.mods[name] === value) { + return this; + } + const mod = `${this.componentName}_${name}`, cl = (container || this.container).classList; + (0,to_array/* toArray */.q)(cl).forEach(className => { + if (className.indexOf(mod) === 0) { + cl.remove(className); + } + }); + !(0,is_void/* isVoid */.n)(value) && + value !== '' && + cl.add(`${mod}_${value.toString().toLowerCase()}`); + this.mods[name] = value; + this.afterSetMod(name, value); + return this; } - get markers() { - return (0,helpers.$$)('span[data-' + constants.MARKER_CLASS + ']', this.area); + getMod(name) { + var _a; + return (_a = this.mods[name]) !== null && _a !== void 0 ? _a : null; } - removeMarkers() { - dom/* Dom.safeRemove.apply */.i.safeRemove.apply(null, this.markers); +} + +// EXTERNAL MODULE: ./src/modules/index.ts + 41 modules +var modules = __webpack_require__(22705); +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +;// CONCATENATED MODULE: ./src/core/traits/dlgs.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class Dlgs { + dlg(options) { + const dialog = new modules.Dialog({ + language: this.o.language, + shadowRoot: this.o.shadowRoot, + ownerWindow: this.o.ownerWindow, + defaultTimeout: this.o.defaultTimeout, + theme: this.o.theme, + globalFullSize: this.o.globalFullSize, + ...options + }); + (0,helpers.markOwner)(this, dialog.container); + dialog.parent = this; + return dialog.bindDestruct(this); } - marker(atStart = false, range) { - let newRange = null; - if (range) { - newRange = range.cloneRange(); - newRange.collapse(atStart); - } - const marker = this.j.createInside.span(); - marker.id = - constants.MARKER_CLASS + - '_' + - Number(new Date()) + - '_' + - String(Math.random()).slice(2); - marker.style.lineHeight = '0'; - marker.style.display = 'none'; - dom/* Dom.markTemporary */.i.markTemporary(marker); - (0,helpers.attr)(marker, 'data-' + constants.MARKER_CLASS, atStart ? 'start' : 'end'); - marker.appendChild(this.j.createInside.text(constants.INVISIBLE_SPACE)); - if (newRange) { - if (dom/* Dom.isOrContains */.i.isOrContains(this.area, atStart ? newRange.startContainer : newRange.endContainer)) { - newRange.insertNode(marker); - } + confirm(msg, title, callback) { + if ((0,helpers.isString)(title)) { + title = this.i18n(title); } - return marker; + return modules.Confirm.call(this.dlg(), this.i18n(msg), title, callback); } - restore() { - let range = false; - const markAttr = (start) => `span[data-${constants.MARKER_CLASS}=${start ? 'start' : 'end'}]`; - const start = this.area.querySelector(markAttr(true)), end = this.area.querySelector(markAttr(false)); - if (!start) { - return; - } - range = this.createRange(); - if (!end) { - const previousNode = start.previousSibling; - if (dom/* Dom.isText */.i.isText(previousNode)) { - range.setStart(previousNode, previousNode.nodeValue ? previousNode.nodeValue.length : 0); - } - else { - range.setStartBefore(start); - } - dom/* Dom.safeRemove */.i.safeRemove(start); - range.collapse(true); - } - else { - range.setStartAfter(start); - dom/* Dom.safeRemove */.i.safeRemove(start); - range.setEndBefore(end); - dom/* Dom.safeRemove */.i.safeRemove(end); + prompt(msg, title, callback, placeholder, defaultValue) { + if ((0,helpers.isString)(title)) { + title = this.i18n(title); } - if (range) { - this.selectRange(range); + if ((0,helpers.isString)(placeholder)) { + placeholder = this.i18n(placeholder); } + return modules.Prompt.call(this.dlg(), this.i18n(msg), title, callback, placeholder, defaultValue); } - save(silent = false) { - if (this.hasMarkers) { - return []; - } - const sel = this.sel; - if (!sel || !sel.rangeCount) { - return []; - } - const info = [], length = sel.rangeCount, ranges = []; - for (let i = 0; i < length; i += 1) { - ranges[i] = sel.getRangeAt(i); - if (ranges[i].collapsed) { - const start = this.marker(true, ranges[i]); - info[i] = { - startId: start.id, - collapsed: true, - startMarker: start.outerHTML - }; - } - else { - const start = this.marker(true, ranges[i]); - const end = this.marker(false, ranges[i]); - info[i] = { - startId: start.id, - endId: end.id, - collapsed: false, - startMarker: start.outerHTML, - endMarker: end.outerHTML - }; - } + alert(msg, title, callback, className) { + if ((0,helpers.isString)(msg)) { + msg = this.i18n(msg); } - if (!silent) { - sel.removeAllRanges(); - for (let i = length - 1; i >= 0; --i) { - const startElm = this.doc.getElementById(info[i].startId); - if (startElm) { - if (info[i].collapsed) { - ranges[i].setStartAfter(startElm); - ranges[i].collapse(true); - } - else { - ranges[i].setStartBefore(startElm); - if (info[i].endId) { - const endElm = this.doc.getElementById(info[i].endId); - if (endElm) { - ranges[i].setEndAfter(endElm); - } - } - } - } - try { - sel.addRange(ranges[i].cloneRange()); - } - catch (_a) { } - } + if ((0,helpers.isString)(title)) { + title = this.i18n(title); } - return info; + return modules.Alert.call(this.dlg(), msg, title, callback, className); } - focus(options = { - preventScroll: true - }) { - var _a, _b; - if (!this.isFocused()) { - const scrollParent = (0,helpers.getScrollParent)(this.j.container), scrollTop = scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.scrollTop; - if (this.j.iframe) { - if (this.doc.readyState === 'complete') { - this.j.iframe.focus(options); - } - } - this.win.focus(); - this.area.focus(options); - if (scrollTop && (scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.scrollTo)) { - scrollParent.scrollTo(0, scrollTop); - } - const sel = this.sel, range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel === null || sel === void 0 ? void 0 : sel.getRangeAt(0) : null; - if (!range || !dom/* Dom.isOrContains */.i.isOrContains(this.area, range.startContainer)) { - const range = this.createRange(); - range.setStart(this.area, 0); - range.collapse(true); - this.selectRange(range, false); - } - if (!this.j.editorIsActive) { - (_b = (_a = this.j) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.fire('focus'); - } - return true; - } - return false; - } - isCollapsed() { - const sel = this.sel; - for (let r = 0; sel && r < sel.rangeCount; r += 1) { - if (!sel.getRangeAt(r).collapsed) { - return false; - } - } - return true; +} + +;// CONCATENATED MODULE: ./src/core/traits/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + +/***/ }), + +/***/ 96031: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "Yc": function() { return /* binding */ UIButtonState; }, +/* harmony export */ "y3": function() { return /* binding */ UIButton; }, +/* harmony export */ "zx": function() { return /* binding */ Button; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76502); +/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(24421); +/* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42096); +/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77904); +/* harmony import */ var jodit_core_ui_group_list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6442); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(29411); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + + + + + + + +const UIButtonState = () => ({ + size: 'middle', + type: 'button', + name: '', + value: '', + variant: 'initial', + disabled: false, + activated: false, + icon: { + name: 'empty', + fill: '', + iconURL: '' + }, + tooltip: '', + text: '', + tabIndex: undefined +}); +let UIButton = class UIButton extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { + className() { + return 'UIButton'; } - isFocused() { - return (this.doc.hasFocus && - this.doc.hasFocus() && - this.area === this.doc.activeElement); + setState(state) { + Object.assign(this.state, state); + return this; } - current(checkChild = true) { - if (this.j.getRealMode() === constants.MODE_WYSIWYG) { - const sel = this.sel; - if (!sel || sel.rangeCount === 0) { - return null; - } - const range = sel.getRangeAt(0); - let node = range.startContainer, rightMode = false; - const child = (nd) => rightMode ? nd.lastChild : nd.firstChild; - if (dom/* Dom.isTag */.i.isTag(node, 'br') && sel.isCollapsed) { - return node; - } - if (!dom/* Dom.isText */.i.isText(node)) { - node = range.startContainer.childNodes[range.startOffset]; - if (!node) { - node = - range.startContainer.childNodes[range.startOffset - 1]; - rightMode = true; - } - if (node && sel.isCollapsed && !dom/* Dom.isText */.i.isText(node)) { - if (!rightMode && dom/* Dom.isText */.i.isText(node.previousSibling)) { - node = node.previousSibling; - } - else if (checkChild) { - let current = child(node); - while (current) { - if (current && dom/* Dom.isText */.i.isText(current)) { - node = current; - break; - } - current = child(current); - } - } - } - if (node && !sel.isCollapsed && !dom/* Dom.isText */.i.isText(node)) { - let leftChild = node, rightChild = node; - do { - leftChild = leftChild.firstChild; - rightChild = rightChild.lastChild; - } while (leftChild && rightChild && !dom/* Dom.isText */.i.isText(leftChild)); - if (leftChild === rightChild && - leftChild && - dom/* Dom.isText */.i.isText(leftChild)) { - node = leftChild; - } - } - } - if (node && dom/* Dom.isOrContains */.i.isOrContains(this.area, node)) { - return node; - } - } - return null; + onChangeSize() { + this.setMod('size', this.state.size); } - insertNode(node, insertCursorAfter = true, fireChange = true) { - this.errorNode(node); - this.j.e.fire('safeHTML', node); - if (!this.isFocused() && this.j.isEditorMode()) { - this.focus(); - this.restore(); - } - const sel = this.sel; - this.j.history.snapshot.transaction(() => { - var _a; - if (!this.isCollapsed()) { - this.j.execCommand('Delete'); - } - this.j.e.fire('beforeInsertNode', node); - if (sel && sel.rangeCount) { - const range = sel.getRangeAt(0); - if (dom/* Dom.isOrContains */.i.isOrContains(this.area, range.commonAncestorContainer)) { - if (dom/* Dom.isTag */.i.isTag(range.startContainer, constants.INSEPARABLE_TAGS) && - range.collapsed) { - (_a = range.startContainer.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(node, range.startContainer); - } - else { - dom/* Dom.safeInsertNode */.i.safeInsertNode(range, node); - } - } - else { - this.area.appendChild(node); - } - } - else { - this.area.appendChild(node); - } - if (insertCursorAfter) { - if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { - node.lastChild && this.setCursorAfter(node.lastChild); - } - else { - this.setCursorAfter(node); - } - } - }); - if (fireChange && this.j.events) { - this.j.__imdSynchronizeValues(); - } - if (this.j.events) { - this.j.e.fire('afterInsertNode', node); - } + onChangeType() { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'type', this.state.type); } - insertHTML(html, insertCursorAfter = true) { - if (html === '') { + updateSize() { + const pe = this.closest(jodit_core_ui_group_list__WEBPACK_IMPORTED_MODULE_4__/* .UIList */ .b); + if (pe) { + this.state.size = pe.buttonSize; return; } - const node = this.j.createInside.div(), fragment = this.j.createInside.fragment(); - let lastChild; - if (!this.isFocused() && this.j.isEditorMode()) { - this.focus(); - this.restore(); - } - if (!dom/* Dom.isNode */.i.isNode(html)) { - node.innerHTML = html.toString(); - } - else { - node.appendChild(html); - } - if (!this.j.isEditorMode() && - this.j.e.fire('insertHTML', node.innerHTML) === false) { - return; + } + onChangeStatus() { + this.setMod('variant', this.state.variant); + } + onChangeText() { + this.text.textContent = this.jodit.i18n(this.state.text); + } + onChangeTextSetMode() { + this.setMod('text-icons', Boolean(this.state.text.trim().length)); + } + onChangeDisabled() { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'disabled', this.state.disabled || null); + } + onChangeActivated() { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'aria-pressed', this.state.activated); + } + onChangeName() { + this.container.classList.add(`${this.componentName}_${this.clearName(this.state.name)}`); + this.name = this.state.name; + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'data-ref', this.state.name); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'ref', this.state.name); + } + onChangeTooltip() { + if (this.get('j.o.useNativeTooltip')) { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'title', this.state.tooltip); } - lastChild = node.lastChild; - if (!lastChild) { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'aria-label', this.state.tooltip); + } + onChangeTabIndex() { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'tabindex', this.state.tabIndex); + } + onChangeIcon() { + const textIcons = this.get('j.o.textIcons'); + if (textIcons === true || + ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__/* .isFunction */ .m)(textIcons) && textIcons(this.state.name))) { return; } - while (node.firstChild) { - lastChild = node.firstChild; - fragment.appendChild(node.firstChild); - } - this.insertNode(fragment.firstChild && fragment.firstChild === fragment.lastChild - ? fragment.lastChild - : fragment, false, false); - if (insertCursorAfter) { - if (lastChild) { - this.setCursorAfter(lastChild); - } - else { - this.setCursorIn(fragment); - } - } - this.j.__imdSynchronizeValues(); - } - insertImage(url, styles = null, defaultWidth = null) { - const image = (0,helpers.isString)(url) ? this.j.createInside.element('img') : url; - if ((0,helpers.isString)(url)) { - image.setAttribute('src', url); - } - if (defaultWidth != null) { - let dw = defaultWidth.toString(); - if (dw && - 'auto' !== dw && - String(dw).indexOf('px') < 0 && - String(dw).indexOf('%') < 0) { - dw += 'px'; - } - (0,helpers.call)(this.j.o.resizer.forImageChangeAttributes ? helpers.attr : helpers.css, image, 'width', dw); - } - if (styles && typeof styles === 'object') { - (0,helpers.css)(image, styles); - } - const onload = () => { - if (image.naturalHeight < image.offsetHeight || - image.naturalWidth < image.offsetWidth) { - image.style.width = ''; - image.style.height = ''; - } - image.removeEventListener('load', onload); - }; - this.j.e.on(image, 'load', onload); - if (image.complete) { - onload(); - } - this.insertNode(image); - this.j.e.fire('afterInsertImage', image); - } - eachSelection(callback) { - var _a; - const sel = this.sel; - if (sel && sel.rangeCount) { - const range = sel.getRangeAt(0); - let root = range.commonAncestorContainer; - if (!dom/* Dom.isHTMLElement */.i.isHTMLElement(root)) { - root = root.parentElement; - } - const nodes = [], startOffset = range.startOffset, length = root.childNodes.length, elementOffset = startOffset < length ? startOffset : length - 1; - let start = range.startContainer === this.area - ? root.childNodes[elementOffset] - : range.startContainer, end = range.endContainer === this.area - ? root.childNodes[range.endOffset - 1] - : range.endContainer; - if (dom/* Dom.isText */.i.isText(start) && - start === range.startContainer && - range.startOffset === ((_a = start.nodeValue) === null || _a === void 0 ? void 0 : _a.length) && - start.nextSibling) { - start = start.nextSibling; - } - if (dom/* Dom.isText */.i.isText(end) && - end === range.endContainer && - range.endOffset === 0 && - end.previousSibling) { - end = end.previousSibling; - } - const checkElm = (node) => { - if (node && - node !== root && - !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node) && - !Select.isMarker(node)) { - nodes.push(node); - } - }; - checkElm(start); - if (start !== end && dom/* Dom.isOrContains */.i.isOrContains(root, start, true)) { - dom/* Dom.find */.i.find(start, node => { - checkElm(node); - return (node === end || - (node && node.contains && node.contains(end))); - }, root, true, false); - } - const forEvery = (current) => { - if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, current, true)) { - return; - } - if (current.nodeName.match(/^(UL|OL)$/)) { - return (0,helpers.toArray)(current.childNodes).forEach(forEvery); - } - if (dom/* Dom.isTag */.i.isTag(current, 'li')) { - if (current.firstChild) { - current = current.firstChild; - } - else { - const currentB = this.j.createInside.text(constants.INVISIBLE_SPACE); - current.appendChild(currentB); - current = currentB; - } - } - callback(current); - }; - if (nodes.length === 0 && dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(start)) { - nodes.push(start); - } - if (nodes.length === 0 && start.firstChild) { - nodes.push(start.firstChild); - } - nodes.forEach(forEvery); - } - } - cursorInTheEdge(start, parentBlock) { - var _a, _b; - const end = !start, range = (_a = this.sel) === null || _a === void 0 ? void 0 : _a.getRangeAt(0), current = this.current(false); - if (!range || - !current || - !dom/* Dom.isOrContains */.i.isOrContains(parentBlock, current, true)) { - return null; - } - const container = start ? range.startContainer : range.endContainer; - const offset = start ? range.startOffset : range.endOffset; - const check = (elm) => Boolean(elm && !dom/* Dom.isTag */.i.isTag(elm, 'br') && !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm)); - if (dom/* Dom.isText */.i.isText(container)) { - const text = ((_b = container.nodeValue) === null || _b === void 0 ? void 0 : _b.length) ? container.nodeValue : ''; - if (end && text.replace((0,constants.INVISIBLE_SPACE_REG_EXP_END)(), '').length > offset) { - return false; - } - const inv = (0,constants.INVISIBLE_SPACE_REG_EXP_START)().exec(text); - if (start && - ((inv && inv[0].length < offset) || (!inv && offset > 0))) { - return false; - } - } - else { - const children = (0,helpers.toArray)(container.childNodes); - if (end) { - if (children.slice(offset).some(check)) { - return false; - } - } - else { - if (children.slice(0, offset).some(check)) { - return false; - } - } - } - return !(0,helpers.call)(start ? dom/* Dom.prev */.i.prev : dom/* Dom.next */.i.next, current, check, parentBlock); - } - cursorOnTheLeft(parentBlock) { - return this.cursorInTheEdge(true, parentBlock); + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.detach */ .i.detach(this.icon); + const iconElement = jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon.makeIcon */ .J.makeIcon(this.j, this.state.icon); + iconElement && this.icon.appendChild(iconElement); } - cursorOnTheRight(parentBlock) { - return this.cursorInTheEdge(false, parentBlock); + focus() { + this.container.focus(); } - setCursorAfter(node) { - return this.setCursorNearWith(node, false); + isFocused() { + const { activeElement } = this.od; + return Boolean(activeElement && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isOrContains */ .i.isOrContains(this.container, activeElement)); } - setCursorBefore(node) { - return this.setCursorNearWith(node, true); + createContainer() { + const cn = this.componentName; + const button = this.j.c.element('button', { + class: cn, + type: 'button', + role: 'button', + ariaPressed: false + }); + this.icon = this.j.c.span(cn + '__icon'); + this.text = this.j.c.span(cn + '__text'); + button.appendChild(this.icon); + button.appendChild(this.text); + this.j.e.on(button, 'click', this.onActionFire); + return button; } - setCursorNearWith(node, inStart) { - var _a, _b; - this.errorNode(node); - if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { - throw (0,helpers.error)('Node element must be in editor'); - } - const range = this.createRange(); - let fakeNode = null; - if (!dom/* Dom.isText */.i.isText(node)) { - fakeNode = this.j.createInside.text(constants.INVISIBLE_SPACE); - inStart ? range.setStartBefore(node) : range.setEndAfter(node); - range.collapse(inStart); - dom/* Dom.safeInsertNode */.i.safeInsertNode(range, fakeNode); - range.selectNode(fakeNode); - } - else { - if (inStart) { - range.setStart(node, 0); - } - else { - range.setEnd(node, (_b = (_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0); - } + constructor(jodit, state) { + super(jodit); + this.isButton = true; + this.state = UIButtonState(); + this.actionHandlers = []; + this.updateSize(); + this.onChangeSize(); + this.onChangeStatus(); + if (state) { + this.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_6__/* .STATUSES.ready */ .n.ready, () => { + this.setState(state); + }); } - range.collapse(inStart); - this.selectRange(range); - return fakeNode; } - setCursorIn(node, inStart = false) { - this.errorNode(node); - if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { - throw (0,helpers.error)('Node element must be in editor'); - } - const range = this.createRange(); - let start = node, last = node; - do { - if (dom/* Dom.isText */.i.isText(start)) { - break; - } - last = start; - start = inStart ? start.firstChild : start.lastChild; - } while (start); - if (!start) { - const fakeNode = this.j.createInside.text(constants.INVISIBLE_SPACE); - if (!/^(img|br|input)$/i.test(last.nodeName)) { - last.appendChild(fakeNode); - last = fakeNode; - } - else { - start = last; - } - } - range.selectNodeContents(start || last); - range.collapse(inStart); - this.selectRange(range); - return last; + destruct() { + this.j.e.off(this.container); + return super.destruct(); } - selectRange(range, focus = true) { - const sel = this.sel; - if (focus && !this.isFocused()) { - this.focus(); - } - if (sel) { - sel.removeAllRanges(); - sel.addRange(range); - } - this.j.e.fire('changeSelection'); + onAction(callback) { + this.actionHandlers.push(callback); return this; } - select(node, inward = false) { - this.errorNode(node); - if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { - throw (0,helpers.error)('Node element must be in editor'); - } - const range = this.createRange(); - range[inward ? 'selectNodeContents' : 'selectNode'](node); - return this.selectRange(range); - } - get html() { - const sel = this.sel; - if (sel && sel.rangeCount > 0) { - const range = sel.getRangeAt(0); - const clonedSelection = range.cloneContents(); - const div = this.j.createInside.div(); - div.appendChild(clonedSelection); - return div.innerHTML; - } - return ''; + onActionFire(e) { + e.buffer = { + actionTrigger: this + }; + this.actionHandlers.forEach(callback => callback.call(this, e)); } - *wrapInTagGen() { - if (this.isCollapsed()) { - const font = this.jodit.createInside.element('font', constants.INVISIBLE_SPACE); - this.insertNode(font, false, false); - const [marker] = this.markers; - if (marker) { - font.appendChild(marker); - } - else { - this.setCursorIn(font); - this.save(); - } - yield font; - dom/* Dom.unwrap */.i.unwrap(font); - return; - } - (0,helpers.$$)('*[style*=font-size]', this.area).forEach(elm => (0,helpers.attr)(elm, 'data-font-size', elm.style.fontSize.toString())); - if (!this.isCollapsed()) { - this.j.nativeExecCommand('fontsize', false, '7'); - } - else { - const font = this.j.createInside.element('font'); - (0,helpers.attr)(font, 'size', 7); - this.insertNode(font, false, false); +}; +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.size') +], UIButton.prototype, "onChangeSize", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.type') +], UIButton.prototype, "onChangeType", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('parentElement') +], UIButton.prototype, "updateSize", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.variant') +], UIButton.prototype, "onChangeStatus", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.text') +], UIButton.prototype, "onChangeText", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.text') +], UIButton.prototype, "onChangeTextSetMode", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.disabled') +], UIButton.prototype, "onChangeDisabled", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.activated') +], UIButton.prototype, "onChangeActivated", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.name') +], UIButton.prototype, "onChangeName", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.tooltip') +], UIButton.prototype, "onChangeTooltip", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.tabIndex') +], UIButton.prototype, "onChangeTabIndex", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.icon') +], UIButton.prototype, "onChangeIcon", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind +], UIButton.prototype, "onActionFire", null); +UIButton = (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.component +], UIButton); + +function Button(jodit, stateOrText, text, variant) { + const button = new UIButton(jodit); + button.state.tabIndex = jodit.o.allowTabNavigation ? 0 : -1; + if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_9__/* .isString */ .H)(stateOrText)) { + button.state.icon.name = stateOrText; + button.state.name = stateOrText; + if (variant) { + button.state.variant = variant; } - (0,helpers.$$)('*[data-font-size]', this.area).forEach(elm => { - const fontSize = (0,helpers.attr)(elm, 'data-font-size'); - if (fontSize) { - elm.style.fontSize = fontSize; - (0,helpers.attr)(elm, 'data-font-size', null); - } - }); - const elms = (0,helpers.$$)('font[size="7"]', this.area); - for (const font of elms) { - const { firstChild, lastChild } = font; - if (firstChild && - firstChild === lastChild && - Select.isMarker(firstChild)) { - dom/* Dom.unwrap */.i.unwrap(font); - continue; - } - if (firstChild && Select.isMarker(firstChild)) { - dom/* Dom.before */.i.before(font, firstChild); - } - if (lastChild && Select.isMarker(lastChild)) { - dom/* Dom.after */.i.after(font, lastChild); - } - yield font; - dom/* Dom.unwrap */.i.unwrap(font); + if (text) { + button.state.text = text; } } - wrapInTag(tagOrCallback) { - const result = []; - for (const font of this.wrapInTagGen()) { - try { - if (font.firstChild && - font.firstChild === font.lastChild && - Select.isMarker(font.firstChild)) { - continue; - } - if ((0,helpers.isFunction)(tagOrCallback)) { - tagOrCallback(font); - } - else { - result.push(dom/* Dom.replace */.i.replace(font, tagOrCallback, this.j.createInside)); - } + else { + button.setState(stateOrText); + } + return button; +} + + +/***/ }), + +/***/ 55310: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "zx": function() { return /* reexport */ button_button/* Button */.zx; }, + "y3": function() { return /* reexport */ button_button/* UIButton */.y3; }, + "Yc": function() { return /* reexport */ button_button/* UIButtonState */.Yc; }, + "Ne": function() { return /* reexport */ UITooltip; } +}); + +// UNUSED EXPORTS: UIButtonGroup + +// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts +var button_button = __webpack_require__(96031); +// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js +var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/core/ui/group/group.ts +var group = __webpack_require__(61479); +// EXTERNAL MODULE: ./src/core/decorators/component/component.ts +var component = __webpack_require__(11441); +// EXTERNAL MODULE: external "{assert(){}};" +var external_assert_ = __webpack_require__(52378); +;// CONCATENATED MODULE: ./src/core/ui/button/group/group.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + + +let UIButtonGroup = class UIButtonGroup extends group/* UIGroup */.q { + className() { + return 'UIButtonGroup'; + } + render(options) { + return `
+
~${options.label}~
+
+
`; + } + appendChildToContainer(childContainer) { + const options = this.getElm('options'); + void 0; + options.appendChild(childContainer); + } + constructor(jodit, options = { + radio: true + }) { + var _a, _b; + super(jodit, (_a = options.options) === null || _a === void 0 ? void 0 : _a.map(opt => { + const btn = new button_button/* UIButton */.y3(jodit, { + text: opt.text, + value: opt.value, + variant: 'primary' + }); + btn.onAction(() => { + this.select(opt.value); + }); + return btn; + }), options); + this.options = options; + this.select((_b = options.value) !== null && _b !== void 0 ? _b : 0); + } + select(indexOrValue) { + var _a, _b; + this.elements.forEach((elm, index) => { + if (index === indexOrValue || elm.state.value === indexOrValue) { + elm.state.activated = true; } - finally { - const pn = font.parentNode; - if (pn) { - dom/* Dom.unwrap */.i.unwrap(font); - if (dom/* Dom.isEmpty */.i.isEmpty(pn)) { - dom/* Dom.unwrap */.i.unwrap(pn); - } - } + else if (this.options.radio) { + elm.state.activated = false; } - } - return result; - } - applyStyle(style, options = {}) { - const styleElm = new CommitStyle({ - style, - element: options.element, - className: options.className, - defaultTag: options.defaultTag }); - styleElm.apply(this.j); + const result = this.elements + .filter(elm => elm.state.activated) + .map(elm => ({ + text: elm.state.text, + value: elm.state.value + })); + this.jodit.e.fire(this, 'select', result); + (_b = (_a = this.options).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, result); } - splitSelection(currentBox) { - if (!this.isCollapsed()) { - return null; - } - const leftRange = this.createRange(); - const range = this.range; - leftRange.setStartBefore(currentBox); - const cursorOnTheRight = this.cursorOnTheRight(currentBox); - const cursorOnTheLeft = this.cursorOnTheLeft(currentBox); - const br = this.j.createInside.element('br'), prevFake = this.j.createInside.text(constants.INVISIBLE_SPACE), nextFake = prevFake.cloneNode(); - try { - if (cursorOnTheRight || cursorOnTheLeft) { - dom/* Dom.safeInsertNode */.i.safeInsertNode(range, br); - const clearBR = (start, getNext) => { - let next = getNext(start); - while (next) { - const nextSib = getNext(next); - if (next && - (dom/* Dom.isTag */.i.isTag(next, 'br') || dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(next))) { - dom/* Dom.safeRemove */.i.safeRemove(next); - } - else { - break; - } - next = nextSib; - } - }; - clearBR(br, (n) => n.nextSibling); - clearBR(br, (n) => n.previousSibling); - dom/* Dom.after */.i.after(br, nextFake); - dom/* Dom.before */.i.before(br, prevFake); - if (cursorOnTheRight) { - leftRange.setEndBefore(br); - range.setEndBefore(br); - } - else { - leftRange.setEndAfter(br); - range.setEndAfter(br); - } - } - else { - leftRange.setEnd(range.startContainer, range.startOffset); - } - const fragment = leftRange.extractContents(); - const clearEmpties = (node) => dom/* Dom.each */.i.each(node, node => dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node) && dom/* Dom.safeRemove */.i.safeRemove(node)); - if (currentBox.parentNode) { - try { - clearEmpties(fragment); - clearEmpties(currentBox); - currentBox.parentNode.insertBefore(fragment, currentBox); - if (cursorOnTheRight && (br === null || br === void 0 ? void 0 : br.parentNode)) { - const range = this.createRange(); - range.setStartBefore(br); - this.selectRange(range); - } - } - catch (e) { - if (false) {} - } - } - const fillFakeParent = (fake) => { - var _a, _b, _c; - if (((_a = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === ((_b = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _b === void 0 ? void 0 : _b.lastChild)) { - (_c = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _c === void 0 ? void 0 : _c.appendChild(br.cloneNode()); - } - }; - fillFakeParent(prevFake); - fillFakeParent(nextFake); - } - finally { - dom/* Dom.safeRemove */.i.safeRemove(prevFake); - dom/* Dom.safeRemove */.i.safeRemove(nextFake); - } - return currentBox.previousElementSibling; +}; +UIButtonGroup = (0,tslib_es6/* __decorate */.gn)([ + component/* component */.w +], UIButtonGroup); + + +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +// EXTERNAL MODULE: ./src/core/global.ts +var global = __webpack_require__(17332); +// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules +var decorators = __webpack_require__(67493); +// EXTERNAL MODULE: ./src/core/ui/element.ts +var ui_element = __webpack_require__(53929); +;// CONCATENATED MODULE: ./src/core/ui/button/tooltip/tooltip.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + + +class UITooltip extends ui_element/* UIElement */.u { + className() { + return 'UITooltip'; } - expandSelection() { - if (this.isCollapsed()) { - return this; + constructor(view) { + super(view); + this.__isOpened = false; + this.__useCount = 1; + this.__delayShowTimeout = 0; + (0,global/* getContainer */.ZO)(view, UITooltip).appendChild(this.container); + let timeout = 0; + view.e + .off('.tooltip') + .on('showTooltip.tooltip', (getPoint, content) => { + view.async.clearTimeout(timeout); + this.__open(getPoint, content); + }) + .on('delayShowTooltip.tooltip', this.__delayOpen) + .on('escape.tooltip', this.__close) + .on('hideTooltip.tooltip change.tooltip scroll.tooltip changePlace.tooltip hidePopup.tooltip closeAllPopups.tooltip', () => { + this.j.async.clearTimeout(this.__delayShowTimeout); + timeout = view.async.setTimeout(this.__close, this.j.defaultTimeout); + }); + } + static make(view) { + let instance = (0,helpers.dataBind)(view, 'ui-tooltip'); + if (instance) { + instance.__useCount += 1; + return instance; } - const { range } = this, c = range.cloneRange(); - if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, range.commonAncestorContainer, true)) { - return this; + instance = new UITooltip(view); + (0,helpers.dataBind)(view, 'ui-tooltip', instance); + return instance; + } + __delayOpen(getPoint, content) { + const to = this.j.o.showTooltipDelay || this.j.defaultTimeout; + this.j.async.clearTimeout(this.__delayShowTimeout); + this.__delayShowTimeout = this.j.async.setTimeout(() => this.__open(getPoint, content), { + timeout: to, + label: 'tooltip' + }); + } + __open(getPoint, content) { + this.setMod('visible', true); + this.container.innerHTML = content; + this.__isOpened = true; + this.__setPosition(getPoint); + } + __setPosition(getPoint) { + const point = getPoint(); + (0,helpers.css)(this.container, { + left: point.x, + top: point.y + }); + } + __close() { + this.j.async.clearTimeout(this.__delayShowTimeout); + if (this.__isOpened) { + this.__isOpened = false; + this.setMod('visible', false); + (0,helpers.css)(this.container, { + left: -5000 + }); } - const moveMaxEdgeFake = (start) => { - const fake = this.j.createInside.fake(); - const r = range.cloneRange(); - r.collapse(start); - dom/* Dom.safeInsertNode */.i.safeInsertNode(r, fake); - (0,selection_helpers/* moveTheNodeAlongTheEdgeOutward */.f)(fake, start, this.j.editor); - return fake; - }; - const leftFake = moveMaxEdgeFake(true); - const rightFake = moveMaxEdgeFake(false); - c.setStartAfter(leftFake); - c.setEndBefore(rightFake); - const leftBox = dom/* Dom.findSibling */.i.findSibling(leftFake, false); - const rightBox = dom/* Dom.findSibling */.i.findSibling(rightFake, true); - if (leftBox !== rightBox) { - const rightInsideLeft = dom/* Dom.isElement */.i.isElement(leftBox) && - dom/* Dom.isOrContains */.i.isOrContains(leftBox, rightFake), leftInsideRight = !rightInsideLeft && - dom/* Dom.isElement */.i.isElement(rightBox) && - dom/* Dom.isOrContains */.i.isOrContains(rightBox, leftFake); - if (rightInsideLeft || leftInsideRight) { - let child = (rightInsideLeft ? leftBox : rightBox), container = child; - while (dom/* Dom.isElement */.i.isElement(child)) { - child = rightInsideLeft - ? child.firstElementChild - : child.lastElementChild; - if (child) { - const isInside = rightInsideLeft - ? dom/* Dom.isOrContains */.i.isOrContains(child, rightFake) - : dom/* Dom.isOrContains */.i.isOrContains(child, leftFake); - if (isInside) { - container = child; - } - } - } - if (rightInsideLeft) { - c.setStart(container, 0); - } - else { - c.setEnd(container, container.childNodes.length); - } - } + } + destruct() { + var _a; + this.__useCount--; + if (!this.__useCount) { + (_a = this.j) === null || _a === void 0 ? void 0 : _a.e.off('.tooltip'); + this.__close(); + super.destruct(); } - this.selectRange(c); - dom/* Dom.safeRemove */.i.safeRemove(leftFake, rightFake); - return this; } } (0,tslib_es6/* __decorate */.gn)([ decorators.autobind -], Select.prototype, "createRange", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Select.prototype, "focus", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Select.prototype, "setCursorAfter", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Select.prototype, "setCursorBefore", null); +], UITooltip.prototype, "__delayOpen", null); (0,tslib_es6/* __decorate */.gn)([ decorators.autobind -], Select.prototype, "setCursorIn", null); +], UITooltip.prototype, "__close", null); -;// CONCATENATED MODULE: ./src/core/selection/style/api/extract.ts +;// CONCATENATED MODULE: ./src/core/ui/button/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9075,211 +8893,247 @@ class Select { -function extractSelectedPart(wrapper, font, jodit) { - const range = jodit.s.createRange(); - const leftEdge = Select.isMarker(font.previousSibling) - ? font.previousSibling - : font; - range.setStartBefore(wrapper); - range.setEndBefore(leftEdge); - extractAndMove(wrapper, range, true); - const rightEdge = Select.isMarker(font.nextSibling) - ? font.nextSibling - : font; - range.setStartAfter(rightEdge); - range.setEndAfter(wrapper); - extractAndMove(wrapper, range, false); -} -function extractAndMove(wrapper, range, left) { - const fragment = range.extractContents(); - if ((!fragment.textContent || !(0,helpers.trim)(fragment.textContent).length) && - fragment.firstChild) { - dom/* Dom.unwrap */.i.unwrap(fragment.firstChild); - } - if (wrapper.parentNode) { - (0,helpers.call)(left ? dom/* Dom.before */.i.before : dom/* Dom.after */.i.after, wrapper, fragment); - } -} -;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle/toggle-ordered-list.ts + +/***/ }), + +/***/ 53929: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "u": function() { return /* binding */ UIElement; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90549); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(72452); +/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24421); +/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77904); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UIElement_1; -function toggleOrderedList(style, li, jodit, mode) { - if (!li) { - return mode; - } - const list = li.parentElement; - if (!list) { - return mode; - } - if (list.tagName.toLowerCase() !== style.element) { - const newList = dom/* Dom.replace */.i.replace(list, style.element, jodit.createInside); - toggleCSS(style, newList, jodit, mode); - return REPLACE; - } - if (toggleCSS(style, li.parentElement, jodit, INITIAL, true) === CHANGE) { - return toggleCSS(style, li.parentElement, jodit, mode); - } - extractSelectedPart(list, li, jodit); - dom/* Dom.unwrap */.i.unwrap(li.parentElement); - dom/* Dom.replace */.i.replace(li, jodit.o.enter, jodit.createInside); - return mode; -} - -// EXTERNAL MODULE: ./src/core/helpers/checker/is-void.ts -var is_void = __webpack_require__(62061); -;// CONCATENATED MODULE: ./src/core/selection/style/api/element-has-same-style.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -function elementHasSameStyle(elm, rules) { - return Boolean(!dom/* Dom.isTag */.i.isTag(elm, 'font') && - dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) && - Object.keys(rules).every(property => { - const value = (0,css/* css */.i)(elm, property, true); - return (!(0,is_void/* isVoid */.n)(value) && - value !== '' && - !(0,is_void/* isVoid */.n)(rules[property]) && - (0,normalize_css_value/* normalizeCssValue */.Z)(property, rules[property]) - .toString() - .toLowerCase() === value.toString().toLowerCase()); - })); -} -function elementHasSameStyleKeys(elm, rules) { - return Boolean(!dom/* Dom.isTag */.i.isTag(elm, 'font') && - dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) && - Object.keys(rules).every(property => !(0,is_void/* isVoid */.n)((0,css/* css */.i)(elm, property, true)))); -} -;// CONCATENATED MODULE: ./src/core/selection/style/api/finite-state-machine.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -class FiniteStateMachine { - constructor(state, transitions) { - this.state = state; - this.transitions = transitions; - this.subState = ''; - this.silent = true; +let UIElement = UIElement_1 = class UIElement extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent */ .Hr { + get parentElement() { + return this.__parentElement; } - setState(state, subState) { - this.state = state; - if (subState != null) { - this.subState = subState; + set parentElement(parentElement) { + this.__parentElement = parentElement; + if (parentElement) { + parentElement.hookStatus('beforeDestruct', () => this.destruct()); } + this.updateParentElement(this); } - getState() { - return this.state; + bubble(callback) { + let parent = this.parentElement; + while (parent) { + callback(parent); + parent = parent.parentElement; + } + return this; } - getSubState() { - return this.subState; + updateParentElement(target) { + var _a; + (_a = this.__parentElement) === null || _a === void 0 ? void 0 : _a.updateParentElement(target); + return this; } - disableSilent() { - this.silent = false; + get(chain, obj) { + return super.get(chain, obj) || this.getElm(chain); } - dispatch(actionName, ...attrs) { - const action = this.transitions[this.state][actionName]; - if (action) { - if (!this.silent) { - console.log('State: ' + this.state, 'Action: ' + actionName); + closest(type) { + const c = typeof type === 'object' + ? (pe) => pe === type + : (pe) => jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .Component.isInstanceOf */ .wA.isInstanceOf(pe, type); + let pe = this.__parentElement; + while (pe) { + if (c(pe)) { + return pe; } - const res = action.call(this, ...attrs); - if (!this.silent) { - console.log('State: ' + this.state); + if (!pe.parentElement && pe.container.parentElement) { + pe = UIElement_1.closestElement(pe.container.parentElement, UIElement_1); + } + else { + pe = pe.parentElement; } - return res; } - if (!this.silent) { - throw new Error('invalid action: ' + this.state + '.' + actionName); + return null; + } + static closestElement(node, type) { + const elm = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.up */ .i.up(node, elm => { + if (elm) { + const { component } = elm; + return component && jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .Component.isInstanceOf */ .wA.isInstanceOf(component, type); + } + return false; + }); + return elm ? elm === null || elm === void 0 ? void 0 : elm.component : null; + } + update() { + } + appendTo(element) { + element.appendChild(this.container); + return this; + } + clearName(name) { + return name.replace(/[^a-zA-Z0-9]/g, '_'); + } + render(options) { + return this.j.c.div(this.componentName); + } + createContainer(options) { + const result = this.render(options); + if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__/* .isString */ .H)(result)) { + const elm = this.parseTemplate(result); + elm.classList.add(this.componentName); + return elm; } - return; + return result; } -} + parseTemplate(result) { + return this.j.c.fromHTML(result + .replace(/\*([^*]+?)\*/g, (_, name) => jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon.get */ .J.get(name) || '') + .replace(/&__/g, this.componentName + '__') + .replace(/~([^~]+?)~/g, (_, s) => this.i18n(s))); + } + constructor(jodit, options) { + super(jodit); + this.name = ''; + this.__parentElement = null; + this.mods = {}; + this.container = this.createContainer(options); + Object.defineProperty(this.container, 'component', { + value: this, + configurable: true + }); + } + destruct() { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeRemove */ .i.safeRemove(this.container); + this.parentElement = null; + return super.destruct(); + } +}; +UIElement = UIElement_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.derive)(jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__/* .Mods */ .$t, jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__/* .Elms */ .Fx) +], UIElement); -;// CONCATENATED MODULE: ./src/core/selection/style/api/is-normal-node.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -function isNormalNode(elm) { - return Boolean(elm && - !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm) && - !dom/* Dom.isTemporary */.i.isTemporary(elm) && - !Select.isMarker(elm)); -} +/***/ }), -;// CONCATENATED MODULE: ./src/core/selection/style/api/is-suit-element.ts +/***/ 80567: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +"use strict"; +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "eC": function() { return /* reexport */ UIBlock; }, + "mA": function() { return /* reexport */ UICheckbox; }, + "x4": function() { return /* reexport */ UIForm; }, + "u3": function() { return /* reexport */ input/* UIInput */.u; }, + "Cj": function() { return /* reexport */ UISelect; }, + "GJ": function() { return /* reexport */ UITextArea; } +}); -function isSuitElement(commitStyle, elm, strict) { - if (!elm) { - return false; - } - const { element, elementIsDefault, options } = commitStyle; - const elmHasSameStyle = Boolean(options.style && elementHasSameStyle(elm, options.style)); - const elmIsSame = elm.nodeName.toLowerCase() === element || - (dom/* Dom.isTag */.i.isTag(elm, ['ul', 'ol']) && commitStyle.elementIsList); - if (((!elementIsDefault || !strict) && elmIsSame) || - (elmHasSameStyle && isNormalNode(elm))) { - return true; - } - return Boolean(!elmIsSame && !strict && elementIsDefault && dom/* Dom.isInlineBlock */.i.isInlineBlock(elm)); -} -function isSameStyleChild(commitStyle, elm) { - const { element, options } = commitStyle; - if (!elm || !isNormalNode(elm)) { - return false; - } - const elmIsSame = elm.nodeName.toLowerCase() === element; - const elmHasSameStyle = Boolean(options.style && elementHasSameStyleKeys(elm, options.style)); - return elmIsSame && elmHasSameStyle; -} +// UNUSED EXPORTS: UIFileInput -;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-child.ts +// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js +var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/core/ui/group/group.ts +var group = __webpack_require__(61479); +// EXTERNAL MODULE: ./src/core/ui/form/inputs/input/input.ts +var input = __webpack_require__(30194); +// EXTERNAL MODULE: ./src/core/helpers/utils/utils.ts +var utils = __webpack_require__(67309); +// EXTERNAL MODULE: ./src/core/decorators/component/component.ts +var component = __webpack_require__(11441); +// EXTERNAL MODULE: ./src/core/ui/form/validators/index.ts + 2 modules +var validators = __webpack_require__(49587); +;// CONCATENATED MODULE: ./src/core/ui/form/inputs/select/select.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UISelect_1; -function getSuitChild(style, font) { - let { firstChild: child } = font; - while (child && !isNormalNode(child)) { - child = child.nextSibling; - if (!child) { - return null; + + + +let UISelect = UISelect_1 = class UISelect extends input/* UIInput */.u { + className() { + return 'UISelect'; + } + createContainer(state) { + var _a; + const container = super.createContainer(state); + const { j } = this, { nativeInput } = this; + const opt = () => j.create.element('option'); + if (state.placeholder !== undefined) { + const option = opt(); + option.value = ''; + option.text = j.i18n(state.placeholder); + nativeInput.add(option); + } + (_a = state.options) === null || _a === void 0 ? void 0 : _a.forEach(element => { + const option = opt(); + option.value = element.value.toString(); + option.text = j.i18n(element.text); + nativeInput.add(option); + }); + if (state.size && state.size > 0) { + (0,utils/* attr */.Lj)(nativeInput, 'size', state.size); + } + if (state.multiple) { + (0,utils/* attr */.Lj)(nativeInput, 'multiple', ''); } + return container; } - if (child && - !dom/* Dom.next */.i.next(child, isNormalNode, font) && - isSuitElement(style, child, false)) { - return child; + createNativeInput() { + return this.j.create.element('select'); } - return null; -} + updateValidators() { + super.updateValidators(); + if (this.state.required) { + this.validators.delete(validators/* inputValidators.required */.g.required); + this.validators.add(validators/* selectValidators.required */.s.C); + } + } + constructor(jodit, state) { + super(jodit, state); + this.state = { ...UISelect_1.defaultState }; + Object.assign(this.state, state); + } +}; +UISelect.defaultState = { + ...input/* UIInput.defaultState */.u.defaultState, + options: [], + size: 1, + multiple: false +}; +UISelect = UISelect_1 = (0,tslib_es6/* __decorate */.gn)([ + component/* component */.w +], UISelect); -;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-parent.ts + +// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts +var helpers_utils = __webpack_require__(76502); +// EXTERNAL MODULE: ./src/core/component/component.ts +var component_component = __webpack_require__(45113); +;// CONCATENATED MODULE: ./src/core/ui/form/form.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9288,192 +9142,190 @@ function getSuitChild(style, font) { -function getSuitParent(style, node, root) { - const { parentNode } = node; - if (parentNode === root || - !dom/* Dom.isHTMLElement */.i.isHTMLElement(parentNode) || - dom/* Dom.next */.i.next(node, isNormalNode, parentNode) || - dom/* Dom.prev */.i.prev(node, isNormalNode, parentNode)) { - return null; - } - if (style.isElementCommit && - style.elementIsBlock && - !dom/* Dom.isBlock */.i.isBlock(parentNode)) { - return getSuitParent(style, parentNode, root); - } - if (isSuitElement(style, parentNode, false) && - (!dom/* Dom.isBlock */.i.isBlock(parentNode) || style.elementIsBlock)) { - return parentNode; - } - if (style.isElementCommit && !dom/* Dom.isBlock */.i.isBlock(parentNode)) { - return getSuitParent(style, parentNode, root); - } - return null; -} -;// CONCATENATED MODULE: ./src/core/selection/style/api/is-inside-invisible-element.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -function isInsideInvisibleElement(font, root) { - return Boolean(dom/* Dom.closest */.i.closest(font, ['style', 'script'], root)); -} -;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle-commit-styles.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -function toggleCommitStyles(commitStyle, elm, jodit) { - if (commitStyle.elementIsBlock || - (dom/* Dom.isTag */.i.isTag(elm, commitStyle.element) && !commitStyle.elementIsDefault)) { - if (elm.getAttribute('style')) { - dom/* Dom.replace */.i.replace(elm, commitStyle.defaultTag, jodit.createInside, true); +let UIForm = class UIForm extends group/* UIGroup */.q { + className() { + return 'UIForm'; + } + submit() { + this.j.e.fire(this.container, 'submit'); + } + validate() { + const inputs = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, input/* UIInput */.u)); + for (const input of inputs) { + if (!input.validate()) { + return false; + } } - else { - dom/* Dom.unwrap */.i.unwrap(elm); + const selects = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, UISelect)); + for (const select of selects) { + if (!select.validate()) { + return false; + } } return true; } - return false; -} + onSubmit(handler) { + this.j.e.on(this.container, 'submit', () => { + const inputs = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, input/* UIInput */.u)); + if (!this.validate()) { + return false; + } + handler(inputs.reduce((res, item) => { + res[item.state.name] = item.value; + return res; + }, {})); + return false; + }); + } + createContainer() { + const form = this.j.c.element('form'); + form.classList.add(this.componentName); + (0,helpers_utils.attr)(form, 'dir', this.j.o.direction || 'auto'); + return form; + } + constructor(...args) { + var _a, _b; + super(...args); + if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.className) { + this.container.classList.add((_b = this.options) === null || _b === void 0 ? void 0 : _b.className); + } + } +}; +UIForm = (0,tslib_es6/* __decorate */.gn)([ + component/* component */.w +], UIForm); -;// CONCATENATED MODULE: ./src/core/selection/style/api/unwrap-children.ts + +;// CONCATENATED MODULE: ./src/core/ui/form/inputs/area/area.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UITextArea_1; -function unwrapChildren(style, font) { - const needUnwrap = []; - const needChangeStyle = []; - let firstElementSuit; - const cssStyle = style.options.style; - if (font.firstChild) { - const gen = dom/* Dom.eachGen */.i.eachGen(font); - let item = gen.next(); - while (!item.done) { - const elm = item.value; - if (isSuitElement(style, elm, true) && - (!cssStyle || elementHasSameStyleKeys(elm, cssStyle))) { - if (firstElementSuit === undefined) { - firstElementSuit = true; - } - needUnwrap.push(elm); - } - else if (cssStyle && isSameStyleChild(style, elm)) { - if (firstElementSuit === undefined) { - firstElementSuit = false; - } - needChangeStyle.push(() => { - (0,helpers.css)(elm, Object.keys(cssStyle).reduce((acc, key) => { - acc[key] = null; - return acc; - }, {})); - if (!(0,helpers.attr)(elm, 'style')) { - (0,helpers.attr)(elm, 'style', null); - } - if (!(0,helpers.attr)(elm, 'style') && - elm.nodeName.toLowerCase() === style.element) { - needUnwrap.push(elm); - } - }); - } - else if (!dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm)) { - if (firstElementSuit === undefined) { - firstElementSuit = false; - } - } - item = gen.next(); +let UITextArea = UITextArea_1 = class UITextArea extends input/* UIInput */.u { + className() { + return 'UITextArea'; + } + createContainer(options) { + this.nativeInput = this.j.create.element('textarea'); + return super.createContainer(options); + } + constructor(jodit, state) { + super(jodit, state); + this.state = { ...UITextArea_1.defaultState }; + Object.assign(this.state, state); + if (this.state.resizable === false) { + this.nativeInput.style.resize = 'none'; } } - needChangeStyle.forEach(clb => clb()); - needUnwrap.forEach(dom/* Dom.unwrap */.i.unwrap); - return Boolean(firstElementSuit); -} +}; +UITextArea.defaultState = { + ...input/* UIInput.defaultState */.u.defaultState, + size: 5, + resizable: true +}; +UITextArea = UITextArea_1 = (0,tslib_es6/* __decorate */.gn)([ + component/* component */.w +], UITextArea); -;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-unwrapped-text.ts + +// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules +var decorators = __webpack_require__(67493); +// EXTERNAL MODULE: ./src/core/dom/dom.ts +var dom = __webpack_require__(24263); +;// CONCATENATED MODULE: ./src/core/ui/form/inputs/checkbox/checkbox.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UICheckbox_1; -function wrapUnwrappedText(style, elm, jodit, getRange) { - const root = jodit.editor, ci = jodit.createInside, edge = (n, key = 'previousSibling') => { - let edgeNode = n, node = n; - while (node) { - if (dom/* Dom.isTag */.i.isTag(node, jodit.o.enter)) { - break; - } - edgeNode = node; - if (node[key]) { - node = node[key]; - } - else { - node = - node.parentNode && - !dom/* Dom.isBlock */.i.isBlock(node.parentNode) && - node.parentNode !== root - ? node.parentNode - : null; - } - if (dom/* Dom.isBlock */.i.isBlock(node)) { - break; + + + + +let UICheckbox = UICheckbox_1 = class UICheckbox extends input/* UIInput */.u { + className() { + return 'UICheckbox'; + } + render() { + return this.j.c.element('label', { + className: this.componentName + }); + } + constructor(jodit, options) { + super(jodit, { ...options, type: 'checkbox' }); + this.state = { ...UICheckbox_1.defaultState }; + Object.assign(this.state, options); + } + onChangeChecked() { + this.value = this.state.checked.toString(); + this.nativeInput.checked = this.state.checked; + this.setMod('checked', this.state.checked); + } + onChangeNativeCheckBox() { + this.state.checked = this.nativeInput.checked; + } + onChangeSwitch() { + this.setMod('switch', this.state.switch); + let slider = this.getElm('switch-slider'); + if (this.state.switch) { + if (!slider) { + slider = this.j.c.div(this.getFullElName('switch-slider')); } + dom/* Dom.after */.i.after(this.nativeInput, slider); } - return edgeNode; - }; - const start = edge(elm), end = edge(elm, 'nextSibling'); - const range = getRange(); - range.setStartBefore(start); - range.setEndAfter(end); - const fragment = range.extractContents(); - const wrapper = ci.element(style.element); - wrapper.appendChild(fragment); - dom/* Dom.safeInsertNode */.i.safeInsertNode(range, wrapper); - if (style.elementIsBlock) { - if (dom/* Dom.isEmpty */.i.isEmpty(wrapper) && - !dom/* Dom.isTag */.i.isTag(wrapper.firstElementChild, 'br')) { - wrapper.appendChild(ci.element('br')); + else { + dom/* Dom.safeRemove */.i.safeRemove(slider); } } - return wrapper; -} +}; +UICheckbox.defaultState = { + ...input/* UIInput.defaultState */.u.defaultState, + checked: false, + switch: false +}; +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.watch)('state.checked'), + (0,decorators.hook)('ready') +], UICheckbox.prototype, "onChangeChecked", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.watch)('nativeInput:change') +], UICheckbox.prototype, "onChangeNativeCheckBox", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.watch)('state.switch'), + (0,decorators.hook)('ready') +], UICheckbox.prototype, "onChangeSwitch", null); +UICheckbox = UICheckbox_1 = (0,tslib_es6/* __decorate */.gn)([ + decorators.component +], UICheckbox); + -;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-ordered-list.ts +// EXTERNAL MODULE: ./src/core/ui/form/inputs/file/file.ts +var file = __webpack_require__(41374); +;// CONCATENATED MODULE: ./src/core/ui/form/inputs/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -function wrapOrderedList(commitStyle, wrapper, jodit) { - const newWrapper = dom/* Dom.replace */.i.replace(wrapper, 'li', jodit.createInside); - let list = newWrapper.previousElementSibling || newWrapper.nextElementSibling; - if (!dom/* Dom.isTag */.i.isTag(list, ['ul', 'ol'])) { - list = jodit.createInside.element(commitStyle.element); - dom/* Dom.before */.i.before(newWrapper, list); - } - if (newWrapper.previousElementSibling === list) { - dom/* Dom.append */.i.append(list, newWrapper); - } - else { - dom/* Dom.prepend */.i.prepend(list, newWrapper); - } - return list; -} -;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-and-commit-style.ts + + + + +;// CONCATENATED MODULE: ./src/core/ui/form/block/block.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9483,37 +9335,31 @@ function wrapOrderedList(commitStyle, wrapper, jodit) { -function wrapAndCommitStyle(commitStyle, font, jodit) { - const wrapper = findOrCreateWrapper(commitStyle, font, jodit); - return commitStyle.elementIsList - ? wrapOrderedList(commitStyle, wrapper, jodit) - : dom/* Dom.replace */.i.replace(wrapper, commitStyle.element, jodit.createInside, true); -} -function findOrCreateWrapper(commitStyle, font, jodit) { - if (commitStyle.elementIsBlock) { - const box = dom/* Dom.up */.i.up(font, node => dom/* Dom.isBlock */.i.isBlock(node) && - !dom/* Dom.isTag */.i.isTag(node, [ - 'td', - 'th', - 'tr', - 'tbody', - 'table', - 'li', - 'ul', - 'ol' - ]), jodit.editor); - if (box) { - return box; - } + +let UIBlock = class UIBlock extends group/* UIGroup */.q { + className() { + return 'UIBlock'; } - if (commitStyle.elementIsBlock) { - return wrapUnwrappedText(commitStyle, font, jodit, jodit.s.createRange); + constructor(jodit, elements, options = { + align: 'left' + }) { + super(jodit, elements); + this.options = options; + this.setMod('align', this.options.align || 'left'); + this.setMod('width', this.options.width || ''); + this.options.mod && this.setMod(this.options.mod, true); + this.options.className && + this.container.classList.add(this.options.className); + (0,helpers_utils.attr)(this.container, 'data-ref', options.ref); + (0,helpers_utils.attr)(this.container, 'ref', options.ref); } - (0,helpers.attr)(font, 'size', null); - return font; -} +}; +UIBlock = (0,tslib_es6/* __decorate */.gn)([ + component/* component */.w +], UIBlock); -;// CONCATENATED MODULE: ./src/core/selection/style/api/index.ts + +;// CONCATENATED MODULE: ./src/core/ui/form/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9524,18 +9370,19 @@ function findOrCreateWrapper(commitStyle, font, jodit) { +/***/ }), +/***/ 41374: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - - - - - - - - - -;// CONCATENATED MODULE: ./src/core/selection/style/apply-style.ts +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "Z": function() { return /* binding */ UIFileInput; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30194); +/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11441); +/* harmony import */ var jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96031); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9546,399 +9393,312 @@ function findOrCreateWrapper(commitStyle, font, jodit) { -function ApplyStyle(jodit, cs) { - const { s: sel, editor } = jodit; - const fsm = new FiniteStateMachine('start', { - start: { - start() { - sel.save(); - (0,helpers.normalizeNode)(editor.firstChild); - this.setState('generator'); - } - }, - generator: { - initGenerator() { - return jodit.s.wrapInTagGen(); - }, - nextFont(gen) { - const font = gen.next(); - if (font.done) { - this.setState('end'); - return; - } - if (isInsideInvisibleElement(font.value, editor) || - dom/* Dom.isEmptyContent */.i.isEmptyContent(font.value)) { - return; - } - this.setState('check'); - return font.value; - } - }, - check: { - work(font) { - let elm = getSuitParent(cs, font, jodit.editor) || - getSuitChild(cs, font); - if (elm) { - this.setState('wholeElement'); - return elm; - } - elm = dom/* Dom.closest */.i.closest(font, node => isSuitElement(cs, node, true), jodit.editor); - if (elm) { - if (!cs.elementIsBlock) { - extractSelectedPart(elm, font, jodit); - } - } - if (cs.elementIsList && dom/* Dom.isTag */.i.isTag(elm, ['ul', 'ol'])) { - this.setState('orderList'); - return font; - } - if (elm) { - this.setState('wholeElement'); - return elm; - } - if (unwrapChildren(cs, font)) { - this.setState('endProcess'); - return null; - } - this.setState('wrap'); - return font; - } - }, - wholeElement: { - toggleStyles(toggleElm) { - let mode = INITIAL; - if (toggleCommitStyles(cs, toggleElm, jodit)) { - mode = UNWRAP; - } - else { - mode = toggleCSS(cs, toggleElm, jodit, mode); - } - this.setState('generator', mode); - } - }, - orderList: { - toggleStyles(font) { - let mode = INITIAL; - const li = dom/* Dom.closest */.i.closest(font, 'li', jodit.editor); - if (!li) { - this.setState('generator'); - return; - } - const ul = dom/* Dom.closest */.i.closest(font, ['ul', 'ol'], jodit.editor); - if (!ul) { - this.setState('generator'); - return; - } - mode = toggleOrderedList(cs, li, jodit, mode); - if (mode === REPLACE || mode === UNWRAP || mode === CHANGE) { - this.setState('endWhile'); - return; - } - this.setState('generator'); - } - }, - wrap: { - toggleStyles(font) { - if (this.getSubState() !== 'unwrap') { - const toggleElm = wrapAndCommitStyle(cs, font, jodit); - toggleCSS(cs, toggleElm, jodit, WRAP); - } - this.setState('generator'); - } - }, - endWhile: { - nextFont(gen) { - const font = gen.next(); - if (font.done) { - this.setState('end'); - } - } - }, - endProcess: { - toggleStyles() { - this.setState('generator'); - } - }, - end: { - finalize() { - sel.restore(); +let UIFileInput = class UIFileInput extends jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__/* .UIInput */ .u { + className() { + return 'UIFileInput'; + } + createContainer(options) { + this.button = new jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_1__/* .UIButton */ .y3(this.j, { + icon: { + name: 'plus' } + }); + const { container } = this.button; + if (!this.nativeInput) { + this.nativeInput = this.createNativeInput(options); } - }); - fsm.dispatch('start'); - const gen = fsm.dispatch('initGenerator'); - while (fsm.getState() !== 'end') { - const font = fsm.dispatch('nextFont', gen); - if (font) { - const wrapper = fsm.dispatch('work', font); - fsm.dispatch('toggleStyles', wrapper); - } + const { nativeInput } = this; + nativeInput.classList.add(this.getFullElName('input')); + container.classList.add(this.componentName); + container.appendChild(nativeInput); + return container; } - fsm.dispatch('finalize', gen); -} + createNativeInput(options) { + return this.j.create.fromHTML(``); + } + constructor(jodit, options) { + super(jodit, { + type: 'file', + ...options + }); + this.state = { + ...jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__/* .UIInput.defaultState */ .u.defaultState, + type: 'file', + onlyImages: true + }; + } +}; +UIFileInput = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .gn)([ + jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_3__/* .component */ .w +], UIFileInput); -;// CONCATENATED MODULE: ./src/core/selection/style/commit-style.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -const WRAP = 'wrap'; -const UNWRAP = 'unwrap'; -const CHANGE = 'change'; -const UNSET = 'unset'; -const INITIAL = 'initial'; -const REPLACE = 'replace'; -class CommitStyle { - constructor(options) { - this.options = options; - } - get elementIsList() { - return Boolean(this.options.element && ['ul', 'ol'].includes(this.options.element)); - } - get element() { - return this.options.element || this.defaultTag; - } - get elementIsBlock() { - return Boolean(this.options.element && constants.IS_BLOCK.test(this.options.element)); - } - get isElementCommit() { - return Boolean(this.options.element && - this.options.element !== this.options.defaultTag); - } - get defaultTag() { - if (this.options.defaultTag) { - return this.options.defaultTag; - } - return this.elementIsBlock ? 'p' : 'span'; - } - get elementIsDefault() { - return this.element === this.defaultTag; - } - apply(jodit) { - ApplyStyle(jodit, this); - } -} +/***/ }), -;// CONCATENATED MODULE: ./src/core/selection/index.ts +/***/ 30194: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "u": function() { return /* binding */ UIInput; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76502); +/* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1853); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77904); +/* harmony import */ var jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49587); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UIInput_1; -/***/ }), -/***/ 94707: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -"use strict"; -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "Ke": function() { return /* reexport */ Storage; } -}); -// UNUSED EXPORTS: LocalStorageProvider, MemoryStorageProvider, StorageKey, canUsePersistentStorage -;// CONCATENATED MODULE: ./src/core/storage/engines/local-storage-provider.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -const canUsePersistentStorage = (() => { - const canUse = () => { - const tmpKey = '___Jodit___' + Math.random().toString(); - try { - localStorage.setItem(tmpKey, '1'); - const result = localStorage.getItem(tmpKey) === '1'; - localStorage.removeItem(tmpKey); - return result; - } - catch (_a) { } - return false; - }; - let result; - return () => { - if (result === undefined) { - result = canUse(); - } - return result; - }; -})(); -class LocalStorageProvider { - constructor(rootKey) { - this.rootKey = rootKey; +let UIInput = UIInput_1 = class UIInput extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { + className() { + return 'UIInput'; } - set(key, value) { - try { - const buffer = localStorage.getItem(this.rootKey); - const json = buffer ? JSON.parse(buffer) : {}; - json[key] = value; - localStorage.setItem(this.rootKey, JSON.stringify(json)); + onChangeClear() { + if (this.state.clearButton) { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.after */ .i.after(this.nativeInput, this.clearButton); } - catch (_a) { } - return this; - } - delete(key) { - try { - localStorage.removeItem(this.rootKey); + else { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.clearButton); } - catch (_a) { } - return this; } - get(key) { - try { - const buffer = localStorage.getItem(this.rootKey); - const json = buffer ? JSON.parse(buffer) : {}; - return json[key] !== undefined ? json[key] : null; - } - catch (_a) { } + onChangeClassName(ignore, oldClassName) { + oldClassName && this.container.classList.remove(oldClassName); + this.state.className && + this.container.classList.add(this.state.className); } - exists(key) { - return this.get(key) != null; + onChangeState() { + this.name = this.state.name; + const input = this.nativeInput, { name, icon, type, ref, required, placeholder, autocomplete, label } = this.state; + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'name', name); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'type', type); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'data-ref', ref || name); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'ref', ref || name); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'required', required || null); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'autocomplete', !autocomplete ? 'off' : null); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'placeholder', placeholder ? this.j.i18n(placeholder) : ''); + if (icon && jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.exists */ .J.exists(icon)) { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.before */ .i.before(input, this.icon); + this.icon.innerHTML = jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.get */ .J.get(icon); + } + else { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.icon); + } + if (label) { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.before */ .i.before(this.wrapper, this.label); + this.label.innerText = this.j.i18n(label); + } + else { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.label); + } + this.updateValidators(); } - clear() { - try { - localStorage.removeItem(this.rootKey); + updateValidators() { + var _a; + this.validators.clear(); + if (this.state.required) { + this.validators.add(jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__/* .inputValidators.required */ .g.required); } - catch (_a) { } - return this; + (_a = this.state.validators) === null || _a === void 0 ? void 0 : _a.forEach(name => { + const validator = jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__/* .inputValidators */ .g[name]; + validator && this.validators.add(validator); + }); } -} - -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -;// CONCATENATED MODULE: ./src/core/storage/engines/memory-storage-provider.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -class MemoryStorageProvider { - constructor() { - this.data = new Map(); + set error(value) { + this.setMod('has-error', Boolean(value)); + if (!value) { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.__errorBox); + } + else { + this.__errorBox.innerText = this.j.i18n(value, this.j.i18n(this.state.label || '')); + this.container.appendChild(this.__errorBox); + } } - set(key, value) { - this.data.set(key, value); - return this; + get value() { + return this.nativeInput.value; } - delete(key) { - this.data.delete(key); - return this; + set value(value) { + if (this.value !== value) { + this.nativeInput.value = value; + this.onChangeValue(); + } } - get(key) { - return this.data.get(key); + onChangeStateValue() { + const value = this.state.value.toString(); + if (value !== this.value) { + this.value = value; + } } - exists(key) { - return this.data.has(key); + onChangeValue() { + var _a, _b; + const { value } = this; + if (this.state.value !== value) { + this.state.value = value; + this.j.e.fire(this, 'change', value); + (_b = (_a = this.state).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value); + } } - clear() { - this.data.clear(); - return this; + validate() { + this.error = ''; + return (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .q)(this.validators).every(validator => validator(this)); } -} - -;// CONCATENATED MODULE: ./src/core/storage/storage.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - -const StorageKey = 'Jodit_'; -class Storage { - constructor(provider, suffix) { - this.provider = provider; - this.prefix = StorageKey; - if (suffix) { - this.prefix += suffix; + createContainer(options) { + const container = super.createContainer(); + this.wrapper = this.j.c.div(this.getFullElName('wrapper')); + if (!this.nativeInput) { + this.nativeInput = this.createNativeInput(); } + const { nativeInput } = this; + nativeInput.classList.add(this.getFullElName('input')); + this.wrapper.appendChild(nativeInput); + container.appendChild(this.wrapper); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(nativeInput, 'dir', this.j.o.direction || 'auto'); + return container; } - set(key, value) { - this.provider.set((0,helpers.camelCase)(this.prefix + key), value); - return this; - } - delete(key) { - this.provider.delete((0,helpers.camelCase)(this.prefix + key)); - return this; + createNativeInput(options) { + return this.j.create.element('input'); } - get(key) { - return this.provider.get((0,helpers.camelCase)(this.prefix + key)); + constructor(jodit, options) { + super(jodit, options); + this.label = this.j.c.span(this.getFullElName('label')); + this.icon = this.j.c.span(this.getFullElName('icon')); + this.clearButton = this.j.c.span(this.getFullElName('clear'), jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.get */ .J.get('cancel')); + this.state = { ...UIInput_1.defaultState }; + this.__errorBox = this.j.c.span(this.getFullElName('error')); + this.validators = new Set([]); + if ((options === null || options === void 0 ? void 0 : options.value) !== undefined) { + options.value = options.value.toString(); + } + Object.assign(this.state, options); + if (this.state.clearButton !== undefined) { + this.j.e + .on(this.clearButton, 'click', (e) => { + e.preventDefault(); + this.nativeInput.value = ''; + this.j.e.fire(this.nativeInput, 'input'); + this.focus(); + }) + .on(this.nativeInput, 'input', () => { + this.state.clearButton = Boolean(this.value.length); + }); + this.state.clearButton = Boolean(this.value.length); + } + this.j.e + .on(this.nativeInput, 'focus blur', () => { + this.onChangeFocus(); + }) + .on(this.nativeInput, 'input change', this.onChangeValue); + this.onChangeState(); + this.onChangeClassName(); + this.onChangeStateValue(); } - exists(key) { - return this.provider.exists((0,helpers.camelCase)(this.prefix + key)); + focus() { + this.nativeInput.focus(); } - clear() { - this.provider.clear(); - return this; + get isFocused() { + return this.nativeInput === this.j.od.activeElement; } - static makeStorage(persistent = false, suffix) { - let provider; - if (persistent && canUsePersistentStorage()) { - provider = new LocalStorageProvider(StorageKey + suffix); - } - if (!provider) { - provider = new MemoryStorageProvider(); - } - return new Storage(provider, suffix); + onChangeFocus() { + this.setMod('focused', this.isFocused); } -} - -;// CONCATENATED MODULE: ./src/core/storage/index.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - +}; +UIInput.defaultState = { + className: '', + autocomplete: true, + name: '', + value: '', + icon: '', + label: '', + ref: '', + type: 'text', + placeholder: '', + required: false, + validators: [] +}; +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.clearButton') +], UIInput.prototype, "onChangeClear", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.className') +], UIInput.prototype, "onChangeClassName", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)([ + 'state.name', + 'state.type', + 'state.label', + 'state.placeholder', + 'state.autocomplete', + 'state.icon' + ]), + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.debounce)() +], UIInput.prototype, "onChangeState", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.value') +], UIInput.prototype, "onChangeStateValue", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind +], UIInput.prototype, "onChangeValue", null); +UIInput = UIInput_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.component +], UIInput); /***/ }), -/***/ 63711: +/***/ 49587: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { - "lf": function() { return /* reexport */ Dlgs; }, - "Fx": function() { return /* reexport */ Elms; }, - "$t": function() { return /* reexport */ Mods; } + "g": function() { return /* reexport */ input_namespaceObject; }, + "s": function() { return /* reexport */ select_namespaceObject; } }); -// EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts -var to_array = __webpack_require__(58260); -;// CONCATENATED MODULE: ./src/core/traits/elms.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ +// NAMESPACE OBJECT: ./src/core/ui/form/validators/input.ts +var input_namespaceObject = {}; +__webpack_require__.r(input_namespaceObject); +__webpack_require__.d(input_namespaceObject, { + "required": function() { return required; }, + "url": function() { return url; } +}); -class Elms { - getElm(elementName) { - return this.container.querySelector(`.${this.getFullElName(elementName)}`); - } - getElms(elementName) { - return (0,to_array/* toArray */.q)(this.container.querySelectorAll(`.${this.getFullElName(elementName)}`)); - } -} +// NAMESPACE OBJECT: ./src/core/ui/form/validators/select.ts +var select_namespaceObject = {}; +__webpack_require__.r(select_namespaceObject); +__webpack_require__.d(select_namespaceObject, { + "C": function() { return select_required; } +}); -// EXTERNAL MODULE: ./src/core/helpers/checker/is-void.ts -var is_void = __webpack_require__(62061); -;// CONCATENATED MODULE: ./src/core/traits/mods.ts +// EXTERNAL MODULE: ./src/core/helpers/checker/is-url.ts +var is_url = __webpack_require__(64350); +// EXTERNAL MODULE: ./src/core/helpers/string/trim.ts +var trim = __webpack_require__(33941); +;// CONCATENATED MODULE: ./src/core/ui/form/validators/input.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9946,86 +9706,37 @@ var is_void = __webpack_require__(62061); */ -class Mods { - afterSetMod(name, value) { } - setMod(name, value, container) { - name = name.toLowerCase(); - if (this.mods[name] === value) { - return this; - } - const mod = `${this.componentName}_${name}`, cl = (container || this.container).classList; - (0,to_array/* toArray */.q)(cl).forEach(className => { - if (className.indexOf(mod) === 0) { - cl.remove(className); - } - }); - !(0,is_void/* isVoid */.n)(value) && - value !== '' && - cl.add(`${mod}_${value.toString().toLowerCase()}`); - this.mods[name] = value; - this.afterSetMod(name, value); - return this; +const required = function (input) { + if (!(0,trim/* trim */.f)(input.value).length) { + input.error = 'Please fill out this field'; + return false; } - getMod(name) { - var _a; - return (_a = this.mods[name]) !== null && _a !== void 0 ? _a : null; + return true; +}; +const url = function (input) { + if (!(0,is_url/* isURL */.P)((0,trim/* trim */.f)(input.value))) { + input.error = 'Please enter a web address'; + return false; } -} + return true; +}; -// EXTERNAL MODULE: ./src/modules/index.ts + 20 modules -var modules = __webpack_require__(5687); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -;// CONCATENATED MODULE: ./src/core/traits/dlgs.ts +;// CONCATENATED MODULE: ./src/core/ui/form/validators/select.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ - -class Dlgs { - dlg(options) { - const dialog = new modules.Dialog({ - language: this.o.language, - shadowRoot: this.o.shadowRoot, - ownerWindow: this.o.ownerWindow, - defaultTimeout: this.o.defaultTimeout, - theme: this.o.theme, - globalFullSize: this.o.globalFullSize, - ...options - }); - (0,helpers.markOwner)(this, dialog.container); - dialog.parent = this; - return dialog.bindDestruct(this); - } - confirm(msg, title, callback) { - if ((0,helpers.isString)(title)) { - title = this.i18n(title); - } - return modules.Confirm.call(this.dlg(), this.i18n(msg), title, callback); - } - prompt(msg, title, callback, placeholder, defaultValue) { - if ((0,helpers.isString)(title)) { - title = this.i18n(title); - } - if ((0,helpers.isString)(placeholder)) { - placeholder = this.i18n(placeholder); - } - return modules.Prompt.call(this.dlg(), this.i18n(msg), title, callback, placeholder, defaultValue); - } - alert(msg, title, callback, className) { - if ((0,helpers.isString)(msg)) { - msg = this.i18n(msg); - } - if ((0,helpers.isString)(title)) { - title = this.i18n(title); - } - return modules.Alert.call(this.dlg(), msg, title, callback, className); +const select_required = function (select) { + if (!(0,trim/* trim */.f)(select.value).length) { + select.error = 'Please fill out this field'; + return false; } -} + return true; +}; -;// CONCATENATED MODULE: ./src/core/traits/index.ts +;// CONCATENATED MODULE: ./src/core/ui/form/validators/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10036,32 +9747,30 @@ class Dlgs { + /***/ }), -/***/ 6816: +/***/ 61479: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Yc": function() { return /* binding */ UIButtonState; }, -/* harmony export */ "y3": function() { return /* binding */ UIButton; }, -/* harmony export */ "zx": function() { return /* binding */ Button; } +/* harmony export */ "q": function() { return /* binding */ UIGroup; } /* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38301); -/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(86129); -/* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(87385); -/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80353); -/* harmony import */ var jodit_core_ui_group_list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27682); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(71685); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20255); +/* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52378); +/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45113); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UIGroup_1; @@ -10070,229 +9779,124 @@ class Dlgs { - - - -const UIButtonState = () => ({ - size: 'middle', - type: 'button', - name: '', - value: '', - variant: 'initial', - disabled: false, - activated: false, - icon: { - name: 'empty', - fill: '', - iconURL: '' - }, - tooltip: '', - text: '', - tabIndex: undefined -}); -let UIButton = class UIButton extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { - constructor(jodit, state) { - super(jodit); - this.isButton = true; - this.state = UIButtonState(); - this.actionHandlers = []; - this.updateSize(); - this.onChangeSize(); - this.onChangeStatus(); - if (state) { - this.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_6__/* .STATUSES.ready */ .n.ready, () => { - this.setState(state); - }); - } - } +let UIGroup = UIGroup_1 = class UIGroup extends _element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { className() { - return 'UIButton'; + return 'UIGroup'; } - setState(state) { - Object.assign(this.state, state); - return this; + get allChildren() { + const result = []; + const stack = [ + ...this.elements + ]; + while (stack.length) { + const elm = stack.shift(); + if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isArray)(elm)) { + stack.push(...elm); + } + else if (jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(elm, UIGroup_1)) { + stack.push(...elm.elements); + } + else { + elm && result.push(elm); + } + } + return result; } - onChangeSize() { - this.setMod('size', this.state.size); + update() { + this.elements.forEach(elm => elm.update()); + this.setMod('size', this.buttonSize); } - onChangeType() { - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'type', this.state.type); + append(elm, distElement) { + if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isArray)(elm)) { + elm.forEach(item => this.append(item, distElement)); + return this; + } + this.elements.push(elm); + if (elm.name) { + elm.container.classList.add(this.getFullElName(elm.name)); + } + if (distElement) { + const distElm = this.getElm(distElement); + void 0; + distElm.appendChild(elm.container); + } + else { + this.appendChildToContainer(elm.container); + } + elm.parentElement = this; + elm.update(); + return this; } - updateSize() { - const pe = this.closest(jodit_core_ui_group_list__WEBPACK_IMPORTED_MODULE_4__/* .UIList */ .b); - if (pe) { - this.state.size = pe.buttonSize; - return; + afterSetMod(name, value) { + if (this.syncMod) { + this.elements.forEach(elm => elm.setMod(name, value)); } } - onChangeStatus() { - this.setMod('variant', this.state.variant); + appendChildToContainer(childContainer) { + this.container.appendChild(childContainer); } - onChangeText() { - this.text.textContent = this.jodit.i18n(this.state.text); + remove(elm) { + const index = this.elements.indexOf(elm); + if (index !== -1) { + this.elements.splice(index, 1); + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom.safeRemove */ .i.safeRemove(elm.container); + elm.parentElement = null; + } + return this; } - onChangeTextSetMode() { - this.setMod('text-icons', Boolean(this.state.text.trim().length)); + clear() { + this.elements.forEach(elm => elm.destruct()); + this.elements.length = 0; + return this; } - onChangeDisabled() { - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'disabled', this.state.disabled || null); + constructor(jodit, elements, options) { + super(jodit, options); + this.options = options; + this.syncMod = false; + this.elements = []; + this.buttonSize = 'middle'; + elements === null || elements === void 0 ? void 0 : elements.forEach(elm => elm && this.append(elm)); + if (options === null || options === void 0 ? void 0 : options.name) { + this.name = options.name; + } } - onChangeActivated() { - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'aria-pressed', this.state.activated); - } - onChangeName() { - this.container.classList.add(`${this.componentName}_${this.clearName(this.state.name)}`); - this.name = this.state.name; - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'data-ref', this.state.name); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'ref', this.state.name); - } - onChangeTooltip() { - if (this.get('j.o.useNativeTooltip')) { - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'title', this.state.tooltip); - } - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'aria-label', this.state.tooltip); - } - onChangeTabIndex() { - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'tabindex', this.state.tabIndex); - } - onChangeIcon() { - const textIcons = this.get('j.o.textIcons'); - if (textIcons === true || - ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__/* .isFunction */ .m)(textIcons) && textIcons(this.state.name))) { - return; - } - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.detach */ .i.detach(this.icon); - const iconElement = jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon.makeIcon */ .J.makeIcon(this.j, this.state.icon); - iconElement && this.icon.appendChild(iconElement); - } - focus() { - this.container.focus(); - } - isFocused() { - const { activeElement } = this.od; - return Boolean(activeElement && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isOrContains */ .i.isOrContains(this.container, activeElement)); - } - createContainer() { - const cn = this.componentName; - const button = this.j.c.element('button', { - class: cn, - type: 'button', - role: 'button', - ariaPressed: false - }); - this.icon = this.j.c.span(cn + '__icon'); - this.text = this.j.c.span(cn + '__text'); - button.appendChild(this.icon); - button.appendChild(this.text); - this.j.e.on(button, 'click', this.onActionFire); - return button; - } - destruct() { - this.j.e.off(this.container); - return super.destruct(); - } - onAction(callback) { - this.actionHandlers.push(callback); - return this; - } - onActionFire(e) { - e.buffer = { - actionTrigger: this - }; - this.actionHandlers.forEach(callback => callback.call(this, e)); + destruct() { + this.clear(); + return super.destruct(); } }; -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.size') -], UIButton.prototype, "onChangeSize", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.type') -], UIButton.prototype, "onChangeType", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('parentElement') -], UIButton.prototype, "updateSize", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.variant') -], UIButton.prototype, "onChangeStatus", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.text') -], UIButton.prototype, "onChangeText", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.text') -], UIButton.prototype, "onChangeTextSetMode", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.disabled') -], UIButton.prototype, "onChangeDisabled", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.activated') -], UIButton.prototype, "onChangeActivated", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.name') -], UIButton.prototype, "onChangeName", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.tooltip') -], UIButton.prototype, "onChangeTooltip", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.tabIndex') -], UIButton.prototype, "onChangeTabIndex", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.icon') -], UIButton.prototype, "onChangeIcon", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind -], UIButton.prototype, "onActionFire", null); -UIButton = (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.component -], UIButton); +(0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('buttonSize') +], UIGroup.prototype, "update", null); +UIGroup = UIGroup_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component +], UIGroup); -function Button(jodit, stateOrText, text, variant) { - const button = new UIButton(jodit); - button.state.tabIndex = jodit.o.allowTabNavigation ? 0 : -1; - if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_9__/* .isString */ .H)(stateOrText)) { - button.state.icon.name = stateOrText; - button.state.name = stateOrText; - if (variant) { - button.state.variant = variant; - } - if (text) { - button.state.text = text; - } - } - else { - button.setState(stateOrText); - } - return button; -} /***/ }), -/***/ 81402: +/***/ 6442: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { - "zx": function() { return /* reexport */ button_button/* Button */.zx; }, - "y3": function() { return /* reexport */ button_button/* UIButton */.y3; }, - "Yc": function() { return /* reexport */ button_button/* UIButtonState */.Yc; }, - "Ne": function() { return /* reexport */ UITooltip; } + "b": function() { return /* binding */ UIList; } }); -// UNUSED EXPORTS: UIButtonGroup - -// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts -var button_button = __webpack_require__(6816); // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/core/ui/group/group.ts -var group = __webpack_require__(31454); -// EXTERNAL MODULE: ./src/core/decorators/component/component.ts -var component = __webpack_require__(45466); -// EXTERNAL MODULE: external "{assert(){}};" -var external_assert_ = __webpack_require__(52378); -;// CONCATENATED MODULE: ./src/core/ui/button/group/group.ts +// EXTERNAL MODULE: ./src/core/ui/helpers/get-control-type.ts +var get_control_type = __webpack_require__(38546); +// EXTERNAL MODULE: ./src/config.ts +var config = __webpack_require__(93166); +// EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts +var is_array = __webpack_require__(49781); +// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts +var utils = __webpack_require__(76502); +;// CONCATENATED MODULE: ./src/core/ui/helpers/get-strong-control-types.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10302,74 +9906,33 @@ var external_assert_ = __webpack_require__(52378); - - -let UIButtonGroup = class UIButtonGroup extends group/* UIGroup */.q { - constructor(jodit, options = { - radio: true - }) { - var _a, _b; - super(jodit, (_a = options.options) === null || _a === void 0 ? void 0 : _a.map(opt => { - const btn = new button_button/* UIButton */.y3(jodit, { - text: opt.text, - value: opt.value, - variant: 'primary' - }); - btn.onAction(() => { - this.select(opt.value); - }); - return btn; - }), options); - this.options = options; - this.select((_b = options.value) !== null && _b !== void 0 ? _b : 0); - } - className() { - return 'UIButtonGroup'; - } - render(options) { - return `
-
~${options.label}~
-
-
`; - } - appendChildToContainer(childContainer) { - const options = this.getElm('options'); - options.appendChild(childContainer); - } - select(indexOrValue) { - var _a, _b; - this.elements.forEach((elm, index) => { - if (index === indexOrValue || elm.state.value === indexOrValue) { - elm.state.activated = true; - } - else if (this.options.radio) { - elm.state.activated = false; - } +function getStrongControlTypes(items, controls) { + const elements = (0,is_array/* isArray */.k)(items) + ? items + : (0,utils.keys)(items, false).map(key => { + const value = items[key] || {}; + return (0,utils.ConfigProto)({ name: key }, value); }); - const result = this.elements - .filter(elm => elm.state.activated) - .map(elm => ({ - text: elm.state.text, - value: elm.state.value - })); - this.jodit.e.fire(this, 'select', result); - (_b = (_a = this.options).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, result); - } -}; -UIButtonGroup = (0,tslib_es6/* __decorate */.gn)([ - component/* component */.w -], UIButtonGroup); - + return elements.map(item => (0,get_control_type/* getControlType */.Y)(item, controls || config/* Config.defaultOptions.controls */.D.defaultOptions.controls)); +} -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -// EXTERNAL MODULE: ./src/core/global.ts -var global = __webpack_require__(16672); // EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/ui/element.ts -var ui_element = __webpack_require__(96659); -;// CONCATENATED MODULE: ./src/core/ui/button/tooltip/tooltip.ts +var decorators = __webpack_require__(67493); +// EXTERNAL MODULE: ./src/core/ui/group/group.ts +var group = __webpack_require__(61479); +// EXTERNAL MODULE: ./src/core/ui/group/separator.ts +var separator = __webpack_require__(75018); +// EXTERNAL MODULE: ./src/core/ui/group/spacer.ts +var spacer = __webpack_require__(58495); +// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts +var button_button = __webpack_require__(96031); +// EXTERNAL MODULE: ./src/core/ui/helpers/buttons.ts +var buttons = __webpack_require__(97642); +// EXTERNAL MODULE: ./src/core/helpers/array/split-array.ts +var split_array = __webpack_require__(14556); +// EXTERNAL MODULE: ./src/core/component/component.ts +var component = __webpack_require__(45113); +;// CONCATENATED MODULE: ./src/core/ui/group/list.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10381,89 +9944,135 @@ var ui_element = __webpack_require__(96659); -class UITooltip extends ui_element/* UIElement */.u { - constructor(view) { - super(view); - this.__isOpened = false; - this.__useCount = 1; - this.__delayShowTimeout = 0; - (0,global/* getContainer */.ZO)(view, UITooltip).appendChild(this.container); - let timeout = 0; - view.e - .off('.tooltip') - .on('showTooltip.tooltip', (getPoint, content) => { - view.async.clearTimeout(timeout); - this.__open(getPoint, content); - }) - .on('delayShowTooltip.tooltip', this.__delayOpen) - .on('escape.tooltip', this.__close) - .on('hideTooltip.tooltip change.tooltip scroll.tooltip changePlace.tooltip hidePopup.tooltip closeAllPopups.tooltip', () => { - this.j.async.clearTimeout(this.__delayShowTimeout); - timeout = view.async.setTimeout(this.__close, this.j.defaultTimeout); - }); - } + + + + + + +let UIList = class UIList extends group/* UIGroup */.q { className() { - return 'UITooltip'; + return 'UIList'; } - static make(view) { - let instance = (0,helpers.dataBind)(view, 'ui-tooltip'); - if (instance) { - instance.__useCount += 1; - return instance; - } - instance = new UITooltip(view); - (0,helpers.dataBind)(view, 'ui-tooltip', instance); - return instance; + onChangeMode() { + this.setMod('mode', this.mode); } - __delayOpen(getPoint, content) { - const to = this.j.o.showTooltipDelay || this.j.defaultTimeout; - this.j.async.clearTimeout(this.__delayShowTimeout); - this.__delayShowTimeout = this.j.async.setTimeout(() => this.__open(getPoint, content), { - timeout: to, - label: 'tooltip' - }); + constructor(jodit) { + super(jodit); + this.mode = 'horizontal'; + this.removeButtons = []; + this.onChangeMode(); } - __open(getPoint, content) { - this.setMod('visible', true); - this.container.innerHTML = content; - this.__isOpened = true; - this.__setPosition(getPoint); + makeGroup() { + return new group/* UIGroup */.q(this.jodit); } - __setPosition(getPoint) { - const point = getPoint(); - (0,helpers.css)(this.container, { - left: point.x, - top: point.y - }); + get buttons() { + return this.allChildren.filter(elm => component/* Component.isInstanceOf */.w.isInstanceOf(elm, button_button/* UIButton */.y3)); } - __close() { - this.j.async.clearTimeout(this.__delayShowTimeout); - if (this.__isOpened) { - this.__isOpened = false; - this.setMod('visible', false); - (0,helpers.css)(this.container, { - left: -5000 - }); - } + getButtonsNames() { + return this.buttons + .map(a => (a instanceof button_button/* UIButton */.y3 && a.state.name) || '') + .filter(a => a !== ''); } - destruct() { - var _a; - this.__useCount--; - if (!this.__useCount) { - (_a = this.j) === null || _a === void 0 ? void 0 : _a.e.off('.tooltip'); - this.__close(); - super.destruct(); - } + setRemoveButtons(removeButtons) { + this.removeButtons = removeButtons || []; + return this; } -} -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], UITooltip.prototype, "__delayOpen", null); + build(items, target = null) { + items = (0,split_array/* splitArray */.C)(items); + this.clear(); + let lastBtnSeparator = false; + let line = this.makeGroup(); + this.append(line); + line.setMod('line', true); + let group; + const addButton = (control) => { + let elm = null; + switch (control.name) { + case '\n': + line = this.makeGroup(); + line.setMod('line', true); + group = this.makeGroup(); + line.append(group); + this.append(line); + break; + case '|': + if (!lastBtnSeparator) { + lastBtnSeparator = true; + elm = new separator/* UISeparator */.l(this.j); + } + break; + case '---': { + group.setMod('before-spacer', true); + const space = new spacer/* UISpacer */.W(this.j); + line.append(space); + group = this.makeGroup(); + line.append(group); + lastBtnSeparator = false; + break; + } + default: + lastBtnSeparator = false; + elm = this.makeButton(control, target); + } + if (elm) { + if (!group) { + group = this.makeGroup(); + line.append(group); + } + group.append(elm); + } + }; + const isNotRemoved = (b) => !this.removeButtons.includes(b.name); + items.forEach(item => { + if ((0,buttons/* isButtonGroup */.A)(item)) { + const buttons = item.buttons.filter(b => b); + if (buttons.length) { + group = this.makeGroup(); + group.setMod('separated', true).setMod('group', item.group); + line.append(group); + getStrongControlTypes(buttons, this.j.o.controls) + .filter(isNotRemoved) + .forEach(addButton); + } + } + else { + if (!group) { + group = this.makeGroup(); + line.append(group); + } + const control = (0,get_control_type/* getControlType */.Y)(item, this.j.o.controls); + isNotRemoved(control) && addButton(control); + } + }); + this.update(); + return this; + } + makeButton(control, target) { + return new button_button/* UIButton */.y3(this.j); + } +}; (0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], UITooltip.prototype, "__close", null); + (0,decorators.watch)('mode') +], UIList.prototype, "onChangeMode", null); +UIList = (0,tslib_es6/* __decorate */.gn)([ + decorators.component +], UIList); -;// CONCATENATED MODULE: ./src/core/ui/button/index.ts + + +/***/ }), + +/***/ 75018: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "l": function() { return /* binding */ UISeparator; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11441); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10472,427 +10081,318 @@ class UITooltip extends ui_element/* UIElement */.u { +let UISeparator = class UISeparator extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { + className() { + return 'UISeparator'; + } +}; +UISeparator = (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__decorate */ .gn)([ + jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__/* .component */ .w +], UISeparator); + /***/ }), -/***/ 96659: +/***/ 58495: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "u": function() { return /* binding */ UIElement; } +/* harmony export */ "W": function() { return /* binding */ UISpacer; } /* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2624); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63711); -/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(86129); -/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80353); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63945); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11441); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -var UIElement_1; +let UISpacer = class UISpacer extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { + className() { + return 'UISpacer'; + } +}; +UISpacer = (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__decorate */ .gn)([ + jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__/* .component */ .w +], UISpacer); +/***/ }), -let UIElement = UIElement_1 = class UIElement extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent */ .Hr { - constructor(jodit, options) { - super(jodit); - this.name = ''; - this.__parentElement = null; - this.mods = {}; - this.container = this.createContainer(options); - Object.defineProperty(this.container, 'component', { - value: this, - configurable: true - }); - } - get parentElement() { - return this.__parentElement; - } - set parentElement(parentElement) { - this.__parentElement = parentElement; - if (parentElement) { - parentElement.hookStatus('beforeDestruct', () => this.destruct()); +/***/ 97642: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "A": function() { return /* binding */ isButtonGroup; }, +/* harmony export */ "q": function() { return /* binding */ flatButtonsSet; } +/* harmony export */ }); +/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49781); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + +const isButtonGroup = (item) => { + return (0,jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__/* .isArray */ .k)(item.buttons); +}; +function flatButtonsSet(buttons, jodit) { + const groups = jodit.getRegisteredButtonGroups(); + return new Set(buttons.reduce((acc, item) => { + var _a; + if (isButtonGroup(item)) { + acc = acc.concat([ + ...item.buttons, + ...((_a = groups[item.group]) !== null && _a !== void 0 ? _a : []) + ]); } - this.updateParentElement(this); - } - bubble(callback) { - let parent = this.parentElement; - while (parent) { - callback(parent); - parent = parent.parentElement; + else { + acc.push(item); } - return this; + return acc; + }, [])); +} + + +/***/ }), + +/***/ 38546: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "Y": function() { return /* binding */ getControlType; }, +/* harmony export */ "z": function() { return /* binding */ findControlType; } +/* harmony export */ }); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40332); +/* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93166); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +function getControlType(button, controls) { + let buttonControl; + if (!controls) { + controls = jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config.defaultOptions.controls */ .D.defaultOptions.controls; } - updateParentElement(target) { - var _a; - (_a = this.__parentElement) === null || _a === void 0 ? void 0 : _a.updateParentElement(target); - return this; + if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.isString)(button)) { + buttonControl = { name: 'empty', ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(button) }; + if (controls[buttonControl.name] !== undefined) { + buttonControl = { + ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(controls[buttonControl.name]), + ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(buttonControl) + }; + } } - get(chain, obj) { - return super.get(chain, obj) || this.getElm(chain); + else { + buttonControl = findControlType(button, controls) || { + name: button, + command: button, + tooltip: button + }; } - closest(type) { - const c = typeof type === 'object' - ? (pe) => pe === type - : (pe) => jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .Component.isInstanceOf */ .wA.isInstanceOf(pe, type); - let pe = this.__parentElement; - while (pe) { - if (c(pe)) { - return pe; - } - if (!pe.parentElement && pe.container.parentElement) { - pe = UIElement_1.closestElement(pe.container.parentElement, UIElement_1); - } - else { - pe = pe.parentElement; - } + return buttonControl; +} +function findControlType(path, controls) { + let [namespaceOrKey, key] = path.split(/\./); + let store = controls; + if (key != null) { + if (controls[namespaceOrKey] !== undefined) { + store = controls[namespaceOrKey]; } - return null; } - static closestElement(node, type) { - const elm = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.up */ .i.up(node, elm => { - if (elm) { - const { component } = elm; - return component && jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .Component.isInstanceOf */ .wA.isInstanceOf(component, type); - } - return false; - }); - return elm ? elm === null || elm === void 0 ? void 0 : elm.component : null; + else { + key = namespaceOrKey; } - update() { + return store[key] + ? { + name: key, + ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(store[key]) + } + : undefined; +} + + +/***/ }), + +/***/ 77904: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "J": function() { return /* binding */ Icon; } +/* harmony export */ }); +/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26911); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40332); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class Icon { + static getIcon(name) { + if (/ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon.get */ .J.get(name) || '') - .replace(/&__/g, this.componentName + '__') - .replace(/~([^~]+?)~/g, (_, s) => this.i18n(s))); - } - destruct() { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeRemove */ .i.safeRemove(this.container); - this.parentElement = null; - return super.destruct(); + if (iconElement) { + iconElement.classList.add('jodit-icon'); + iconElement.style.fill = icon.fill; + } + return iconElement; } -}; -UIElement = UIElement_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.derive)(jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__/* .Mods */ .$t, jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__/* .Elms */ .Fx) -], UIElement); - +} +Icon.icons = {}; /***/ }), -/***/ 18839: +/***/ 93801: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { - "eC": function() { return /* reexport */ UIBlock; }, - "mA": function() { return /* reexport */ UICheckbox; }, - "x4": function() { return /* reexport */ UIForm; }, - "u3": function() { return /* reexport */ input/* UIInput */.u; }, - "Cj": function() { return /* reexport */ UISelect; }, - "GJ": function() { return /* reexport */ UITextArea; } + "zx": function() { return /* reexport */ ui_button/* Button */.zx; }, + "JO": function() { return /* reexport */ icon/* Icon */.J; }, + "GI": function() { return /* reexport */ popup/* Popup */.G; }, + "ko": function() { return /* reexport */ ProgressBar; }, + "eC": function() { return /* reexport */ ui_form/* UIBlock */.eC; }, + "y3": function() { return /* reexport */ ui_button/* UIButton */.y3; }, + "mA": function() { return /* reexport */ ui_form/* UICheckbox */.mA; }, + "u1": function() { return /* reexport */ ui_element/* UIElement */.u; }, + "x4": function() { return /* reexport */ ui_form/* UIForm */.x4; }, + "qe": function() { return /* reexport */ group/* UIGroup */.q; }, + "u3": function() { return /* reexport */ ui_form/* UIInput */.u3; }, + "bz": function() { return /* reexport */ list/* UIList */.b; }, + "lU": function() { return /* reexport */ separator/* UISeparator */.l; }, + "GJ": function() { return /* reexport */ ui_form/* UITextArea */.GJ; }, + "Ne": function() { return /* reexport */ ui_button/* UITooltip */.Ne; } }); -// UNUSED EXPORTS: UIFileInput +// UNUSED EXPORTS: UIButtonGroup, UIButtonState, UIFileInput, UISelect, UISpacer -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/core/ui/element.ts +var ui_element = __webpack_require__(53929); +// EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules +var ui_button = __webpack_require__(55310); +// EXTERNAL MODULE: ./src/core/ui/popup/index.ts +var popup = __webpack_require__(35799); // EXTERNAL MODULE: ./src/core/ui/group/group.ts -var group = __webpack_require__(31454); -// EXTERNAL MODULE: ./src/core/ui/form/inputs/input/input.ts -var input = __webpack_require__(97288); -// EXTERNAL MODULE: ./src/core/helpers/utils/utils.ts -var utils = __webpack_require__(32389); -// EXTERNAL MODULE: ./src/core/decorators/component/component.ts -var component = __webpack_require__(45466); -// EXTERNAL MODULE: ./src/core/ui/form/validators/index.ts + 2 modules -var validators = __webpack_require__(83518); -;// CONCATENATED MODULE: ./src/core/ui/form/inputs/select/select.ts +var group = __webpack_require__(61479); +// EXTERNAL MODULE: ./src/core/ui/group/list.ts + 1 modules +var list = __webpack_require__(6442); +// EXTERNAL MODULE: ./src/core/ui/group/separator.ts +var separator = __webpack_require__(75018); +// EXTERNAL MODULE: ./src/core/ui/group/spacer.ts +var spacer = __webpack_require__(58495); +;// CONCATENATED MODULE: ./src/core/ui/group/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -var UISelect_1; +// EXTERNAL MODULE: ./src/core/ui/form/index.ts + 6 modules +var ui_form = __webpack_require__(80567); +// EXTERNAL MODULE: ./src/core/ui/icon.ts +var icon = __webpack_require__(77904); +// EXTERNAL MODULE: ./src/core/dom/dom.ts +var dom = __webpack_require__(24263); +;// CONCATENATED MODULE: ./src/core/ui/progress-bar/progress-bar.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ -let UISelect = UISelect_1 = class UISelect extends input/* UIInput */.u { - constructor(jodit, state) { - super(jodit, state); - this.state = { ...UISelect_1.defaultState }; - Object.assign(this.state, state); - } + + +class ProgressBar extends ui_element/* UIElement */.u { className() { - return 'UISelect'; - } - createContainer(state) { - var _a; - const container = super.createContainer(state); - const { j } = this, { nativeInput } = this; - const opt = () => j.create.element('option'); - if (state.placeholder !== undefined) { - const option = opt(); - option.value = ''; - option.text = j.i18n(state.placeholder); - nativeInput.add(option); - } - (_a = state.options) === null || _a === void 0 ? void 0 : _a.forEach(element => { - const option = opt(); - option.value = element.value.toString(); - option.text = j.i18n(element.text); - nativeInput.add(option); - }); - if (state.size && state.size > 0) { - (0,utils/* attr */.Lj)(nativeInput, 'size', state.size); - } - if (state.multiple) { - (0,utils/* attr */.Lj)(nativeInput, 'multiple', ''); - } - return container; + return 'ProgressBar'; } - createNativeInput() { - return this.j.create.element('select'); + render() { + return '
'; } - updateValidators() { - super.updateValidators(); - if (this.state.required) { - this.validators.delete(validators/* inputValidators.required */.g.required); - this.validators.add(validators/* selectValidators.required */.s.C); - } + show() { + const container = this.j.workplace || this.j.container; + container.appendChild(this.container); + return this; } -}; -UISelect.defaultState = { - ...input/* UIInput.defaultState */.u.defaultState, - options: [], - size: 1, - multiple: false -}; -UISelect = UISelect_1 = (0,tslib_es6/* __decorate */.gn)([ - component/* component */.w -], UISelect); - - -// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var helpers_utils = __webpack_require__(38301); -// EXTERNAL MODULE: ./src/core/component/component.ts -var component_component = __webpack_require__(16867); -;// CONCATENATED MODULE: ./src/core/ui/form/form.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - - -let UIForm = class UIForm extends group/* UIGroup */.q { - constructor(...args) { - var _a, _b; - super(...args); - if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.className) { - this.container.classList.add((_b = this.options) === null || _b === void 0 ? void 0 : _b.className); - } - } - className() { - return 'UIForm'; - } - submit() { - this.j.e.fire(this.container, 'submit'); - } - validate() { - const inputs = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, input/* UIInput */.u)); - for (const input of inputs) { - if (!input.validate()) { - return false; - } - } - const selects = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, UISelect)); - for (const select of selects) { - if (!select.validate()) { - return false; - } - } - return true; - } - onSubmit(handler) { - this.j.e.on(this.container, 'submit', () => { - const inputs = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, input/* UIInput */.u)); - if (!this.validate()) { - return false; - } - handler(inputs.reduce((res, item) => { - res[item.state.name] = item.value; - return res; - }, {})); - return false; - }); - } - createContainer() { - const form = this.j.c.element('form'); - form.classList.add(this.componentName); - (0,helpers_utils.attr)(form, 'dir', this.j.o.direction || 'auto'); - return form; - } -}; -UIForm = (0,tslib_es6/* __decorate */.gn)([ - component/* component */.w -], UIForm); - - -;// CONCATENATED MODULE: ./src/core/ui/form/inputs/area/area.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -var UITextArea_1; - - - - -let UITextArea = UITextArea_1 = class UITextArea extends input/* UIInput */.u { - constructor(jodit, state) { - super(jodit, state); - this.state = { ...UITextArea_1.defaultState }; - Object.assign(this.state, state); - if (this.state.resizable === false) { - this.nativeInput.style.resize = 'none'; - } - } - className() { - return 'UITextArea'; - } - createContainer(options) { - this.nativeInput = this.j.create.element('textarea'); - return super.createContainer(options); - } -}; -UITextArea.defaultState = { - ...input/* UIInput.defaultState */.u.defaultState, - size: 5, - resizable: true -}; -UITextArea = UITextArea_1 = (0,tslib_es6/* __decorate */.gn)([ - component/* component */.w -], UITextArea); - - -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom = __webpack_require__(65401); -;// CONCATENATED MODULE: ./src/core/ui/form/inputs/checkbox/checkbox.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -var UICheckbox_1; - - - - - -let UICheckbox = UICheckbox_1 = class UICheckbox extends input/* UIInput */.u { - constructor(jodit, options) { - super(jodit, { ...options, type: 'checkbox' }); - this.state = { ...UICheckbox_1.defaultState }; - Object.assign(this.state, options); - } - className() { - return 'UICheckbox'; - } - render() { - return this.j.c.element('label', { - className: this.componentName - }); - } - onChangeChecked() { - this.value = this.state.checked.toString(); - this.nativeInput.checked = this.state.checked; - this.setMod('checked', this.state.checked); + hide() { + dom/* Dom.safeRemove */.i.safeRemove(this.container); + return this; } - onChangeNativeCheckBox() { - this.state.checked = this.nativeInput.checked; + progress(percentage) { + this.container.style.width = percentage.toFixed(2) + '%'; + return this; } - onChangeSwitch() { - this.setMod('switch', this.state.switch); - let slider = this.getElm('switch-slider'); - if (this.state.switch) { - if (!slider) { - slider = this.j.c.div(this.getFullElName('switch-slider')); - } - dom/* Dom.after */.i.after(this.nativeInput, slider); - } - else { - dom/* Dom.safeRemove */.i.safeRemove(slider); - } + destruct() { + this.hide(); + return super.destruct(); } -}; -UICheckbox.defaultState = { - ...input/* UIInput.defaultState */.u.defaultState, - checked: false, - switch: false -}; -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.watch)('state.checked'), - (0,decorators.hook)('ready') -], UICheckbox.prototype, "onChangeChecked", null); -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.watch)('nativeInput:change') -], UICheckbox.prototype, "onChangeNativeCheckBox", null); -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.watch)('state.switch'), - (0,decorators.hook)('ready') -], UICheckbox.prototype, "onChangeSwitch", null); -UICheckbox = UICheckbox_1 = (0,tslib_es6/* __decorate */.gn)([ - decorators.component -], UICheckbox); - +} -// EXTERNAL MODULE: ./src/core/ui/form/inputs/file/file.ts -var file = __webpack_require__(32460); -;// CONCATENATED MODULE: ./src/core/ui/form/inputs/index.ts +;// CONCATENATED MODULE: ./src/core/ui/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10904,41 +10404,19 @@ var file = __webpack_require__(32460); -;// CONCATENATED MODULE: ./src/core/ui/form/block/block.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -let UIBlock = class UIBlock extends group/* UIGroup */.q { - constructor(jodit, elements, options = { - align: 'left' - }) { - super(jodit, elements); - this.options = options; - this.setMod('align', this.options.align || 'left'); - this.setMod('width', this.options.width || ''); - this.options.mod && this.setMod(this.options.mod, true); - this.options.className && - this.container.classList.add(this.options.className); - (0,helpers_utils.attr)(this.container, 'data-ref', options.ref); - (0,helpers_utils.attr)(this.container, 'ref', options.ref); - } - className() { - return 'UIBlock'; - } -}; -UIBlock = (0,tslib_es6/* __decorate */.gn)([ - component/* component */.w -], UIBlock); +/***/ }), +/***/ 35799: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -;// CONCATENATED MODULE: ./src/core/ui/form/index.ts +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "G": function() { return /* reexport safe */ _popup__WEBPACK_IMPORTED_MODULE_0__.G; } +/* harmony export */ }); +/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12680); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10947,21 +10425,24 @@ UIBlock = (0,tslib_es6/* __decorate */.gn)([ - - /***/ }), -/***/ 32460: +/***/ 12680: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Z": function() { return /* binding */ UIFileInput; } +/* harmony export */ "G": function() { return /* binding */ Popup; } /* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(97288); -/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45466); -/* harmony import */ var jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6816); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52378); +/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45113); +/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17332); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10972,312 +10453,306 @@ UIBlock = (0,tslib_es6/* __decorate */.gn)([ -let UIFileInput = class UIFileInput extends jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__/* .UIInput */ .u { - constructor(jodit, options) { - super(jodit, { - type: 'file', - ...options - }); - this.state = { - ...jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__/* .UIInput.defaultState */ .u.defaultState, - type: 'file', - onlyImages: true - }; - } - className() { - return 'UIFileInput'; - } - createContainer(options) { - this.button = new jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_1__/* .UIButton */ .y3(this.j, { - icon: { - name: 'plus' - } - }); - const { container } = this.button; - if (!this.nativeInput) { - this.nativeInput = this.createNativeInput(options); - } - const { nativeInput } = this; - nativeInput.classList.add(this.getFullElName('input')); - container.classList.add(this.componentName); - container.appendChild(nativeInput); - return container; - } - createNativeInput(options) { - return this.j.create.fromHTML(``); - } -}; -UIFileInput = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .gn)([ - jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_3__/* .component */ .w -], UIFileInput); - - - -/***/ }), - -/***/ 97288: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "u": function() { return /* binding */ UIInput; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38301); -/* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58260); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80353); -/* harmony import */ var jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83518); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -var UIInput_1; - - - - - -let UIInput = UIInput_1 = class UIInput extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { - constructor(jodit, options) { - super(jodit, options); - this.label = this.j.c.span(this.getFullElName('label')); - this.icon = this.j.c.span(this.getFullElName('icon')); - this.clearButton = this.j.c.span(this.getFullElName('clear'), jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.get */ .J.get('cancel')); - this.state = { ...UIInput_1.defaultState }; - this.__errorBox = this.j.c.span(this.getFullElName('error')); - this.validators = new Set([]); - if ((options === null || options === void 0 ? void 0 : options.value) !== undefined) { - options.value = options.value.toString(); - } - Object.assign(this.state, options); - if (this.state.clearButton !== undefined) { - this.j.e - .on(this.clearButton, 'click', (e) => { - e.preventDefault(); - this.nativeInput.value = ''; - this.j.e.fire(this.nativeInput, 'input'); - this.focus(); - }) - .on(this.nativeInput, 'input', () => { - this.state.clearButton = Boolean(this.value.length); - }); - this.state.clearButton = Boolean(this.value.length); - } - this.j.e - .on(this.nativeInput, 'focus blur', () => { - this.onChangeFocus(); - }) - .on(this.nativeInput, 'input change', this.onChangeValue); - this.onChangeState(); - this.onChangeClassName(); - this.onChangeStateValue(); - } +class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u { className() { - return 'UIInput'; + return 'Popup'; } - onChangeClear() { - if (this.state.clearButton) { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.after */ .i.after(this.nativeInput, this.clearButton); - } - else { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.clearButton); + updateParentElement(target) { + if (target !== this && jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(target, Popup)) { + this.childrenPopups.forEach(popup => { + if (!target.closest(popup) && popup.isOpened) { + popup.close(); + } + }); + if (!this.childrenPopups.has(target)) { + this.j.e.on(target, 'beforeClose', () => { + this.childrenPopups.delete(target); + }); + } + this.childrenPopups.add(target); } + return super.updateParentElement(target); } - onChangeClassName(ignore, oldClassName) { - oldClassName && this.container.classList.remove(oldClassName); - this.state.className && - this.container.classList.add(this.state.className); - } - onChangeState() { - this.name = this.state.name; - const input = this.nativeInput, { name, icon, type, ref, required, placeholder, autocomplete, label } = this.state; - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'name', name); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'type', type); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'data-ref', ref || name); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'ref', ref || name); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'required', required || null); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'autocomplete', !autocomplete ? 'off' : null); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'placeholder', placeholder ? this.j.i18n(placeholder) : ''); - if (icon && jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.exists */ .J.exists(icon)) { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.before */ .i.before(input, this.icon); - this.icon.innerHTML = jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.get */ .J.get(icon); + setContent(content) { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.detach */ .i.detach(this.container); + const box = this.j.c.div(`${this.componentName}__content`); + let elm; + if (jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(content, jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u)) { + elm = content.container; + content.parentElement = this; + } + else if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(content)) { + elm = this.j.c.fromHTML(content); } else { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.icon); + elm = content; } - if (label) { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.before */ .i.before(this.wrapper, this.label); - this.label.innerText = this.j.i18n(label); + box.appendChild(elm); + this.container.appendChild(box); + this.updatePosition(); + return this; + } + open(getBound, keepPosition = false, parentContainer) { + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.markOwner)(this.jodit, this.container); + this.calculateZIndex(); + this.isOpened = true; + this.addGlobalListeners(); + this.targetBound = !keepPosition + ? getBound + : this.getKeepBound(getBound); + if (parentContainer) { + parentContainer.appendChild(this.container); } else { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.label); + const popupContainer = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .getContainer */ .ZO)(this.jodit, Popup); + if (parentContainer !== this.container.parentElement) { + popupContainer.appendChild(this.container); + } } - this.updateValidators(); + this.updatePosition(); + this.j.e.fire(this, 'afterOpen'); + return this; } - updateValidators() { - var _a; - this.validators.clear(); - if (this.state.required) { - this.validators.add(jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__/* .inputValidators.required */ .g.required); + calculateZIndex() { + if (this.container.style.zIndex) { + return; } - (_a = this.state.validators) === null || _a === void 0 ? void 0 : _a.forEach(name => { - const validator = jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__/* .inputValidators */ .g[name]; - validator && this.validators.add(validator); - }); - } - set error(value) { - this.setMod('has-error', Boolean(value)); - if (!value) { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.__errorBox); + const checkView = (view) => { + const zIndex = view.container.style.zIndex || view.o.zIndex; + if (zIndex) { + this.setZIndex(1 + parseInt(zIndex.toString(), 10)); + return true; + } + return false; + }; + const { j } = this; + if (checkView(j)) { + return; } - else { - this.__errorBox.innerText = this.j.i18n(value, this.j.i18n(this.state.label || '')); - this.container.appendChild(this.__errorBox); + let pe = this.parentElement; + while (pe) { + if (checkView(j)) { + return; + } + if (pe.container.style.zIndex) { + this.setZIndex(1 + parseInt(pe.container.style.zIndex.toString(), 10)); + return; + } + if (!pe.parentElement && pe.container.parentElement) { + const elm = jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement.closestElement */ .u.closestElement(pe.container.parentElement, jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u); + if (elm) { + pe = elm; + continue; + } + } + pe = pe.parentElement; } } - get value() { - return this.nativeInput.value; - } - set value(value) { - if (this.value !== value) { - this.nativeInput.value = value; - this.onChangeValue(); + getKeepBound(getBound) { + const oldBound = getBound(); + const elmUnderCursor = this.od.elementFromPoint(oldBound.left, oldBound.top); + if (!elmUnderCursor) { + return getBound; } + const element = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isHTMLElement */ .i.isHTMLElement(elmUnderCursor) + ? elmUnderCursor + : elmUnderCursor.parentElement; + const oldPos = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(element, this.j); + return () => { + const bound = getBound(); + const newPos = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(element, this.j); + return { + ...bound, + top: bound.top + (newPos.top - oldPos.top), + left: bound.left + (newPos.left - oldPos.left) + }; + }; } - onChangeStateValue() { - const value = this.state.value.toString(); - if (value !== this.value) { - this.value = value; + updatePosition() { + if (!this.isOpened) { + return this; } + const [pos, strategy] = this.calculatePosition(this.targetBound(), this.viewBound(), (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(this.container, this.j)); + this.setMod('strategy', strategy); + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.css)(this.container, { + left: pos.left, + top: pos.top + }); + this.childrenPopups.forEach(popup => popup.updatePosition()); + return this; } - onChangeValue() { - var _a, _b; - const { value } = this; - if (this.state.value !== value) { - this.state.value = value; - this.j.e.fire(this, 'change', value); - (_b = (_a = this.state).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value); + throttleUpdatePosition() { + this.updatePosition(); + } + calculatePosition(target, view, container, defaultStrategy = this.strategy) { + const x = { + left: target.left, + right: target.left - (container.width - target.width) + }, y = { + bottom: target.top + target.height, + top: target.top - container.height + }; + const list = Object.keys(x).reduce((keys, xKey) => keys.concat(Object.keys(y).map(yKey => `${xKey}${(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ucfirst)(yKey)}`)), []); + const getPointByStrategy = (strategy) => { + const [xKey, yKey] = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.kebabCase)(strategy).split('-'); + return { + left: x[xKey], + top: y[yKey], + width: container.width, + height: container.height + }; + }; + const getMatchStrategy = (inBox) => { + let strategy = null; + if (Popup.boxInView(getPointByStrategy(defaultStrategy), inBox)) { + strategy = defaultStrategy; + } + else { + strategy = + list.find((key) => { + if (Popup.boxInView(getPointByStrategy(key), inBox)) { + return key; + } + return; + }) || null; + } + return strategy; + }; + let strategy = getMatchStrategy((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(this.j.container, this.j)); + if (!strategy || !Popup.boxInView(getPointByStrategy(strategy), view)) { + strategy = getMatchStrategy(view) || strategy || defaultStrategy; } + return [getPointByStrategy(strategy), strategy]; } - validate() { - this.error = ''; - return (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .q)(this.validators).every(validator => validator(this)); + static boxInView(box, view) { + const accuracy = 2; + return (box.top - view.top >= -accuracy && + box.left - view.left >= -accuracy && + view.top + view.height - (box.top + box.height) >= -accuracy && + view.left + view.width - (box.left + box.width) >= -accuracy); } - createContainer(options) { - const container = super.createContainer(); - this.wrapper = this.j.c.div(this.getFullElName('wrapper')); - if (!this.nativeInput) { - this.nativeInput = this.createNativeInput(); + close() { + if (!this.isOpened) { + return this; } - const { nativeInput } = this; - nativeInput.classList.add(this.getFullElName('input')); - this.wrapper.appendChild(nativeInput); - container.appendChild(this.wrapper); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(nativeInput, 'dir', this.j.o.direction || 'auto'); - return container; + this.isOpened = false; + this.childrenPopups.forEach(popup => popup.close()); + this.j.e.fire(this, 'beforeClose'); + this.j.e.fire('beforePopupClose', this); + this.removeGlobalListeners(); + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.safeRemove */ .i.safeRemove(this.container); + return this; } - createNativeInput(options) { - return this.j.create.element('input'); + closeOnOutsideClick(e) { + if (!this.isOpened || this.isOwnClick(e)) { + return; + } + this.close(); } - focus() { - this.nativeInput.focus(); + isOwnClick(e) { + if (!e.target) { + return false; + } + const box = jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement.closestElement */ .u.closestElement(e.target, Popup); + return Boolean(box && (this === box || box.closest(this))); } - get isFocused() { - return this.nativeInput === this.j.od.activeElement; + addGlobalListeners() { + const up = this.throttleUpdatePosition, ow = this.ow; + jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.on */ .TB.on('closeAllPopups', this.close); + if (this.smart) { + this.j.e + .on('escape', this.close) + .on('mousedown touchstart', this.closeOnOutsideClick) + .on(ow, 'mousedown touchstart', this.closeOnOutsideClick); + } + this.j.e + .on('closeAllPopups', this.close) + .on('resize', up) + .on(this.container, 'scroll mousewheel', up) + .on(ow, 'scroll', up) + .on(ow, 'resize', up); + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.up */ .i.up(this.j.container, box => { + box && this.j.e.on(box, 'scroll mousewheel', up); + }); } - onChangeFocus() { - this.setMod('focused', this.isFocused); + removeGlobalListeners() { + const up = this.throttleUpdatePosition, ow = this.ow; + jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.off */ .TB.off('closeAllPopups', this.close); + if (this.smart) { + this.j.e + .off('escape', this.close) + .off('mousedown touchstart', this.closeOnOutsideClick) + .off(ow, 'mousedown touchstart', this.closeOnOutsideClick); + } + this.j.e + .off('closeAllPopups', this.close) + .off('resize', up) + .off(this.container, 'scroll mousewheel', up) + .off(ow, 'scroll', up) + .off(ow, 'resize', up); + void 0; + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.up */ .i.up(this.j.container, box => { + box && this.j.e.off(box, 'scroll mousewheel', up); + }); } -}; -UIInput.defaultState = { - className: '', - autocomplete: true, - name: '', - value: '', - icon: '', - label: '', - ref: '', - type: 'text', - placeholder: '', - required: false, - validators: [] -}; -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.clearButton') -], UIInput.prototype, "onChangeClear", null); + setZIndex(index) { + this.container.style.zIndex = index.toString(); + } + constructor(jodit, smart = true) { + super(jodit); + this.smart = smart; + this.isOpened = false; + this.strategy = 'leftBottom'; + this.viewBound = () => ({ + left: 0, + top: 0, + width: this.ow.innerWidth, + height: this.ow.innerHeight + }); + this.childrenPopups = new Set(); + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(this.container, 'role', 'popup'); + } + destruct() { + this.close(); + return super.destruct(); + } +} (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.className') -], UIInput.prototype, "onChangeClassName", null); + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind +], Popup.prototype, "updatePosition", null); (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)([ - 'state.name', - 'state.type', - 'state.label', - 'state.placeholder', - 'state.autocomplete', - 'state.icon' - ]), - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.debounce)() -], UIInput.prototype, "onChangeState", null); + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.throttle)(10), + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind +], Popup.prototype, "throttleUpdatePosition", null); (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.value') -], UIInput.prototype, "onChangeStateValue", null); + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind +], Popup.prototype, "close", null); (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind -], UIInput.prototype, "onChangeValue", null); -UIInput = UIInput_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.component -], UIInput); - +], Popup.prototype, "closeOnOutsideClick", null); /***/ }), -/***/ 83518: +/***/ 43608: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "g": function() { return /* reexport */ input_namespaceObject; }, - "s": function() { return /* reexport */ select_namespaceObject; } -}); - -// NAMESPACE OBJECT: ./src/core/ui/form/validators/input.ts -var input_namespaceObject = {}; -__webpack_require__.r(input_namespaceObject); -__webpack_require__.d(input_namespaceObject, { - "required": function() { return required; }, - "url": function() { return url; } -}); - -// NAMESPACE OBJECT: ./src/core/ui/form/validators/select.ts -var select_namespaceObject = {}; -__webpack_require__.r(select_namespaceObject); -__webpack_require__.d(select_namespaceObject, { - "C": function() { return select_required; } -}); - -// EXTERNAL MODULE: ./src/core/helpers/checker/is-url.ts -var is_url = __webpack_require__(42139); -// EXTERNAL MODULE: ./src/core/helpers/string/trim.ts -var trim = __webpack_require__(89681); -;// CONCATENATED MODULE: ./src/core/ui/form/validators/input.ts +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "C": function() { return /* binding */ ViewWithToolbar; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); +/* harmony import */ var _view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75902); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64968); +/* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(81438); +/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(90549); +/* harmony import */ var _ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(97642); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -11285,72 +10760,6 @@ var trim = __webpack_require__(89681); */ -const required = function (input) { - if (!(0,trim/* trim */.f)(input.value).length) { - input.error = 'Please fill out this field'; - return false; - } - return true; -}; -const url = function (input) { - if (!(0,is_url/* isURL */.P)((0,trim/* trim */.f)(input.value))) { - input.error = 'Please enter a web address'; - return false; - } - return true; -}; - -;// CONCATENATED MODULE: ./src/core/ui/form/validators/select.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - -const select_required = function (select) { - if (!(0,trim/* trim */.f)(select.value).length) { - select.error = 'Please fill out this field'; - return false; - } - return true; -}; - -;// CONCATENATED MODULE: ./src/core/ui/form/validators/index.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - -/***/ }), - -/***/ 31454: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "q": function() { return /* binding */ UIGroup; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20255); -/* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52378); -/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16867); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -var UIGroup_1; - @@ -11358,164 +10767,133 @@ var UIGroup_1; -let UIGroup = UIGroup_1 = class UIGroup extends _element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { - constructor(jodit, elements, options) { - super(jodit, options); - this.options = options; - this.syncMod = false; - this.elements = []; - this.buttonSize = 'middle'; - elements === null || elements === void 0 ? void 0 : elements.forEach(elm => elm && this.append(elm)); - if (options === null || options === void 0 ? void 0 : options.name) { - this.name = options.name; +class ViewWithToolbar extends _view__WEBPACK_IMPORTED_MODULE_0__/* .View */ .G { + get toolbarContainer() { + if (!this.o.fullsize && + ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(this.o.toolbar) || jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.isHTMLElement */ .i.isHTMLElement(this.o.toolbar))) { + return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.resolveElement)(this.o.toolbar, this.o.shadowRoot || this.od); } + this.o.toolbar && + jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.appendChildFirst */ .i.appendChildFirst(this.container, this.defaultToolbarContainer); + return this.defaultToolbarContainer; } - className() { - return 'UIGroup'; + setPanel(element) { + this.o.toolbar = element; + this.buildToolbar(); } - get allChildren() { - const result = []; - const stack = [ - ...this.elements - ]; - while (stack.length) { - const elm = stack.shift(); - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isArray)(elm)) { - stack.push(...elm); - } - else if (jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(elm, UIGroup_1)) { - stack.push(...elm.elements); - } - else { - elm && result.push(elm); - } + buildToolbar() { + if (!this.o.toolbar) { + return; } - return result; + const buttons = this.o.buttons + ? (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.splitArray)(this.o.buttons) + : []; + this.toolbar + .setRemoveButtons(this.o.removeButtons) + .build(buttons.concat(this.o.extraButtons || [])) + .appendTo(this.toolbarContainer); } - update() { - this.elements.forEach(elm => elm.update()); - this.setMod('size', this.buttonSize); + getRegisteredButtonGroups() { + return this.groupToButtons; } - append(elm, distElement) { - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isArray)(elm)) { - elm.forEach(item => this.append(item, distElement)); - return this; - } - this.elements.push(elm); - if (elm.name) { - elm.container.classList.add(this.getFullElName(elm.name)); + registerButton(btn) { + var _a; + this.registeredButtons.add(btn); + const group = (_a = btn.group) !== null && _a !== void 0 ? _a : 'other'; + if (!this.groupToButtons[group]) { + this.groupToButtons[group] = []; } - if (distElement) { - const distElm = this.getElm(distElement); - distElm.appendChild(elm.container); + if (btn.position != null) { + this.groupToButtons[group][btn.position] = btn.name; } else { - this.appendChildToContainer(elm.container); + this.groupToButtons[group].push(btn.name); } - elm.parentElement = this; - elm.update(); return this; } - afterSetMod(name, value) { - if (this.syncMod) { - this.elements.forEach(elm => elm.setMod(name, value)); + unregisterButton(btn) { + var _a; + this.registeredButtons.delete(btn); + const groupName = (_a = btn.group) !== null && _a !== void 0 ? _a : 'other', group = this.groupToButtons[groupName]; + if (group) { + const index = group.indexOf(btn.name); + if (index !== -1) { + group.splice(index, 1); + } + if (group.length === 0) { + delete this.groupToButtons[groupName]; + } } + return this; } - appendChildToContainer(childContainer) { - this.container.appendChild(childContainer); - } - remove(elm) { - const index = this.elements.indexOf(elm); - if (index !== -1) { - this.elements.splice(index, 1); - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom.safeRemove */ .i.safeRemove(elm.container); - elm.parentElement = null; + beforeToolbarBuild(items) { + if (Object.keys(this.groupToButtons).length) { + return items.map(item => { + if ((0,_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_6__/* .isButtonGroup */ .A)(item) && + item.group && + this.groupToButtons[item.group]) { + return { + group: item.group, + buttons: [ + ...item.buttons, + ...this.groupToButtons[item.group] + ] + }; + } + return item; + }); } - return this; } - clear() { - this.elements.forEach(elm => elm.destruct()); - this.elements.length = 0; - return this; + constructor(options, isJodit = false) { + super(options, isJodit); + this.toolbar = (0,jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_3__/* .makeCollection */ .R)(this); + this.defaultToolbarContainer = this.c.div('jodit-toolbar__box'); + this.registeredButtons = new Set(); + this.groupToButtons = {}; + this.isJodit = false; + this.isJodit = isJodit; + this.e.on('beforeToolbarBuild', this.beforeToolbarBuild); } destruct() { - this.clear(); - return super.destruct(); + if (this.isDestructed) { + return; + } + this.setStatus(_component__WEBPACK_IMPORTED_MODULE_4__/* .STATUSES.beforeDestruct */ .n$.beforeDestruct); + this.e.off('beforeToolbarBuild', this.beforeToolbarBuild); + this.toolbar.destruct(); + super.destruct(); } -}; -(0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('buttonSize') -], UIGroup.prototype, "update", null); -UIGroup = UIGroup_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component -], UIGroup); - +} +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind +], ViewWithToolbar.prototype, "beforeToolbarBuild", null); /***/ }), -/***/ 27682: +/***/ 75902: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "b": function() { return /* binding */ UIList; } -}); - -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/core/ui/helpers/get-control-type.ts -var get_control_type = __webpack_require__(58240); -// EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); -// EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts -var is_array = __webpack_require__(41515); -// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var utils = __webpack_require__(38301); -;// CONCATENATED MODULE: ./src/core/ui/helpers/get-strong-control-types.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - -function getStrongControlTypes(items, controls) { - const elements = (0,is_array/* isArray */.k)(items) - ? items - : (0,utils.keys)(items, false).map(key => { - const value = items[key] || {}; - return (0,utils.ConfigProto)({ name: key }, value); - }); - return elements.map(item => (0,get_control_type/* getControlType */.Y)(item, controls || config/* Config.defaultOptions.controls */.D.defaultOptions.controls)); -} - -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/ui/group/group.ts -var group = __webpack_require__(31454); -// EXTERNAL MODULE: ./src/core/ui/group/separator.ts -var separator = __webpack_require__(33250); -// EXTERNAL MODULE: ./src/core/ui/group/spacer.ts -var spacer = __webpack_require__(35756); -// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts -var button_button = __webpack_require__(6816); -// EXTERNAL MODULE: ./src/core/ui/helpers/buttons.ts -var buttons = __webpack_require__(20220); -// EXTERNAL MODULE: ./src/core/helpers/array/split-array.ts -var split_array = __webpack_require__(11986); -// EXTERNAL MODULE: ./src/core/component/component.ts -var component = __webpack_require__(16867); -;// CONCATENATED MODULE: ./src/core/ui/group/list.ts +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "G": function() { return /* binding */ View; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20255); +/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88755); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86893); +/* harmony import */ var jodit_modules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22705); +/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17332); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(72452); +/* harmony import */ var jodit_core_event_emitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4567); +/* harmony import */ var jodit_modules_messages_messages__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(17832); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var View_1; @@ -11526,131 +10904,202 @@ var component = __webpack_require__(16867); - - -let UIList = class UIList extends group/* UIGroup */.q { - constructor(jodit) { - super(jodit); - this.mode = 'horizontal'; - this.removeButtons = []; - this.onChangeMode(); +let View = View_1 = class View extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Component { + get basePath() { + if (this.o.basePath) { + return this.o.basePath; + } + return jodit_core_constants__WEBPACK_IMPORTED_MODULE_2__.BASE_PATH; } - className() { - return 'UIList'; + get defaultTimeout() { + return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isVoid)(this.o.defaultTimeout) ? 100 : this.o.defaultTimeout; } - onChangeMode() { - this.setMod('mode', this.mode); + get c() { + return this.create; } - makeGroup() { - return new group/* UIGroup */.q(this.jodit); + get container() { + return this.__container; } - get buttons() { - return this.allChildren.filter(elm => component/* Component.isInstanceOf */.w.isInstanceOf(elm, button_button/* UIButton */.y3)); + set container(container) { + this.__container = container; } - getButtonsNames() { - return this.buttons - .map(a => (a instanceof button_button/* UIButton */.y3 && a.state.name) || '') - .filter(a => a !== ''); + get e() { + return this.events; } - setRemoveButtons(removeButtons) { - this.removeButtons = removeButtons || []; - return this; + get options() { + return this.__options; } - build(items, target = null) { - items = (0,split_array/* splitArray */.C)(items); - this.clear(); - let lastBtnSeparator = false; - let line = this.makeGroup(); - this.append(line); - line.setMod('line', true); - let group; - const addButton = (control) => { - let elm = null; - switch (control.name) { - case '\n': - line = this.makeGroup(); - line.setMod('line', true); - group = this.makeGroup(); - line.append(group); - this.append(line); - break; - case '|': - if (!lastBtnSeparator) { - lastBtnSeparator = true; - elm = new separator/* UISeparator */.l(this.j); - } - break; - case '---': { - group.setMod('before-spacer', true); - const space = new spacer/* UISpacer */.W(this.j); - line.append(space); - group = this.makeGroup(); - line.append(group); - lastBtnSeparator = false; - break; - } - default: - lastBtnSeparator = false; - elm = this.makeButton(control, target); - } - if (elm) { - if (!group) { - group = this.makeGroup(); - line.append(group); - } - group.append(elm); - } - }; - const isNotRemoved = (b) => !this.removeButtons.includes(b.name); - items.forEach(item => { - if ((0,buttons/* isButtonGroup */.A)(item)) { - const buttons = item.buttons.filter(b => b); - if (buttons.length) { - group = this.makeGroup(); - group.setMod('separated', true).setMod('group', item.group); - line.append(group); - getStrongControlTypes(buttons, this.j.o.controls) - .filter(isNotRemoved) - .forEach(addButton); - } - } - else { - if (!group) { - group = this.makeGroup(); - line.append(group); - } - const control = (0,get_control_type/* getControlType */.Y)(item, this.j.o.controls); - isNotRemoved(control) && addButton(control); + set options(options) { + this.__options = options; + } + get o() { + return this.options; + } + i18n(text, ...params) { + return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.i18n)(text, params, this.options); + } + toggleFullSize(isFullSize) { + if (isFullSize === undefined) { + isFullSize = !this.__isFullSize; + } + if (isFullSize === this.__isFullSize) { + return; + } + this.__isFullSize = isFullSize; + this.e.fire('toggleFullSize', isFullSize); + } + get isLocked() { + return this.__whoLocked !== ''; + } + lock(name = 'any') { + if (!this.isLocked) { + this.__whoLocked = name; + return true; + } + return false; + } + unlock() { + if (this.isLocked) { + this.__whoLocked = ''; + return true; + } + return false; + } + get isFullSize() { + return this.__isFullSize; + } + getVersion() { + return "3.24.1"; + } + static getVersion() { + return "3.24.1"; + } + initOptions(options) { + this.options = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(options || {}, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(this.options || {}, View_1.defaultOptions)); + } + initOwners() { + var _a; + this.ownerWindow = (_a = this.o.ownerWindow) !== null && _a !== void 0 ? _a : window; + } + attachEvents(options) { + if (!options) { + return; + } + const e = options === null || options === void 0 ? void 0 : options.events; + e && Object.keys(e).forEach((key) => this.e.on(key, e[key])); + } + constructor(options, isJodit = false) { + super(); + this.isJodit = isJodit; + this.isView = true; + this.parent = null; + this.mods = {}; + this.components = new Set(); + this.version = "3.24.1"; + this.buffer = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(); + this.storage = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(true, this.componentName); + this.OPTIONS = View_1.defaultOptions; + this.__isFullSize = false; + this.__whoLocked = ''; + this.isLockedNotBy = (name) => this.isLocked && this.__whoLocked !== name; + this.__modulesInstances = new Map(); + this.id = new Date().getTime().toString(); + this.buffer = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(); + this.initOptions(options); + this.initOwners(); + this.events = new jodit_core_event_emitter__WEBPACK_IMPORTED_MODULE_7__/* .EventEmitter */ .vp(this.od); + this.create = new jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Create(this.od); + this.container = this.c.div(`jodit ${this.componentName}`); + this.progressbar = new jodit_modules__WEBPACK_IMPORTED_MODULE_3__.ProgressBar(this); + this.message = new jodit_modules_messages_messages__WEBPACK_IMPORTED_MODULE_8__/* .UIMessages */ .D(this, this.container); + } + getInstance(moduleName, options) { + const instance = this.e.fire((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.camelCase)('getInstance_' + moduleName), options); + if (instance) { + return instance; + } + const module = jodit_core_global__WEBPACK_IMPORTED_MODULE_4__/* .modules */ .qz[moduleName], mi = this.__modulesInstances; + if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(module)) { + throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.error)('Need real module name'); + } + if (!mi.has(moduleName)) { + const instance = module.prototype instanceof jodit_modules__WEBPACK_IMPORTED_MODULE_3__.ViewComponent + ? new module(this, options) + : new module(options); + this.components.add(instance); + mi.set(moduleName, instance); + } + return mi.get(moduleName); + } + addDisclaimer(elm) { + this.container.appendChild(elm); + } + beforeDestruct() { + this.e.fire(jodit_modules__WEBPACK_IMPORTED_MODULE_3__.STATUSES.beforeDestruct, this); + this.components.forEach(component => { + if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isDestructable)(component) && !component.isInDestruct) { + component.destruct(); } }); - this.update(); - return this; + this.components.clear(); } - makeButton(control, target) { - return new button_button/* UIButton */.y3(this.j); + destruct() { + if (this.isDestructed) { + return; + } + this.progressbar.destruct(); + this.message.destruct(); + if (this.async) { + this.async.destruct(); + } + if (this.events) { + this.e.destruct(); + } + if (this.buffer) { + this.buffer.clear(); + } + jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(this.container); + super.destruct(); } }; -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.watch)('mode') -], UIList.prototype, "onChangeMode", null); -UIList = (0,tslib_es6/* __decorate */.gn)([ - decorators.component -], UIList); +View.esNext = true; +(0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.hook)(jodit_modules__WEBPACK_IMPORTED_MODULE_3__.STATUSES.beforeDestruct) +], View.prototype, "beforeDestruct", null); +View = View_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.derive)(jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__/* .Mods */ .$t, jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__/* .Elms */ .Fx) +], View); +View.defaultOptions = { + extraButtons: [], + textIcons: false, + namespace: '', + removeButtons: [], + zIndex: 100002, + defaultTimeout: 100, + fullsize: false, + showTooltip: true, + useNativeTooltip: false, + buttons: [], + globalFullSize: true, + language: 'auto' +}; /***/ }), -/***/ 33250: +/***/ 60403: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "l": function() { return /* binding */ UISeparator; } +/* harmony export */ "x": function() { return /* binding */ ContextMenu; } /* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45466); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_popup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35799); +/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55310); +/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78411); +/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11441); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -11659,159 +11108,138 @@ UIList = (0,tslib_es6/* __decorate */.gn)([ -let UISeparator = class UISeparator extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { - className() { - return 'UISeparator'; - } -}; -UISeparator = (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__decorate */ .gn)([ - jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__/* .component */ .w -], UISeparator); - - -/***/ }), -/***/ 35756: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "W": function() { return /* binding */ UISpacer; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45466); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - -let UISpacer = class UISpacer extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { +let ContextMenu = class ContextMenu extends jodit_core_ui_popup__WEBPACK_IMPORTED_MODULE_0__/* .Popup */ .G { className() { - return 'UISpacer'; + return 'ContextMenu'; + } + show(x, y, actions) { + const self = this, content = this.j.c.div(this.getFullElName('actions')); + if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isArray */ .kJ)(actions)) { + return; + } + actions.forEach(item => { + if (!item) { + return; + } + const action = (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .zx)(this.jodit, item.icon || 'empty', item.title); + this.jodit && action.setParentView(this.jodit); + action.setMod('context', 'menu'); + action.onAction((e) => { + var _a; + (_a = item.exec) === null || _a === void 0 ? void 0 : _a.call(self, e); + self.close(); + return false; + }); + content.appendChild(action.container); + }); + this.setContent(content).open(() => ({ left: x, top: y, width: 0, height: 0 }), true); } }; -UISpacer = (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__decorate */ .gn)([ - jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__/* .component */ .w -], UISpacer); +ContextMenu = (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([ + jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_4__/* .component */ .w +], ContextMenu); /***/ }), -/***/ 20220: +/***/ 8649: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "A": function() { return /* binding */ isButtonGroup; }, -/* harmony export */ "q": function() { return /* binding */ flatButtonsSet; } -/* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41515); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - -const isButtonGroup = (item) => { - return (0,jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__/* .isArray */ .k)(item.buttons); -}; -function flatButtonsSet(buttons, jodit) { - const groups = jodit.getRegisteredButtonGroups(); - return new Set(buttons.reduce((acc, item) => { - var _a; - if (isButtonGroup(item)) { - acc = acc.concat([ - ...item.buttons, - ...((_a = groups[item.group]) !== null && _a !== void 0 ? _a : []) - ]); - } - else { - acc.push(item); - } - return acc; - }, [])); -} - -/***/ }), - -/***/ 58240: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "f": function() { return /* reexport */ FileBrowser; }, + "F": function() { return /* reexport */ isFileBrowserFilesItem; } +}); -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Y": function() { return /* binding */ getControlType; }, -/* harmony export */ "z": function() { return /* binding */ findControlType; } -/* harmony export */ }); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83370); -/* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80031); +// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js +var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/config.ts +var config = __webpack_require__(93166); +// EXTERNAL MODULE: ./src/core/constants.ts +var constants = __webpack_require__(86893); +// EXTERNAL MODULE: ./src/core/storage/index.ts + 3 modules +var storage = __webpack_require__(88755); +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +// EXTERNAL MODULE: ./src/core/dom/index.ts +var dom = __webpack_require__(64968); +// EXTERNAL MODULE: ./src/core/request/index.ts + 3 modules +var request = __webpack_require__(12709); +// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules +var decorators = __webpack_require__(67493); +;// CONCATENATED MODULE: ./src/modules/file-browser/builders/item.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ - -function getControlType(button, controls) { - let buttonControl; - if (!controls) { - controls = jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config.defaultOptions.controls */ .D.defaultOptions.controls; +class FileBrowserItem { + constructor(data) { + this.data = data; + Object.keys(data).forEach(key => { + this[key] = data[key]; + }); } - if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.isString)(button)) { - buttonControl = { name: 'empty', ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(button) }; - if (controls[buttonControl.name] !== undefined) { - buttonControl = { - ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(controls[buttonControl.name]), - ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(buttonControl) - }; + static create(data) { + if (data instanceof FileBrowserItem) { + return data; } + return new FileBrowserItem(data); } - else { - buttonControl = findControlType(button, controls) || { - name: button, - command: button, - tooltip: button - }; + get path() { + return (0,helpers.normalizePath)(this.data.source.path ? this.data.source.path + '/' : '/'); } - return buttonControl; -} -function findControlType(path, controls) { - let [namespaceOrKey, key] = path.split(/\./); - let store = controls; - if (key != null) { - if (controls[namespaceOrKey] !== undefined) { - store = controls[namespaceOrKey]; + get imageURL() { + const timestamp = this.time || new Date().getTime().toString(), { thumbIsAbsolute, source, thumb, file } = this.data, path = thumb || file; + return thumbIsAbsolute && path + ? path + : (0,helpers.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,helpers.normalizeUrl)(source.baseurl, source.path, name || ''); } - else { - key = namespaceOrKey; + 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; } - return store[key] - ? { - name: key, - ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(store[key]) - } - : undefined; } - -/***/ }), - -/***/ 80353: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "J": function() { return /* binding */ Icon; } -/* harmony export */ }); -/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76239); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83370); +;// CONCATENATED MODULE: ./src/modules/file-browser/data-provider.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -11819,659 +11247,568 @@ function findControlType(path, controls) { */ -class Icon { - static getIcon(name) { - if (/
'; - } - show() { - const container = this.j.workplace || this.j.container; - container.appendChild(this.container); - return this; - } - hide() { - dom/* Dom.safeRemove */.i.safeRemove(this.container); - return this; - } - progress(percentage) { - this.container.style.width = percentage.toFixed(2) + '%'; - return this; +const DEFAULT_SOURCE_NAME = 'default'; +const possibleRules = (/* unused pure expression or super */ null && ([ + 'allowFiles', + 'allowFileMove', + 'allowFileUpload', + 'allowFileUploadRemote', + 'allowFileRemove', + 'allowFileRename', + 'allowFolders', + 'allowFolderMove', + 'allowFolderCreate', + 'allowFolderRemove', + 'allowFolderRename', + 'allowImageResize', + 'allowImageCrop' +])); +let DataProvider = class DataProvider { + constructor(parent, options) { + this.parent = parent; + this.options = options; + this.__currentPermissions = null; + this.ajaxInstances = new Map(); + this.progressHandler = (ignore) => { }; } - destruct() { - this.hide(); - return super.destruct(); + get o() { + return this.options; } -} - -;// CONCATENATED MODULE: ./src/core/ui/index.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - - - - -/***/ }), - -/***/ 36649: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "G": function() { return /* reexport safe */ _popup__WEBPACK_IMPORTED_MODULE_0__.G; } -/* harmony export */ }); -/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78900); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - -/***/ }), - -/***/ 78900: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "G": function() { return /* binding */ Popup; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52378); -/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16867); -/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(16672); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - - - - -class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u { - constructor(jodit, smart = true) { - super(jodit); - this.smart = smart; - this.isOpened = false; - this.strategy = 'leftBottom'; - this.viewBound = () => ({ - left: 0, - top: 0, - width: this.ow.innerWidth, - height: this.ow.innerHeight + get(name) { + const ai = this.ajaxInstances; + if (ai.has(name)) { + const ajax = ai.get(name); + ajax === null || ajax === void 0 ? void 0 : ajax.abort(); + ai.delete(name); + } + const opts = (0,helpers.ConfigProto)(this.options[name] !== undefined + ? this.options[name] + : {}, (0,helpers.ConfigProto)({ + onProgress: this.progressHandler + }, this.o.ajax)); + if (opts.prepareData) { + opts.data = opts.prepareData.call(this, opts.data); + } + const ajax = new request/* Ajax */.t(opts); + ai.set(name, ajax); + const promise = ajax.send(); + promise + .finally(() => { + ajax.destruct(); + ai.delete(name); + this.progressHandler(100); + }) + .catch(() => null); + return promise + .then(resp => resp.json()) + .then(resp => { + if (resp && !this.isSuccess(resp)) { + throw new Error(this.getMessage(resp)); + } + return resp; }); - this.childrenPopups = new Set(); - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(this.container, 'role', 'popup'); } - className() { - return 'Popup'; + onProgress(callback) { + this.progressHandler = callback; } - updateParentElement(target) { - if (target !== this && jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(target, Popup)) { - this.childrenPopups.forEach(popup => { - if (!target.closest(popup) && popup.isOpened) { - popup.close(); + async permissions(path, source) { + if (!this.o.permissions) { + return null; + } + this.o.permissions.data.path = path; + this.o.permissions.data.source = source; + if (this.o.permissions.url) { + return this.get('permissions').then(resp => { + let process = this.o.permissions.process; + if (!process) { + process = this.o.ajax.process; + } + if (process) { + const respData = process.call(self, resp); + if (respData.data.permissions) { + this.__currentPermissions = respData.data.permissions; + } } + return this.__currentPermissions; }); - if (!this.childrenPopups.has(target)) { - this.j.e.on(target, 'beforeClose', () => { - this.childrenPopups.delete(target); - }); - } - this.childrenPopups.add(target); } - return super.updateParentElement(target); + return null; } - setContent(content) { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.detach */ .i.detach(this.container); - const box = this.j.c.div(`${this.componentName}__content`); - let elm; - if (jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(content, jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u)) { - elm = content.container; - content.parentElement = this; - } - else if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(content)) { - elm = this.j.c.fromHTML(content); - } - else { - elm = content; - } - box.appendChild(elm); - this.container.appendChild(box); - this.updatePosition(); - return this; + canI(action) { + const rule = 'allow' + action; + if (false) {} + return (this.__currentPermissions == null || + this.__currentPermissions[rule] === undefined || + this.__currentPermissions[rule]); } - open(getBound, keepPosition = false, parentContainer) { - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.markOwner)(this.jodit, this.container); - this.calculateZIndex(); - this.isOpened = true; - this.addGlobalListeners(); - this.targetBound = !keepPosition - ? getBound - : this.getKeepBound(getBound); - if (parentContainer) { - parentContainer.appendChild(this.container); + __items(path, source, mods, onResult) { + const opt = this.options; + if (!opt.items) { + return Promise.reject('Set Items api options'); } - else { - const popupContainer = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .getContainer */ .ZO)(this.jodit, Popup); - if (parentContainer !== this.container.parentElement) { - popupContainer.appendChild(this.container); + opt.items.data.path = path; + opt.items.data.source = source; + opt.items.data.mods = mods; + return this.get('items').then(resp => { + let process = this.o.items.process; + if (!process) { + process = this.o.ajax.process; } - } - this.updatePosition(); - this.j.e.fire(this, 'afterOpen'); - return this; - } - calculateZIndex() { - if (this.container.style.zIndex) { - return; - } - const checkView = (view) => { - const zIndex = view.container.style.zIndex || view.o.zIndex; - if (zIndex) { - this.setZIndex(1 + parseInt(zIndex.toString(), 10)); - return true; + if (process) { + resp = process.call(self, resp); } - return false; + return onResult(resp); + }); + } + items(path, source, mods = {}) { + return this.__items(path, source, mods, resp => this.generateItemsList(resp.data.sources, mods)); + } + itemsEx(path, source, mods = {}) { + const calcTotal = (sources) => sources.reduce((acc, source) => acc + source.files.length, 0); + return this.__items(path, source, mods, resp => ({ + items: this.generateItemsList(resp.data.sources, mods), + loadedTotal: calcTotal(resp.data.sources) + })); + } + generateItemsList(sources, mods = {}) { + const elements = []; + const canBeFile = (item) => item.type === 'folder' || + !mods.onlyImages || + item.isImage === undefined || + item.isImage; + const inFilter = (item) => { + var _a; + return !((_a = mods.filterWord) === null || _a === void 0 ? void 0 : _a.length) || + this.o.filter === undefined || + this.o.filter(item, mods.filterWord); }; - const { j } = this; - if (checkView(j)) { - return; + sources.forEach(source => { + if (source.files && source.files.length) { + const { sort } = this.o; + if ((0,helpers.isFunction)(sort) && mods.sortBy) { + source.files.sort((a, b) => sort(a, b, mods.sortBy)); + } + source.files.forEach((item) => { + if (inFilter(item) && canBeFile(item)) { + elements.push(FileBrowserItem.create({ + ...item, + sourceName: source.name, + source + })); + } + }); + } + }); + return elements; + } + async tree(path, source) { + path = (0,helpers.normalizeRelativePath)(path); + if (!this.o.folder) { + return Promise.reject('Set Folder Api options'); } - let pe = this.parentElement; - while (pe) { - if (checkView(j)) { - return; + await this.permissions(path, source); + this.o.folder.data.path = path; + this.o.folder.data.source = source; + return this.get('folder').then(resp => { + let process = this.o.folder.process; + if (!process) { + process = this.o.ajax.process; } - if (pe.container.style.zIndex) { - this.setZIndex(1 + parseInt(pe.container.style.zIndex.toString(), 10)); - return; + if (process) { + resp = process.call(self, resp); } - if (!pe.parentElement && pe.container.parentElement) { - const elm = jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement.closestElement */ .u.closestElement(pe.container.parentElement, jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u); - if (elm) { - pe = elm; - continue; - } + return resp.data.sources; + }); + } + getPathByUrl(url) { + (0,helpers.set)('options.getLocalFileByUrl.data.url', url, this); + return this.get('getLocalFileByUrl').then(resp => { + if (this.isSuccess(resp)) { + return resp.data; } - pe = pe.parentElement; - } + throw (0,helpers.error)(this.getMessage(resp)); + }); } - getKeepBound(getBound) { - const oldBound = getBound(); - const elmUnderCursor = this.od.elementFromPoint(oldBound.left, oldBound.top); - if (!elmUnderCursor) { - return getBound; + createFolder(name, path, source) { + const { create } = this.o; + if (!create) { + throw (0,helpers.error)('Set Create api options'); } - const element = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isHTMLElement */ .i.isHTMLElement(elmUnderCursor) - ? elmUnderCursor - : elmUnderCursor.parentElement; - const oldPos = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(element, this.j); - return () => { - const bound = getBound(); - const newPos = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(element, this.j); - return { - ...bound, - top: bound.top + (newPos.top - oldPos.top), - left: bound.left + (newPos.left - oldPos.left) - }; - }; + create.data.source = source; + create.data.path = path; + create.data.name = name; + return this.get('create').then(resp => { + if (this.isSuccess(resp)) { + return true; + } + throw (0,helpers.error)(this.getMessage(resp)); + }); } - updatePosition() { - if (!this.isOpened) { - return this; + move(filepath, path, source, isFile) { + const mode = isFile + ? 'fileMove' + : 'folderMove'; + const option = this.options[mode]; + if (!option) { + throw (0,helpers.error)('Set Move api options'); } - const [pos, strategy] = this.calculatePosition(this.targetBound(), this.viewBound(), (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(this.container, this.j)); - this.setMod('strategy', strategy); - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.css)(this.container, { - left: pos.left, - top: pos.top + option.data.from = filepath; + option.data.path = path; + option.data.source = source; + return this.get(mode).then(resp => { + if (this.isSuccess(resp)) { + return true; + } + throw (0,helpers.error)(this.getMessage(resp)); }); - this.childrenPopups.forEach(popup => popup.updatePosition()); - return this; - } - throttleUpdatePosition() { - this.updatePosition(); } - calculatePosition(target, view, container, defaultStrategy = this.strategy) { - const x = { - left: target.left, - right: target.left - (container.width - target.width) - }, y = { - bottom: target.top + target.height, - top: target.top - container.height - }; - const list = Object.keys(x).reduce((keys, xKey) => keys.concat(Object.keys(y).map(yKey => `${xKey}${(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ucfirst)(yKey)}`)), []); - const getPointByStrategy = (strategy) => { - const [xKey, yKey] = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.kebabCase)(strategy).split('-'); - return { - left: x[xKey], - top: y[yKey], - width: container.width, - height: container.height - }; - }; - const getMatchStrategy = (inBox) => { - let strategy = null; - if (Popup.boxInView(getPointByStrategy(defaultStrategy), inBox)) { - strategy = defaultStrategy; - } - else { - strategy = - list.find((key) => { - if (Popup.boxInView(getPointByStrategy(key), inBox)) { - return key; - } - return; - }) || null; - } - return strategy; - }; - let strategy = getMatchStrategy((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(this.j.container, this.j)); - if (!strategy || !Popup.boxInView(getPointByStrategy(strategy), view)) { - strategy = getMatchStrategy(view) || strategy || defaultStrategy; + remove(action, path, file, source) { + const fr = this.o[action]; + if (!fr) { + throw (0,helpers.error)(`Set "${action}" api options`); } - return [getPointByStrategy(strategy), strategy]; - } - static boxInView(box, view) { - const accuracy = 2; - return (box.top - view.top >= -accuracy && - box.left - view.left >= -accuracy && - view.top + view.height - (box.top + box.height) >= -accuracy && - view.left + view.width - (box.left + box.width) >= -accuracy); + fr.data.path = path; + fr.data.name = file; + fr.data.source = source; + return this.get(action).then(resp => { + if (fr.process) { + resp = fr.process.call(this, resp); + } + return this.getMessage(resp); + }); } - close() { - if (!this.isOpened) { - return this; - } - this.isOpened = false; - this.childrenPopups.forEach(popup => popup.close()); - this.j.e.fire(this, 'beforeClose'); - this.j.e.fire('beforePopupClose', this); - this.removeGlobalListeners(); - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.safeRemove */ .i.safeRemove(this.container); - return this; + fileRemove(path, file, source) { + return this.remove('fileRemove', path, file, source); } - closeOnOutsideClick(e) { - if (!this.isOpened || this.isOwnClick(e)) { - return; - } - this.close(); + folderRemove(path, file, source) { + return this.remove('folderRemove', path, file, source); } - isOwnClick(e) { - if (!e.target) { - return false; + rename(action, path, name, newname, source) { + const fr = this.o[action]; + if (!fr) { + throw (0,helpers.error)(`Set "${action}" api options`); } - const box = jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement.closestElement */ .u.closestElement(e.target, Popup); - return Boolean(box && (this === box || box.closest(this))); - } - addGlobalListeners() { - const up = this.throttleUpdatePosition, ow = this.ow; - jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.on */ .TB.on('closeAllPopups', this.close); - if (this.smart) { - this.j.e - .on('escape', this.close) - .on('mousedown touchstart', this.closeOnOutsideClick) - .on(ow, 'mousedown touchstart', this.closeOnOutsideClick); - } - this.j.e - .on('closeAllPopups', this.close) - .on('resize', up) - .on(this.container, 'scroll mousewheel', up) - .on(ow, 'scroll', up) - .on(ow, 'resize', up); - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.up */ .i.up(this.j.container, box => { - box && this.j.e.on(box, 'scroll mousewheel', up); + fr.data.path = path; + fr.data.name = name; + fr.data.newname = newname; + fr.data.source = source; + return this.get(action).then(resp => { + if (fr.process) { + resp = fr.process.call(self, resp); + } + return this.getMessage(resp); }); } - removeGlobalListeners() { - const up = this.throttleUpdatePosition, ow = this.ow; - jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.off */ .TB.off('closeAllPopups', this.close); - if (this.smart) { - this.j.e - .off('escape', this.close) - .off('mousedown touchstart', this.closeOnOutsideClick) - .off(ow, 'mousedown touchstart', this.closeOnOutsideClick); + folderRename(path, name, newname, source) { + return this.rename('folderRename', path, name, newname, source); + } + fileRename(path, name, newname, source) { + return this.rename('fileRename', path, name, newname, source); + } + changeImage(type, path, source, name, newname, box) { + if (!this.o[type]) { + this.o[type] = { + data: {} + }; } - this.j.e - .off('closeAllPopups', this.close) - .off('resize', up) - .off(this.container, 'scroll mousewheel', up) - .off(ow, 'scroll', up) - .off(ow, 'resize', up); - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.up */ .i.up(this.j.container, box => { - box && this.j.e.off(box, 'scroll mousewheel', up); + const query = this.o[type]; + if (query.data === undefined) { + query.data = { + action: type + }; + } + query.data.newname = newname || name; + if (box) { + query.data.box = box; + } + query.data.path = path; + query.data.name = name; + query.data.source = source; + return this.get(type).then(() => { + return true; }); } - setZIndex(index) { - this.container.style.zIndex = index.toString(); + crop(path, source, name, newname, box) { + return this.changeImage('crop', path, source, name, newname, box); + } + resize(path, source, name, newname, box) { + return this.changeImage('resize', path, source, name, newname, box); + } + getMessage(resp) { + return this.options.getMessage(resp); + } + isSuccess(resp) { + return this.options.isSuccess(resp); } destruct() { - this.close(); - return super.destruct(); + this.ajaxInstances.forEach(a => a.destruct()); + this.ajaxInstances.clear(); } -} -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind -], Popup.prototype, "updatePosition", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.throttle)(10), - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind -], Popup.prototype, "throttleUpdatePosition", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind -], Popup.prototype, "close", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind -], Popup.prototype, "closeOnOutsideClick", null); +}; +DataProvider = (0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], DataProvider); +/* harmony default export */ var data_provider = (DataProvider); +// EXTERNAL MODULE: ./src/modules/context-menu/context-menu.ts +var context_menu = __webpack_require__(60403); +;// CONCATENATED MODULE: ./src/modules/file-browser/factories.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ -/***/ }), -/***/ 67555: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +function makeDataProvider(parent, options) { + return new data_provider(parent, options); +} +function makeContextMenu(parent) { + return new context_menu/* ContextMenu */.x(parent); +} -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "C": function() { return /* binding */ ViewWithToolbar; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); -/* harmony import */ var _view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49896); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36516); -/* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5243); -/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2624); -/* harmony import */ var _ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20220); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63945); +// EXTERNAL MODULE: ./src/core/helpers/normalize/index.ts + 7 modules +var normalize = __webpack_require__(46361); +// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules +var ui = __webpack_require__(93801); +;// CONCATENATED MODULE: ./src/modules/file-browser/builders/elements-map.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +const map = new WeakMap(); +const elementsMap = (view) => { + let result = map.get(view); + if (!result) { + result = {}; + map.set(view, result); + } + return result; +}; + +;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/load-items.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +function loadItems(fb) { + fb.files.setMod('active', true); + fb.files.setMod('loading', true); + return fb.dataProvider + .items(fb.state.currentPath, fb.state.currentSource, { + sortBy: fb.state.sortBy, + onlyImages: fb.state.onlyImages, + filterWord: fb.state.filterWord + }) + .then(resp => { + if (resp) { + fb.state.elements = resp; + fb.state.activeElements = []; + } + }) + .catch(fb.status) + .finally(() => fb.files.setMod('loading', false)); +} +;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/load-tree.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +async function loadTree(fb) { + fb.tree.setMod('active', true); + dom/* Dom.detach */.i.detach(fb.tree.container); + const items = loadItems(fb); + if (fb.o.showFoldersPanel) { + fb.tree.setMod('loading', true); + const tree = fb.dataProvider + .tree(fb.state.currentPath, fb.state.currentSource) + .then(resp => { + fb.state.sources = resp; + }) + .catch(fb.status) + .finally(() => fb.tree.setMod('loading', false)); + return Promise.all([tree, items]); + } + fb.tree.setMod('active', false); + return items; +} +;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/state-listeners.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ -class ViewWithToolbar extends _view__WEBPACK_IMPORTED_MODULE_0__/* .View */ .G { - constructor(options, isJodit = false) { - super(options, isJodit); - this.toolbar = (0,jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_3__/* .makeCollection */ .R)(this); - this.defaultToolbarContainer = this.c.div('jodit-toolbar__box'); - this.registeredButtons = new Set(); - this.groupToButtons = {}; - this.isJodit = false; - this.isJodit = isJodit; - this.e.on('beforeToolbarBuild', this.beforeToolbarBuild); - } - get toolbarContainer() { - if (!this.o.fullsize && - ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(this.o.toolbar) || jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.isHTMLElement */ .i.isHTMLElement(this.o.toolbar))) { - return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.resolveElement)(this.o.toolbar, this.o.shadowRoot || this.od); +const state_listeners_DEFAULT_SOURCE_NAME = 'default'; +function stateListeners() { + const elmMap = elementsMap(this); + const { state, files, create, options } = this, getDomElement = (item) => { + const key = item.uniqueHashKey; + if (elmMap[key]) { + return elmMap[key].elm; } - this.o.toolbar && - jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.appendChildFirst */ .i.appendChildFirst(this.container, this.defaultToolbarContainer); - return this.defaultToolbarContainer; - } - setPanel(element) { - this.o.toolbar = element; - this.buildToolbar(); - } - buildToolbar() { - if (!this.o.toolbar) { - return; + const elm = create.fromHTML(options.getThumbTemplate.call(this, item, item.source, item.sourceName.toString())); + elm.dataset.key = key; + elmMap[key] = { + item, + elm + }; + return elmMap[key].elm; + }; + state + .on(['change.currentPath', 'change.currentSource'], this.async.debounce(() => { + if (this.o.saveStateInStorage && + this.o.saveStateInStorage.storeLastOpenedFolder) { + this.storage + .set('currentPath', this.state.currentPath) + .set('currentSource', this.state.currentSource); } - const buttons = this.o.buttons - ? (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.splitArray)(this.o.buttons) - : []; - this.toolbar - .setRemoveButtons(this.o.removeButtons) - .build(buttons.concat(this.o.extraButtons || [])) - .appendTo(this.toolbarContainer); - } - getRegisteredButtonGroups() { - return this.groupToButtons; - } - registerButton(btn) { - var _a; - this.registeredButtons.add(btn); - const group = (_a = btn.group) !== null && _a !== void 0 ? _a : 'other'; - if (!this.groupToButtons[group]) { - this.groupToButtons[group] = []; + loadTree(this).catch(this.status); + }, this.defaultTimeout)) + .on('beforeChange.activeElements', () => { + state.activeElements.forEach(item => { + const key = item.uniqueHashKey, { elm } = elmMap[key]; + elm && + elm.classList.remove(files.getFullElName('item', 'active', true)); + }); + }) + .on('change.activeElements', () => { + this.e.fire('changeSelection'); + state.activeElements.forEach(item => { + const key = item.uniqueHashKey, { elm } = elmMap[key]; + elm && + elm.classList.add(files.getFullElName('item', 'active', true)); + }); + }) + .on('change.view', () => { + files.setMod('view', state.view); + if (this.o.saveStateInStorage && + this.o.saveStateInStorage.storeView) { + this.storage.set('view', state.view); } - if (btn.position != null) { - this.groupToButtons[group][btn.position] = btn.name; + }) + .on('change.sortBy', () => { + if (this.o.saveStateInStorage && + this.o.saveStateInStorage.storeSortBy) { + this.storage.set('sortBy', state.sortBy); + } + }) + .on('change.elements', this.async.debounce(() => { + dom/* Dom.detach */.i.detach(files.container); + if (state.elements.length) { + state.elements.forEach(item => { + this.files.container.appendChild(getDomElement(item)); + }); } else { - this.groupToButtons[group].push(btn.name); + files.container.appendChild(create.div(this.componentName + '_no-files_true', this.i18n('There are no files'))); } - return this; - } - unregisterButton(btn) { - var _a; - this.registeredButtons.delete(btn); - const groupName = (_a = btn.group) !== null && _a !== void 0 ? _a : 'other', group = this.groupToButtons[groupName]; - if (group) { - const index = group.indexOf(btn.name); - if (index !== -1) { - group.splice(index, 1); - } - if (group.length === 0) { - delete this.groupToButtons[groupName]; + }, this.defaultTimeout)) + .on('change.sources', this.async.debounce(() => { + dom/* Dom.detach */.i.detach(this.tree.container); + state.sources.forEach(source => { + const sourceName = source.name; + if (sourceName && sourceName !== state_listeners_DEFAULT_SOURCE_NAME) { + this.tree.container.appendChild(create.div(this.tree.getFullElName('source-title'), sourceName)); } - } - return this; - } - beforeToolbarBuild(items) { - if (Object.keys(this.groupToButtons).length) { - return items.map(item => { - if ((0,_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_6__/* .isButtonGroup */ .A)(item) && - item.group && - this.groupToButtons[item.group]) { - return { - group: item.group, - buttons: [ - ...item.buttons, - ...this.groupToButtons[item.group] - ] - }; + source.folders.forEach((name) => { + const folderElm = create.a(this.tree.getFullElName('item'), { + draggable: 'draggable', + href: '#', + 'data-path': (0,normalize/* normalizePath */.AH)(source.path, name + '/'), + 'data-name': name, + 'data-source': sourceName, + 'data-source-path': source.path + }, create.span(this.tree.getFullElName('item-title'), name)); + const action = (actionName) => (e) => { + this.e.fire(`${actionName}.filebrowser`, { + name, + path: (0,normalize/* normalizePath */.AH)(source.path + '/'), + source: sourceName + }); + e.stopPropagation(); + e.preventDefault(); + }; + this.e.on(folderElm, 'click', action('openFolder')); + this.tree.container.appendChild(folderElm); + if (name === '..' || name === '.') { + return; + } + if (options.renameFolder && + this.dataProvider.canI('FolderRename')) { + const btn = (0,ui/* Button */.zx)(this, { + icon: { name: 'pencil' }, + name: 'rename', + tooltip: 'Rename', + size: 'tiny' + }); + btn.onAction(action('renameFolder')); + folderElm.appendChild(btn.container); + } + if (options.deleteFolder && + this.dataProvider.canI('FolderRemove')) { + const btn = (0,ui/* Button */.zx)(this, { + icon: { name: 'cancel' }, + name: 'remove', + tooltip: 'Delete', + size: 'tiny' + }); + btn.onAction(action('removeFolder')); + folderElm.appendChild(btn.container); } - return item; }); - } - } - destruct() { - if (this.isDestructed) { - return; - } - this.setStatus(_component__WEBPACK_IMPORTED_MODULE_4__/* .STATUSES.beforeDestruct */ .n$.beforeDestruct); - this.e.off('beforeToolbarBuild', this.beforeToolbarBuild); - this.toolbar.destruct(); - super.destruct(); - } + if (options.createNewFolder && + this.dataProvider.canI('FolderCreate')) { + const button = (0,ui/* Button */.zx)(this, 'plus', 'Add folder', 'secondary'); + button.onAction(() => { + this.e.fire('addFolder', { + path: (0,normalize/* normalizePath */.AH)(source.path + '/'), + source: sourceName + }); + }); + this.tree.append(button); + } + }); + }, this.defaultTimeout)); } -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind -], ViewWithToolbar.prototype, "beforeToolbarBuild", null); - - -/***/ }), - -/***/ 49896: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "G": function() { return /* binding */ View; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20255); -/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(94707); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47386); -/* harmony import */ var jodit_modules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5687); -/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16672); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(63711); -/* harmony import */ var jodit_core_event_emitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(18122); -/* harmony import */ var jodit_modules_messages_messages__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(28351); +// EXTERNAL MODULE: ./src/modules/image-editor/image-editor.ts + 2 modules +var image_editor = __webpack_require__(99583); +;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/delete-file.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -var View_1; +function deleteFile(fb, name, source) { + return fb.dataProvider + .fileRemove(fb.state.currentPath, name, source) + .then(message => { + fb.status(message || fb.i18n('File "%s" was deleted', name), true); + }) + .catch(fb.status); +} +;// CONCATENATED MODULE: ./src/modules/file-browser/builders/context-menu.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ @@ -12481,202 +11818,153 @@ var View_1; -let View = View_1 = class View extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Component { - constructor(options, isJodit = false) { - super(); - this.isJodit = isJodit; - this.isView = true; - this.parent = null; - this.mods = {}; - this.components = new Set(); - this.version = "3.23.3"; - this.buffer = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(); - this.storage = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(true, this.componentName); - this.OPTIONS = View_1.defaultOptions; - this.__isFullSize = false; - this.__whoLocked = ''; - this.isLockedNotBy = (name) => this.isLocked && this.__whoLocked !== name; - this.__modulesInstances = new Map(); - this.id = new Date().getTime().toString(); - this.buffer = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(); - this.initOptions(options); - this.initOwners(); - this.events = new jodit_core_event_emitter__WEBPACK_IMPORTED_MODULE_7__/* .EventEmitter */ .vp(this.od); - this.create = new jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Create(this.od); - this.container = this.c.div(`jodit ${this.componentName}`); - this.progressbar = new jodit_modules__WEBPACK_IMPORTED_MODULE_3__.ProgressBar(this); - this.message = new jodit_modules_messages_messages__WEBPACK_IMPORTED_MODULE_8__/* .UIMessages */ .D(this); - } - get basePath() { - if (this.o.basePath) { - return this.o.basePath; - } - return jodit_core_constants__WEBPACK_IMPORTED_MODULE_2__.BASE_PATH; - } - get defaultTimeout() { - return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isVoid)(this.o.defaultTimeout) ? 100 : this.o.defaultTimeout; - } - get c() { - return this.create; - } - get container() { - return this.__container; - } - set container(container) { - this.__container = container; - } - get e() { - return this.events; - } - get options() { - return this.__options; - } - set options(options) { - this.__options = options; - } - get o() { - return this.options; - } - i18n(text, ...params) { - return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.i18n)(text, params, this.options); +const CLASS_PREVIEW = 'jodit-filebrowser-preview', preview_tpl_next = (next = 'next', right = 'right') => `
` + + '' + + ui/* Icon.get */.JO.get('angle-' + right) + + ''; +/* harmony default export */ var builders_context_menu = ((self) => { + if (!self.o.contextMenu) { + return () => { }; } - toggleFullSize(isFullSize) { - if (isFullSize === undefined) { - isFullSize = !this.__isFullSize; - } - if (isFullSize === this.__isFullSize) { + const contextmenu = makeContextMenu(self); + return (e) => { + const a = getItem(e.target, self.container); + if (!a) { return; } - this.__isFullSize = isFullSize; - this.e.fire('toggleFullSize', isFullSize); - } - get isLocked() { - return this.__whoLocked !== ''; - } - lock(name = 'any') { - if (!this.isLocked) { - this.__whoLocked = name; - return true; - } - return false; - } - unlock() { - if (this.isLocked) { - this.__whoLocked = ''; - return true; - } - return false; - } - get isFullSize() { - return this.__isFullSize; - } - getVersion() { - return "3.23.3"; - } - static getVersion() { - return "3.23.3"; - } - initOptions(options) { - this.options = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(options || {}, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(this.options || {}, View_1.defaultOptions)); - } - initOwners() { - var _a; - this.ownerWindow = (_a = this.o.ownerWindow) !== null && _a !== void 0 ? _a : window; - } - attachEvents(options) { - if (!options) { - return; - } - const e = options === null || options === void 0 ? void 0 : options.events; - e && Object.keys(e).forEach((key) => this.e.on(key, e[key])); - } - getInstance(moduleName, options) { - const instance = this.e.fire((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.camelCase)('getInstance_' + moduleName), options); - if (instance) { - return instance; - } - const module = jodit_core_global__WEBPACK_IMPORTED_MODULE_4__/* .modules */ .qz[moduleName], mi = this.__modulesInstances; - if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(module)) { - throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.error)('Need real module name'); - } - if (!mi.has(moduleName)) { - const instance = module.prototype instanceof jodit_modules__WEBPACK_IMPORTED_MODULE_3__.ViewComponent - ? new module(this, options) - : new module(options); - this.components.add(instance); - mi.set(moduleName, instance); - } - return mi.get(moduleName); - } - addDisclaimer(elm) { - this.container.appendChild(elm); - } - beforeDestruct() { - this.e.fire(jodit_modules__WEBPACK_IMPORTED_MODULE_3__.STATUSES.beforeDestruct, this); - this.components.forEach(component => { - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isDestructable)(component) && !component.isInDestruct) { - component.destruct(); + let item = a; + const opt = self.options, ga = (key) => (0,helpers.attr)(item, key) || ''; + self.async.setTimeout(() => { + const selectedItem = elementToItem(a, elementsMap(self)); + if (!selectedItem) { + return; } - }); - this.components.clear(); - } - destruct() { - if (this.isDestructed) { - return; - } - this.progressbar.destruct(); - this.message.destruct(); - if (this.async) { - this.async.destruct(); - } - if (this.events) { - this.e.destruct(); - } - if (this.buffer) { - this.buffer.clear(); - } - jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(this.container); - super.destruct(); - } -}; -View.esNext = true; -(0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.hook)(jodit_modules__WEBPACK_IMPORTED_MODULE_3__.STATUSES.beforeDestruct) -], View.prototype, "beforeDestruct", null); -View = View_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.derive)(jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__/* .Mods */ .$t, jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__/* .Elms */ .Fx) -], View); - -View.defaultOptions = { - extraButtons: [], - textIcons: false, - namespace: '', - removeButtons: [], - zIndex: 100002, - defaultTimeout: 100, - fullsize: false, - showTooltip: true, - useNativeTooltip: false, - buttons: [], - globalFullSize: true, - language: 'auto' -}; - - -/***/ }), - -/***/ 82616: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + self.state.activeElements = [selectedItem]; + contextmenu.show(e.clientX, e.clientY, [ + ga('data-is-file') !== '1' && + opt.editImage && + (self.dataProvider.canI('ImageResize') || + self.dataProvider.canI('ImageCrop')) + ? { + icon: 'pencil', + title: 'Edit', + exec: () => image_editor/* openImageEditor.call */.r.call(self, ga('href'), ga('data-name'), ga('data-path'), ga('data-source')) + } + : false, + self.dataProvider.canI('FileRename') + ? { + icon: 'italic', + title: 'Rename', + exec: () => { + self.e.fire('fileRename.filebrowser', ga('data-name'), ga('data-path'), ga('data-source')); + } + } + : false, + self.dataProvider.canI('FileRemove') + ? { + icon: 'bin', + title: 'Delete', + exec: async () => { + try { + await deleteFile(self, ga('data-name'), ga('data-source')); + } + catch (e) { + return self.status(e); + } + self.state.activeElements = []; + return loadTree(self).catch(self.status); + } + } + : false, + opt.preview + ? { + icon: 'eye', + title: 'Preview', + exec: () => { + const preview = self.dlg({ + buttons: ['fullsize', 'dialog.close'] + }), temp_content = self.c.div(CLASS_PREVIEW, '
'), preview_box = self.c.div(CLASS_PREVIEW + '__box'), next = self.c.fromHTML(preview_tpl_next()), prev = self.c.fromHTML(preview_tpl_next('prev', 'left')), addLoadHandler = (src) => { + const image = self.c.element('img'); + image.setAttribute('src', src); + const onload = () => { + var _a; + if (self.isInDestruct) { + return; + } + self.e.off(image, 'load'); + dom/* Dom.detach */.i.detach(temp_content); + if (opt.showPreviewNavigation) { + if (dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item'))) { + temp_content.appendChild(prev); + } + if (dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item'))) { + temp_content.appendChild(next); + } + } + temp_content.appendChild(preview_box); + preview_box.appendChild(image); + preview.setPosition(); + (_a = self === null || self === void 0 ? void 0 : self.events) === null || _a === void 0 ? void 0 : _a.fire('previewOpenedAndLoaded'); + }; + self.e.on(image, 'load', onload); + if (image.complete) { + onload(); + } + }; + self.e.on([next, prev], 'click', function () { + if (this === next) { + item = dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item')); + } + else { + item = dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item')); + } + if (!item) { + throw (0,helpers.error)('Need element'); + } + dom/* Dom.detach */.i.detach(temp_content); + dom/* Dom.detach */.i.detach(preview_box); + temp_content.innerHTML = + '
'; + addLoadHandler(ga('href')); + }); + self.e.on('beforeDestruct', () => { + preview.destruct(); + }); + preview.container.classList.add(CLASS_PREVIEW + '__dialog'); + preview.setContent(temp_content); + preview.setPosition(); + preview.open(); + addLoadHandler(ga('href')); + self.events + .on('beforeDestruct', () => { + preview.destruct(); + }) + .fire('previewOpened'); + } + } + : false, + { + icon: 'upload', + title: 'Download', + exec: () => { + const url = ga('href'); + if (url) { + self.ow.open(url); + } + } + } + ]); + }, self.defaultTimeout); + self.e + .on('beforeClose', () => contextmenu.close()) + .on('beforeDestruct', () => contextmenu.destruct()); + e.stopPropagation(); + e.preventDefault(); + return false; + }; +}); -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "x": function() { return /* binding */ ContextMenu; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_popup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36649); -/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(81402); -/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43435); -/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(45466); +;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/native-listeners.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -12687,136 +11975,91 @@ View.defaultOptions = { - -let ContextMenu = class ContextMenu extends jodit_core_ui_popup__WEBPACK_IMPORTED_MODULE_0__/* .Popup */ .G { - className() { - return 'ContextMenu'; - } - show(x, y, actions) { - const self = this, content = this.j.c.div(this.getFullElName('actions')); - if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isArray */ .kJ)(actions)) { - return; - } - actions.forEach(item => { - if (!item) { - return; - } - const action = (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .zx)(this.jodit, item.icon || 'empty', item.title); - this.jodit && action.setParentView(this.jodit); - action.setMod('context', 'menu'); - action.onAction((e) => { - var _a; - (_a = item.exec) === null || _a === void 0 ? void 0 : _a.call(self, e); - self.close(); - return false; - }); - content.appendChild(action.container); - }); - this.setContent(content).open(() => ({ left: x, top: y, width: 0, height: 0 }), true); - } +const getItem = (node, root, tag = 'a') => dom/* Dom.closest */.i.closest(node, elm => dom/* Dom.isTag */.i.isTag(elm, tag), root); +const elementToItem = (elm, elementsMap) => { + const { key } = elm.dataset, { item } = elementsMap[key || '']; + return item; }; -ContextMenu = (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([ - jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_4__/* .component */ .w -], ContextMenu); - - - -/***/ }), - -/***/ 75121: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "f": function() { return /* reexport */ FileBrowser; }, - "F": function() { return /* reexport */ isFileBrowserFilesItem; } -}); - -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); -// EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); -// EXTERNAL MODULE: ./src/core/storage/index.ts + 3 modules -var storage = __webpack_require__(94707); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -// EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); -// EXTERNAL MODULE: ./src/core/request/index.ts + 3 modules -var request = __webpack_require__(5887); -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -;// CONCATENATED MODULE: ./src/modules/file-browser/builders/item.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - -class FileBrowserItem { - constructor(data) { - this.data = data; - Object.keys(data).forEach(key => { - this[key] = data[key]; - }); - } - static create(data) { - if (data instanceof FileBrowserItem) { - return data; +function nativeListeners() { + let dragElement = false; + const elmMap = elementsMap(this); + const self = this; + self.e + .on(self.tree.container, 'dragstart', (e) => { + const a = getItem(e.target, self.container); + if (!a) { + return; } - return new FileBrowserItem(data); - } - get path() { - return (0,helpers.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,helpers.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; + if (self.o.moveFolder) { + dragElement = a; } - return fileIsAbsolute && name - ? name - : (0,helpers.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; - } + }) + .on(self.tree.container, 'drop', (e) => { + if ((self.o.moveFile || self.o.moveFolder) && dragElement) { + let path = (0,helpers.attr)(dragElement, '-path') || ''; + if (!self.o.moveFolder && + dragElement.classList.contains(this.tree.getFullElName('item'))) { + return false; + } + if (dragElement.classList.contains(this.files.getFullElName('item'))) { + path += (0,helpers.attr)(dragElement, '-name'); + if (!self.o.moveFile) { + return false; + } + } + const a = getItem(e.target, self.container); + if (!a) { + return; + } + self.dataProvider + .move(path, (0,helpers.attr)(a, '-path') || '', (0,helpers.attr)(a, '-source') || '', dragElement.classList.contains(this.files.getFullElName('item'))) + .then(() => loadTree(this)) + .catch(self.status); + dragElement = false; + } + }) + .on(self.files.container, 'contextmenu', builders_context_menu(self)) + .on(self.files.container, 'click', (e) => { + if (!(0,helpers.ctrlKey)(e)) { + this.state.activeElements = []; + } + }) + .on(self.files.container, 'click', (e) => { + const a = getItem(e.target, self.container); + if (!a) { + return; + } + const item = elementToItem(a, elmMap); + if (!item) { + return; + } + if (!(0,helpers.ctrlKey)(e)) { + self.state.activeElements = [item]; + } + else { + self.state.activeElements = [ + ...self.state.activeElements, + item + ]; + } + e.stopPropagation(); + return false; + }) + .on(self.files.container, 'dragstart', (e) => { + if (self.o.moveFile) { + const a = getItem(e.target, self.container); + if (!a) { + return; + } + dragElement = a; + } + }) + .on(self.container, 'drop', (e) => e.preventDefault()); } -;// CONCATENATED MODULE: ./src/modules/file-browser/data-provider.ts +// EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 7 modules +var checker = __webpack_require__(78411); +;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/self-listeners.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -12827,298 +12070,478 @@ class FileBrowserItem { -const DEFAULT_SOURCE_NAME = 'default'; -const possibleRules = (/* unused pure expression or super */ null && ([ - 'allowFiles', - 'allowFileMove', - 'allowFileUpload', - 'allowFileUploadRemote', - 'allowFileRemove', - 'allowFileRename', - 'allowFolders', - 'allowFolderMove', - 'allowFolderCreate', - 'allowFolderRemove', - 'allowFolderRename', - 'allowImageResize', - 'allowImageCrop' -])); -let DataProvider = class DataProvider { - constructor(parent, options) { - this.parent = parent; - this.options = options; - this.__currentPermissions = null; - this.ajaxInstances = new Map(); - this.progressHandler = (ignore) => { }; - } - get o() { - return this.options; - } - get(name) { - const ai = this.ajaxInstances; - if (ai.has(name)) { - const ajax = ai.get(name); - ajax === null || ajax === void 0 ? void 0 : ajax.abort(); - ai.delete(name); + + +function selfListeners() { + const state = this.state, dp = this.dataProvider, self = this; + self.e + .on('view.filebrowser', (view) => { + if (view !== state.view) { + state.view = view; } - const opts = (0,helpers.ConfigProto)(this.options[name] !== undefined - ? this.options[name] - : {}, (0,helpers.ConfigProto)({ - onProgress: this.progressHandler - }, this.o.ajax)); - if (opts.prepareData) { - opts.data = opts.prepareData.call(this, opts.data); + }) + .on('sort.filebrowser', (value) => { + if (value !== state.sortBy) { + state.sortBy = value; + loadItems(self); } - const ajax = new request/* Ajax */.t(opts); - ai.set(name, ajax); - const promise = ajax.send(); - promise - .finally(() => { - ajax.destruct(); - ai.delete(name); - this.progressHandler(100); - }) - .catch(() => null); - return promise - .then(resp => resp.json()) - .then(resp => { - if (resp && !this.isSuccess(resp)) { - throw new Error(this.getMessage(resp)); - } - return resp; - }); - } - onProgress(callback) { - this.progressHandler = callback; - } - async permissions(path, source) { - if (!this.o.permissions) { - return null; + }) + .on('filter.filebrowser', (value) => { + if (value !== state.filterWord) { + state.filterWord = value; + loadItems(self); } - this.o.permissions.data.path = path; - this.o.permissions.data.source = source; - if (this.o.permissions.url) { - return this.get('permissions').then(resp => { - let process = this.o.permissions.process; - if (!process) { - process = this.o.ajax.process; - } - if (process) { - const respData = process.call(self, resp); - if (respData.data.permissions) { - this.__currentPermissions = respData.data.permissions; - } + }) + .on('openFolder.filebrowser', (data) => { + let path; + if (data.name === '..') { + path = data.path + .split('/') + .filter((p) => p.length) + .slice(0, -1) + .join('/'); + } + else { + path = (0,helpers.normalizePath)(data.path, data.name); + } + self.state.currentPath = path; + self.state.currentSource = + data.name === '.' ? DEFAULT_SOURCE_NAME : data.source; + }) + .on('removeFolder.filebrowser', (data) => { + self.confirm('Are you sure?', 'Delete', (yes) => { + if (yes) { + dp.folderRemove(data.path, data.name, data.source) + .then(message => { + self.status(message, true); + return loadTree(self); + }) + .catch(self.status); + } + }); + }) + .on('renameFolder.filebrowser', (data) => { + self.prompt('Enter new name', 'Rename', (newName) => { + if (!(0,checker/* isValidName */.r1)(newName)) { + self.status(self.i18n('Enter new name')); + return false; + } + dp.folderRename(data.path, data.name, newName, data.source) + .then(message => { + self.state.activeElements = []; + self.status(message, true); + return loadTree(self); + }) + .catch(self.status); + return; + }, 'type name', data.name); + }) + .on('addFolder.filebrowser', (data) => { + self.prompt('Enter Directory name', 'Create directory', (name) => { + dp.createFolder(name, data.path, data.source) + .then(() => loadTree(self)) + .catch(self.status); + }, 'type name'); + }) + .on('fileRemove.filebrowser', () => { + if (self.state.activeElements.length) { + self.confirm('Are you sure?', '', (yes) => { + if (yes) { + const promises = []; + self.state.activeElements.forEach(item => { + promises.push(deleteFile(self, item.file || item.name || '', item.sourceName)); + }); + self.state.activeElements = []; + Promise.all(promises).then(() => loadTree(self).catch(self.status), self.status); } - return this.__currentPermissions; }); } - return null; + }) + .on('edit.filebrowser', () => { + if (self.state.activeElements.length === 1) { + const [file] = this.state.activeElements; + image_editor/* openImageEditor.call */.r.call(self, file.fileURL, file.file || '', file.path, file.sourceName); + } + }) + .on('fileRename.filebrowser', (name, path, source) => { + if (self.state.activeElements.length === 1) { + self.prompt('Enter new name', 'Rename', (newName) => { + if (!(0,checker/* isValidName */.r1)(newName)) { + self.status(self.i18n('Enter new name')); + return false; + } + dp.fileRename(path, name, newName, source) + .then(message => { + self.state.activeElements = []; + self.status(message, true); + loadItems(self); + }) + .catch(self.status); + return; + }, 'type name', name); + } + }) + .on('update.filebrowser', () => { + loadTree(this).then(this.status, this.status); + }); +} + +;// CONCATENATED MODULE: ./src/modules/file-browser/ui/files/files.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class FileBrowserFiles extends ui/* UIGroup */.qe { + className() { + return 'FilebrowserFiles'; } - canI(action) { - const rule = 'allow' + action; - if (false) {} - return (this.__currentPermissions == null || - this.__currentPermissions[rule] === undefined || - this.__currentPermissions[rule]); +} + +;// CONCATENATED MODULE: ./src/modules/file-browser/ui/tree/tree.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class FileBrowserTree extends ui/* UIGroup */.qe { + className() { + return 'FilebrowserTree'; } - items(path, source, mods = {}) { - const opt = this.options; - if (!opt.items) { - return Promise.reject('Set Items api options'); +} + +;// CONCATENATED MODULE: ./src/modules/file-browser/ui/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +// EXTERNAL MODULE: ./src/core/event-emitter/index.ts + 2 modules +var event_emitter = __webpack_require__(4567); +// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules +var component = __webpack_require__(90549); +// EXTERNAL MODULE: ./src/core/traits/index.ts + 3 modules +var traits = __webpack_require__(72452); +// EXTERNAL MODULE: ./src/core/view/view-with-toolbar.ts +var view_with_toolbar = __webpack_require__(43608); +// EXTERNAL MODULE: ./src/core/ui/form/inputs/file/file.ts +var file = __webpack_require__(41374); +// EXTERNAL MODULE: ./src/core/helpers/utils/human-size-to-bytes.ts +var human_size_to_bytes = __webpack_require__(6102); +;// CONCATENATED MODULE: ./src/modules/file-browser/config.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + +config/* Config.prototype.filebrowser */.D.prototype.filebrowser = { + namespace: '', + extraButtons: [], + filter(item, search) { + search = search.toLowerCase(); + if ((0,checker/* isString */.HD)(item)) { + return item.toLowerCase().indexOf(search) !== -1; } - opt.items.data.path = path; - opt.items.data.source = source; - opt.items.data.mods = mods; - return this.get('items').then(resp => { - let process = this.o.items.process; - if (!process) { - process = this.o.ajax.process; + if ((0,checker/* isString */.HD)(item.name)) { + return item.name.toLowerCase().indexOf(search) !== -1; + } + if ((0,checker/* isString */.HD)(item.file)) { + return item.file.toLowerCase().indexOf(search) !== -1; + } + return true; + }, + sortBy: 'changed-desc', + sort(a, b, sortBy) { + const [sortAttr, arrow] = sortBy.toLowerCase().split('-'), asc = arrow === 'asc'; + const compareStr = (f, s) => { + if (f < s) { + return asc ? -1 : 1; } - if (process) { - resp = process.call(self, resp); + if (f > s) { + return asc ? 1 : -1; } - return this.generateItemsList(resp.data.sources, mods); - }); - } - generateItemsList(sources, mods = {}) { - const elements = []; - const canBeFile = (item) => !mods.onlyImages || item.isImage === undefined || item.isImage, inFilter = (item) => { - var _a; - return !((_a = mods.filterWord) === null || _a === void 0 ? void 0 : _a.length) || - this.o.filter === undefined || - this.o.filter(item, mods.filterWord); + return 0; }; - sources.forEach(source => { - if (source.files && source.files.length) { - const { sort } = this.o; - if ((0,helpers.isFunction)(sort) && mods.sortBy) { - source.files.sort((a, b) => sort(a, b, mods.sortBy)); - } - source.files.forEach((item) => { - if (inFilter(item) && canBeFile(item)) { - elements.push(FileBrowserItem.create({ - ...item, - sourceName: source.name, - source - })); - } - }); - } - }); - return elements; - } - async tree(path, source) { - path = (0,helpers.normalizeRelativePath)(path); - if (!this.o.folder) { - return Promise.reject('Set Folder Api options'); + if ((0,checker/* isString */.HD)(a)) { + return compareStr(a.toLowerCase(), b.toLowerCase()); } - await this.permissions(path, source); - this.o.folder.data.path = path; - this.o.folder.data.source = source; - return this.get('folder').then(resp => { - let process = this.o.folder.process; - if (!process) { - process = this.o.ajax.process; - } - if (process) { - resp = process.call(self, resp); + if (a[sortAttr] === undefined || sortAttr === 'name') { + if ((0,checker/* isString */.HD)(a.name)) { + return compareStr(a.name.toLowerCase(), b.name.toLowerCase()); } - return resp.data.sources; - }); - } - getPathByUrl(url) { - (0,helpers.set)('options.getLocalFileByUrl.data.url', url, this); - return this.get('getLocalFileByUrl').then(resp => { - if (this.isSuccess(resp)) { - return resp.data; - } - throw (0,helpers.error)(this.getMessage(resp)); - }); - } - createFolder(name, path, source) { - const { create } = this.o; - if (!create) { - throw (0,helpers.error)('Set Create api options'); - } - create.data.source = source; - create.data.path = path; - create.data.name = name; - return this.get('create').then(resp => { - if (this.isSuccess(resp)) { - return true; - } - throw (0,helpers.error)(this.getMessage(resp)); - }); - } - move(filepath, path, source, isFile) { - const mode = isFile - ? 'fileMove' - : 'folderMove'; - const option = this.options[mode]; - if (!option) { - throw (0,helpers.error)('Set Move api options'); - } - option.data.from = filepath; - option.data.path = path; - option.data.source = source; - return this.get(mode).then(resp => { - if (this.isSuccess(resp)) { - return true; + if ((0,checker/* isString */.HD)(a.file)) { + return compareStr(a.file.toLowerCase(), b.file.toLowerCase()); } - throw (0,helpers.error)(this.getMessage(resp)); - }); - } - remove(action, path, file, source) { - const fr = this.o[action]; - if (!fr) { - throw (0,helpers.error)(`Set "${action}" api options`); + return 0; } - fr.data.path = path; - fr.data.name = file; - fr.data.source = source; - return this.get(action).then(resp => { - if (fr.process) { - resp = fr.process.call(this, resp); + switch (sortAttr) { + case 'changed': { + const f = new Date(a.changed).getTime(), s = new Date(b.changed).getTime(); + return asc ? f - s : s - f; } - return this.getMessage(resp); - }); - } - fileRemove(path, file, source) { - return this.remove('fileRemove', path, file, source); - } - folderRemove(path, file, source) { - return this.remove('folderRemove', path, file, source); - } - rename(action, path, name, newname, source) { - const fr = this.o[action]; - if (!fr) { - throw (0,helpers.error)(`Set "${action}" api options`); - } - fr.data.path = path; - fr.data.name = name; - fr.data.newname = newname; - fr.data.source = source; - return this.get(action).then(resp => { - if (fr.process) { - resp = fr.process.call(self, resp); + case 'size': { + const f = (0,human_size_to_bytes/* humanSizeToBytes */.w)(a.size), s = (0,human_size_to_bytes/* humanSizeToBytes */.w)(b.size); + return asc ? f - s : s - f; } - return this.getMessage(resp); - }); - } - folderRename(path, name, newname, source) { - return this.rename('folderRename', path, name, newname, source); - } - fileRename(path, name, newname, source) { - return this.rename('fileRename', path, name, newname, source); - } - changeImage(type, path, source, name, newname, box) { - if (!this.o[type]) { - this.o[type] = { - data: {} - }; } - const query = this.o[type]; - if (query.data === undefined) { - query.data = { - action: type - }; + return 0; + }, + editImage: true, + preview: true, + showPreviewNavigation: true, + showSelectButtonInPreview: true, + contextMenu: true, + howLongShowMsg: 3000, + createNewFolder: true, + deleteFolder: true, + renameFolder: true, + moveFolder: true, + moveFile: true, + showFoldersPanel: true, + storeLastOpenedFolder: true, + width: 859, + height: 400, + buttons: [ + 'filebrowser.upload', + 'filebrowser.remove', + 'filebrowser.update', + 'filebrowser.select', + 'filebrowser.edit', + '|', + 'filebrowser.tiles', + 'filebrowser.list', + '|', + 'filebrowser.filter', + '|', + 'filebrowser.sort' + ], + removeButtons: [], + fullsize: false, + showTooltip: true, + view: null, + isSuccess(resp) { + return resp.success; + }, + getMessage(resp) { + return resp.data.messages !== undefined && (0,checker/* isArray */.kJ)(resp.data.messages) + ? resp.data.messages.join(' ') + : ''; + }, + showFileName: true, + showFileSize: true, + showFileChangeTime: true, + saveStateInStorage: { + storeLastOpenedFolder: true, + storeView: true, + storeSortBy: true + }, + pixelOffsetLoadNewChunk: 200, + getThumbTemplate(item, source, source_name) { + const opt = this.options, IC = this.files.getFullElName('item'), showName = opt.showFileName, showSize = opt.showFileSize && item.size, showTime = opt.showFileChangeTime && item.time; + let name = ''; + if (item.file !== undefined) { + name = item.file; } - query.data.newname = newname || name; - if (box) { - query.data.box = box; + const info = `
${showName ? `${name}` : ''}${showSize + ? `${item.size}` + : ''}${showTime + ? `${showTime}` + : ''}
`; + return ` + ${name} + ${showName || showSize || showTime ? info : ''} + `; + }, + ajax: { + ...config/* Config.prototype.defaultAjaxOptions */.D.prototype.defaultAjaxOptions, + url: '', + data: {}, + cache: true, + contentType: 'application/x-www-form-urlencoded; charset=UTF-8', + method: 'POST', + processData: true, + headers: {}, + prepareData(data) { + return data; + }, + process(resp) { + return resp; } - query.data.path = path; - query.data.name = name; - query.data.source = source; - return this.get(type).then(() => { - return true; - }); - } - crop(path, source, name, newname, box) { - return this.changeImage('crop', path, source, name, newname, box); - } - resize(path, source, name, newname, box) { - return this.changeImage('resize', path, source, name, newname, box); + }, + create: { + data: { action: 'folderCreate' } + }, + getLocalFileByUrl: { + data: { action: 'getLocalFileByUrl' } + }, + resize: { + data: { action: 'imageResize' } + }, + crop: { + data: { action: 'imageCrop' } + }, + fileMove: { + data: { action: 'fileMove' } + }, + folderMove: { + data: { action: 'folderMove' } + }, + fileRename: { + data: { action: 'fileRename' } + }, + folderRename: { + data: { action: 'folderRename' } + }, + fileRemove: { + data: { action: 'fileRemove' } + }, + folderRemove: { + data: { action: 'folderRemove' } + }, + items: { + data: { action: 'files' } + }, + folder: { + data: { action: 'folders' } + }, + permissions: { + data: { action: 'permissions' } } - getMessage(resp) { - return this.options.getMessage(resp); - } - isSuccess(resp) { - return this.options.isSuccess(resp); - } - destruct() { - this.ajaxInstances.forEach(a => a.destruct()); - this.ajaxInstances.clear(); +}; +config/* Config.prototype.controls.filebrowser */.D.prototype.controls.filebrowser = { + upload: { + icon: 'plus', + isInput: true, + isDisabled: (browser) => !browser.dataProvider.canI('FileUpload'), + getContent: (filebrowser) => { + const btn = new file/* UIFileInput */.Z(filebrowser, { + onlyImages: filebrowser.state.onlyImages + }); + filebrowser.e.fire('bindUploader.filebrowser', btn.container); + return btn.container; + } + }, + remove: { + icon: 'bin', + isDisabled: (browser) => { + return (!browser.state.activeElements.length || + !browser.dataProvider.canI('FileRemove')); + }, + exec: (editor) => { + editor.e.fire('fileRemove.filebrowser'); + } + }, + update: { + exec: (editor) => { + editor.e.fire('update.filebrowser'); + } + }, + select: { + icon: 'check', + isDisabled: (browser) => !browser.state.activeElements.length, + exec: (editor) => { + editor.e.fire('select.filebrowser'); + } + }, + edit: { + icon: 'pencil', + isDisabled: (browser) => { + const selected = browser.state.activeElements; + return (selected.length !== 1 || + !selected[0].isImage || + !(browser.dataProvider.canI('ImageCrop') || + browser.dataProvider.canI('ImageResize'))); + }, + exec: editor => { + editor.e.fire('edit.filebrowser'); + } + }, + tiles: { + icon: 'th', + isActive: (filebrowser) => filebrowser.state.view === 'tiles', + exec: (filebrowser) => { + filebrowser.e.fire('view.filebrowser', 'tiles'); + } + }, + list: { + icon: 'th-list', + isActive: (filebrowser) => filebrowser.state.view === 'list', + exec: (filebrowser) => { + filebrowser.e.fire('view.filebrowser', 'list'); + } + }, + filter: { + isInput: true, + getContent: (filebrowser, _, b) => { + const oldInput = b.container.querySelector('.jodit-input'); + if (oldInput) { + return oldInput; + } + const input = filebrowser.c.element('input', { + class: 'jodit-input', + placeholder: filebrowser.i18n('Filter') + }); + input.value = filebrowser.state.filterWord; + filebrowser.e.on(input, 'keydown mousedown', filebrowser.async.debounce(() => { + filebrowser.e.fire('filter.filebrowser', input.value); + }, filebrowser.defaultTimeout)); + return input; + } + }, + sort: { + isInput: true, + getContent: (fb) => { + const select = fb.c.fromHTML(''); + select.value = fb.state.sortBy; + fb.e + .on('sort.filebrowser', (value) => { + if (select.value !== value) { + select.value = value; + } + }) + .on(select, 'change', () => { + fb.e.fire('sort.filebrowser', select.value); + }); + return select; + } } }; -DataProvider = (0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], DataProvider); -/* harmony default export */ var data_provider = (DataProvider); -// EXTERNAL MODULE: ./src/modules/context-menu/context-menu.ts -var context_menu = __webpack_require__(82616); -;// CONCATENATED MODULE: ./src/modules/file-browser/factories.ts +;// CONCATENATED MODULE: ./src/modules/file-browser/file-browser.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -13126,408 +12549,256 @@ var context_menu = __webpack_require__(82616); */ -function makeDataProvider(parent, options) { - return new data_provider(parent, options); -} -function makeContextMenu(parent) { - return new context_menu/* ContextMenu */.x(parent); -} -// EXTERNAL MODULE: ./src/core/helpers/normalize/index.ts + 8 modules -var normalize = __webpack_require__(57561); -// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); -;// CONCATENATED MODULE: ./src/modules/file-browser/builders/elements-map.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -const map = new WeakMap(); -const elementsMap = (view) => { - let result = map.get(view); - if (!result) { - result = {}; - map.set(view, result); - } - return result; -}; -;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/load-items.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -function loadItems(fb) { - fb.files.setMod('active', true); - fb.files.setMod('loading', true); - return fb.dataProvider - .items(fb.state.currentPath, fb.state.currentSource, { - sortBy: fb.state.sortBy, - onlyImages: fb.state.onlyImages, - filterWord: fb.state.filterWord - }) - .then(resp => { - if (resp) { - fb.state.elements = resp; - fb.state.activeElements = []; - } - }) - .catch(fb.status) - .finally(() => fb.files.setMod('loading', false)); -} -;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/load-tree.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -async function loadTree(fb) { - fb.tree.setMod('active', true); - dom/* Dom.detach */.i.detach(fb.tree.container); - const items = loadItems(fb); - if (fb.o.showFoldersPanel) { - fb.tree.setMod('loading', true); - const tree = fb.dataProvider - .tree(fb.state.currentPath, fb.state.currentSource) - .then(resp => { - fb.state.sources = resp; - }) - .catch(fb.status) - .finally(() => fb.tree.setMod('loading', false)); - return Promise.all([tree, items]); - } - fb.tree.setMod('active', false); - return items; -} -;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/state-listeners.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -const state_listeners_DEFAULT_SOURCE_NAME = 'default'; -function stateListeners() { - const elmMap = elementsMap(this); - const { state, files, create, options } = this, getDomElement = (item) => { - const key = item.uniqueHashKey; - if (elmMap[key]) { - return elmMap[key].elm; - } - const elm = create.fromHTML(options.getThumbTemplate.call(this, item, item.source, item.sourceName.toString())); - elm.dataset.key = key; - elmMap[key] = { - item, - elm + + + + + + + + +let FileBrowser = class FileBrowser extends view_with_toolbar/* ViewWithToolbar */.C { + className() { + return 'Filebrowser'; + } + onSelect(callback) { + return () => { + if (this.state.activeElements.length) { + const files = []; + const isImages = []; + this.state.activeElements.forEach(elm => { + const url = elm.fileURL; + if (url) { + files.push(url); + isImages.push(elm.isImage || false); + } + }); + this.close(); + const data = { + baseurl: '', + files, + isImages + }; + if ((0,helpers.isFunction)(callback)) { + callback(data); + } + this.close(); + } + return false; }; - return elmMap[key].elm; - }; - state - .on(['change.currentPath', 'change.currentSource'], this.async.debounce(() => { - if (this.o.saveStateInStorage && - this.o.saveStateInStorage.storeLastOpenedFolder) { - this.storage - .set('currentPath', this.state.currentPath) - .set('currentSource', this.state.currentSource); - } - loadTree(this).catch(this.status); - }, this.defaultTimeout)) - .on('beforeChange.activeElements', () => { - state.activeElements.forEach(item => { - const key = item.uniqueHashKey, { elm } = elmMap[key]; - elm && - elm.classList.remove(files.getFullElName('item', 'active', true)); - }); - }) - .on('change.activeElements', () => { - this.e.fire('changeSelection'); - state.activeElements.forEach(item => { - const key = item.uniqueHashKey, { elm } = elmMap[key]; - elm && - elm.classList.add(files.getFullElName('item', 'active', true)); - }); - }) - .on('change.view', () => { - files.setMod('view', state.view); - if (this.o.saveStateInStorage && - this.o.saveStateInStorage.storeView) { - this.storage.set('view', state.view); - } - }) - .on('change.sortBy', () => { - if (this.o.saveStateInStorage && - this.o.saveStateInStorage.storeSortBy) { - this.storage.set('sortBy', state.sortBy); + } + get isOpened() { + return this._dialog.isOpened && this.browser.style.display !== 'none'; + } + status(message, success) { + if (!message || (0,helpers.isAbort)(message)) { + return; } - }) - .on('change.elements', this.async.debounce(() => { - dom/* Dom.detach */.i.detach(files.container); - if (state.elements.length) { - state.elements.forEach(item => { - this.files.container.appendChild(getDomElement(item)); - }); + if (!(0,helpers.isString)(message)) { + message = message.message; } - else { - files.container.appendChild(create.div(this.componentName + '_no-files_true', this.i18n('There are no files'))); + if (!(0,helpers.isString)(message) || !(0,helpers.trim)(message).length) { + return; } - }, this.defaultTimeout)) - .on('change.sources', this.async.debounce(() => { - dom/* Dom.detach */.i.detach(this.tree.container); - state.sources.forEach(source => { - const sourceName = source.name; - if (sourceName && sourceName !== state_listeners_DEFAULT_SOURCE_NAME) { - this.tree.container.appendChild(create.div(this.tree.getFullElName('source-title'), sourceName)); + this.message.message(message, success ? 'success' : 'error', this.o.howLongShowMsg); + } + open(callback = this.o + .defaultCallback, onlyImages = false) { + this.state.onlyImages = onlyImages; + return this.async.promise((resolve, reject) => { + var _a; + if (!this.o.items || !this.o.items.url) { + throw (0,helpers.error)('Need set options.filebrowser.ajax.url'); } - source.folders.forEach((name) => { - const folderElm = create.a(this.tree.getFullElName('item'), { - draggable: 'draggable', - href: '#', - 'data-path': (0,normalize/* normalizePath */.AH)(source.path, name + '/'), - 'data-name': name, - 'data-source': sourceName, - 'data-source-path': source.path - }, create.span(this.tree.getFullElName('item-title'), name)); - const action = (actionName) => (e) => { - this.e.fire(`${actionName}.filebrowser`, { - name, - path: (0,normalize/* normalizePath */.AH)(source.path + '/'), - source: sourceName - }); - e.stopPropagation(); - e.preventDefault(); - }; - this.e.on(folderElm, 'click', action('openFolder')); - this.tree.container.appendChild(folderElm); - if (name === '..' || name === '.') { - return; - } - if (options.renameFolder && - this.dataProvider.canI('FolderRename')) { - const btn = (0,ui/* Button */.zx)(this, { - icon: { name: 'pencil' }, - name: 'rename', - tooltip: 'Rename', - size: 'tiny' - }); - btn.onAction(action('renameFolder')); - folderElm.appendChild(btn.container); - } - if (options.deleteFolder && - this.dataProvider.canI('FolderRemove')) { - const btn = (0,ui/* Button */.zx)(this, { - icon: { name: 'cancel' }, - name: 'remove', - tooltip: 'Delete', - size: 'tiny' - }); - btn.onAction(action('removeFolder')); - folderElm.appendChild(btn.container); + let localTimeout = 0; + this.e + .off(this.files.container, 'dblclick') + .on(this.files.container, 'dblclick', this.onSelect(callback)) + .on(this.files.container, 'touchstart', () => { + const now = new Date().getTime(); + if (now - localTimeout < constants.EMULATE_DBLCLICK_TIMEOUT) { + this.onSelect(callback)(); } - }); - if (options.createNewFolder && - this.dataProvider.canI('FolderCreate')) { - const button = (0,ui/* Button */.zx)(this, 'plus', 'Add folder', 'secondary'); - button.onAction(() => { - this.e.fire('addFolder', { - path: (0,normalize/* normalizePath */.AH)(source.path + '/'), - source: sourceName - }); - }); - this.tree.append(button); - } + localTimeout = now; + }) + .off('select.filebrowser') + .on('select.filebrowser', this.onSelect(callback)); + const header = this.c.div(); + this.toolbar.build((_a = this.o.buttons) !== null && _a !== void 0 ? _a : []).appendTo(header); + this._dialog.open(this.browser, header); + this.e.fire('sort.filebrowser', this.state.sortBy); + loadTree(this).then(resolve, reject); }); - }, this.defaultTimeout)); -} - -// EXTERNAL MODULE: ./src/modules/image-editor/image-editor.ts + 2 modules -var image_editor = __webpack_require__(37113); -;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/delete-file.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -function deleteFile(fb, name, source) { - return fb.dataProvider - .fileRemove(fb.state.currentPath, name, source) - .then(message => { - fb.status(message || fb.i18n('File "%s" was deleted', name), true); - }) - .catch(fb.status); -} - -;// CONCATENATED MODULE: ./src/modules/file-browser/builders/context-menu.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - - - - -const CLASS_PREVIEW = 'jodit-filebrowser-preview', preview_tpl_next = (next = 'next', right = 'right') => `
` + - '' + - ui/* Icon.get */.JO.get('angle-' + right) + - ''; -/* harmony default export */ var builders_context_menu = ((self) => { - if (!self.o.contextMenu) { - return () => { }; } - const contextmenu = makeContextMenu(self); - return (e) => { - const a = getItem(e.target, self.container); - if (!a) { - return; - } - let item = a; - const opt = self.options, ga = (key) => (0,helpers.attr)(item, key) || ''; - self.async.setTimeout(() => { - const selectedItem = elementToItem(a, elementsMap(self)); - if (!selectedItem) { + initUploader(editor) { + var _a; + const self = this, options = (_a = editor === null || editor === void 0 ? void 0 : editor.options) === null || _a === void 0 ? void 0 : _a.uploader, uploaderOptions = (0,helpers.ConfigProto)(options || {}, config/* Config.defaultOptions.uploader */.D.defaultOptions.uploader); + const uploadHandler = () => loadItems(this); + self.uploader = self.getInstance('Uploader', uploaderOptions); + self.uploader + .setPath(self.state.currentPath) + .setSource(self.state.currentSource) + .bind(self.browser, uploadHandler, self.errorHandler); + this.state.on(['change.currentPath', 'change.currentSource'], () => { + this.uploader + .setPath(this.state.currentPath) + .setSource(this.state.currentSource); + }); + self.e.on('bindUploader.filebrowser', (button) => { + self.uploader.bind(button, uploadHandler, self.errorHandler); + }); + } + constructor(options) { + var _a; + super(options); + this.browser = this.c.div(this.componentName); + this.status_line = this.c.div(this.getFullElName('status')); + this.tree = new FileBrowserTree(this); + this.files = new FileBrowserFiles(this); + this.state = (0,event_emitter/* observable */.LO)({ + currentPath: '', + currentSource: DEFAULT_SOURCE_NAME, + currentBaseUrl: '', + activeElements: [], + elements: [], + sources: [], + view: 'tiles', + sortBy: 'changed-desc', + filterWord: '', + onlyImages: false + }); + this.errorHandler = (resp) => { + if ((0,helpers.isAbort)(resp)) { return; } - self.state.activeElements = [selectedItem]; - contextmenu.show(e.clientX, e.clientY, [ - ga('data-is-file') !== '1' && - opt.editImage && - (self.dataProvider.canI('ImageResize') || - self.dataProvider.canI('ImageCrop')) - ? { - icon: 'pencil', - title: 'Edit', - exec: () => image_editor/* openImageEditor.call */.r.call(self, ga('href'), ga('data-name'), ga('data-path'), ga('data-source')) - } - : false, - self.dataProvider.canI('FileRename') - ? { - icon: 'italic', - title: 'Rename', - exec: () => { - self.e.fire('fileRename.filebrowser', ga('data-name'), ga('data-path'), ga('data-source')); - } - } - : false, - self.dataProvider.canI('FileRemove') - ? { - icon: 'bin', - title: 'Delete', - exec: async () => { - try { - await deleteFile(self, ga('data-name'), ga('data-source')); - } - catch (e) { - return self.status(e); - } - self.state.activeElements = []; - return loadTree(self).catch(self.status); - } - } - : false, - opt.preview - ? { - icon: 'eye', - title: 'Preview', - exec: () => { - const preview = self.dlg({ - buttons: ['fullsize', 'dialog.close'] - }), temp_content = self.c.div(CLASS_PREVIEW, '
'), preview_box = self.c.div(CLASS_PREVIEW + '__box'), next = self.c.fromHTML(preview_tpl_next()), prev = self.c.fromHTML(preview_tpl_next('prev', 'left')), addLoadHandler = (src) => { - const image = self.c.element('img'); - image.setAttribute('src', src); - const onload = () => { - var _a; - if (self.isInDestruct) { - return; - } - self.e.off(image, 'load'); - dom/* Dom.detach */.i.detach(temp_content); - if (opt.showPreviewNavigation) { - if (dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item'))) { - temp_content.appendChild(prev); - } - if (dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item'))) { - temp_content.appendChild(next); - } - } - temp_content.appendChild(preview_box); - preview_box.appendChild(image); - preview.setPosition(); - (_a = self === null || self === void 0 ? void 0 : self.events) === null || _a === void 0 ? void 0 : _a.fire('previewOpenedAndLoaded'); - }; - self.e.on(image, 'load', onload); - if (image.complete) { - onload(); - } - }; - self.e.on([next, prev], 'click', function () { - if (this === next) { - item = dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item')); - } - else { - item = dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item')); - } - if (!item) { - throw (0,helpers.error)('Need element'); - } - dom/* Dom.detach */.i.detach(temp_content); - dom/* Dom.detach */.i.detach(preview_box); - temp_content.innerHTML = - '
'; - addLoadHandler(ga('href')); - }); - self.e.on('beforeDestruct', () => { - preview.destruct(); - }); - preview.container.classList.add(CLASS_PREVIEW + '__dialog'); - preview.setContent(temp_content); - preview.setPosition(); - preview.open(); - addLoadHandler(ga('href')); - self.events - .on('beforeDestruct', () => { - preview.destruct(); - }) - .fire('previewOpened'); - } - } - : false, - { - icon: 'upload', - title: 'Download', - exec: () => { - const url = ga('href'); - if (url) { - self.ow.open(url); - } - } - } - ]); - }, self.defaultTimeout); - self.e - .on('beforeClose', () => contextmenu.close()) - .on('beforeDestruct', () => contextmenu.destruct()); - e.stopPropagation(); - e.preventDefault(); - return false; - }; -}); + if (resp instanceof Error) { + this.status(this.i18n(resp.message)); + } + else { + this.status(this.dataProvider.getMessage(resp)); + } + }; + this.close = () => { + this._dialog.close(); + }; + this.attachEvents(options); + const self = this; + self.options = (0,helpers.ConfigProto)(options || {}, config/* Config.defaultOptions.filebrowser */.D.defaultOptions.filebrowser); + self.storage = storage/* Storage.makeStorage */.Ke.makeStorage(Boolean(this.o.saveStateInStorage), this.componentName); + self.dataProvider = makeDataProvider(self, self.options); + self._dialog = this.dlg({ + minWidth: Math.min(700, screen.width), + minHeight: 300, + buttons: (_a = this.o.headerButtons) !== null && _a !== void 0 ? _a : ['fullsize', 'dialog.close'] + }); + this.proxyDialogEvents(self); + self.browser.component = this; + self.container = self.browser; + if (self.o.showFoldersPanel) { + self.browser.appendChild(self.tree.container); + } + self.browser.appendChild(self.files.container); + self.browser.appendChild(self.status_line); + selfListeners.call(self); + nativeListeners.call(self); + stateListeners.call(self); + self._dialog.setSize(self.o.width, self.o.height); + const keys = [ + 'getLocalFileByUrl', + 'crop', + 'resize', + 'create', + 'fileMove', + 'folderMove', + 'fileRename', + 'folderRename', + 'fileRemove', + 'folderRemove', + 'folder', + 'items', + 'permissions' + ]; + keys.forEach(key => { + if (this.options[key] != null) { + this.options[key] = (0,helpers.ConfigProto)(this.options[key], this.o.ajax); + } + }); + const { storeView, storeSortBy, storeLastOpenedFolder } = this.o + .saveStateInStorage || { + storeLastOpenedFolder: false, + storeView: false, + storeSortBy: false + }; + const view = storeView && this.storage.get('view'); + if (view && this.o.view == null) { + self.state.view = view === 'list' ? 'list' : 'tiles'; + } + else { + self.state.view = self.o.view === 'list' ? 'list' : 'tiles'; + } + self.files.setMod('view', self.state.view); + const sortBy = storeSortBy && self.storage.get('sortBy'); + if (sortBy) { + const parts = sortBy.split('-'); + self.state.sortBy = ['changed', 'name', 'size'].includes(parts[0]) + ? sortBy + : 'changed-desc'; + } + else { + self.state.sortBy = self.o.sortBy || 'changed-desc'; + } + if (storeLastOpenedFolder) { + const currentPath = self.storage.get('currentPath'), currentSource = self.storage.get('currentSource'); + self.state.currentPath = currentPath !== null && currentPath !== void 0 ? currentPath : ''; + self.state.currentSource = currentSource !== null && currentSource !== void 0 ? currentSource : ''; + } + self.initUploader(self); + self.setStatus(component/* STATUSES.ready */.n$.ready); + } + proxyDialogEvents(self) { + ['afterClose', 'beforeOpen'].forEach(proxyEvent => { + self._dialog.events.on(self.dlg, proxyEvent, () => { + this.e.fire(proxyEvent); + }); + }); + } + destruct() { + if (this.isInDestruct) { + return; + } + super.destruct(); + this._dialog.destruct(); + this.events && this.e.off('.filebrowser'); + this.uploader && this.uploader.destruct(); + } +}; +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], FileBrowser.prototype, "status", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], FileBrowser.prototype, "open", null); +FileBrowser = (0,tslib_es6/* __decorate */.gn)([ + (0,decorators.derive)(traits/* Dlgs */.lf) +], FileBrowser); -;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/native-listeners.ts +function isFileBrowserFilesItem(target) { + return (dom/* Dom.isElement */.i.isElement(target) && + target.classList.contains(FileBrowserFiles.prototype.getFullElName('item'))); +} + +;// CONCATENATED MODULE: ./src/modules/file-browser/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -13536,98 +12807,151 @@ const CLASS_PREVIEW = 'jodit-filebrowser-preview', preview_tpl_next = (next = 'n +/***/ }), +/***/ 99583: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -const getItem = (node, root, tag = 'a') => dom/* Dom.closest */.i.closest(node, elm => dom/* Dom.isTag */.i.isTag(elm, tag), root); -const elementToItem = (elm, elementsMap) => { - const { key } = elm.dataset, { item } = elementsMap[key || '']; - return item; -}; -function nativeListeners() { - let dragElement = false; - const elmMap = elementsMap(this); - const self = this; - self.e - .on(self.tree.container, 'dragstart', (e) => { - const a = getItem(e.target, self.container); - if (!a) { - return; - } - if (self.o.moveFolder) { - dragElement = a; - } - }) - .on(self.tree.container, 'drop', (e) => { - if ((self.o.moveFile || self.o.moveFolder) && dragElement) { - let path = (0,helpers.attr)(dragElement, '-path') || ''; - if (!self.o.moveFolder && - dragElement.classList.contains(this.tree.getFullElName('item'))) { - return false; - } - if (dragElement.classList.contains(this.files.getFullElName('item'))) { - path += (0,helpers.attr)(dragElement, '-name'); - if (!self.o.moveFile) { - return false; - } - } - const a = getItem(e.target, self.container); - if (!a) { - return; - } - self.dataProvider - .move(path, (0,helpers.attr)(a, '-path') || '', (0,helpers.attr)(a, '-source') || '', dragElement.classList.contains(this.files.getFullElName('item'))) - .then(() => loadTree(this)) - .catch(self.status); - dragElement = false; - } - }) - .on(self.files.container, 'contextmenu', builders_context_menu(self)) - .on(self.files.container, 'click', (e) => { - if (!(0,helpers.ctrlKey)(e)) { - this.state.activeElements = []; - } - }) - .on(self.files.container, 'click', (e) => { - const a = getItem(e.target, self.container); - if (!a) { - return; - } - const item = elementToItem(a, elmMap); - if (!item) { - return; - } - if (!(0,helpers.ctrlKey)(e)) { - self.state.activeElements = [item]; - } - else { - self.state.activeElements = [ - ...self.state.activeElements, - item - ]; - } - e.stopPropagation(); - return false; - }) - .on(self.files.container, 'dragstart', (e) => { - if (self.o.moveFile) { - const a = getItem(e.target, self.container); - if (!a) { - return; - } - dragElement = a; - } - }) - .on(self.container, 'drop', (e) => e.preventDefault()); -} +"use strict"; -// EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 7 modules -var checker = __webpack_require__(43435); -;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/self-listeners.ts +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "v": function() { return /* binding */ ImageEditor; }, + "r": function() { return /* binding */ openImageEditor; } +}); + +// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js +var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/config.ts +var config = __webpack_require__(93166); +// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules +var component = __webpack_require__(90549); +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +// EXTERNAL MODULE: ./src/core/dom/index.ts +var dom = __webpack_require__(64968); +// EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules +var ui_button = __webpack_require__(55310); +// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules +var ui = __webpack_require__(93801); +;// CONCATENATED MODULE: ./src/modules/image-editor/templates/form.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + +const jie = 'jodit-image-editor'; +const gi = ui/* Icon.get.bind */.JO.get.bind(ui/* Icon */.JO); +const act = (el, className = 'jodti-image-editor_active') => el ? className : ''; +const form_form = (editor, o) => { + const i = editor.i18n.bind(editor); + const switcher = (label, ref, active = true) => `
+ + + +
`; + return editor.create.fromHTML(`
+
+
+ ${o.resize + ? `
+
+
+ +
+
` + : ''} + ${o.crop + ? `
+
+
+ + +
+
+
` + : ''} +
+
+ ${o.resize + ? `
+
+ ${gi('resize')} + ${i('Resize')} +
+
+
+ + +
+
+ + +
+ ${switcher('Keep Aspect Ratio', 'keepAspectRatioResize')} +
+
` + : ''} + ${o.crop + ? `
+
+ ${gi('crop')} + ${i('Crop')} +
+
+ ${switcher('Keep Aspect Ratio', 'keepAspectRatioCrop')} +
+
` + : ''} +
+
+
`); +}; + +// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules +var decorators = __webpack_require__(67493); +// EXTERNAL MODULE: ./src/core/ui/icon.ts +var icon = __webpack_require__(77904); +;// CONCATENATED MODULE: ./src/modules/image-editor/config.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +config/* Config.prototype.imageeditor */.D.prototype.imageeditor = { + min_width: 20, + min_height: 20, + closeAfterSave: false, + width: '85%', + height: '85%', + crop: true, + resize: true, + resizeUseRatio: true, + resizeMinWidth: 20, + resizeMinHeight: 20, + cropUseRatio: true, + cropDefaultWidth: '70%', + cropDefaultHeight: '70%' +}; +icon/* Icon.set */.J.set('crop', __webpack_require__(3610)).set('resize', __webpack_require__(56170)); + +;// CONCATENATED MODULE: ./src/modules/image-editor/image-editor.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var ImageEditor_1; @@ -13635,488 +12959,633 @@ var checker = __webpack_require__(43435); -function selfListeners() { - const state = this.state, dp = this.dataProvider, self = this; - self.e - .on('view.filebrowser', (view) => { - if (view !== state.view) { - state.view = view; + + + +const image_editor_jie = 'jodit-image-editor'; +const TABS = { + resize: 'resize', + crop: 'crop' +}; +let ImageEditor = ImageEditor_1 = class ImageEditor extends component/* ViewComponent */.Hr { + className() { + return 'ImageEditor'; + } + onTitleModeClick(e) { + const self = this, title = e.target; + const slide = title === null || title === void 0 ? void 0 : title.parentElement; + if (!slide) { + return; } - }) - .on('sort.filebrowser', (value) => { - if (value !== state.sortBy) { - state.sortBy = value; - loadItems(self); + (0,helpers.$$)(`.${image_editor_jie}__slider,.${image_editor_jie}__area`, self.editor).forEach(elm => elm.classList.remove(`${image_editor_jie}_active`)); + slide.classList.add(`${image_editor_jie}_active`); + this.activeTab = (0,helpers.attr)(slide, '-area') || TABS.resize; + const tab = self.editor.querySelector(`.${image_editor_jie}__area.${image_editor_jie}__area_` + self.activeTab); + if (tab) { + tab.classList.add(`${image_editor_jie}_active`); } - }) - .on('filter.filebrowser', (value) => { - if (value !== state.filterWord) { - state.filterWord = value; - loadItems(self); + if (self.activeTab === TABS.crop) { + self.showCrop(); } - }) - .on('openFolder.filebrowser', (data) => { - let path; - if (data.name === '..') { - path = data.path - .split('/') - .filter((p) => p.length) - .slice(0, -1) - .join('/'); + } + onChangeSizeInput(e) { + const self = this, input = e.target, { widthInput, heightInput } = (0,helpers.refs)(this.editor), isWidth = (0,helpers.attr)(input, 'data-ref') === 'widthInput', x = parseInt(input.value, 10), minX = isWidth ? self.o.min_width : self.o.min_height, minY = !isWidth ? self.o.min_width : self.o.min_height; + let y; + if (x > minX) { + (0,helpers.css)(self.image, isWidth ? 'width' : 'height', x); + if (self.resizeUseRatio) { + y = isWidth + ? Math.round(x / self.ratio) + : Math.round(x * self.ratio); + if (y > minY) { + (0,helpers.css)(self.image, !isWidth ? 'width' : 'height', y); + if (isWidth) { + heightInput.value = y.toString(); + } + else { + widthInput.value = y.toString(); + } + } + } + } + this.j.e.fire(self.resizeHandler, 'updatesize'); + } + onResizeHandleMouseDown(e) { + const self = this; + self.target = e.target; + e.preventDefault(); + e.stopImmediatePropagation(); + self.clicked = true; + self.start_x = e.clientX; + self.start_y = e.clientY; + if (self.activeTab === TABS.crop) { + self.top_x = (0,helpers.css)(self.cropHandler, 'left'); + self.top_y = (0,helpers.css)(self.cropHandler, 'top'); + self.width = self.cropHandler.offsetWidth; + self.height = self.cropHandler.offsetHeight; } else { - path = (0,helpers.normalizePath)(data.path, data.name); + self.width = self.image.offsetWidth; + self.height = self.image.offsetHeight; } - self.state.currentPath = path; - self.state.currentSource = - data.name === '.' ? DEFAULT_SOURCE_NAME : data.source; - }) - .on('removeFolder.filebrowser', (data) => { - self.confirm('Are you sure?', 'Delete', (yes) => { - if (yes) { - dp.folderRemove(data.path, data.name, data.source) - .then(message => { - self.status(message, true); - return loadTree(self); - }) - .catch(self.status); - } - }); - }) - .on('renameFolder.filebrowser', (data) => { - self.prompt('Enter new name', 'Rename', (newName) => { - if (!(0,checker/* isValidName */.r1)(newName)) { - self.status(self.i18n('Enter new name')); - return false; - } - dp.folderRename(data.path, data.name, newName, data.source) - .then(message => { - self.state.activeElements = []; - self.status(message, true); - return loadTree(self); - }) - .catch(self.status); - return; - }, 'type name', data.name); - }) - .on('addFolder.filebrowser', (data) => { - self.prompt('Enter Directory name', 'Create directory', (name) => { - dp.createFolder(name, data.path, data.source) - .then(() => loadTree(self)) - .catch(self.status); - }, 'type name'); - }) - .on('fileRemove.filebrowser', () => { - if (self.state.activeElements.length) { - self.confirm('Are you sure?', '', (yes) => { - if (yes) { - const promises = []; - self.state.activeElements.forEach(item => { - promises.push(deleteFile(self, item.file || item.name || '', item.sourceName)); - }); - self.state.activeElements = []; - Promise.all(promises).then(() => loadTree(self).catch(self.status), self.status); - } - }); - } - }) - .on('edit.filebrowser', () => { - if (self.state.activeElements.length === 1) { - const [file] = this.state.activeElements; - image_editor/* openImageEditor.call */.r.call(self, file.fileURL, file.file || '', file.path, file.sourceName); - } - }) - .on('fileRename.filebrowser', (name, path, source) => { - if (self.state.activeElements.length === 1) { - self.prompt('Enter new name', 'Rename', (newName) => { - if (!(0,checker/* isValidName */.r1)(newName)) { - self.status(self.i18n('Enter new name')); - return false; - } - dp.fileRename(path, name, newName, source) - .then(message => { - self.state.activeElements = []; - self.status(message, true); - loadItems(self); - }) - .catch(self.status); - return; - }, 'type name', name); - } - }) - .on('update.filebrowser', () => { - loadTree(this).then(this.status, this.status); - }); -} - -;// CONCATENATED MODULE: ./src/modules/file-browser/ui/files/files.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -class FileBrowserFiles extends ui/* UIGroup */.qe { - className() { - return 'FilebrowserFiles'; - } -} - -;// CONCATENATED MODULE: ./src/modules/file-browser/ui/tree/tree.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -class FileBrowserTree extends ui/* UIGroup */.qe { - className() { - return 'FilebrowserTree'; + self.j.e + .on(this.j.ow, 'mousemove', this.onGlobalMouseMove) + .one(this.j.ow, 'mouseup', this.onGlobalMouseUp); } -} - -;// CONCATENATED MODULE: ./src/modules/file-browser/ui/index.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - -// EXTERNAL MODULE: ./src/core/event-emitter/index.ts + 2 modules -var event_emitter = __webpack_require__(18122); -// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules -var component = __webpack_require__(2624); -// EXTERNAL MODULE: ./src/core/traits/index.ts + 3 modules -var traits = __webpack_require__(63711); -// EXTERNAL MODULE: ./src/core/view/view-with-toolbar.ts -var view_with_toolbar = __webpack_require__(67555); -// EXTERNAL MODULE: ./src/core/ui/form/inputs/file/file.ts -var file = __webpack_require__(32460); -// EXTERNAL MODULE: ./src/core/helpers/utils/human-size-to-bytes.ts -var human_size_to_bytes = __webpack_require__(24891); -;// CONCATENATED MODULE: ./src/modules/file-browser/config.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - -config/* Config.prototype.filebrowser */.D.prototype.filebrowser = { - namespace: '', - extraButtons: [], - filter(item, search) { - search = search.toLowerCase(); - if ((0,checker/* isString */.HD)(item)) { - return item.toLowerCase().indexOf(search) !== -1; - } - if ((0,checker/* isString */.HD)(item.name)) { - return item.name.toLowerCase().indexOf(search) !== -1; + onGlobalMouseUp(e) { + if (this.clicked) { + this.clicked = false; + e.stopImmediatePropagation(); + this.j.e.off(this.j.ow, 'mousemove', this.onGlobalMouseMove); } - if ((0,checker/* isString */.HD)(item.file)) { - return item.file.toLowerCase().indexOf(search) !== -1; + } + onGlobalMouseMove(e) { + const self = this; + if (!self.clicked) { + return; } - return true; - }, - sortBy: 'changed-desc', - sort(a, b, sortBy) { - const [sortAttr, arrow] = sortBy.toLowerCase().split('-'), asc = arrow === 'asc'; - const compareStr = (f, s) => { - if (f < s) { - return asc ? -1 : 1; + const { widthInput, heightInput } = (0,helpers.refs)(this.editor); + self.diff_x = e.clientX - self.start_x; + self.diff_y = e.clientY - self.start_y; + if ((self.activeTab === TABS.resize && self.resizeUseRatio) || + (self.activeTab === TABS.crop && self.cropUseRatio)) { + if (self.diff_x) { + self.new_w = self.width + self.diff_x; + self.new_h = Math.round(self.new_w / self.ratio); } - if (f > s) { - return asc ? 1 : -1; + else { + self.new_h = self.height + self.diff_y; + self.new_w = Math.round(self.new_h * self.ratio); } - return 0; - }; - if ((0,checker/* isString */.HD)(a)) { - return compareStr(a.toLowerCase(), b.toLowerCase()); } - if (a[sortAttr] === undefined || sortAttr === 'name') { - if ((0,checker/* isString */.HD)(a.name)) { - return compareStr(a.name.toLowerCase(), b.name.toLowerCase()); + else { + self.new_w = self.width + self.diff_x; + self.new_h = self.height + self.diff_y; + } + if (self.activeTab === TABS.resize) { + if (self.new_w > self.o.resizeMinWidth) { + (0,helpers.css)(self.image, 'width', self.new_w + 'px'); + widthInput.value = self.new_w.toString(); } - if ((0,checker/* isString */.HD)(a.file)) { - return compareStr(a.file.toLowerCase(), b.file.toLowerCase()); + if (self.new_h > self.o.resizeMinHeight) { + (0,helpers.css)(self.image, 'height', self.new_h + 'px'); + heightInput.value = self.new_h.toString(); } - return 0; + this.j.e.fire(self.resizeHandler, 'updatesize'); } - switch (sortAttr) { - case 'changed': { - const f = new Date(a.changed).getTime(), s = new Date(b.changed).getTime(); - return asc ? f - s : s - f; + else { + if (self.target !== self.cropHandler) { + if (self.top_x + self.new_w > self.cropImage.offsetWidth) { + self.new_w = self.cropImage.offsetWidth - self.top_x; + } + if (self.top_y + self.new_h > self.cropImage.offsetHeight) { + self.new_h = self.cropImage.offsetHeight - self.top_y; + } + (0,helpers.css)(self.cropHandler, { + width: self.new_w, + height: self.new_h + }); } - case 'size': { - const f = (0,human_size_to_bytes/* humanSizeToBytes */.w)(a.size), s = (0,human_size_to_bytes/* humanSizeToBytes */.w)(b.size); - return asc ? f - s : s - f; + else { + if (self.top_x + self.diff_x + self.cropHandler.offsetWidth > + self.cropImage.offsetWidth) { + self.diff_x = + self.cropImage.offsetWidth - + self.top_x - + self.cropHandler.offsetWidth; + } + (0,helpers.css)(self.cropHandler, 'left', self.top_x + self.diff_x); + if (self.top_y + self.diff_y + self.cropHandler.offsetHeight > + self.cropImage.offsetHeight) { + self.diff_y = + self.cropImage.offsetHeight - + self.top_y - + self.cropHandler.offsetHeight; + } + (0,helpers.css)(self.cropHandler, 'top', self.top_y + self.diff_y); } + this.j.e.fire(self.cropHandler, 'updatesize'); } - return 0; - }, - editImage: true, - preview: true, - showPreviewNavigation: true, - showSelectButtonInPreview: true, - contextMenu: true, - howLongShowMsg: 3000, - createNewFolder: true, - deleteFolder: true, - renameFolder: true, - moveFolder: true, - moveFile: true, - showFoldersPanel: true, - storeLastOpenedFolder: true, - width: 859, - height: 400, - buttons: [ - 'filebrowser.upload', - 'filebrowser.remove', - 'filebrowser.update', - 'filebrowser.select', - 'filebrowser.edit', - '|', - 'filebrowser.tiles', - 'filebrowser.list', - '|', - 'filebrowser.filter', - '|', - 'filebrowser.sort' - ], - removeButtons: [], - fullsize: false, - showTooltip: true, - view: null, - isSuccess(resp) { - return resp.success; - }, - getMessage(resp) { - return resp.data.messages !== undefined && (0,checker/* isArray */.kJ)(resp.data.messages) - ? resp.data.messages.join(' ') - : ''; - }, - showFileName: true, - showFileSize: true, - showFileChangeTime: true, - saveStateInStorage: { - storeLastOpenedFolder: true, - storeView: true, - storeSortBy: true - }, - pixelOffsetLoadNewChunk: 200, - getThumbTemplate(item, source, source_name) { - const opt = this.options, IC = this.files.getFullElName('item'), showName = opt.showFileName, showSize = opt.showFileSize && item.size, showTime = opt.showFileChangeTime && item.time; - let name = ''; - if (item.file !== undefined) { - name = item.file; - } - const info = `
${showName ? `${name}` : ''}${showSize - ? `${item.size}` - : ''}${showTime - ? `${showTime}` - : ''}
`; - return ` - ${name} - ${showName || showSize || showTime ? info : ''} - `; - }, - ajax: { - ...config/* Config.prototype.defaultAjaxOptions */.D.prototype.defaultAjaxOptions, - url: '', - data: {}, - cache: true, - contentType: 'application/x-www-form-urlencoded; charset=UTF-8', - method: 'POST', - processData: true, - headers: {}, - prepareData(data) { - return data; - }, - process(resp) { - return resp; - } - }, - create: { - data: { action: 'folderCreate' } - }, - getLocalFileByUrl: { - data: { action: 'getLocalFileByUrl' } - }, - resize: { - data: { action: 'imageResize' } - }, - crop: { - data: { action: 'imageCrop' } - }, - fileMove: { - data: { action: 'fileMove' } - }, - folderMove: { - data: { action: 'folderMove' } - }, - fileRename: { - data: { action: 'fileRename' } - }, - folderRename: { - data: { action: 'folderRename' } - }, - fileRemove: { - data: { action: 'fileRemove' } - }, - folderRemove: { - data: { action: 'folderRemove' } - }, - items: { - data: { action: 'files' } - }, - folder: { - data: { action: 'folders' } - }, - permissions: { - data: { action: 'permissions' } } -}; -config/* Config.prototype.controls.filebrowser */.D.prototype.controls.filebrowser = { - upload: { - icon: 'plus', - isInput: true, - isDisabled: (browser) => !browser.dataProvider.canI('FileUpload'), - getContent: (filebrowser) => { - const btn = new file/* UIFileInput */.Z(filebrowser, { - onlyImages: filebrowser.state.onlyImages + get o() { + return this.options; + } + hide() { + this._dialog.close(); + } + open(url, save) { + return this.j.async.promise((resolve) => { + const timestamp = new Date().getTime(); + this.image = this.j.c.element('img'); + (0,helpers.$$)('img,.jodit-icon_loader', this.resize_box).forEach(dom/* Dom.safeRemove */.i.safeRemove); + (0,helpers.$$)('img,.jodit-icon_loader', this.crop_box).forEach(dom/* Dom.safeRemove */.i.safeRemove); + (0,helpers.css)(this.cropHandler, 'background', 'transparent'); + this.onSave = save; + this.resize_box.appendChild(this.j.c.element('i', { class: 'jodit-icon_loader' })); + this.crop_box.appendChild(this.j.c.element('i', { class: 'jodit-icon_loader' })); + if (/\?/.test(url)) { + url += '&_tst=' + timestamp; + } + else { + url += '?_tst=' + timestamp; + } + this.image.setAttribute('src', url); + this._dialog.open(); + const { widthInput, heightInput } = (0,helpers.refs)(this.editor); + const onload = () => { + if (this.isDestructed) { + return; + } + this.image.removeEventListener('load', onload); + this.naturalWidth = this.image.naturalWidth; + this.naturalHeight = this.image.naturalHeight; + widthInput.value = this.naturalWidth.toString(); + heightInput.value = this.naturalHeight.toString(); + this.ratio = this.naturalWidth / this.naturalHeight; + this.resize_box.appendChild(this.image); + this.cropImage = this.image.cloneNode(true); + this.crop_box.appendChild(this.cropImage); + dom/* Dom.safeRemove.apply */.i.safeRemove.apply(null, (0,helpers.$$)('.jodit-icon_loader', this.editor)); + if (this.activeTab === TABS.crop) { + this.showCrop(); + } + this.j.e.fire(this.resizeHandler, 'updatesize'); + this.j.e.fire(this.cropHandler, 'updatesize'); + this._dialog.setPosition(); + this.j.e.fire('afterImageEditor'); + resolve(this._dialog); + }; + this.image.addEventListener('load', onload); + if (this.image.complete) { + onload(); + } + }); + } + constructor(editor) { + super(editor); + this.resizeUseRatio = true; + this.cropUseRatio = true; + this.clicked = false; + this.start_x = 0; + this.start_y = 0; + this.top_x = 0; + this.top_y = 0; + this.width = 0; + this.height = 0; + this.activeTab = TABS.resize; + this.naturalWidth = 0; + this.naturalHeight = 0; + this.ratio = 0; + this.new_h = 0; + this.new_w = 0; + this.diff_x = 0; + this.diff_y = 0; + this.cropBox = { + x: 0, + y: 0, + w: 0, + h: 0 + }; + this.resizeBox = { + w: 0, + h: 0 + }; + this.calcCropBox = () => { + const node = this.crop_box.parentNode, w = node.offsetWidth * 0.8, h = node.offsetHeight * 0.8; + let wn = w, hn = h; + const { naturalWidth: nw, naturalHeight: nh } = this; + if (w > nw && h > nh) { + wn = nw; + hn = nh; + } + else if (this.ratio > w / h) { + wn = w; + hn = nh * (w / nw); + } + else { + wn = nw * (h / nh); + hn = h; + } + (0,helpers.css)(this.crop_box, { + width: wn, + height: hn }); - filebrowser.e.fire('bindUploader.filebrowser', btn.container); - return btn.container; - } - }, - remove: { - icon: 'bin', - isDisabled: (browser) => { - return (!browser.state.activeElements.length || - !browser.dataProvider.canI('FileRemove')); - }, - exec: (editor) => { - editor.e.fire('fileRemove.filebrowser'); - } - }, - update: { - exec: (editor) => { - editor.e.fire('update.filebrowser'); - } - }, - select: { - icon: 'check', - isDisabled: (browser) => !browser.state.activeElements.length, - exec: (editor) => { - editor.e.fire('select.filebrowser'); - } - }, - edit: { - icon: 'pencil', - isDisabled: (browser) => { - const selected = browser.state.activeElements; - return (selected.length !== 1 || - !selected[0].isImage || - !(browser.dataProvider.canI('ImageCrop') || - browser.dataProvider.canI('ImageResize'))); - }, - exec: editor => { - editor.e.fire('edit.filebrowser'); - } - }, - tiles: { - icon: 'th', - isActive: (filebrowser) => filebrowser.state.view === 'tiles', - exec: (filebrowser) => { - filebrowser.e.fire('view.filebrowser', 'tiles'); - } - }, - list: { - icon: 'th-list', - isActive: (filebrowser) => filebrowser.state.view === 'list', - exec: (filebrowser) => { - filebrowser.e.fire('view.filebrowser', 'list'); - } - }, - filter: { - isInput: true, - getContent: (filebrowser, _, b) => { - const oldInput = b.container.querySelector('.jodit-input'); - if (oldInput) { - return oldInput; + }; + this.showCrop = () => { + if (!this.cropImage) { + return; + } + this.calcCropBox(); + const w = this.cropImage.offsetWidth || + this.image.offsetWidth || + this.image.naturalWidth; + this.new_w = ImageEditor_1.calcValueByPercent(w, this.o.cropDefaultWidth); + const h = this.cropImage.offsetHeight || + this.image.offsetHeight || + this.image.naturalHeight; + if (this.cropUseRatio) { + this.new_h = this.new_w / this.ratio; } - const input = filebrowser.c.element('input', { - class: 'jodit-input', - placeholder: filebrowser.i18n('Filter') + else { + this.new_h = ImageEditor_1.calcValueByPercent(h, this.o.cropDefaultHeight); + } + (0,helpers.css)(this.cropHandler, { + backgroundImage: 'url(' + (0,helpers.attr)(this.cropImage, 'src') + ')', + width: this.new_w, + height: this.new_h, + left: w / 2 - this.new_w / 2, + top: h / 2 - this.new_h / 2 }); - input.value = filebrowser.state.filterWord; - filebrowser.e.on(input, 'keydown mousedown', filebrowser.async.debounce(() => { - filebrowser.e.fire('filter.filebrowser', input.value); - }, filebrowser.defaultTimeout)); - return input; - } - }, - sort: { - isInput: true, - getContent: (fb) => { - const select = fb.c.fromHTML(''); - select.value = fb.state.sortBy; - fb.e - .on('sort.filebrowser', (value) => { - if (select.value !== value) { - select.value = value; - } + this.j.e.fire(this.cropHandler, 'updatesize'); + }; + this.updateCropBox = () => { + if (!this.cropImage) { + return; + } + const ratioX = this.cropImage.offsetWidth / this.naturalWidth, ratioY = this.cropImage.offsetHeight / this.naturalHeight; + this.cropBox.x = (0,helpers.css)(this.cropHandler, 'left') / ratioX; + this.cropBox.y = (0,helpers.css)(this.cropHandler, 'top') / ratioY; + this.cropBox.w = this.cropHandler.offsetWidth / ratioX; + this.cropBox.h = this.cropHandler.offsetHeight / ratioY; + this.sizes.textContent = + this.cropBox.w.toFixed(0) + 'x' + this.cropBox.h.toFixed(0); + }; + this.updateResizeBox = () => { + this.resizeBox.w = this.image.offsetWidth || this.naturalWidth; + this.resizeBox.h = this.image.offsetHeight || this.naturalHeight; + }; + this.setHandlers = () => { + const self = this; + const { widthInput, heightInput } = (0,helpers.refs)(this.editor); + self.j.e + .on([ + self.editor.querySelector('.jodit_bottomright'), + self.cropHandler + ], `mousedown.${image_editor_jie}`, this.onResizeHandleMouseDown) + .on(this.j.ow, `resize.${image_editor_jie}`, () => { + this.j.e.fire(self.resizeHandler, 'updatesize'); + self.showCrop(); + this.j.e.fire(self.cropHandler, 'updatesize'); + }); + self.j.e + .on((0,helpers.toArray)(this.editor.querySelectorAll(`.${image_editor_jie}__slider-title`)), 'click', this.onTitleModeClick) + .on([widthInput, heightInput], 'input', this.onChangeSizeInput); + const { keepAspectRatioResize, keepAspectRatioCrop } = (0,helpers.refs)(this.editor); + if (keepAspectRatioResize) { + keepAspectRatioResize.addEventListener('change', () => { + this.resizeUseRatio = keepAspectRatioResize.checked; + }); + } + if (keepAspectRatioCrop) { + keepAspectRatioCrop.addEventListener('change', () => { + this.cropUseRatio = keepAspectRatioCrop.checked; + }); + } + self.j.e + .on(self.resizeHandler, 'updatesize', () => { + (0,helpers.css)(self.resizeHandler, { + top: 0, + left: 0, + width: self.image.offsetWidth || self.naturalWidth, + height: self.image.offsetHeight || self.naturalHeight + }); + this.updateResizeBox(); }) - .on(select, 'change', () => { - fb.e.fire('sort.filebrowser', select.value); + .on(self.cropHandler, 'updatesize', () => { + if (!self.cropImage) { + return; + } + let new_x = (0,helpers.css)(self.cropHandler, 'left'), new_y = (0,helpers.css)(self.cropHandler, 'top'), new_width = self.cropHandler.offsetWidth, new_height = self.cropHandler.offsetHeight; + if (new_x < 0) { + new_x = 0; + } + if (new_y < 0) { + new_y = 0; + } + if (new_x + new_width > self.cropImage.offsetWidth) { + new_width = self.cropImage.offsetWidth - new_x; + if (self.cropUseRatio) { + new_height = new_width / self.ratio; + } + } + if (new_y + new_height > self.cropImage.offsetHeight) { + new_height = self.cropImage.offsetHeight - new_y; + if (self.cropUseRatio) { + new_width = new_height * self.ratio; + } + } + (0,helpers.css)(self.cropHandler, { + width: new_width, + height: new_height, + left: new_x, + top: new_y, + backgroundPosition: -new_x - 1 + 'px ' + (-new_y - 1) + 'px', + backgroundSize: self.cropImage.offsetWidth + + 'px ' + + self.cropImage.offsetHeight + + 'px' + }); + self.updateCropBox(); }); - return select; + Object.values(self.buttons).forEach(button => { + button.onAction(() => { + const data = { + action: self.activeTab, + box: self.activeTab === TABS.resize + ? self.resizeBox + : self.cropBox + }; + switch (button) { + case self.buttons.saveas: + self.j.prompt('Enter new name', 'Save in new file', (name) => { + if (!(0,helpers.trim)(name)) { + self.j.alert('The name should not be empty'); + return false; + } + self.onSave(name, data, self.hide, (e) => { + self.j.alert(e.message); + }); + }); + break; + case self.buttons.save: + self.onSave(undefined, data, self.hide, (e) => { + self.j.alert(e.message); + }); + break; + case self.buttons.reset: + if (self.activeTab === TABS.resize) { + (0,helpers.css)(self.image, { + width: null, + height: null + }); + widthInput.value = self.naturalWidth.toString(); + heightInput.value = self.naturalHeight.toString(); + self.j.e.fire(self.resizeHandler, 'updatesize'); + } + else { + self.showCrop(); + } + break; + } + }); + }); + }; + this.options = + editor && editor.o && editor.o.imageeditor + ? editor.o.imageeditor + : config/* Config.defaultOptions.imageeditor */.D.defaultOptions.imageeditor; + const o = this.options; + this.resizeUseRatio = o.resizeUseRatio; + this.cropUseRatio = o.cropUseRatio; + this.buttons = { + reset: (0,ui_button/* Button */.zx)(this.j, 'update', 'Reset'), + save: (0,ui_button/* Button */.zx)(this.j, 'save', 'Save'), + saveas: (0,ui_button/* Button */.zx)(this.j, 'save', 'Save as ...') + }; + this.activeTab = o.resize ? TABS.resize : TABS.crop; + this.editor = form_form(this.j, this.options); + const { resizeBox, cropBox } = (0,helpers.refs)(this.editor); + this.resize_box = resizeBox; + this.crop_box = cropBox; + this.sizes = this.editor.querySelector(`.${image_editor_jie}__area.${image_editor_jie}__area_crop .jodit-image-editor__sizes`); + this.resizeHandler = this.editor.querySelector(`.${image_editor_jie}__resizer`); + this.cropHandler = this.editor.querySelector(`.${image_editor_jie}__croper`); + this._dialog = this.j.dlg({ + buttons: ['fullsize', 'dialog.close'] + }); + this._dialog.setContent(this.editor); + this._dialog.setSize(this.o.width, this.o.height); + this._dialog.setHeader([ + this.buttons.reset, + this.buttons.save, + this.buttons.saveas + ]); + this.setHandlers(); + } + destruct() { + if (this.isDestructed) { + return; + } + if (this._dialog && !this._dialog.isInDestruct) { + this._dialog.destruct(); + } + dom/* Dom.safeRemove */.i.safeRemove(this.editor); + if (this.j.e) { + this.j.e + .off(this.j.ow, 'mousemove', this.onGlobalMouseMove) + .off(this.j.ow, 'mouseup', this.onGlobalMouseUp) + .off(this.ow, `.${image_editor_jie}`) + .off(`.${image_editor_jie}`); } + super.destruct(); } }; +ImageEditor.calcValueByPercent = (value, percent) => { + const percentStr = percent.toString(); + const valueNbr = parseFloat(value.toString()); + let match; + match = /^[-+]?[0-9]+(px)?$/.exec(percentStr); + if (match) { + return parseInt(percentStr, 10); + } + match = /^([-+]?[0-9.]+)%$/.exec(percentStr); + if (match) { + return Math.round(valueNbr * (parseFloat(match[1]) / 100)); + } + return valueNbr || 0; +}; +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], ImageEditor.prototype, "onTitleModeClick", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.debounce)(), + decorators.autobind +], ImageEditor.prototype, "onChangeSizeInput", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], ImageEditor.prototype, "onResizeHandleMouseDown", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], ImageEditor.prototype, "onGlobalMouseUp", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.throttle)(10) +], ImageEditor.prototype, "onGlobalMouseMove", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], ImageEditor.prototype, "hide", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], ImageEditor.prototype, "open", null); +ImageEditor = ImageEditor_1 = (0,tslib_es6/* __decorate */.gn)([ + decorators.component +], ImageEditor); -;// CONCATENATED MODULE: ./src/modules/file-browser/file-browser.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - +function openImageEditor(href, name, path, source, onSuccess, onFailed) { + return this.getInstance('ImageEditor', this.o).open(href, (newname, box, success, failed) => (0,helpers.call)(box.action === 'resize' + ? this.dataProvider.resize + : this.dataProvider.crop, path, source, name, newname, box.box) + .then(ok => { + if (ok) { + success(); + if (onSuccess) { + onSuccess(); + } + } + }) + .catch(error => { + failed(error); + if (onFailed) { + onFailed(error); + } + })); +} +/***/ }), +/***/ 22705: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "Ajax": function() { return /* reexport */ core_request/* Ajax */.t; }, + "Alert": function() { return /* reexport */ Alert; }, + "Async": function() { return /* reexport */ core_async/* Async */.e; }, + "CommitStyle": function() { return /* reexport */ CommitStyle; }, + "Component": function() { return /* reexport */ component/* Component */.wA; }, + "Confirm": function() { return /* reexport */ Confirm; }, + "ContextMenu": function() { return /* reexport */ context_menu/* ContextMenu */.x; }, + "Create": function() { return /* reexport */ Create; }, + "Dialog": function() { return /* reexport */ Dialog; }, + "Dom": function() { return /* reexport */ dom/* Dom */.i; }, + "EventEmitter": function() { return /* reexport */ event_emitter/* EventEmitter */.vp; }, + "EventHandlersStore": function() { return /* reexport */ event_emitter/* EventHandlersStore */.DG; }, + "Eventify": function() { return /* reexport */ event_emitter/* Eventify */.aN; }, + "FileBrowser": function() { return /* reexport */ file_browser/* FileBrowser */.f; }, + "Helpers": function() { return /* reexport */ helpers; }, + "History": function() { return /* reexport */ History; }, + "Icon": function() { return /* reexport */ ui/* Icon */.JO; }, + "ImageEditor": function() { return /* reexport */ image_editor/* ImageEditor */.v; }, + "LazyWalker": function() { return /* reexport */ dom/* LazyWalker */.b; }, + "Plugin": function() { return /* reexport */ core_plugin/* Plugin */.S; }, + "PluginSystem": function() { return /* reexport */ plugin_system/* PluginSystem */.h; }, + "Popup": function() { return /* reexport */ ui/* Popup */.GI; }, + "ProgressBar": function() { return /* reexport */ ui/* ProgressBar */.ko; }, + "Prompt": function() { return /* reexport */ Prompt; }, + "Response": function() { return /* reexport */ core_request/* Response */.H; }, + "STATUSES": function() { return /* reexport */ component/* STATUSES */.n$; }, + "Select": function() { return /* reexport */ Select; }, + "Snapshot": function() { return /* reexport */ Snapshot; }, + "StatusBar": function() { return /* reexport */ StatusBar; }, + "Table": function() { return /* reexport */ table/* Table */.i; }, + "ToolbarButton": function() { return /* reexport */ toolbar_button_button/* ToolbarButton */.h; }, + "ToolbarCollection": function() { return /* reexport */ collection/* ToolbarCollection */.n; }, + "ToolbarContent": function() { return /* reexport */ content/* ToolbarContent */.c; }, + "ToolbarEditorCollection": function() { return /* reexport */ editor_collection/* ToolbarEditorCollection */.N; }, + "UIBlock": function() { return /* reexport */ ui/* UIBlock */.eC; }, + "UIButton": function() { return /* reexport */ ui/* UIButton */.y3; }, + "UICheckbox": function() { return /* reexport */ ui/* UICheckbox */.mA; }, + "UIElement": function() { return /* reexport */ ui/* UIElement */.u1; }, + "UIForm": function() { return /* reexport */ ui/* UIForm */.x4; }, + "UIGroup": function() { return /* reexport */ ui/* UIGroup */.qe; }, + "UIInput": function() { return /* reexport */ ui/* UIInput */.u3; }, + "UIList": function() { return /* reexport */ ui/* UIList */.bz; }, + "UIMessages": function() { return /* reexport */ messages/* UIMessages */.D; }, + "UISeparator": function() { return /* reexport */ ui/* UISeparator */.lU; }, + "UITextArea": function() { return /* reexport */ ui/* UITextArea */.GJ; }, + "Uploader": function() { return /* reexport */ Uploader; }, + "View": function() { return /* reexport */ view/* View */.G; }, + "ViewComponent": function() { return /* reexport */ component/* ViewComponent */.Hr; }, + "ViewWithToolbar": function() { return /* reexport */ view_with_toolbar/* ViewWithToolbar */.C; }, + "defaultNameSpace": function() { return /* reexport */ event_emitter/* defaultNameSpace */.rO; }, + "isFileBrowserFilesItem": function() { return /* reexport */ file_browser/* isFileBrowserFilesItem */.F; }, + "observable": function() { return /* reexport */ event_emitter/* observable */.LO; } +}); +// EXTERNAL MODULE: ./src/core/event-emitter/index.ts + 2 modules +var event_emitter = __webpack_require__(4567); +// EXTERNAL MODULE: ./src/core/async/index.ts + 1 modules +var core_async = __webpack_require__(21317); +// EXTERNAL MODULE: ./src/core/request/index.ts + 3 modules +var core_request = __webpack_require__(12709); +// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules +var component = __webpack_require__(90549); +// EXTERNAL MODULE: ./src/modules/context-menu/context-menu.ts +var context_menu = __webpack_require__(60403); +// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js +var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/config.ts +var config = __webpack_require__(93166); +// EXTERNAL MODULE: ./src/core/constants.ts +var constants = __webpack_require__(86893); +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +// EXTERNAL MODULE: external "{assert(){}};" +var external_assert_ = __webpack_require__(52378); +// EXTERNAL MODULE: ./src/core/view/view-with-toolbar.ts +var view_with_toolbar = __webpack_require__(43608); +// EXTERNAL MODULE: ./src/core/dom/index.ts +var dom = __webpack_require__(64968); +// EXTERNAL MODULE: ./src/core/global.ts +var global = __webpack_require__(17332); +// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules +var decorators = __webpack_require__(67493); +// EXTERNAL MODULE: ./src/core/view/view.ts +var view = __webpack_require__(75902); +// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules +var ui = __webpack_require__(93801); +// EXTERNAL MODULE: ./src/modules/messages/messages.ts + 1 modules +var messages = __webpack_require__(17832); +;// CONCATENATED MODULE: ./src/modules/dialog/dialog.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ @@ -14131,238 +13600,430 @@ config/* Config.prototype.controls.filebrowser */.D.prototype.controls.filebrows -let FileBrowser = class FileBrowser extends view_with_toolbar/* ViewWithToolbar */.C { - constructor(options) { +config/* Config.prototype.dialog */.D.prototype.dialog = { + namespace: '', + extraButtons: [], + resizable: true, + draggable: true, + buttons: ['dialog.close'], + removeButtons: [], + toolbarButtonSize: 'middle', + zIndex: 'inherit' +}; +config/* Config.prototype.controls.dialog */.D.prototype.controls.dialog = { + close: { + icon: 'cancel', + exec: dialog => { + dialog.close(); + } + } +}; +let Dialog = class Dialog extends view_with_toolbar/* ViewWithToolbar */.C { + className() { + return 'Dialog'; + } + get destination() { var _a; - super(options); - this.browser = this.c.div(this.componentName); - this.status_line = this.c.div(this.getFullElName('status')); - this.tree = new FileBrowserTree(this); - this.files = new FileBrowserFiles(this); - this.state = (0,event_emitter/* observable */.LO)({ - currentPath: '', - currentSource: DEFAULT_SOURCE_NAME, - currentBaseUrl: '', - activeElements: [], - elements: [], - messages: [], - sources: [], - view: 'tiles', - sortBy: 'changed-desc', - filterWord: '', - onlyImages: false - }); - this.errorHandler = (resp) => { - if ((0,helpers.isAbort)(resp)) { - return; + return ((_a = this.o.shadowRoot) !== null && _a !== void 0 ? _a : this.od.body); + } + setElements(root, elements) { + const elements_list = []; + (0,helpers.asArray)(elements).forEach((elm) => { + if ((0,helpers.isArray)(elm)) { + const div = this.c.div(this.getFullElName('column')); + elements_list.push(div); + root.appendChild(div); + return this.setElements(div, elm); } - if (resp instanceof Error) { - this.status(this.i18n(resp.message)); + let element; + if ((0,helpers.isString)(elm)) { + element = this.c.fromHTML(elm); } else { - this.status(this.dataProvider.getMessage(resp)); + element = (0,helpers.hasContainer)(elm) ? elm.container : elm; + } + elements_list.push(element); + if (element.parentNode !== root) { + root.appendChild(element); } - }; - this.close = () => { - this._dialog.close(); - }; - this.attachEvents(options); - const self = this; - self.options = (0,helpers.ConfigProto)(options || {}, config/* Config.defaultOptions.filebrowser */.D.defaultOptions.filebrowser); - self.storage = storage/* Storage.makeStorage */.Ke.makeStorage(Boolean(this.o.saveStateInStorage), this.componentName); - self.dataProvider = makeDataProvider(self, self.options); - self._dialog = this.dlg({ - minWidth: Math.min(700, screen.width), - minHeight: 300, - buttons: (_a = this.o.headerButtons) !== null && _a !== void 0 ? _a : ['fullsize', 'dialog.close'] }); - this.proxyDialogEvents(self); - self.browser.component = this; - self.container = self.browser; - if (self.o.showFoldersPanel) { - self.browser.appendChild(self.tree.container); - } - self.browser.appendChild(self.files.container); - self.browser.appendChild(self.status_line); - selfListeners.call(self); - nativeListeners.call(self); - stateListeners.call(self); - self._dialog.setSize(self.o.width, self.o.height); - const keys = [ - 'getLocalFileByUrl', - 'crop', - 'resize', - 'create', - 'fileMove', - 'folderMove', - 'fileRename', - 'folderRename', - 'fileRemove', - 'folderRemove', - 'folder', - 'items', - 'permissions' - ]; - keys.forEach(key => { - if (this.options[key] != null) { - this.options[key] = (0,helpers.ConfigProto)(this.options[key], this.o.ajax); + (0,helpers.toArray)(root.childNodes).forEach((elm) => { + if (elements_list.indexOf(elm) === -1) { + root.removeChild(elm); } }); - const { storeView, storeSortBy, storeLastOpenedFolder } = this.o - .saveStateInStorage || { - storeLastOpenedFolder: false, - storeView: false, - storeSortBy: false - }; - const view = storeView && this.storage.get('view'); - if (view && this.o.view == null) { - self.state.view = view === 'list' ? 'list' : 'tiles'; - } - else { - self.state.view = self.o.view === 'list' ? 'list' : 'tiles'; + } + onMouseUp() { + if (this.draggable || this.resizable) { + this.removeGlobalResizeListeners(); + this.draggable = false; + this.resizable = false; + this.unlockSelect(); + if (this.e) { + this.removeGlobalResizeListeners(); + this.e.fire(this, 'endResize endMove'); + } } - self.files.setMod('view', self.state.view); - const sortBy = storeSortBy && self.storage.get('sortBy'); - if (sortBy) { - const parts = sortBy.split('-'); - self.state.sortBy = ['changed', 'name', 'size'].includes(parts[0]) - ? sortBy - : 'changed-desc'; + } + onHeaderMouseDown(e) { + const target = e.target; + if (!this.o.draggable || + (target && target.nodeName.match(/^(INPUT|SELECT)$/))) { + return; } - else { - self.state.sortBy = self.o.sortBy || 'changed-desc'; + this.draggable = true; + this.startX = e.clientX; + this.startY = e.clientY; + this.startPoint.x = (0,helpers.css)(this.dialog, 'left'); + this.startPoint.y = (0,helpers.css)(this.dialog, 'top'); + this.setMaxZIndex(); + if (e.cancelable) { + e.preventDefault(); } - if (storeLastOpenedFolder) { - const currentPath = self.storage.get('currentPath'), currentSource = self.storage.get('currentSource'); - self.state.currentPath = currentPath !== null && currentPath !== void 0 ? currentPath : ''; - self.state.currentSource = currentSource !== null && currentSource !== void 0 ? currentSource : ''; + this.lockSelect(); + this.addGlobalResizeListeners(); + if (this.e) { + this.e.fire(this, 'startMove'); } - self.initUploader(self); - self.setStatus(component/* STATUSES.ready */.n$.ready); } - className() { - return 'Filebrowser'; + onMouseMove(e) { + if (this.draggable && this.o.draggable) { + this.setPosition(this.startPoint.x + e.clientX - this.startX, this.startPoint.y + e.clientY - this.startY); + if (this.e) { + this.e.fire(this, 'move', e.clientX - this.startX, e.clientY - this.startY); + } + e.stopImmediatePropagation(); + } + if (this.resizable && this.o.resizable) { + this.setSize(this.startPoint.w + e.clientX - this.startX, this.startPoint.h + e.clientY - this.startY); + if (this.e) { + this.e.fire(this, 'resizeDialog', e.clientX - this.startX, e.clientY - this.startY); + } + } } - onSelect(callback) { - return () => { - if (this.state.activeElements.length) { - const files = []; - const isImages = []; - this.state.activeElements.forEach(elm => { - const url = elm.fileURL; - if (url) { - files.push(url); - isImages.push(elm.isImage || false); - } - }); - this.close(); - const data = { - baseurl: '', - files, - isImages - }; - if ((0,helpers.isFunction)(callback)) { - callback(data); - } + onEsc(e) { + if (this.isOpened && + e.key === constants.KEY_ESC && + this.getMod('static') !== true) { + const me = this.getMaxZIndexDialog(); + if (me) { + me.close(); + } + else { this.close(); } - return false; - }; + e.stopImmediatePropagation(); + } } - get isOpened() { - return this._dialog.isOpened && this.browser.style.display !== 'none'; + onResizerMouseDown(e) { + this.resizable = true; + this.startX = e.clientX; + this.startY = e.clientY; + this.startPoint.w = this.dialog.offsetWidth; + this.startPoint.h = this.dialog.offsetHeight; + this.lockSelect(); + this.addGlobalResizeListeners(); + if (this.e) { + this.e.fire(this, 'startResize'); + } } - status(message, success) { - if (!message || (0,helpers.isAbort)(message)) { - return; + addGlobalResizeListeners() { + const self = this; + self.e + .on(self.ow, 'pointermove touchmove', self.onMouseMove) + .on(self.ow, 'pointerup touchend', self.onMouseUp); + } + removeGlobalResizeListeners() { + const self = this; + self.e + .off(self.ow, 'mousemove pointermove', self.onMouseMove) + .off(self.ow, 'mouseup pointerup', self.onMouseUp); + } + setSize(w, h) { + if (w == null) { + w = this.dialog.offsetWidth; } - if (!(0,helpers.isString)(message)) { - message = message.message; + if (h == null) { + h = this.dialog.offsetHeight; } - if (!(0,helpers.isString)(message) || !(0,helpers.trim)(message).length) { - return; + (0,helpers.css)(this.dialog, { + width: w, + height: h + }); + return this; + } + calcAutoSize() { + this.setSize('auto', 'auto'); + this.setSize(); + return this; + } + setPosition(x, y) { + const w = this.ow.innerWidth, h = this.ow.innerHeight; + let left = w / 2 - this.dialog.offsetWidth / 2, top = h / 2 - this.dialog.offsetHeight / 2; + if (left < 0) { + left = 0; } - this.message.message(message, success ? 'success' : 'error', this.o.howLongShowMsg); + if (top < 0) { + top = 0; + } + if (x !== undefined && y !== undefined) { + this.offsetX = x; + this.offsetY = y; + this.moved = Math.abs(x - left) > 100 || Math.abs(y - top) > 100; + } + this.dialog.style.left = (x || left) + 'px'; + this.dialog.style.top = (y || top) + 'px'; + return this; } - open(callback = this.o - .defaultCallback, onlyImages = false) { - this.state.onlyImages = onlyImages; - return this.async.promise((resolve, reject) => { - var _a; - if (!this.o.items || !this.o.items.url) { - throw (0,helpers.error)('Need set options.filebrowser.ajax.url'); + setHeader(content) { + this.setElements(this.dialogbox_header, content); + return this; + } + setContent(content) { + this.setElements(this.dialogbox_content, content); + return this; + } + setFooter(content) { + this.setElements(this.dialogbox_footer, content); + this.setMod('footer', Boolean(content)); + return this; + } + getZIndex() { + return parseInt((0,helpers.css)(this.container, 'zIndex'), 10) || 0; + } + getMaxZIndexDialog() { + let maxZi = 0, dlg, zIndex, res = this; + (0,helpers.$$)('.jodit-dialog', this.destination).forEach((dialog) => { + dlg = dialog.component; + zIndex = parseInt((0,helpers.css)(dialog, 'zIndex'), 10); + if (dlg.isOpened && !isNaN(zIndex) && zIndex > maxZi) { + res = dlg; + maxZi = zIndex; } - let localTimeout = 0; - this.e - .off(this.files.container, 'dblclick') - .on(this.files.container, 'dblclick', this.onSelect(callback)) - .on(this.files.container, 'touchstart', () => { - const now = new Date().getTime(); - if (now - localTimeout < constants.EMULATE_DBLCLICK_TIMEOUT) { - this.onSelect(callback)(); - } - localTimeout = now; - }) - .off('select.filebrowser') - .on('select.filebrowser', this.onSelect(callback)); - const header = this.c.div(); - this.toolbar.build((_a = this.o.buttons) !== null && _a !== void 0 ? _a : []).appendTo(header); - this._dialog.open(this.browser, header); - this.e.fire('sort.filebrowser', this.state.sortBy); - loadTree(this).then(resolve, reject); }); + return res; + } + setMaxZIndex() { + if (this.getMod('static')) + return; + let maxZIndex = 20000004, zIndex = 0; + (0,helpers.$$)('.jodit-dialog', this.destination).forEach(dialog => { + zIndex = parseInt((0,helpers.css)(dialog, 'zIndex'), 10); + maxZIndex = Math.max(isNaN(zIndex) ? 0 : zIndex, maxZIndex); + }); + this.container.style.zIndex = (maxZIndex + 1).toString(); + } + toggleFullSize(isFullSize) { + if ((0,helpers.isVoid)(isFullSize)) { + isFullSize = !this.getMod('fullsize'); + } + this.setMod('fullsize', isFullSize); + super.toggleFullSize(isFullSize); + } + open(contentOrClose, titleOrModal, destroyAfterClose, modal) { + global/* eventEmitter.fire */.TB.fire('closeAllPopups hideHelpers'); + if (this.e.fire(this, 'beforeOpen') === false) { + return this; + } + if ((0,helpers.isBoolean)(contentOrClose)) { + destroyAfterClose = contentOrClose; + } + if ((0,helpers.isBoolean)(titleOrModal)) { + modal = titleOrModal; + } + this.destroyAfterClose = destroyAfterClose === true; + const content = (0,helpers.isBoolean)(contentOrClose) ? undefined : contentOrClose; + const title = (0,helpers.isBoolean)(titleOrModal) ? undefined : titleOrModal; + if (title !== undefined) { + this.setHeader(title); + } + if (content) { + this.setContent(content); + } + this.setMod('active', true); + this.isOpened = true; + this.setModal(modal); + this.destination.appendChild(this.container); + if (this.getMod('static') !== true) { + this.setPosition(this.offsetX, this.offsetY); + this.setMaxZIndex(); + } + else { + this.container.style.removeProperty('z-index'); + } + if (this.o.fullsize) { + this.toggleFullSize(true); + } + this.e.fire('afterOpen', this); + return this; + } + setModal(modal) { + this.isModal = Boolean(modal); + this.setMod('modal', this.isModal); + return this; + } + close() { + if (this.isDestructed || + !this.isOpened || + this.getMod('static') === true) { + return this; + } + if (this.e.fire('beforeClose', this) === false) { + return this; + } + this.setMod('active', false); + this.isOpened = false; + if (this.isFullSize) { + this.toggleFullSize(false); + } + dom/* Dom.safeRemove */.i.safeRemove(this.container); + this.removeGlobalResizeListeners(); + if (this.destroyAfterClose) { + this.destruct(); + } + this.e.fire(this, 'afterClose'); + this.e.fire(this.ow, 'joditCloseDialog'); + return this; } - initUploader(editor) { - var _a; - const self = this, options = (_a = editor === null || editor === void 0 ? void 0 : editor.options) === null || _a === void 0 ? void 0 : _a.uploader, uploaderOptions = (0,helpers.ConfigProto)(options || {}, config/* Config.defaultOptions.uploader */.D.defaultOptions.uploader); - const uploadHandler = () => loadItems(this); - self.uploader = self.getInstance('Uploader', uploaderOptions); - self.uploader - .setPath(self.state.currentPath) - .setSource(self.state.currentSource) - .bind(self.browser, uploadHandler, self.errorHandler); - this.state.on(['change.currentPath', 'change.currentSource'], () => { - this.uploader - .setPath(this.state.currentPath) - .setSource(this.state.currentSource); + constructor(options = {}) { + super(options); + this.destroyAfterClose = false; + this.moved = false; + this.resizable = false; + this.draggable = false; + this.startX = 0; + this.startY = 0; + this.startPoint = { x: 0, y: 0, w: 0, h: 0 }; + this.lockSelect = () => { + this.setMod('moved', true); + }; + this.unlockSelect = () => { + this.setMod('moved', false); + }; + this.onResize = () => { + if (this.options && + this.o.resizable && + !this.moved && + this.isOpened && + !this.offsetX && + !this.offsetY) { + this.setPosition(); + } + }; + this.isModal = false; + this.isOpened = false; + const self = this; + self.options = (0,helpers.ConfigProto)(options, (0,helpers.ConfigProto)(config/* Config.prototype.dialog */.D.prototype.dialog, view/* View.defaultOptions */.G.defaultOptions)); + dom/* Dom.safeRemove */.i.safeRemove(self.container); + const n = this.getFullElName.bind(this); + self.container = this.c.fromHTML(`
+
+
+
+
+
+
+
+
+
${ui/* Icon.get */.JO.get('resize_handler')}
+
+
`); + if (this.o.zIndex) { + this.container.style.zIndex = this.o.zIndex.toString(); + } + (0,helpers.attr)(self.container, 'role', 'dialog'); + Object.defineProperty(self.container, 'component', { + value: this }); - self.e.on('bindUploader.filebrowser', (button) => { - self.uploader.bind(button, uploadHandler, self.errorHandler); + self.setMod('theme', self.o.theme || 'default').setMod('resizable', Boolean(self.o.resizable)); + const dialog = self.getElm('panel'); + void 0; + const resizer = self.getElm('resizer'); + void 0; + const dialogbox_header = self.getElm('header-title'); + void 0; + const dialogbox_content = self.getElm('content'); + void 0; + const dialogbox_footer = self.getElm('footer'); + void 0; + const dialogbox_toolbar = self.getElm('header-toolbar'); + void 0; + this.message.destruct(); + this.message = new messages/* UIMessages */.D(this, dialog); + this.dialog = dialog; + this.resizer = resizer; + this.dialogbox_header = dialogbox_header; + this.dialogbox_content = dialogbox_content; + this.dialogbox_footer = dialogbox_footer; + this.dialogbox_toolbar = dialogbox_toolbar; + (0,helpers.css)(self.dialog, { + maxWidth: self.options.maxWidth, + minHeight: self.options.minHeight, + minWidth: self.options.minWidth }); + const headerBox = self.getElm('header'); + headerBox && + self.e.on(headerBox, 'pointerdown touchstart', self.onHeaderMouseDown); + self.e.on(self.resizer, 'mousedown touchstart', self.onResizerMouseDown); + const fullSize = global/* pluginSystem.get */.pw.get('fullsize'); + (0,helpers.isFunction)(fullSize) && fullSize(self); + this.e + .on(self.container, 'close_dialog', self.close) + .on(this.ow, 'keydown', this.onEsc) + .on(this.ow, 'resize', this.onResize); } - proxyDialogEvents(self) { - ['afterClose', 'beforeOpen'].forEach(proxyEvent => { - self._dialog.events.on(self.dlg, proxyEvent, () => { - this.e.fire(proxyEvent); - }); - }); + buildToolbar() { + this.o.buttons && + this.toolbar + .build((0,helpers.splitArray)(this.o.buttons)) + .setMod('mode', 'header') + .appendTo(this.dialogbox_toolbar); } destruct() { if (this.isInDestruct) { return; } + this.setStatus(component/* STATUSES.beforeDestruct */.n$.beforeDestruct); + if (this.isOpened) { + this.close(); + } + if (this.events) { + this.removeGlobalResizeListeners(); + this.events + .off(this.container, 'close_dialog', self.close) + .off(this.ow, 'keydown', this.onEsc) + .off(this.ow, 'resize', this.onResize); + } super.destruct(); - this._dialog.destruct(); - this.events && this.e.off('.filebrowser'); - this.uploader && this.uploader.destruct(); } }; (0,tslib_es6/* __decorate */.gn)([ decorators.autobind -], FileBrowser.prototype, "status", null); +], Dialog.prototype, "onMouseUp", null); (0,tslib_es6/* __decorate */.gn)([ decorators.autobind -], FileBrowser.prototype, "open", null); -FileBrowser = (0,tslib_es6/* __decorate */.gn)([ - (0,decorators.derive)(traits/* Dlgs */.lf) -], FileBrowser); +], Dialog.prototype, "onHeaderMouseDown", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Dialog.prototype, "onMouseMove", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Dialog.prototype, "onEsc", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Dialog.prototype, "onResizerMouseDown", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Dialog.prototype, "close", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.hook)('ready') +], Dialog.prototype, "buildToolbar", null); +Dialog = (0,tslib_es6/* __decorate */.gn)([ + decorators.component +], Dialog); -function isFileBrowserFilesItem(target) { - return (dom/* Dom.isElement */.i.isElement(target) && - target.classList.contains(FileBrowserFiles.prototype.getFullElName('item'))); -} -;// CONCATENATED MODULE: ./src/modules/file-browser/index.ts +;// CONCATENATED MODULE: ./src/modules/dialog/alert.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -14371,120 +14032,28 @@ function isFileBrowserFilesItem(target) { -/***/ }), - -/***/ 37113: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "v": function() { return /* binding */ ImageEditor; }, - "r": function() { return /* binding */ openImageEditor; } -}); - -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); -// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules -var component = __webpack_require__(2624); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -// EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); -// EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules -var ui_button = __webpack_require__(81402); -// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); -;// CONCATENATED MODULE: ./src/modules/image-editor/templates/form.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - -const jie = 'jodit-image-editor'; -const gi = ui/* Icon.get.bind */.JO.get.bind(ui/* Icon */.JO); -const act = (el, className = 'jodti-image-editor_active') => el ? className : ''; -const form_form = (editor, o) => { - const i = editor.i18n.bind(editor); - const switcher = (label, ref, active = true) => `
- - - -
`; - return editor.create.fromHTML(`
-
-
- ${o.resize - ? `
-
-
- -
-
` - : ''} - ${o.crop - ? `
-
-
- - -
-
-
` - : ''} -
-
- ${o.resize - ? `
-
- ${gi('resize')} - ${i('Resize')} -
-
-
- - -
-
- - -
- ${switcher('Keep Aspect Ratio', 'keepAspectRatioResize')} -
-
` - : ''} - ${o.crop - ? `
-
- ${gi('crop')} - ${i('Crop')} -
-
- ${switcher('Keep Aspect Ratio', 'keepAspectRatioCrop')} -
-
` - : ''} -
-
-
`); -}; -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/ui/icon.ts -var icon = __webpack_require__(80353); -;// CONCATENATED MODULE: ./src/modules/image-editor/config.ts +function Alert(msg, title, callback, className = 'jodit-dialog_alert') { + if ((0,helpers.isFunction)(title)) { + callback = title; + title = undefined; + } + const dialog = this instanceof Dialog ? this : new Dialog(), container = dialog.c.div(className), okButton = (0,ui/* Button */.zx)(dialog, 'ok', 'Ok'); + (0,helpers.asArray)(msg).forEach(oneMessage => { + container.appendChild(dom/* Dom.isNode */.i.isNode(oneMessage) ? oneMessage : dialog.c.fromHTML(oneMessage)); + }); + okButton.onAction(() => { + if (!callback || !(0,helpers.isFunction)(callback) || callback(dialog) !== false) { + dialog.close(); + } + }); + dialog.setFooter([okButton]); + dialog.open(container, title || ' ', true, true); + okButton.focus(); + return dialog; +} + +;// CONCATENATED MODULE: ./src/modules/dialog/prompt.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -14492,663 +14061,480 @@ var icon = __webpack_require__(80353); */ -config/* Config.prototype.imageeditor */.D.prototype.imageeditor = { - min_width: 20, - min_height: 20, - closeAfterSave: false, - width: '85%', - height: '85%', - crop: true, - resize: true, - resizeUseRatio: true, - resizeMinWidth: 20, - resizeMinHeight: 20, - cropUseRatio: true, - cropDefaultWidth: '70%', - cropDefaultHeight: '70%' -}; -icon/* Icon.set */.J.set('crop', __webpack_require__(3610)).set('resize', __webpack_require__(56170)); -;// CONCATENATED MODULE: ./src/modules/image-editor/image-editor.ts +function Prompt(msg, title, callback, placeholder, defaultValue) { + const dialog = this instanceof Dialog ? this : new Dialog(), cancelButton = (0,ui/* Button */.zx)(dialog, 'cancel', 'Cancel'), okButton = (0,ui/* Button */.zx)(dialog, 'ok', 'Ok'), form = dialog.c.element('form', { + class: 'jodit-dialog_prompt' + }), inputElement = dialog.c.element('input', { + autofocus: true, + class: 'jodit-input' + }), labelElement = dialog.c.element('label'); + if ((0,helpers.isFunction)(title)) { + callback = title; + title = undefined; + } + if (placeholder) { + (0,helpers.attr)(inputElement, 'placeholder', placeholder); + } + labelElement.appendChild(dialog.c.text(msg)); + form.appendChild(labelElement); + form.appendChild(inputElement); + cancelButton.onAction(dialog.close); + const onclick = () => { + if (!callback || + !(0,helpers.isFunction)(callback) || + callback(inputElement.value) !== false) { + dialog.close(); + } + }; + okButton.onAction(onclick); + dialog.e.on(form, 'submit', () => { + onclick(); + return false; + }); + dialog.setFooter([okButton, cancelButton]); + dialog.open(form, title || ' ', true, true); + inputElement.focus(); + if (defaultValue !== undefined && defaultValue.length) { + inputElement.value = defaultValue; + inputElement.select(); + } + return dialog; +} + +// EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts +var is_function = __webpack_require__(42096); +// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts +var button_button = __webpack_require__(96031); +;// CONCATENATED MODULE: ./src/modules/dialog/confirm.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -var ImageEditor_1; +function Confirm(msg, title, callback) { + const dialog = this instanceof Dialog ? this : new Dialog(), $div = dialog.c.fromHTML('
'), $label = dialog.c.element('label'); + if ((0,is_function/* isFunction */.m)(title)) { + callback = title; + title = undefined; + } + $label.appendChild(dialog.c.fromHTML(msg)); + $div.appendChild($label); + const action = (yes) => () => { + if (!callback || callback(yes) !== false) { + dialog.close(); + } + }; + const $cancel = (0,button_button/* Button */.zx)(dialog, 'cancel', 'Cancel'); + const $ok = (0,button_button/* Button */.zx)(dialog, 'ok', 'Yes'); + $cancel.onAction(action(false)); + $ok.onAction(action(true)); + dialog.e.on($div, 'submit', () => { + action(true)(); + return false; + }); + dialog.setFooter([$ok, $cancel]); + dialog.open($div, title || ' ', true, true); + $ok.focus(); + return dialog; +} +;// CONCATENATED MODULE: ./src/modules/dialog/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +// EXTERNAL MODULE: ./src/core/plugin/index.ts +var core_plugin = __webpack_require__(57549); +;// CONCATENATED MODULE: ./src/core/create/create.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ -const image_editor_jie = 'jodit-image-editor'; -const TABS = { - resize: 'resize', - crop: 'crop' -}; -let ImageEditor = ImageEditor_1 = class ImageEditor extends component/* ViewComponent */.Hr { - constructor(editor) { - super(editor); - this.resizeUseRatio = true; - this.cropUseRatio = true; - this.clicked = false; - this.start_x = 0; - this.start_y = 0; - this.top_x = 0; - this.top_y = 0; - this.width = 0; - this.height = 0; - this.activeTab = TABS.resize; - this.naturalWidth = 0; - this.naturalHeight = 0; - this.ratio = 0; - this.new_h = 0; - this.new_w = 0; - this.diff_x = 0; - this.diff_y = 0; - this.cropBox = { - x: 0, - y: 0, - w: 0, - h: 0 - }; - this.resizeBox = { - w: 0, - h: 0 - }; - this.calcCropBox = () => { - const node = this.crop_box.parentNode, w = node.offsetWidth * 0.8, h = node.offsetHeight * 0.8; - let wn = w, hn = h; - const { naturalWidth: nw, naturalHeight: nh } = this; - if (w > nw && h > nh) { - wn = nw; - hn = nh; - } - else if (this.ratio > w / h) { - wn = w; - hn = nh * (w / nw); - } - else { - wn = nw * (h / nh); - hn = h; - } - (0,helpers.css)(this.crop_box, { - width: wn, - height: hn - }); - }; - this.showCrop = () => { - if (!this.cropImage) { - return; - } - this.calcCropBox(); - const w = this.cropImage.offsetWidth || - this.image.offsetWidth || - this.image.naturalWidth; - this.new_w = ImageEditor_1.calcValueByPercent(w, this.o.cropDefaultWidth); - const h = this.cropImage.offsetHeight || - this.image.offsetHeight || - this.image.naturalHeight; - if (this.cropUseRatio) { - this.new_h = this.new_w / this.ratio; - } - else { - this.new_h = ImageEditor_1.calcValueByPercent(h, this.o.cropDefaultHeight); - } - (0,helpers.css)(this.cropHandler, { - backgroundImage: 'url(' + (0,helpers.attr)(this.cropImage, 'src') + ')', - width: this.new_w, - height: this.new_h, - left: w / 2 - this.new_w / 2, - top: h / 2 - this.new_h / 2 - }); - this.j.e.fire(this.cropHandler, 'updatesize'); - }; - this.updateCropBox = () => { - if (!this.cropImage) { - return; - } - const ratioX = this.cropImage.offsetWidth / this.naturalWidth, ratioY = this.cropImage.offsetHeight / this.naturalHeight; - this.cropBox.x = (0,helpers.css)(this.cropHandler, 'left') / ratioX; - this.cropBox.y = (0,helpers.css)(this.cropHandler, 'top') / ratioY; - this.cropBox.w = this.cropHandler.offsetWidth / ratioX; - this.cropBox.h = this.cropHandler.offsetHeight / ratioY; - this.sizes.textContent = - this.cropBox.w.toFixed(0) + 'x' + this.cropBox.h.toFixed(0); - }; - this.updateResizeBox = () => { - this.resizeBox.w = this.image.offsetWidth || this.naturalWidth; - this.resizeBox.h = this.image.offsetHeight || this.naturalHeight; - }; - this.setHandlers = () => { - const self = this; - const { widthInput, heightInput } = (0,helpers.refs)(this.editor); - self.j.e - .on([ - self.editor.querySelector('.jodit_bottomright'), - self.cropHandler - ], `mousedown.${image_editor_jie}`, this.onResizeHandleMouseDown) - .on(this.j.ow, `resize.${image_editor_jie}`, () => { - this.j.e.fire(self.resizeHandler, 'updatesize'); - self.showCrop(); - this.j.e.fire(self.cropHandler, 'updatesize'); - }); - self.j.e - .on((0,helpers.toArray)(this.editor.querySelectorAll(`.${image_editor_jie}__slider-title`)), 'click', this.onTitleModeClick) - .on([widthInput, heightInput], 'input', this.onChangeSizeInput); - const { keepAspectRatioResize, keepAspectRatioCrop } = (0,helpers.refs)(this.editor); - if (keepAspectRatioResize) { - keepAspectRatioResize.addEventListener('change', () => { - this.resizeUseRatio = keepAspectRatioResize.checked; - }); + + + +class Create { + get doc() { + return (0,helpers.isFunction)(this.document) ? this.document() : this.document; + } + constructor(document, createAttributes) { + this.document = document; + this.createAttributes = createAttributes; + } + element(tagName, childrenOrAttributes, children) { + const elm = this.doc.createElement(tagName.toLowerCase()); + this.applyCreateAttributes(elm); + if (childrenOrAttributes) { + if ((0,helpers.isPlainObject)(childrenOrAttributes)) { + (0,helpers.attr)(elm, childrenOrAttributes); } - if (keepAspectRatioCrop) { - keepAspectRatioCrop.addEventListener('change', () => { - this.cropUseRatio = keepAspectRatioCrop.checked; - }); + else { + children = childrenOrAttributes; } - self.j.e - .on(self.resizeHandler, 'updatesize', () => { - (0,helpers.css)(self.resizeHandler, { - top: 0, - left: 0, - width: self.image.offsetWidth || self.naturalWidth, - height: self.image.offsetHeight || self.naturalHeight - }); - this.updateResizeBox(); - }) - .on(self.cropHandler, 'updatesize', () => { - if (!self.cropImage) { - return; - } - let new_x = (0,helpers.css)(self.cropHandler, 'left'), new_y = (0,helpers.css)(self.cropHandler, 'top'), new_width = self.cropHandler.offsetWidth, new_height = self.cropHandler.offsetHeight; - if (new_x < 0) { - new_x = 0; - } - if (new_y < 0) { - new_y = 0; - } - if (new_x + new_width > self.cropImage.offsetWidth) { - new_width = self.cropImage.offsetWidth - new_x; - if (self.cropUseRatio) { - new_height = new_width / self.ratio; - } - } - if (new_y + new_height > self.cropImage.offsetHeight) { - new_height = self.cropImage.offsetHeight - new_y; - if (self.cropUseRatio) { - new_width = new_height * self.ratio; - } - } - (0,helpers.css)(self.cropHandler, { - width: new_width, - height: new_height, - left: new_x, - top: new_y, - backgroundPosition: -new_x - 1 + 'px ' + (-new_y - 1) + 'px', - backgroundSize: self.cropImage.offsetWidth + - 'px ' + - self.cropImage.offsetHeight + - 'px' - }); - self.updateCropBox(); - }); - Object.values(self.buttons).forEach(button => { - button.onAction(() => { - const data = { - action: self.activeTab, - box: self.activeTab === TABS.resize - ? self.resizeBox - : self.cropBox - }; - switch (button) { - case self.buttons.saveas: - self.j.prompt('Enter new name', 'Save in new file', (name) => { - if (!(0,helpers.trim)(name)) { - self.j.alert('The name should not be empty'); - return false; - } - self.onSave(name, data, self.hide, (e) => { - self.j.alert(e.message); - }); - }); - break; - case self.buttons.save: - self.onSave(undefined, data, self.hide, (e) => { - self.j.alert(e.message); - }); - break; - case self.buttons.reset: - if (self.activeTab === TABS.resize) { - (0,helpers.css)(self.image, { - width: null, - height: null - }); - widthInput.value = self.naturalWidth.toString(); - heightInput.value = self.naturalHeight.toString(); - self.j.e.fire(self.resizeHandler, 'updatesize'); - } - else { - self.showCrop(); - } - break; - } - }); - }); - }; - this.options = - editor && editor.o && editor.o.imageeditor - ? editor.o.imageeditor - : config/* Config.defaultOptions.imageeditor */.D.defaultOptions.imageeditor; - const o = this.options; - this.resizeUseRatio = o.resizeUseRatio; - this.cropUseRatio = o.cropUseRatio; - this.buttons = { - reset: (0,ui_button/* Button */.zx)(this.j, 'update', 'Reset'), - save: (0,ui_button/* Button */.zx)(this.j, 'save', 'Save'), - saveas: (0,ui_button/* Button */.zx)(this.j, 'save', 'Save as ...') - }; - this.activeTab = o.resize ? TABS.resize : TABS.crop; - this.editor = form_form(this.j, this.options); - const { resizeBox, cropBox } = (0,helpers.refs)(this.editor); - this.resize_box = resizeBox; - this.crop_box = cropBox; - this.sizes = this.editor.querySelector(`.${image_editor_jie}__area.${image_editor_jie}__area_crop .jodit-image-editor__sizes`); - this.resizeHandler = this.editor.querySelector(`.${image_editor_jie}__resizer`); - this.cropHandler = this.editor.querySelector(`.${image_editor_jie}__croper`); - this._dialog = this.j.dlg({ - buttons: ['fullsize', 'dialog.close'] - }); - this._dialog.setContent(this.editor); - this._dialog.setSize(this.o.width, this.o.height); - this._dialog.setHeader([ - this.buttons.reset, - this.buttons.save, - this.buttons.saveas - ]); - this.setHandlers(); + } + if (children) { + (0,helpers.asArray)(children).forEach((child) => elm.appendChild((0,helpers.isString)(child) ? this.fromHTML(child) : child)); + } + return elm; } - className() { - return 'ImageEditor'; + div(className, childrenOrAttributes, children) { + const div = this.element('div', childrenOrAttributes, children); + if (className) { + div.className = className; + } + return div; } - onTitleModeClick(e) { - const self = this, title = e.target; - const slide = title === null || title === void 0 ? void 0 : title.parentElement; - if (!slide) { - return; + sandbox() { + var _a; + const iframe = this.element('iframe', { sandbox: 'allow-same-origin' }); + this.doc.body.appendChild(iframe); + const doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document; + void 0; + if (!doc) { + throw Error('Iframe error'); } - (0,helpers.$$)(`.${image_editor_jie}__slider,.${image_editor_jie}__area`, self.editor).forEach(elm => elm.classList.remove(`${image_editor_jie}_active`)); - slide.classList.add(`${image_editor_jie}_active`); - this.activeTab = (0,helpers.attr)(slide, '-area') || TABS.resize; - const tab = self.editor.querySelector(`.${image_editor_jie}__area.${image_editor_jie}__area_` + self.activeTab); - if (tab) { - tab.classList.add(`${image_editor_jie}_active`); + doc.open(); + doc.write(''); + doc.close(); + return doc.body; + } + span(className, childrenOrAttributes, children) { + const span = this.element('span', childrenOrAttributes, children); + if (className) { + span.className = className; } - if (self.activeTab === TABS.crop) { - self.showCrop(); + return span; + } + a(className, childrenOrAttributes, children) { + const a = this.element('a', childrenOrAttributes, children); + if (className) { + a.className = className; } + return a; } - onChangeSizeInput(e) { - const self = this, input = e.target, { widthInput, heightInput } = (0,helpers.refs)(this.editor), isWidth = (0,helpers.attr)(input, 'data-ref') === 'widthInput', x = parseInt(input.value, 10), minX = isWidth ? self.o.min_width : self.o.min_height, minY = !isWidth ? self.o.min_width : self.o.min_height; - let y; - if (x > minX) { - (0,helpers.css)(self.image, isWidth ? 'width' : 'height', x); - if (self.resizeUseRatio) { - y = isWidth - ? Math.round(x / self.ratio) - : Math.round(x * self.ratio); - if (y > minY) { - (0,helpers.css)(self.image, !isWidth ? 'width' : 'height', y); - if (isWidth) { - heightInput.value = y.toString(); - } - else { - widthInput.value = y.toString(); - } + text(value) { + return this.doc.createTextNode(value); + } + fake() { + return this.text(constants.INVISIBLE_SPACE); + } + fragment() { + return this.doc.createDocumentFragment(); + } + fromHTML(html, refsToggleElement) { + const div = this.div(); + div.innerHTML = html.toString(); + const child = div.firstChild !== div.lastChild || !div.firstChild + ? div + : div.firstChild; + dom/* Dom.safeRemove */.i.safeRemove(child); + if (refsToggleElement) { + const refElements = (0,helpers.refs)(child); + Object.keys(refsToggleElement).forEach(key => { + const elm = refElements[key]; + if (elm && refsToggleElement[key] === false) { + dom/* Dom.hide */.i.hide(elm); + } + }); + } + return child; + } + applyCreateAttributes(elm) { + if (this.createAttributes) { + const ca = this.createAttributes; + if (ca && ca[elm.tagName.toLowerCase()]) { + const attrsOpt = ca[elm.tagName.toLowerCase()]; + if ((0,helpers.isFunction)(attrsOpt)) { + attrsOpt(elm); + } + else if ((0,helpers.isPlainObject)(attrsOpt)) { + (0,helpers.attr)(elm, attrsOpt); } } } - this.j.e.fire(self.resizeHandler, 'updatesize'); } - onResizeHandleMouseDown(e) { - const self = this; - self.target = e.target; - e.preventDefault(); - e.stopImmediatePropagation(); - self.clicked = true; - self.start_x = e.clientX; - self.start_y = e.clientY; - if (self.activeTab === TABS.crop) { - self.top_x = (0,helpers.css)(self.cropHandler, 'left'); - self.top_y = (0,helpers.css)(self.cropHandler, 'top'); - self.width = self.cropHandler.offsetWidth; - self.height = self.cropHandler.offsetHeight; - } - else { - self.width = self.image.offsetWidth; - self.height = self.image.offsetHeight; - } - self.j.e - .on(this.j.ow, 'mousemove', this.onGlobalMouseMove) - .one(this.j.ow, 'mouseup', this.onGlobalMouseUp); +} + +;// CONCATENATED MODULE: ./src/core/create/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +// EXTERNAL MODULE: ./src/modules/file-browser/index.ts + 16 modules +var file_browser = __webpack_require__(8649); +// EXTERNAL MODULE: ./src/modules/image-editor/image-editor.ts + 2 modules +var image_editor = __webpack_require__(99583); +;// CONCATENATED MODULE: ./src/modules/history/snapshot.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +class Snapshot extends component/* ViewComponent */.Hr { + constructor() { + super(...arguments); + this.__isBlocked = false; + } + className() { + return 'Snapshot'; } - onGlobalMouseUp(e) { - if (this.clicked) { - this.clicked = false; - e.stopImmediatePropagation(); - this.j.e.off(this.j.ow, 'mousemove', this.onGlobalMouseMove); - } + static equal(first, second) { + return (first.html === second.html && + JSON.stringify(first.range) === JSON.stringify(second.range)); } - onGlobalMouseMove(e) { - const self = this; - if (!self.clicked) { - return; + static countNodesBeforeInParent(elm) { + if (!elm.parentNode) { + return 0; } - const { widthInput, heightInput } = (0,helpers.refs)(this.editor); - self.diff_x = e.clientX - self.start_x; - self.diff_y = e.clientY - self.start_y; - if ((self.activeTab === TABS.resize && self.resizeUseRatio) || - (self.activeTab === TABS.crop && self.cropUseRatio)) { - if (self.diff_x) { - self.new_w = self.width + self.diff_x; - self.new_h = Math.round(self.new_w / self.ratio); + const elms = elm.parentNode.childNodes; + let count = 0, previous = null; + for (let j = 0; j < elms.length; j += 1) { + if (previous && + !this.isIgnoredNode(elms[j]) && + !(dom/* Dom.isText */.i.isText(previous) && dom/* Dom.isText */.i.isText(elms[j]))) { + count += 1; } - else { - self.new_h = self.height + self.diff_y; - self.new_w = Math.round(self.new_h * self.ratio); + if (elms[j] === elm) { + return count; } + previous = elms[j]; } - else { - self.new_w = self.width + self.diff_x; - self.new_h = self.height + self.diff_y; - } - if (self.activeTab === TABS.resize) { - if (self.new_w > self.o.resizeMinWidth) { - (0,helpers.css)(self.image, 'width', self.new_w + 'px'); - widthInput.value = self.new_w.toString(); - } - if (self.new_h > self.o.resizeMinHeight) { - (0,helpers.css)(self.image, 'height', self.new_h + 'px'); - heightInput.value = self.new_h.toString(); + return 0; + } + static strokeOffset(elm, offset) { + while (dom/* Dom.isText */.i.isText(elm)) { + elm = elm.previousSibling; + if (dom/* Dom.isText */.i.isText(elm) && elm.nodeValue) { + offset += elm.nodeValue.length; } - this.j.e.fire(self.resizeHandler, 'updatesize'); } - else { - if (self.target !== self.cropHandler) { - if (self.top_x + self.new_w > self.cropImage.offsetWidth) { - self.new_w = self.cropImage.offsetWidth - self.top_x; - } - if (self.top_y + self.new_h > self.cropImage.offsetHeight) { - self.new_h = self.cropImage.offsetHeight - self.top_y; - } - (0,helpers.css)(self.cropHandler, { - width: self.new_w, - height: self.new_h - }); - } - else { - if (self.top_x + self.diff_x + self.cropHandler.offsetWidth > - self.cropImage.offsetWidth) { - self.diff_x = - self.cropImage.offsetWidth - - self.top_x - - self.cropHandler.offsetWidth; - } - (0,helpers.css)(self.cropHandler, 'left', self.top_x + self.diff_x); - if (self.top_y + self.diff_y + self.cropHandler.offsetHeight > - self.cropImage.offsetHeight) { - self.diff_y = - self.cropImage.offsetHeight - - self.top_y - - self.cropHandler.offsetHeight; - } - (0,helpers.css)(self.cropHandler, 'top', self.top_y + self.diff_y); + return offset; + } + calcHierarchyLadder(elm) { + const counts = []; + if (!elm || !elm.parentNode || !dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, elm)) { + return []; + } + while (elm && elm !== this.j.editor) { + if (elm && !Snapshot.isIgnoredNode(elm)) { + counts.push(Snapshot.countNodesBeforeInParent(elm)); } - this.j.e.fire(self.cropHandler, 'updatesize'); + elm = elm.parentNode; + } + return counts.reverse(); + } + getElementByLadder(ladder) { + let n = this.j.editor, i; + for (i = 0; n && i < ladder.length; i += 1) { + n = n.childNodes[ladder[i]]; } + return n; } - get o() { - return this.options; + get isBlocked() { + return this.__isBlocked; } - hide() { - this._dialog.close(); + __block(enable) { + this.__isBlocked = enable; } - open(url, save) { - return this.j.async.promise((resolve) => { - const timestamp = new Date().getTime(); - this.image = this.j.c.element('img'); - (0,helpers.$$)('img,.jodit-icon_loader', this.resize_box).forEach(dom/* Dom.safeRemove */.i.safeRemove); - (0,helpers.$$)('img,.jodit-icon_loader', this.crop_box).forEach(dom/* Dom.safeRemove */.i.safeRemove); - (0,helpers.css)(this.cropHandler, 'background', 'transparent'); - this.onSave = save; - this.resize_box.appendChild(this.j.c.element('i', { class: 'jodit-icon_loader' })); - this.crop_box.appendChild(this.j.c.element('i', { class: 'jodit-icon_loader' })); - if (/\?/.test(url)) { - url += '&_tst=' + timestamp; + transaction(changes) { + this.__block(true); + try { + changes(); + } + catch (e) { + false && 0; + } + this.__block(false); + } + make() { + const snapshot = { + html: '', + range: { + startContainer: [], + startOffset: 0, + endContainer: [], + endOffset: 0 } - else { - url += '?_tst=' + timestamp; + }; + snapshot.html = this.removeJoditSelection(this.j.editor); + const sel = this.j.s.sel; + if (sel && sel.rangeCount) { + const range = sel.getRangeAt(0), startContainer = this.calcHierarchyLadder(range.startContainer), endContainer = this.calcHierarchyLadder(range.endContainer); + let startOffset = Snapshot.strokeOffset(range.startContainer, range.startOffset), endOffset = Snapshot.strokeOffset(range.endContainer, range.endOffset); + if (!startContainer.length && + range.startContainer !== this.j.editor) { + startOffset = 0; } - this.image.setAttribute('src', url); - this._dialog.open(); - const { widthInput, heightInput } = (0,helpers.refs)(this.editor); - const onload = () => { - if (this.isDestructed) { - return; - } - this.image.removeEventListener('load', onload); - this.naturalWidth = this.image.naturalWidth; - this.naturalHeight = this.image.naturalHeight; - widthInput.value = this.naturalWidth.toString(); - heightInput.value = this.naturalHeight.toString(); - this.ratio = this.naturalWidth / this.naturalHeight; - this.resize_box.appendChild(this.image); - this.cropImage = this.image.cloneNode(true); - this.crop_box.appendChild(this.cropImage); - dom/* Dom.safeRemove.apply */.i.safeRemove.apply(null, (0,helpers.$$)('.jodit-icon_loader', this.editor)); - if (this.activeTab === TABS.crop) { - this.showCrop(); - } - this.j.e.fire(this.resizeHandler, 'updatesize'); - this.j.e.fire(this.cropHandler, 'updatesize'); - this._dialog.setPosition(); - this.j.e.fire('afterImageEditor'); - resolve(this._dialog); + if (!endContainer.length && range.endContainer !== this.j.editor) { + endOffset = 0; + } + snapshot.range = { + startContainer, + startOffset, + endContainer, + endOffset }; - this.image.addEventListener('load', onload); - if (this.image.complete) { - onload(); + } + return snapshot; + } + restore(snapshot) { + this.transaction(() => { + const scroll = this.storeScrollState(); + const value = this.j.getNativeEditorValue(); + if (value !== snapshot.html) { + this.j.value = snapshot.html; } + this.restoreOnlySelection(snapshot); + this.restoreScrollState(scroll); }); } - destruct() { - if (this.isDestructed) { - return; - } - if (this._dialog && !this._dialog.isInDestruct) { - this._dialog.destruct(); - } - dom/* Dom.safeRemove */.i.safeRemove(this.editor); - if (this.j.e) { - this.j.e - .off(this.j.ow, 'mousemove', this.onGlobalMouseMove) - .off(this.j.ow, 'mouseup', this.onGlobalMouseUp) - .off(this.ow, `.${image_editor_jie}`) - .off(`.${image_editor_jie}`); + storeScrollState() { + return [this.j.ow.scrollY, this.j.editor.scrollTop]; + } + restoreScrollState(scrolls) { + const { j } = this, { ow } = j; + ow.scrollTo(ow.scrollX, scrolls[0]); + j.editor.scrollTop = scrolls[1]; + } + restoreOnlySelection(snapshot) { + try { + if (snapshot.range) { + const range = this.j.ed.createRange(); + range.setStart(this.getElementByLadder(snapshot.range.startContainer), snapshot.range.startOffset); + range.setEnd(this.getElementByLadder(snapshot.range.endContainer), snapshot.range.endOffset); + this.j.s.selectRange(range); + } + } + catch (__ignore) { + this.j.editor.lastChild && + this.j.s.setCursorAfter(this.j.editor.lastChild); + if (false) {} } + } + destruct() { + this.__block(false); super.destruct(); } -}; -ImageEditor.calcValueByPercent = (value, percent) => { - const percentStr = percent.toString(); - const valueNbr = parseFloat(value.toString()); - let match; - match = /^[-+]?[0-9]+(px)?$/.exec(percentStr); - if (match) { - return parseInt(percentStr, 10); + static isIgnoredNode(node) { + return (dom/* Dom.isText */.i.isText(node) && !node.nodeValue) || dom/* Dom.isTemporary */.i.isTemporary(node); } - match = /^([-+]?[0-9.]+)%$/.exec(percentStr); - if (match) { - return Math.round(valueNbr * (parseFloat(match[1]) / 100)); + removeJoditSelection(node) { + const clone = node.cloneNode(true); + clone.querySelectorAll(`[${constants.TEMP_ATTR}]`).forEach(dom/* Dom.unwrap */.i.unwrap); + return clone.innerHTML; } - return valueNbr || 0; -}; -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], ImageEditor.prototype, "onTitleModeClick", null); -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.debounce)(), - decorators.autobind -], ImageEditor.prototype, "onChangeSizeInput", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], ImageEditor.prototype, "onResizeHandleMouseDown", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], ImageEditor.prototype, "onGlobalMouseUp", null); -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.throttle)(10) -], ImageEditor.prototype, "onGlobalMouseMove", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], ImageEditor.prototype, "hide", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], ImageEditor.prototype, "open", null); -ImageEditor = ImageEditor_1 = (0,tslib_es6/* __decorate */.gn)([ - decorators.component -], ImageEditor); +} -function openImageEditor(href, name, path, source, onSuccess, onFailed) { - return this.getInstance('ImageEditor', this.o).open(href, (newname, box, success, failed) => (0,helpers.call)(box.action === 'resize' - ? this.dataProvider.resize - : this.dataProvider.crop, path, source, name, newname, box.box) - .then(ok => { - if (ok) { - success(); - if (onSuccess) { - onSuccess(); +;// CONCATENATED MODULE: ./src/modules/history/stack.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +class Stack { + constructor(size) { + this.size = size; + this.commands = []; + this.stackPosition = -1; + } + get length() { + return this.commands.length; + } + clearRedo() { + this.commands.length = this.stackPosition + 1; + } + clear() { + this.commands.length = 0; + this.stackPosition = -1; + } + push(command) { + this.clearRedo(); + this.commands.push(command); + this.stackPosition += 1; + if (this.commands.length > this.size) { + this.commands.shift(); + this.stackPosition -= 1; + } + } + replace(command) { + this.commands[this.stackPosition] = command; + } + current() { + return this.commands[this.stackPosition]; + } + undo() { + if (this.canUndo()) { + if (this.commands[this.stackPosition]) { + this.commands[this.stackPosition].undo(); } + this.stackPosition -= 1; + return true; } - }) - .catch(error => { - failed(error); - if (onFailed) { - onFailed(error); + return false; + } + redo() { + if (this.canRedo()) { + this.stackPosition += 1; + if (this.commands[this.stackPosition]) { + this.commands[this.stackPosition].redo(); + } + return true; } - })); + return false; + } + canUndo() { + return this.stackPosition >= 0; + } + canRedo() { + return this.stackPosition < this.commands.length - 1; + } } - -/***/ }), - -/***/ 5687: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "Ajax": function() { return /* reexport */ core_request/* Ajax */.t; }, - "Alert": function() { return /* reexport */ Alert; }, - "Async": function() { return /* reexport */ core_async/* Async */.e; }, - "CommitStyle": function() { return /* reexport */ selection/* CommitStyle */.RP; }, - "Component": function() { return /* reexport */ component/* Component */.wA; }, - "Confirm": function() { return /* reexport */ Confirm; }, - "ContextMenu": function() { return /* reexport */ context_menu/* ContextMenu */.x; }, - "Create": function() { return /* reexport */ Create; }, - "Dialog": function() { return /* reexport */ Dialog; }, - "Dom": function() { return /* reexport */ dom/* Dom */.i; }, - "EventEmitter": function() { return /* reexport */ event_emitter/* EventEmitter */.vp; }, - "EventHandlersStore": function() { return /* reexport */ event_emitter/* EventHandlersStore */.DG; }, - "Eventify": function() { return /* reexport */ event_emitter/* Eventify */.aN; }, - "FileBrowser": function() { return /* reexport */ file_browser/* FileBrowser */.f; }, - "Helpers": function() { return /* reexport */ helpers; }, - "History": function() { return /* reexport */ History; }, - "Icon": function() { return /* reexport */ ui/* Icon */.JO; }, - "ImageEditor": function() { return /* reexport */ image_editor/* ImageEditor */.v; }, - "LazyWalker": function() { return /* reexport */ dom/* LazyWalker */.b; }, - "Plugin": function() { return /* reexport */ core_plugin/* Plugin */.S; }, - "PluginSystem": function() { return /* reexport */ plugin_system/* PluginSystem */.h; }, - "Popup": function() { return /* reexport */ ui/* Popup */.GI; }, - "ProgressBar": function() { return /* reexport */ ui/* ProgressBar */.ko; }, - "Prompt": function() { return /* reexport */ Prompt; }, - "Response": function() { return /* reexport */ core_request/* Response */.H; }, - "STATUSES": function() { return /* reexport */ component/* STATUSES */.n$; }, - "Select": function() { return /* reexport */ selection/* Select */.Ph; }, - "Snapshot": function() { return /* reexport */ Snapshot; }, - "StatusBar": function() { return /* reexport */ StatusBar; }, - "Table": function() { return /* reexport */ table/* Table */.i; }, - "ToolbarButton": function() { return /* reexport */ toolbar_button_button/* ToolbarButton */.h; }, - "ToolbarCollection": function() { return /* reexport */ collection/* ToolbarCollection */.n; }, - "ToolbarContent": function() { return /* reexport */ content/* ToolbarContent */.c; }, - "ToolbarEditorCollection": function() { return /* reexport */ editor_collection/* ToolbarEditorCollection */.N; }, - "UIBlock": function() { return /* reexport */ ui/* UIBlock */.eC; }, - "UIButton": function() { return /* reexport */ ui/* UIButton */.y3; }, - "UICheckbox": function() { return /* reexport */ ui/* UICheckbox */.mA; }, - "UIElement": function() { return /* reexport */ ui/* UIElement */.u1; }, - "UIForm": function() { return /* reexport */ ui/* UIForm */.x4; }, - "UIGroup": function() { return /* reexport */ ui/* UIGroup */.qe; }, - "UIInput": function() { return /* reexport */ ui/* UIInput */.u3; }, - "UIList": function() { return /* reexport */ ui/* UIList */.bz; }, - "UIMessages": function() { return /* reexport */ messages/* UIMessages */.D; }, - "UISeparator": function() { return /* reexport */ ui/* UISeparator */.lU; }, - "UITextArea": function() { return /* reexport */ ui/* UITextArea */.GJ; }, - "Uploader": function() { return /* reexport */ Uploader; }, - "View": function() { return /* reexport */ view/* View */.G; }, - "ViewComponent": function() { return /* reexport */ component/* ViewComponent */.Hr; }, - "ViewWithToolbar": function() { return /* reexport */ view_with_toolbar/* ViewWithToolbar */.C; }, - "defaultNameSpace": function() { return /* reexport */ event_emitter/* defaultNameSpace */.rO; }, - "isFileBrowserFilesItem": function() { return /* reexport */ file_browser/* isFileBrowserFilesItem */.F; }, - "observable": function() { return /* reexport */ event_emitter/* observable */.LO; } -}); - -// EXTERNAL MODULE: ./src/core/event-emitter/index.ts + 2 modules -var event_emitter = __webpack_require__(18122); -// EXTERNAL MODULE: ./src/core/async/index.ts + 1 modules -var core_async = __webpack_require__(83735); -// EXTERNAL MODULE: ./src/core/request/index.ts + 3 modules -var core_request = __webpack_require__(5887); -// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules -var component = __webpack_require__(2624); -// EXTERNAL MODULE: ./src/modules/context-menu/context-menu.ts -var context_menu = __webpack_require__(82616); -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); -// EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -// EXTERNAL MODULE: external "{assert(){}};" -var external_assert_ = __webpack_require__(52378); -// EXTERNAL MODULE: ./src/core/view/view-with-toolbar.ts -var view_with_toolbar = __webpack_require__(67555); -// EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); -// EXTERNAL MODULE: ./src/core/global.ts -var global = __webpack_require__(16672); -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/view/view.ts -var view = __webpack_require__(49896); -// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); -;// CONCATENATED MODULE: ./src/modules/dialog/dialog.ts +;// CONCATENATED MODULE: ./src/modules/history/command.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +class Command { + undo() { + this.history.snapshot.restore(this.oldValue); + } + redo() { + this.history.snapshot.restore(this.newValue); + } + constructor(oldValue, newValue, history, tick) { + this.oldValue = oldValue; + this.newValue = newValue; + this.history = history; + this.tick = tick; + } +} +;// CONCATENATED MODULE: ./src/modules/history/history.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ @@ -15156,417 +14542,776 @@ var ui = __webpack_require__(55865); - - - - - -config/* Config.prototype.dialog */.D.prototype.dialog = { - namespace: '', - extraButtons: [], - resizable: true, - draggable: true, - buttons: ['dialog.close'], - removeButtons: [] +config/* Config.prototype.history */.D.prototype.history = { + enable: true, + maxHistoryLength: Infinity, + timeout: 1000 }; -config/* Config.prototype.controls.dialog */.D.prototype.controls.dialog = { - close: { - icon: 'cancel', - exec: dialog => { - dialog.close(); +config/* Config.prototype.observer */.D.prototype.observer = config/* Config.prototype.history */.D.prototype.history; +class History extends component/* ViewComponent */.Hr { + className() { + return 'History'; + } + get startValue() { + return this.__startValue; + } + set startValue(value) { + this.__startValue = value; + } + constructor(editor, stack = new Stack(editor.o.history.maxHistoryLength), snapshot = new Snapshot(editor)) { + super(editor); + this.updateTick = 0; + this.__stack = stack; + this.snapshot = snapshot; + if (editor.o.history.enable) { + editor.e.on('afterAddPlace.history', () => { + if (this.isInDestruct) { + return; + } + this.startValue = this.snapshot.make(); + editor.events + .on('internalChange internalUpdate', () => { + this.startValue = this.snapshot.make(); + }) + .on(editor.editor, [ + 'changeSelection', + 'selectionstart', + 'selectionchange', + 'mousedown', + 'mouseup', + 'keydown', + 'keyup' + ] + .map(f => f + '.history') + .join(' '), () => { + if (this.startValue.html === + this.j.getNativeEditorValue()) { + this.startValue = this.snapshot.make(); + } + }) + .on(this, 'change.history', this.onChange); + }); } } -}; -let Dialog = class Dialog extends view_with_toolbar/* ViewWithToolbar */.C { - constructor(options) { - super(options); - this.destroyAfterClose = false; - this.moved = false; - this.resizable = false; - this.draggable = false; - this.startX = 0; - this.startY = 0; - this.startPoint = { x: 0, y: 0, w: 0, h: 0 }; - this.lockSelect = () => { - this.setMod('moved', true); - }; - this.unlockSelect = () => { - this.setMod('moved', false); - }; - this.onResize = () => { - if (this.options && - this.o.resizable && - !this.moved && - this.isOpened && - !this.offsetX && - !this.offsetY) { - this.setPosition(); - } - }; - this.isModal = false; - this.isOpened = false; - const self = this; - self.options = (0,helpers.ConfigProto)(options !== null && options !== void 0 ? options : {}, (0,helpers.ConfigProto)({ - toolbarButtonSize: 'middle' - }, (0,helpers.ConfigProto)(config/* Config.prototype.dialog */.D.prototype.dialog, view/* View.defaultOptions */.G.defaultOptions))); - dom/* Dom.safeRemove */.i.safeRemove(self.container); - const n = this.getFullElName.bind(this); - self.container = this.c.fromHTML(`
-
-
-
-
-
-
-
-
-
${ui/* Icon.get */.JO.get('resize_handler')}
-
-
`); - (0,helpers.attr)(self.container, 'role', 'dialog'); - Object.defineProperty(self.container, 'component', { - value: this - }); - self.setMod('theme', self.o.theme || 'default').setMod('resizable', Boolean(self.o.resizable)); - const dialog = self.getElm('panel'); - const resizer = self.getElm('resizer'); - const dialogbox_header = self.getElm('header-title'); - const dialogbox_content = self.getElm('content'); - const dialogbox_footer = self.getElm('footer'); - const dialogbox_toolbar = self.getElm('header-toolbar'); - this.dialog = dialog; - this.resizer = resizer; - this.dialogbox_header = dialogbox_header; - this.dialogbox_content = dialogbox_content; - this.dialogbox_footer = dialogbox_footer; - this.dialogbox_toolbar = dialogbox_toolbar; - (0,helpers.css)(self.dialog, { - maxWidth: self.options.maxWidth, - minHeight: self.options.minHeight, - minWidth: self.options.minWidth - }); - const headerBox = self.getElm('header'); - headerBox && - self.e.on(headerBox, 'pointerdown touchstart', self.onHeaderMouseDown); - self.e.on(self.resizer, 'mousedown touchstart', self.onResizerMouseDown); - const fullSize = global/* pluginSystem.get */.pw.get('fullsize'); - (0,helpers.isFunction)(fullSize) && fullSize(self); - this.e - .on(self.container, 'close_dialog', self.close) - .on(this.ow, 'keydown', this.onEsc) - .on(this.ow, 'resize', this.onResize); + __upTick() { + this.updateTick += 1; } - className() { - return 'Dialog'; + onChange() { + this.__processChanges(); } - get destination() { - var _a; - return ((_a = this.o.shadowRoot) !== null && _a !== void 0 ? _a : this.od.body); + __processChanges() { + if (this.snapshot.isBlocked || !this.j.o.history.enable) { + return; + } + this.updateStack(); } - setElements(root, elements) { - const elements_list = []; - (0,helpers.asArray)(elements).forEach((elm) => { - if ((0,helpers.isArray)(elm)) { - const div = this.c.div(this.getFullElName('column')); - elements_list.push(div); - root.appendChild(div); - return this.setElements(div, elm); - } - let element; - if ((0,helpers.isString)(elm)) { - element = this.c.fromHTML(elm); + updateStack(replace = false) { + const newValue = this.snapshot.make(); + if (!Snapshot.equal(newValue, this.startValue)) { + const newCommand = new Command(this.startValue, newValue, this, this.updateTick); + if (replace) { + const command = this.__stack.current(); + if (command && this.updateTick === command.tick) { + this.__stack.replace(newCommand); + } } else { - element = (0,helpers.hasContainer)(elm) ? elm.container : elm; - } - elements_list.push(element); - if (element.parentNode !== root) { - root.appendChild(element); - } - }); - (0,helpers.toArray)(root.childNodes).forEach((elm) => { - if (elements_list.indexOf(elm) === -1) { - root.removeChild(elm); + this.__stack.push(newCommand); } - }); + this.startValue = newValue; + this.fireChangeStack(); + } } - onMouseUp() { - if (this.draggable || this.resizable) { - this.removeGlobalResizeListeners(); - this.draggable = false; - this.resizable = false; - this.unlockSelect(); - if (this.e) { - this.removeGlobalResizeListeners(); - this.e.fire(this, 'endResize endMove'); - } + redo() { + if (this.__stack.redo()) { + this.startValue = this.snapshot.make(); + this.fireChangeStack(); } } - onHeaderMouseDown(e) { - const target = e.target; - if (!this.o.draggable || - (target && target.nodeName.match(/^(INPUT|SELECT)$/))) { - return; + canRedo() { + return this.__stack.canRedo(); + } + undo() { + if (this.__stack.undo()) { + this.startValue = this.snapshot.make(); + this.fireChangeStack(); } - this.draggable = true; - this.startX = e.clientX; - this.startY = e.clientY; - this.startPoint.x = (0,helpers.css)(this.dialog, 'left'); - this.startPoint.y = (0,helpers.css)(this.dialog, 'top'); - this.setMaxZIndex(); - if (e.cancelable) { - e.preventDefault(); + } + canUndo() { + return this.__stack.canUndo(); + } + clear() { + this.startValue = this.snapshot.make(); + this.__stack.clear(); + this.fireChangeStack(); + } + get length() { + return this.__stack.length; + } + fireChangeStack() { + var _a; + this.j && !this.j.isInDestruct && ((_a = this.j.events) === null || _a === void 0 ? void 0 : _a.fire('changeStack')); + } + destruct() { + if (this.isInDestruct) { + return; } - this.lockSelect(); - this.addGlobalResizeListeners(); - if (this.e) { - this.e.fire(this, 'startMove'); + if (this.j.events) { + this.j.e.off('.history'); } + this.snapshot.destruct(); + super.destruct(); + } +} +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.debounce)() +], History.prototype, "onChange", null); + +// EXTERNAL MODULE: ./src/core/helpers/string/camel-case.ts +var camel_case = __webpack_require__(26596); +// EXTERNAL MODULE: ./src/core/helpers/normalize/normalize-node.ts +var normalize_node = __webpack_require__(74504); +// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts +var utils = __webpack_require__(76502); +// EXTERNAL MODULE: ./src/core/helpers/utils/css.ts +var css = __webpack_require__(26911); +// EXTERNAL MODULE: ./src/core/helpers/utils/data-bind.ts +var data_bind = __webpack_require__(63122); +// EXTERNAL MODULE: ./src/core/helpers/string/kebab-case.ts +var kebab_case = __webpack_require__(11278); +// EXTERNAL MODULE: ./src/core/helpers/normalize/normalize-css-value.ts +var normalize_css_value = __webpack_require__(49353); +// EXTERNAL MODULE: ./src/core/helpers/size/object-size.ts +var object_size = __webpack_require__(16492); +// EXTERNAL MODULE: ./src/core/dom/dom.ts +var dom_dom = __webpack_require__(24263); +// EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 7 modules +var checker = __webpack_require__(78411); +;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle-attributes.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + + + + + + +const tak = 'toggleAttributes'; +function toggleAttributes(commitStyle, elm, jodit, mode, dry = false) { + if (!dry && commitStyle.isApplied(elm, tak)) { + return mode; } - onMouseMove(e) { - if (this.draggable && this.o.draggable) { - this.setPosition(this.startPoint.x + e.clientX - this.startX, this.startPoint.y + e.clientY - this.startY); - if (this.e) { - this.e.fire(this, 'move', e.clientX - this.startX, e.clientY - this.startY); + !dry && commitStyle.setApplied(elm, tak); + const { attributes } = commitStyle.options; + if (attributes && (0,object_size/* size */.d)(attributes) > 0) { + Object.keys(attributes).forEach((key) => { + const value = attributes[key]; + switch (key) { + case 'style': { + mode = toggleStyle(commitStyle, jodit, value, elm, dry, mode); + break; + } + case 'class': + mode = toggleClass(jodit, value, elm, mode, dry); + break; + default: + mode = toggleAttribute(jodit, value, elm, key, dry, mode); } - e.stopImmediatePropagation(); + }); + } + return mode; +} +function toggleStyle(commitStyle, jodit, style, elm, dry, mode) { + void 0; + Object.keys(style).forEach((rule) => { + const inlineValue = elm.style.getPropertyValue((0,kebab_case/* kebabCase */.G)(rule)); + const newValue = style[rule]; + if (inlineValue === '' && newValue == null) { + return; } - if (this.resizable && this.o.resizable) { - this.setSize(this.startPoint.w + e.clientX - this.startX, this.startPoint.h + e.clientY - this.startY); - if (this.e) { - this.e.fire(this, 'resizeDialog', e.clientX - this.startX, e.clientY - this.startY); + if (getNativeCSSValue(jodit, elm, rule) === + (0,normalize_css_value/* normalizeCssValue */.Zh)(rule, newValue)) { + if (!inlineValue) { + return; } + !dry && (0,css/* css */.i)(elm, rule, null); + mode = UNSET; + mode = removeExtraStyleAttribute(commitStyle, elm, mode); + return; } - } - onEsc(e) { - if (this.isOpened && - e.key === constants.KEY_ESC && - this.getMod('static') !== true) { - const me = this.getMaxZIndexDialog(); - if (me) { - me.close(); - } - else { - this.close(); + mode = CHANGE; + if (!dry) { + (0,css/* css */.i)(elm, rule, newValue); + mode = removeExtraStyleAttribute(commitStyle, elm, mode); + } + }); + return mode; +} +function toggleClass(jodit, value, elm, mode, dry) { + void 0; + const hook = jodit.e.fire.bind(jodit.e, `${_PREFIX}AfterToggleAttribute`); + if (elm.classList.contains(value.toString())) { + mode = UNSET; + if (!dry) { + elm.classList.remove(value); + if (elm.classList.length === 0) { + (0,utils.attr)(elm, 'class', null); + hook(mode, elm, 'class', null); } - e.stopImmediatePropagation(); } } - onResizerMouseDown(e) { - this.resizable = true; - this.startX = e.clientX; - this.startY = e.clientY; - this.startPoint.w = this.dialog.offsetWidth; - this.startPoint.h = this.dialog.offsetHeight; - this.lockSelect(); - this.addGlobalResizeListeners(); - if (this.e) { - this.e.fire(this, 'startResize'); + else { + mode = CHANGE; + if (!dry) { + elm.classList.add(value); + hook(mode, elm, 'class', value); } } - addGlobalResizeListeners() { - const self = this; - self.e - .on(self.ow, 'pointermove touchmove', self.onMouseMove) - .on(self.ow, 'pointerup touchend', self.onMouseUp); + return mode; +} +function toggleAttribute(jodit, value, elm, key, dry, mode) { + void 0; + const hook = jodit.e.fire.bind(jodit.e, `${_PREFIX}AfterToggleAttribute`); + if ((0,utils.attr)(elm, key) === value) { + !dry && (0,utils.attr)(elm, key, null); + mode = UNSET; + !dry && hook(mode, elm, key, value); + return mode; } - removeGlobalResizeListeners() { - const self = this; - self.e - .off(self.ow, 'mousemove pointermove', self.onMouseMove) - .off(self.ow, 'mouseup pointerup', self.onMouseUp); + mode = CHANGE; + if (!dry) { + (0,utils.attr)(elm, key, value); + hook(mode, elm, key, value); } - setSize(w, h) { - if (w == null) { - w = this.dialog.offsetWidth; - } - if (h == null) { - h = this.dialog.offsetHeight; + return mode; +} +function removeExtraStyleAttribute(commitStyle, elm, mode) { + if (!(0,utils.attr)(elm, 'style')) { + (0,utils.attr)(elm, 'style', null); + if (elm.tagName.toLowerCase() === commitStyle.defaultTag) { + dom_dom/* Dom.unwrap */.i.unwrap(elm); + mode = UNWRAP; } - (0,helpers.css)(this.dialog, { - width: w, - height: h - }); - return this; } - calcAutoSize() { - this.setSize('auto', 'auto'); - this.setSize(); - return this; + return mode; +} +function getShadowRoot(jodit) { + var _a; + if ((0,data_bind/* dataBind */.q)(jodit, 'shadowRoot') !== undefined) { + return (0,data_bind/* dataBind */.q)(jodit, 'shadowRoot'); } - setPosition(x, y) { - const w = this.ow.innerWidth, h = this.ow.innerHeight; - let left = w / 2 - this.dialog.offsetWidth / 2, top = h / 2 - this.dialog.offsetHeight / 2; - if (left < 0) { - left = 0; - } - if (top < 0) { - top = 0; + const container = (0,global/* getContainer */.ZO)(jodit); + const iframe = document.createElement('iframe'); + (0,css/* css */.i)(iframe, { + width: 0, + height: 0, + position: 'absolute', + border: 0 + }); + iframe.src = 'about:blank'; + container.appendChild(iframe); + const doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document; + const shadowRoot = !doc ? jodit.od.body : doc.body; + (0,data_bind/* dataBind */.q)(jodit, 'shadowRoot', shadowRoot); + return shadowRoot; +} +function getNativeCSSValue(jodit, elm, key) { + const newElm = jodit.create.element(elm.tagName.toLowerCase()); + newElm.style.cssText = elm.style.cssText; + const root = getShadowRoot(jodit); + root.appendChild(newElm); + const result = (0,css/* css */.i)(newElm, key); + dom_dom/* Dom.safeRemove */.i.safeRemove(newElm); + return result; +} + +// EXTERNAL MODULE: ./src/core/helpers/utils/utils.ts +var utils_utils = __webpack_require__(67309); +// EXTERNAL MODULE: ./src/core/helpers/string/trim.ts +var trim = __webpack_require__(33941); +// EXTERNAL MODULE: ./src/core/helpers/checker/is-marker.ts +var is_marker = __webpack_require__(37204); +;// CONCATENATED MODULE: ./src/core/selection/style/api/extract.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + +function extractSelectedPart(wrapper, font, jodit) { + const range = jodit.s.createRange(); + const leftEdge = (0,is_marker/* isMarker */._)(font.previousSibling) + ? font.previousSibling + : font; + range.setStartBefore(wrapper); + range.setEndBefore(leftEdge); + extractAndMove(wrapper, range, true); + const rightEdge = (0,is_marker/* isMarker */._)(font.nextSibling) ? font.nextSibling : font; + range.setStartAfter(rightEdge); + range.setEndAfter(wrapper); + extractAndMove(wrapper, range, false); +} +function extractAndMove(wrapper, range, left) { + const fragment = range.extractContents(); + if ((!fragment.textContent || !(0,trim/* trim */.f)(fragment.textContent).length) && + fragment.firstChild) { + dom_dom/* Dom.unwrap */.i.unwrap(fragment.firstChild); + } + if (wrapper.parentNode) { + (0,utils_utils/* call */.RE)(left ? dom_dom/* Dom.before */.i.before : dom_dom/* Dom.after */.i.after, wrapper, fragment); + } +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/list/toggle-ordered-list.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + + +function toggleOrderedList(commitStyle, li, jodit, mode) { + if (!li) { + return mode; + } + const list = li.parentElement; + if (!list) { + return mode; + } + const result = jodit.e.fire(`${_PREFIX}BeforeToggleList`, mode, commitStyle, list); + if (result !== undefined) { + return result; + } + const hook = jodit.e.fire.bind(jodit.e, `${_PREFIX}AfterToggleList`); + if (mode !== UNWRAP) { + const isChangeMode = toggleAttributes(commitStyle, li.parentElement, jodit, INITIAL, true) === CHANGE; + if (mode === REPLACE || + isChangeMode || + list.tagName.toLowerCase() !== commitStyle.element) { + const wrapper = unwrapList(REPLACE, list, li, jodit, commitStyle); + const newList = wrapList(commitStyle, wrapper, jodit); + hook(REPLACE, newList, commitStyle); + return REPLACE; } - if (x !== undefined && y !== undefined) { - this.offsetX = x; - this.offsetY = y; - this.moved = Math.abs(x - left) > 100 || Math.abs(y - top) > 100; + } + const wrapper = unwrapList(UNWRAP, list, li, jodit, commitStyle); + hook(UNWRAP, wrapper, commitStyle); + return UNWRAP; +} +function unwrapList(mode, list, li, jodit, cs) { + const result = jodit.e.fire(`${_PREFIX}BeforeUnwrapList`, mode, list, cs); + if (result) { + void 0; + return result; + } + extractSelectedPart(list, li, jodit); + void 0; + dom_dom/* Dom.unwrap */.i.unwrap(li.parentElement); + return dom_dom/* Dom.replace */.i.replace(li, jodit.o.enter, jodit.createInside); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/list/wrap-list.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +function wrapList(commitStyle, wrapper, jodit) { + const result = jodit.e.fire(`${_PREFIX}BeforeWrapList`, REPLACE, wrapper, commitStyle); + const newWrapper = result !== null && result !== void 0 ? result : dom/* Dom.replace */.i.replace(wrapper, 'li', jodit.createInside); + const prev = newWrapper.previousElementSibling; + const next = newWrapper.nextElementSibling; + let list = dom/* Dom.isTag */.i.isTag(prev, commitStyle.element) ? prev : null; + list !== null && list !== void 0 ? list : (list = dom/* Dom.isTag */.i.isTag(next, commitStyle.element) ? next : null); + if (!dom/* Dom.isTag */.i.isTag(list, ['ul', 'ol']) || + !isSameAttributes(list, commitStyle.options.attributes)) { + list = jodit.createInside.element(commitStyle.element); + toggleAttributes(commitStyle, list, jodit, INITIAL); + dom/* Dom.before */.i.before(newWrapper, list); + } + if (prev === list) { + dom/* Dom.append */.i.append(list, newWrapper); + } + else { + dom/* Dom.prepend */.i.prepend(list, newWrapper); + } + if (dom/* Dom.isTag */.i.isTag(list.nextElementSibling, commitStyle.element) && + elementsEqualAttributes(list, list.nextElementSibling)) { + dom/* Dom.append */.i.append(list, Array.from(list.nextElementSibling.childNodes)); + dom/* Dom.safeRemove */.i.safeRemove(list.nextElementSibling); + } + jodit.e.fire(`${_PREFIX}AfterWrapList`, WRAP, list, commitStyle); + return list; +} + +// EXTERNAL MODULE: ./src/core/helpers/checker/is-void.ts +var is_void = __webpack_require__(24021); +;// CONCATENATED MODULE: ./src/core/selection/style/api/has-same-style.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + +function hasSameStyle(elm, rules) { + return Boolean(!dom_dom/* Dom.isTag */.i.isTag(elm, 'font') && + dom_dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) && + Object.keys(rules).every(property => { + const value = (0,css/* css */.i)(elm, property, true); + if (value === '' && + (rules[property] === '' || rules[property] == null)) { + return true; + } + return (!(0,is_void/* isVoid */.n)(value) && + value !== '' && + !(0,is_void/* isVoid */.n)(rules[property]) && + (0,normalize_css_value/* normalizeCssValue */.Zh)(property, rules[property]) + .toString() + .toLowerCase() === value.toString().toLowerCase()); + })); +} +const elm = document.createElement('div'); +elm.style.color = 'red'; +void 0; +void 0; +void 0; +function hasSameStyleKeys(elm, rules) { + return Boolean(!dom_dom/* Dom.isTag */.i.isTag(elm, 'font') && + dom_dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) && + Object.keys(rules).every(property => { + const value = (0,css/* css */.i)(elm, property, true); + return !(0,is_void/* isVoid */.n)(value); + })); +} +void 0; +void 0; + +// EXTERNAL MODULE: ./src/core/helpers/utils/assert.ts +var assert = __webpack_require__(603); +;// CONCATENATED MODULE: ./src/core/selection/style/api/finite-state-machine.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class FiniteStateMachine { + setState(state) { + void 0; + this.__previewsStates.add(state); + this.__state = state; + } + getState() { + return this.__state; + } + disableSilent() { + this.silent = false; + } + constructor(state, transitions) { + this.transitions = transitions; + this.silent = true; + this.__previewsStates = new Set(); + this.setState(state); + } + dispatch(actionName, value) { + const action = this.transitions[this.getState()][actionName]; + if (action) { + const res = action.call(this, value); + void 0; + void 0; + void 0; + this.setState(res.next); + if (false) {} + return res; } - this.dialog.style.left = (x || left) + 'px'; - this.dialog.style.top = (y || top) + 'px'; - return this; + throw new Error(`invalid action: ${this.getState()}.${actionName.toString()}`); } - setHeader(content) { - this.setElements(this.dialogbox_header, content); - return this; +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/is-normal-node.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +function isNormalNode(elm) { + return Boolean(elm && + !dom_dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm) && + !dom_dom/* Dom.isTemporary */.i.isTemporary(elm) && + !(0,is_marker/* isMarker */._)(elm)); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/is-suit-element.ts + + + +function isSuitElement(commitStyle, elm, strict) { + var _a; + if (!elm) { + return false; } - setContent(content) { - this.setElements(this.dialogbox_content, content); - return this; + const { element, elementIsDefault, options } = commitStyle; + const elmHasSameStyle = Boolean(((_a = options.attributes) === null || _a === void 0 ? void 0 : _a.style) && + hasSameStyle(elm, options.attributes.style)); + const elmIsSame = elm.nodeName.toLowerCase() === element || + (dom_dom/* Dom.isTag */.i.isTag(elm, ['ul', 'ol']) && commitStyle.elementIsList); + if (((!elementIsDefault || !strict) && elmIsSame) || + (elmHasSameStyle && isNormalNode(elm) && !commitStyle.elementIsList)) { + return true; } - setFooter(content) { - this.setElements(this.dialogbox_footer, content); - this.setMod('footer', Boolean(content)); - return this; + return Boolean(!elmIsSame && !strict && elementIsDefault && dom_dom/* Dom.isInlineBlock */.i.isInlineBlock(elm)); +} +function findSuitClosest(commitStyle, element, root) { + return dom_dom/* Dom.closest */.i.closest(element, node => isSuitElement(commitStyle, node, true), root); +} +function isSameStyleChild(commitStyle, elm) { + var _a, _b; + const { element, options } = commitStyle; + if (!elm || !isNormalNode(elm)) { + return false; } - getZIndex() { - return parseInt((0,helpers.css)(this.container, 'zIndex'), 10) || 0; + const elmIsSame = elm.nodeName.toLowerCase() === element; + const elmHasSameStyle = Boolean(((_a = options.attributes) === null || _a === void 0 ? void 0 : _a.style) && + hasSameStyleKeys(elm, (_b = options.attributes) === null || _b === void 0 ? void 0 : _b.style)); + return elmIsSame && elmHasSameStyle; +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-child.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +function getSuitChild(style, font) { + let { firstChild: child } = font; + while (child && !isNormalNode(child)) { + child = child.nextSibling; + if (!child) { + return null; + } } - getMaxZIndexDialog() { - let maxZi = 0, dlg, zIndex, res = this; - (0,helpers.$$)('.jodit-dialog', this.destination).forEach((dialog) => { - dlg = dialog.component; - zIndex = parseInt((0,helpers.css)(dialog, 'zIndex'), 10); - if (dlg.isOpened && !isNaN(zIndex) && zIndex > maxZi) { - res = dlg; - maxZi = zIndex; - } - }); - return res; + if (child && + !dom_dom/* Dom.next */.i.next(child, isNormalNode, font) && + isSuitElement(style, child, false)) { + return child; } - setMaxZIndex() { - let maxZIndex = 20000004, zIndex = 0; - (0,helpers.$$)('.jodit-dialog', this.destination).forEach(dialog => { - zIndex = parseInt((0,helpers.css)(dialog, 'zIndex'), 10); - maxZIndex = Math.max(isNaN(zIndex) ? 0 : zIndex, maxZIndex); - }); - this.container.style.zIndex = (maxZIndex + 1).toString(); + return null; +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-parent.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +function getSuitParent(style, node, root) { + const { parentNode } = node; + if (parentNode === root || + !dom_dom/* Dom.isHTMLElement */.i.isHTMLElement(parentNode) || + dom_dom/* Dom.next */.i.next(node, isNormalNode, parentNode) || + dom_dom/* Dom.prev */.i.prev(node, isNormalNode, parentNode)) { + return null; } - toggleFullSize(isFullSize) { - if ((0,helpers.isVoid)(isFullSize)) { - isFullSize = !this.getMod('fullsize'); - } - this.setMod('fullsize', isFullSize); - super.toggleFullSize(isFullSize); + if (style.isElementCommit && + style.elementIsBlock && + !dom_dom/* Dom.isBlock */.i.isBlock(parentNode)) { + return getSuitParent(style, parentNode, root); } - open(contentOrClose, titleOrModal, destroyAfterClose, modal) { - global/* eventEmitter.fire */.TB.fire('closeAllPopups hideHelpers'); - if (this.e.fire(this, 'beforeOpen') === false) { - return this; - } - if ((0,helpers.isBoolean)(contentOrClose)) { - destroyAfterClose = contentOrClose; - } - if ((0,helpers.isBoolean)(titleOrModal)) { - modal = titleOrModal; - } - this.destroyAfterClose = destroyAfterClose === true; - const content = (0,helpers.isBoolean)(contentOrClose) ? undefined : contentOrClose; - const title = (0,helpers.isBoolean)(titleOrModal) ? undefined : titleOrModal; - if (title !== undefined) { - this.setHeader(title); - } - if (content) { - this.setContent(content); - } - this.setMod('active', true); - this.isOpened = true; - this.setModal(modal); - this.destination.appendChild(this.container); - this.setPosition(this.offsetX, this.offsetY); - this.setMaxZIndex(); - if (this.o.fullsize) { - this.toggleFullSize(true); - } - this.e.fire('afterOpen', this); - return this; + if (isSuitElement(style, parentNode, false) && + (!dom_dom/* Dom.isBlock */.i.isBlock(parentNode) || style.elementIsBlock)) { + return parentNode; } - setModal(modal) { - this.isModal = Boolean(modal); - this.setMod('modal', this.isModal); - return this; + if (style.isElementCommit && !dom_dom/* Dom.isBlock */.i.isBlock(parentNode)) { + return getSuitParent(style, parentNode, root); } - close() { - if (this.isDestructed || - !this.isOpened || - this.getMod('static') === true) { - return this; - } - if (this.e.fire('beforeClose', this) === false) { - return this; - } - this.setMod('active', false); - this.isOpened = false; - if (this.isFullSize) { - this.toggleFullSize(false); - } - dom/* Dom.safeRemove */.i.safeRemove(this.container); - this.removeGlobalResizeListeners(); - if (this.destroyAfterClose) { - this.destruct(); - } - this.e.fire(this, 'afterClose'); - this.e.fire(this.ow, 'joditCloseDialog'); - return this; + return null; +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/is-inside-invisible-element.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + +function isInsideInvisibleElement(font, root) { + return Boolean(dom_dom/* Dom.closest */.i.closest(font, ['style', 'script'], root)); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/is-same-attributes.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + +function isSameAttributes(elm, attrs) { + if (!elm.attributes.length && !(0,object_size/* size */.d)(attrs)) { + return true; } - buildToolbar() { - this.o.buttons && - this.toolbar - .build((0,helpers.splitArray)(this.o.buttons)) - .setMod('mode', 'header') - .appendTo(this.dialogbox_toolbar); + if (!(0,object_size/* size */.d)(attrs)) { + return true; } - destruct() { - if (this.isInDestruct) { - return; + void 0; + return Object.keys(attrs).every(key => { + if (key === 'class') { + return elm.classList.contains(attrs[key]); + } + if (key === 'style') { + return hasSameStyle(elm, attrs[key]); + } + return (0,utils.attr)(elm, key) === attrs[key]; + }); +} +function elementsEqualAttributes(elm1, elm2) { + return (elm1.attributes.length === elm2.attributes.length && + Array.from(elm1.attributes).every(attr => elm2.hasAttribute(attr.name) && + elm2.getAttribute(attr.name) === attr.value)); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/unwrap-children.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + +function unwrapChildren(style, font) { + var _a; + const needUnwrap = []; + const needChangeStyle = []; + let firstElementSuit; + const cssStyle = (_a = style.options.attributes) === null || _a === void 0 ? void 0 : _a.style; + if (font.firstChild) { + const gen = dom_dom/* Dom.eachGen */.i.eachGen(font); + let item = gen.next(); + while (!item.done) { + const elm = item.value; + if (isSuitElement(style, elm, true) && + (!cssStyle || hasSameStyleKeys(elm, cssStyle))) { + if (firstElementSuit === undefined) { + firstElementSuit = true; + } + needUnwrap.push(elm); + } + else if (cssStyle && isSameStyleChild(style, elm)) { + if (firstElementSuit === undefined) { + firstElementSuit = false; + } + needChangeStyle.push(() => { + (0,helpers.css)(elm, Object.keys(cssStyle).reduce((acc, key) => { + acc[key] = null; + return acc; + }, {})); + if (!(0,helpers.attr)(elm, 'style')) { + (0,helpers.attr)(elm, 'style', null); + } + if (!(0,helpers.attr)(elm, 'style') && + elm.nodeName.toLowerCase() === style.element) { + needUnwrap.push(elm); + } + }); + } + else if (!dom_dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm)) { + if (firstElementSuit === undefined) { + firstElementSuit = false; + } + } + item = gen.next(); } - this.setStatus(component/* STATUSES.beforeDestruct */.n$.beforeDestruct); - if (this.isOpened) { - this.close(); + } + needChangeStyle.forEach(clb => clb()); + needUnwrap.forEach(dom_dom/* Dom.unwrap */.i.unwrap); + return Boolean(firstElementSuit); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-unwrapped-text.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +function wrapUnwrappedText(style, elm, jodit) { + const root = jodit.editor, ci = jodit.createInside, edge = (n, key = 'previousSibling') => { + let edgeNode = n, node = n; + while (node && !(0,is_marker/* isMarker */._)(node)) { + if (dom_dom/* Dom.isTag */.i.isTag(node, jodit.o.enter)) { + break; + } + edgeNode = node; + if (node[key]) { + node = node[key]; + } + else { + node = + node.parentNode && + !dom_dom/* Dom.isBlock */.i.isBlock(node.parentNode) && + node.parentNode !== root + ? node.parentNode + : null; + } + if (dom_dom/* Dom.isBlock */.i.isBlock(node)) { + break; + } } - if (this.events) { - this.removeGlobalResizeListeners(); - this.events - .off(this.container, 'close_dialog', self.close) - .off(this.ow, 'keydown', this.onEsc) - .off(this.ow, 'resize', this.onResize); + return edgeNode; + }; + const start = edge(elm), end = edge(elm, 'nextSibling'); + const range = jodit.s.createRange(); + range.setStartBefore(start); + range.setEndAfter(end); + const fragment = range.extractContents(); + const wrapper = ci.element(style.element); + wrapper.appendChild(fragment); + dom_dom/* Dom.safeInsertNode */.i.safeInsertNode(range, wrapper); + if (style.elementIsBlock) { + if (dom_dom/* Dom.isEmpty */.i.isEmpty(wrapper) && + !dom_dom/* Dom.isTag */.i.isTag(wrapper.firstElementChild, 'br')) { + wrapper.appendChild(ci.element('br')); } - super.destruct(); } -}; -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "onMouseUp", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "onHeaderMouseDown", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "onMouseMove", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "onEsc", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "onResizerMouseDown", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "close", null); -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.hook)('ready') -], Dialog.prototype, "buildToolbar", null); -Dialog = (0,tslib_es6/* __decorate */.gn)([ - decorators.component -], Dialog); - + return wrapper; +} -;// CONCATENATED MODULE: ./src/modules/dialog/alert.ts +;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -15576,27 +15321,35 @@ Dialog = (0,tslib_es6/* __decorate */.gn)([ -function Alert(msg, title, callback, className = 'jodit-dialog_alert') { - if ((0,helpers.isFunction)(title)) { - callback = title; - title = undefined; - } - const dialog = this instanceof Dialog ? this : new Dialog(), container = dialog.c.div(className), okButton = (0,ui/* Button */.zx)(dialog, 'ok', 'Ok'); - (0,helpers.asArray)(msg).forEach(oneMessage => { - container.appendChild(dom/* Dom.isNode */.i.isNode(oneMessage) ? oneMessage : dialog.c.fromHTML(oneMessage)); - }); - okButton.onAction(() => { - if (!callback || !(0,helpers.isFunction)(callback) || callback(dialog) !== false) { - dialog.close(); +function wrap(commitStyle, font, jodit) { + const wrapper = findOrCreateWrapper(commitStyle, font, jodit); + return commitStyle.elementIsList + ? wrapList(commitStyle, wrapper, jodit) + : dom/* Dom.replace */.i.replace(wrapper, commitStyle.element, jodit.createInside, true); +} +function findOrCreateWrapper(commitStyle, font, jodit) { + if (commitStyle.elementIsBlock) { + const box = dom/* Dom.up */.i.up(font, node => dom/* Dom.isBlock */.i.isBlock(node) && + !dom/* Dom.isTag */.i.isTag(node, [ + 'td', + 'th', + 'tr', + 'tbody', + 'table', + 'li', + 'ul', + 'ol' + ]), jodit.editor); + if (box) { + return box; } - }); - dialog.setFooter([okButton]); - dialog.open(container, title || ' ', true, true); - okButton.focus(); - return dialog; + return wrapUnwrappedText(commitStyle, font, jodit); + } + (0,utils_utils/* attr */.Lj)(font, 'size', null); + return font; } -;// CONCATENATED MODULE: ./src/modules/dialog/prompt.ts +;// CONCATENATED MODULE: ./src/core/selection/style/api/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -15605,51 +15358,225 @@ function Alert(msg, title, callback, className = 'jodit-dialog_alert') { -function Prompt(msg, title, callback, placeholder, defaultValue) { - const dialog = this instanceof Dialog ? this : new Dialog(), cancelButton = (0,ui/* Button */.zx)(dialog, 'cancel', 'Cancel'), okButton = (0,ui/* Button */.zx)(dialog, 'ok', 'Ok'), form = dialog.c.element('form', { - class: 'jodit-dialog_prompt' - }), inputElement = dialog.c.element('input', { - autofocus: true, - class: 'jodit-input' - }), labelElement = dialog.c.element('label'); - if ((0,helpers.isFunction)(title)) { - callback = title; - title = undefined; - } - if (placeholder) { - (0,helpers.attr)(inputElement, 'placeholder', placeholder); - } - labelElement.appendChild(dialog.c.text(msg)); - form.appendChild(labelElement); - form.appendChild(inputElement); - cancelButton.onAction(dialog.close); - const onclick = () => { - if (!callback || - !(0,helpers.isFunction)(callback) || - callback(inputElement.value) !== false) { - dialog.close(); + + + + + + + + + + + + + +;// CONCATENATED MODULE: ./src/core/selection/style/transactions.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + +const states = { + START: 'START', + ELEMENT: 'ELEMENT', + UNWRAP: 'UNWRAP', + UNWRAP_CHILDREN: 'UNWRAP_CHILDREN', + CHANGE: 'CHANGE', + REPLACE_DEFAULT: 'REPLACE_DEFAULT', + LIST: 'LIST', + TOGGLE_LIST: 'TOGGLE_LIST', + WRAP: 'WRAP', + EXTRACT: 'EXTRACT', + END: 'END' +}; +const transactions = { + [states.START]: { + exec(value) { + const { element, jodit, style, mode } = value; + if (isInsideInvisibleElement(element, jodit.editor) || + dom/* Dom.isEmptyContent */.i.isEmptyContent(element)) { + return { ...value, next: states.END }; + } + const elm = getSuitParent(style, element, jodit.editor) || + getSuitChild(style, element); + if (elm) { + return { ...value, next: states.ELEMENT, element: elm }; + } + const suit = findSuitClosest(style, element, jodit.editor); + if (style.elementIsList && dom/* Dom.isTag */.i.isTag(suit, ['ul', 'ol'])) { + return { ...value, next: states.LIST }; + } + if (suit) { + return { + ...value, + next: states.EXTRACT + }; + } + return { + ...value, + next: mode !== UNWRAP ? states.UNWRAP_CHILDREN : states.END + }; + } + }, + [states.LIST]: { + exec(value) { + const { element, jodit, mode } = value; + if (mode !== INITIAL && mode !== UNWRAP && mode !== REPLACE) { + return { ...value, next: states.END }; + } + const li = dom/* Dom.closest */.i.closest(element, 'li', jodit.editor); + if (!li) { + return { ...value, next: states.END }; + } + const list = dom/* Dom.closest */.i.closest(element, ['ul', 'ol'], jodit.editor); + if (list) { + return { ...value, element: li, next: states.TOGGLE_LIST }; + } + return { + ...value, + next: states.END + }; + } + }, + [states.TOGGLE_LIST]: { + exec(value) { + return { + ...value, + mode: toggleOrderedList(value.style, value.element, value.jodit, value.mode), + next: states.END + }; + } + }, + [states.EXTRACT]: { + exec(value) { + const { element, jodit, style } = value; + const suit = findSuitClosest(style, element, jodit.editor); + void 0; + if (!style.elementIsBlock) { + extractSelectedPart(suit, element, jodit); + } + return { + ...value, + element: suit, + next: states.ELEMENT + }; + } + }, + [states.UNWRAP_CHILDREN]: { + exec(value) { + const { element, style } = value; + if (!unwrapChildren(style, element)) { + return { + ...value, + next: states.WRAP + }; + } + return { + ...value, + mode: UNWRAP, + next: states.END + }; + } + }, + [states.WRAP]: { + exec(value) { + const { element, jodit, style } = value; + const wrapper = wrap(style, element, jodit); + return { + ...value, + next: style.elementIsList ? states.END : states.CHANGE, + mode: WRAP, + element: wrapper + }; + } + }, + [states.ELEMENT]: { + exec(value) { + const { style, element, jodit } = value; + if (toggleAttributes(style, element, jodit, INITIAL, true) !== + INITIAL) { + return { ...value, next: states.CHANGE }; + } + return { ...value, next: states.UNWRAP }; + } + }, + [states.CHANGE]: { + exec(value) { + const { style, element, jodit, mode } = value; + const newMode = toggleAttributes(style, element, jodit, value.mode); + if (mode !== WRAP && + newMode === UNSET && + !element.attributes.length && + dom/* Dom.isTag */.i.isTag(element, style.element)) { + return { ...value, next: states.UNWRAP }; + } + return { ...value, mode: newMode, next: states.END }; + } + }, + [states.UNWRAP]: { + exec(value) { + if (value.element.attributes.length && + dom/* Dom.isTag */.i.isTag(value.element, value.style.element)) { + return { ...value, next: states.REPLACE_DEFAULT }; + } + dom/* Dom.unwrap */.i.unwrap(value.element); + return { ...value, mode: UNWRAP, next: states.END }; + } + }, + [states.REPLACE_DEFAULT]: { + exec(value) { + dom/* Dom.replace */.i.replace(value.element, value.style.defaultTag, value.jodit.createInside, true); + return { ...value, mode: REPLACE, next: states.END }; + } + }, + [states.END]: { + exec(value) { + return value; } - }; - okButton.onAction(onclick); - dialog.e.on(form, 'submit', () => { - onclick(); - return false; - }); - dialog.setFooter([okButton, cancelButton]); - dialog.open(form, title || ' ', true, true); - inputElement.focus(); - if (defaultValue !== undefined && defaultValue.length) { - inputElement.value = defaultValue; - inputElement.select(); } - return dialog; -} +}; -// EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts -var is_function = __webpack_require__(87385); -// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts -var button_button = __webpack_require__(6816); -;// CONCATENATED MODULE: ./src/modules/dialog/confirm.ts +;// CONCATENATED MODULE: ./src/core/selection/style/apply-style.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + +function ApplyStyle(jodit, cs) { + const { s: sel, editor } = jodit; + sel.save(); + (0,normalize_node/* normalizeNode */.T)(editor.firstChild); + const gen = jodit.s.wrapInTagGen(); + let font = gen.next(); + let state = { + mode: INITIAL, + element: font.value, + next: states.START, + jodit, + style: cs + }; + while (font && !font.done) { + const machine = new FiniteStateMachine(states.START, transactions); + state.element = font.value; + while (machine.getState() !== states.END) { + state = machine.dispatch('exec', state); + } + font = gen.next(); + } + sel.restore(); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/commit-style.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -15658,34 +15585,98 @@ var button_button = __webpack_require__(6816); -function Confirm(msg, title, callback) { - const dialog = this instanceof Dialog ? this : new Dialog(), $div = dialog.c.fromHTML('
'), $label = dialog.c.element('label'); - if ((0,is_function/* isFunction */.m)(title)) { - callback = title; - title = undefined; +const WRAP = 'wrap'; +const UNWRAP = 'unwrap'; +const CHANGE = 'change'; +const UNSET = 'unset'; +const INITIAL = 'initial'; +const REPLACE = 'replace'; +const _PREFIX = 'commitStyle'; +class CommitStyle { + isApplied(elm, key) { + const data = this.__applyMap.get(elm); + if (!data) { + return false; + } + return data[key]; } - $label.appendChild(dialog.c.fromHTML(msg)); - $div.appendChild($label); - const action = (yes) => () => { - if (!callback || callback(yes) !== false) { - dialog.close(); + setApplied(elm, key) { + var _a; + const data = (_a = this.__applyMap.get(elm)) !== null && _a !== void 0 ? _a : {}; + data[key] = true; + this.__applyMap.set(elm, data); + } + get elementIsList() { + return Boolean(this.options.element && ['ul', 'ol'].includes(this.options.element)); + } + get element() { + return this.options.element || this.defaultTag; + } + get elementIsBlock() { + return Boolean(this.options.element && constants.IS_BLOCK.test(this.options.element)); + } + get isElementCommit() { + return Boolean(this.options.element && + this.options.element !== this.options.defaultTag); + } + get defaultTag() { + if (this.options.defaultTag) { + return this.options.defaultTag; } - }; - const $cancel = (0,button_button/* Button */.zx)(dialog, 'cancel', 'Cancel'); - const $ok = (0,button_button/* Button */.zx)(dialog, 'ok', 'Yes'); - $cancel.onAction(action(false)); - $ok.onAction(action(true)); - dialog.e.on($div, 'submit', () => { - action(true)(); - return false; - }); - dialog.setFooter([$ok, $cancel]); - dialog.open($div, title || ' ', true, true); - $ok.focus(); - return dialog; + return this.elementIsBlock ? 'p' : 'span'; + } + get elementIsDefault() { + return this.element === this.defaultTag; + } + constructor(options) { + this.options = options; + this.__applyMap = new WeakMap(); + options.attributes = deprecatedUsing(this, options.attributes); + } + apply(jodit) { + const { hooks } = this.options; + try { + hooks && + Object.keys(hooks).forEach(key => { + jodit.e.on((0,camel_case/* camelCase */.e)(_PREFIX + '_' + key), hooks[key]); + }); + ApplyStyle(jodit, this); + } + finally { + hooks && + Object.keys(hooks).forEach(key => { + jodit.e.off((0,camel_case/* camelCase */.e)(_PREFIX + '_' + key), hooks[key]); + }); + this.__applyMap = new WeakMap(); + } + } +} +function deprecatedUsing(commitStyle, attributes) { + const { style, className } = commitStyle.options; + if (style) { + if (attributes) { + attributes.style = style; + } + else { + attributes = { style }; + } + delete commitStyle.options.style; + } + if (className) { + if (attributes) { + attributes['class'] = className; + } + else { + attributes = { class: className }; + } + delete commitStyle.options.className; + } + return attributes; } -;// CONCATENATED MODULE: ./src/modules/dialog/index.ts +// EXTERNAL MODULE: ./src/core/selection/helpers/index.ts + 2 modules +var selection_helpers = __webpack_require__(80805); +;// CONCATENATED MODULE: ./src/core/selection/select.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -15696,523 +15687,917 @@ function Confirm(msg, title, callback) { -// EXTERNAL MODULE: ./src/core/plugin/index.ts -var core_plugin = __webpack_require__(76454); -;// CONCATENATED MODULE: ./src/core/create/create.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -class Create { - constructor(document, createAttributes) { - this.document = document; - this.createAttributes = createAttributes; + + +class Select { + constructor(jodit) { + this.jodit = jodit; + jodit.e.on('removeMarkers', () => { + this.removeMarkers(); + }); + } + get j() { + return this.jodit; + } + errorNode(node) { + if (!dom/* Dom.isNode */.i.isNode(node)) { + throw (0,helpers.error)('Parameter node must be instance of Node'); + } + } + get area() { + return this.j.editor; + } + get win() { + return this.j.ew; } get doc() { - return (0,helpers.isFunction)(this.document) ? this.document() : this.document; + return this.j.ed; } - element(tagName, childrenOrAttributes, children) { - const elm = this.doc.createElement(tagName.toLowerCase()); - this.applyCreateAttributes(elm); - if (childrenOrAttributes) { - if ((0,helpers.isPlainObject)(childrenOrAttributes)) { - (0,helpers.attr)(elm, childrenOrAttributes); + get sel() { + if (this.j.o.shadowRoot && + (0,checker/* isFunction */.mf)(this.j.o.shadowRoot.getSelection)) { + return this.j.o.shadowRoot.getSelection(); + } + return this.win.getSelection(); + } + get range() { + const sel = this.sel; + return sel && sel.rangeCount ? sel.getRangeAt(0) : this.createRange(); + } + get isInsideArea() { + const { sel } = this; + const range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel.getRangeAt(0) : null; + return !(!range || !dom/* Dom.isOrContains */.i.isOrContains(this.area, range.startContainer)); + } + createRange(select = false) { + const range = this.doc.createRange(); + if (select) { + this.selectRange(range); + } + return range; + } + remove() { + const sel = this.sel, current = this.current(); + if (sel && current) { + for (let i = 0; i < sel.rangeCount; i += 1) { + sel.getRangeAt(i).deleteContents(); + sel.getRangeAt(i).collapse(true); + } + } + } + clear() { + var _a, _b; + if ((_a = this.sel) === null || _a === void 0 ? void 0 : _a.rangeCount) { + (_b = this.sel) === null || _b === void 0 ? void 0 : _b.removeAllRanges(); + } + } + removeNode(node) { + if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, node, true)) { + throw (0,helpers.error)("Selection.removeNode can remove only editor's children"); + } + dom/* Dom.safeRemove */.i.safeRemove(node); + this.j.e.fire('afterRemoveNode', node); + } + insertCursorAtPoint(x, y) { + this.removeMarkers(); + try { + const rng = this.createRange(); + (() => { + if (this.doc.caretPositionFromPoint) { + const caret = this.doc.caretPositionFromPoint(x, y); + if (caret) { + rng.setStart(caret.offsetNode, caret.offset); + return; + } + } + if (this.doc.caretRangeFromPoint) { + const caret = this.doc.caretRangeFromPoint(x, y); + rng.setStart(caret.startContainer, caret.startOffset); + } + })(); + rng.collapse(true); + this.selectRange(rng); + return true; + } + catch (_a) { } + return false; + } + get hasMarkers() { + return Boolean(this.markers.length); + } + get markers() { + return (0,helpers.$$)('span[data-' + constants.MARKER_CLASS + ']', this.area); + } + removeMarkers() { + dom/* Dom.safeRemove.apply */.i.safeRemove.apply(null, this.markers); + } + marker(atStart = false, range) { + let newRange = null; + if (range) { + newRange = range.cloneRange(); + newRange.collapse(atStart); + } + const marker = this.j.createInside.span(); + marker.id = + constants.MARKER_CLASS + + '_' + + Number(new Date()) + + '_' + + String(Math.random()).slice(2); + marker.style.lineHeight = '0'; + marker.style.display = 'none'; + dom/* Dom.markTemporary */.i.markTemporary(marker); + (0,helpers.attr)(marker, 'data-' + constants.MARKER_CLASS, atStart ? 'start' : 'end'); + marker.appendChild(this.j.createInside.text(constants.INVISIBLE_SPACE)); + if (newRange) { + if (dom/* Dom.isOrContains */.i.isOrContains(this.area, atStart ? newRange.startContainer : newRange.endContainer)) { + newRange.insertNode(marker); + } + } + return marker; + } + restore() { + let range = false; + const markAttr = (start) => `span[data-${constants.MARKER_CLASS}=${start ? 'start' : 'end'}]`; + const start = this.area.querySelector(markAttr(true)), end = this.area.querySelector(markAttr(false)); + if (!start) { + return; + } + range = this.createRange(); + if (!end) { + const previousNode = start.previousSibling; + if (dom/* Dom.isText */.i.isText(previousNode)) { + range.setStart(previousNode, previousNode.nodeValue ? previousNode.nodeValue.length : 0); + } + else { + range.setStartBefore(start); + } + dom/* Dom.safeRemove */.i.safeRemove(start); + range.collapse(true); + } + else { + range.setStartAfter(start); + dom/* Dom.safeRemove */.i.safeRemove(start); + range.setEndBefore(end); + dom/* Dom.safeRemove */.i.safeRemove(end); + } + if (range) { + this.selectRange(range); + } + } + save(silent = false) { + if (this.hasMarkers) { + return []; + } + const sel = this.sel; + if (!sel || !sel.rangeCount) { + return []; + } + const info = [], length = sel.rangeCount, ranges = []; + for (let i = 0; i < length; i += 1) { + ranges[i] = sel.getRangeAt(i); + if (ranges[i].collapsed) { + const start = this.marker(true, ranges[i]); + info[i] = { + startId: start.id, + collapsed: true, + startMarker: start.outerHTML + }; } else { - children = childrenOrAttributes; + const start = this.marker(true, ranges[i]); + const end = this.marker(false, ranges[i]); + info[i] = { + startId: start.id, + endId: end.id, + collapsed: false, + startMarker: start.outerHTML, + endMarker: end.outerHTML + }; } } - if (children) { - (0,helpers.asArray)(children).forEach((child) => elm.appendChild((0,helpers.isString)(child) ? this.fromHTML(child) : child)); - } - return elm; - } - div(className, childrenOrAttributes, children) { - const div = this.element('div', childrenOrAttributes, children); - if (className) { - div.className = className; - } - return div; - } - sandbox() { - var _a; - const iframe = this.element('iframe', { sandbox: 'allow-same-origin' }); - this.doc.body.appendChild(iframe); - const doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document; - if (!doc) { - throw Error('Iframe error'); + if (!silent) { + sel.removeAllRanges(); + for (let i = length - 1; i >= 0; --i) { + const startElm = this.doc.getElementById(info[i].startId); + if (startElm) { + if (info[i].collapsed) { + ranges[i].setStartAfter(startElm); + ranges[i].collapse(true); + } + else { + ranges[i].setStartBefore(startElm); + if (info[i].endId) { + const endElm = this.doc.getElementById(info[i].endId); + if (endElm) { + ranges[i].setEndAfter(endElm); + } + } + } + } + try { + sel.addRange(ranges[i].cloneRange()); + } + catch (_a) { } + } } - doc.open(); - doc.write(''); - doc.close(); - return doc.body; + return info; } - span(className, childrenOrAttributes, children) { - const span = this.element('span', childrenOrAttributes, children); - if (className) { - span.className = className; + focus(options = { + preventScroll: true + }) { + var _a, _b; + if (!this.isFocused()) { + const scrollParent = (0,helpers.getScrollParent)(this.j.container), scrollTop = scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.scrollTop; + if (this.j.iframe) { + if (this.doc.readyState === 'complete') { + this.j.iframe.focus(options); + } + } + this.win.focus(); + this.area.focus(options); + if (scrollTop && (scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.scrollTo)) { + scrollParent.scrollTo(0, scrollTop); + } + const sel = this.sel, range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel === null || sel === void 0 ? void 0 : sel.getRangeAt(0) : null; + if (!range || !dom/* Dom.isOrContains */.i.isOrContains(this.area, range.startContainer)) { + const range = this.createRange(); + range.setStart(this.area, 0); + range.collapse(true); + this.selectRange(range, false); + } + if (!this.j.editorIsActive) { + (_b = (_a = this.j) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.fire('focus'); + } + return true; } - return span; + return false; } - a(className, childrenOrAttributes, children) { - const a = this.element('a', childrenOrAttributes, children); - if (className) { - a.className = className; + isCollapsed() { + const sel = this.sel; + for (let r = 0; sel && r < sel.rangeCount; r += 1) { + if (!sel.getRangeAt(r).collapsed) { + return false; + } } - return a; - } - text(value) { - return this.doc.createTextNode(value); - } - fake() { - return this.text(constants.INVISIBLE_SPACE); + return true; } - fragment() { - return this.doc.createDocumentFragment(); + isFocused() { + return (this.doc.hasFocus && + this.doc.hasFocus() && + this.area === this.doc.activeElement); } - fromHTML(html, refsToggleElement) { - const div = this.div(); - div.innerHTML = html.toString(); - const child = div.firstChild !== div.lastChild || !div.firstChild - ? div - : div.firstChild; - dom/* Dom.safeRemove */.i.safeRemove(child); - if (refsToggleElement) { - const refElements = (0,helpers.refs)(child); - Object.keys(refsToggleElement).forEach(key => { - const elm = refElements[key]; - if (elm && refsToggleElement[key] === false) { - dom/* Dom.hide */.i.hide(elm); + current(checkChild = true) { + if (this.j.getRealMode() === constants.MODE_WYSIWYG) { + const sel = this.sel; + if (!sel || sel.rangeCount === 0) { + return null; + } + const range = sel.getRangeAt(0); + let node = range.startContainer, rightMode = false; + const child = (nd) => rightMode ? nd.lastChild : nd.firstChild; + if (dom/* Dom.isTag */.i.isTag(node, 'br') && sel.isCollapsed) { + return node; + } + if (!dom/* Dom.isText */.i.isText(node)) { + node = range.startContainer.childNodes[range.startOffset]; + if (!node) { + node = + range.startContainer.childNodes[range.startOffset - 1]; + rightMode = true; } - }); - } - return child; - } - applyCreateAttributes(elm) { - if (this.createAttributes) { - const ca = this.createAttributes; - if (ca && ca[elm.tagName.toLowerCase()]) { - const attrsOpt = ca[elm.tagName.toLowerCase()]; - if ((0,helpers.isFunction)(attrsOpt)) { - attrsOpt(elm); + if (node && sel.isCollapsed && !dom/* Dom.isText */.i.isText(node)) { + if (!rightMode && dom/* Dom.isText */.i.isText(node.previousSibling)) { + node = node.previousSibling; + } + else if (checkChild) { + let current = child(node); + while (current) { + if (current && dom/* Dom.isText */.i.isText(current)) { + node = current; + break; + } + current = child(current); + } + } } - else if ((0,helpers.isPlainObject)(attrsOpt)) { - (0,helpers.attr)(elm, attrsOpt); + if (node && !sel.isCollapsed && !dom/* Dom.isText */.i.isText(node)) { + let leftChild = node, rightChild = node; + do { + leftChild = leftChild.firstChild; + rightChild = rightChild.lastChild; + } while (leftChild && rightChild && !dom/* Dom.isText */.i.isText(leftChild)); + if (leftChild === rightChild && + leftChild && + dom/* Dom.isText */.i.isText(leftChild)) { + node = leftChild; + } } } + if (node && dom/* Dom.isOrContains */.i.isOrContains(this.area, node)) { + return node; + } } + return null; } -} - -;// CONCATENATED MODULE: ./src/core/create/index.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -// EXTERNAL MODULE: ./src/modules/file-browser/index.ts + 16 modules -var file_browser = __webpack_require__(75121); -// EXTERNAL MODULE: ./src/modules/image-editor/image-editor.ts + 2 modules -var image_editor = __webpack_require__(37113); -;// CONCATENATED MODULE: ./src/modules/history/snapshot.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - -class Snapshot extends component/* ViewComponent */.Hr { - constructor() { - super(...arguments); - this.__isBlocked = false; - } - className() { - return 'Snapshot'; - } - static equal(first, second) { - return (first.html === second.html && - JSON.stringify(first.range) === JSON.stringify(second.range)); - } - static countNodesBeforeInParent(elm) { - if (!elm.parentNode) { - return 0; + insertNode(node, insertCursorAfter = true, fireChange = true) { + this.errorNode(node); + this.j.e.fire('safeHTML', node); + if (!this.isFocused() && this.j.isEditorMode()) { + this.focus(); + this.restore(); } - const elms = elm.parentNode.childNodes; - let count = 0, previous = null; - for (let j = 0; j < elms.length; j += 1) { - if (previous && - !this.isIgnoredNode(elms[j]) && - !(dom/* Dom.isText */.i.isText(previous) && dom/* Dom.isText */.i.isText(elms[j]))) { - count += 1; + const sel = this.sel; + this.j.history.snapshot.transaction(() => { + var _a; + if (!this.isCollapsed()) { + this.j.execCommand('Delete'); } - if (elms[j] === elm) { - return count; + this.j.e.fire('beforeInsertNode', node); + if (sel && sel.rangeCount) { + const range = sel.getRangeAt(0); + if (dom/* Dom.isOrContains */.i.isOrContains(this.area, range.commonAncestorContainer)) { + if (dom/* Dom.isTag */.i.isTag(range.startContainer, constants.INSEPARABLE_TAGS) && + range.collapsed) { + (_a = range.startContainer.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(node, range.startContainer); + } + else { + dom/* Dom.safeInsertNode */.i.safeInsertNode(range, node); + } + } + else { + this.area.appendChild(node); + } } - previous = elms[j]; - } - return 0; - } - static strokeOffset(elm, offset) { - while (dom/* Dom.isText */.i.isText(elm)) { - elm = elm.previousSibling; - if (dom/* Dom.isText */.i.isText(elm) && elm.nodeValue) { - offset += elm.nodeValue.length; + else { + this.area.appendChild(node); + } + if (insertCursorAfter) { + if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { + node.lastChild && this.setCursorAfter(node.lastChild); + } + else { + this.setCursorAfter(node); + } } + }); + if (fireChange && this.j.events) { + this.j.__imdSynchronizeValues(); + } + if (this.j.events) { + this.j.e.fire('afterInsertNode', node); } - return offset; } - calcHierarchyLadder(elm) { - const counts = []; - if (!elm || !elm.parentNode || !dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, elm)) { - return []; + insertHTML(html, insertCursorAfter = true) { + if (html === '') { + return; } - while (elm && elm !== this.j.editor) { - if (elm && !Snapshot.isIgnoredNode(elm)) { - counts.push(Snapshot.countNodesBeforeInParent(elm)); + const node = this.j.createInside.div(), fragment = this.j.createInside.fragment(); + let lastChild; + if (!this.isFocused() && this.j.isEditorMode()) { + this.focus(); + this.restore(); + } + if (!dom/* Dom.isNode */.i.isNode(html)) { + node.innerHTML = html.toString(); + } + else { + node.appendChild(html); + } + if (!this.j.isEditorMode() && + this.j.e.fire('insertHTML', node.innerHTML) === false) { + return; + } + lastChild = node.lastChild; + if (!lastChild) { + return; + } + while (node.firstChild) { + lastChild = node.firstChild; + fragment.appendChild(node.firstChild); + } + this.insertNode(fragment.firstChild && fragment.firstChild === fragment.lastChild + ? fragment.lastChild + : fragment, false, false); + if (insertCursorAfter) { + if (lastChild) { + this.setCursorAfter(lastChild); + } + else { + this.setCursorIn(fragment); } - elm = elm.parentNode; } - return counts.reverse(); + this.j.__imdSynchronizeValues(); } - getElementByLadder(ladder) { - let n = this.j.editor, i; - for (i = 0; n && i < ladder.length; i += 1) { - n = n.childNodes[ladder[i]]; + insertImage(url, styles = null, defaultWidth = null) { + const image = (0,checker/* isString */.HD)(url) ? this.j.createInside.element('img') : url; + if ((0,checker/* isString */.HD)(url)) { + image.setAttribute('src', url); } - return n; - } - get isBlocked() { - return this.__isBlocked; - } - __block(enable) { - this.__isBlocked = enable; - } - transaction(changes) { - this.__block(true); - try { - changes(); + if (defaultWidth != null) { + let dw = defaultWidth.toString(); + if (dw && + 'auto' !== dw && + String(dw).indexOf('px') < 0 && + String(dw).indexOf('%') < 0) { + dw += 'px'; + } + (0,helpers.call)(this.j.o.resizer.forImageChangeAttributes ? helpers.attr : helpers.css, image, 'width', dw); } - catch (e) { - false && 0; + if (styles && typeof styles === 'object') { + (0,helpers.css)(image, styles); } - this.__block(false); - } - make() { - const snapshot = { - html: '', - range: { - startContainer: [], - startOffset: 0, - endContainer: [], - endOffset: 0 + const onload = () => { + if (image.naturalHeight < image.offsetHeight || + image.naturalWidth < image.offsetWidth) { + image.style.width = ''; + image.style.height = ''; } + image.removeEventListener('load', onload); }; - snapshot.html = this.removeJoditSelection(this.j.editor); - const sel = this.j.s.sel; + this.j.e.on(image, 'load', onload); + if (image.complete) { + onload(); + } + this.insertNode(image); + this.j.e.fire('afterInsertImage', image); + } + eachSelection(callback) { + var _a; + const sel = this.sel; if (sel && sel.rangeCount) { - const range = sel.getRangeAt(0), startContainer = this.calcHierarchyLadder(range.startContainer), endContainer = this.calcHierarchyLadder(range.endContainer); - let startOffset = Snapshot.strokeOffset(range.startContainer, range.startOffset), endOffset = Snapshot.strokeOffset(range.endContainer, range.endOffset); - if (!startContainer.length && - range.startContainer !== this.j.editor) { - startOffset = 0; + const range = sel.getRangeAt(0); + let root = range.commonAncestorContainer; + if (!dom/* Dom.isHTMLElement */.i.isHTMLElement(root)) { + root = root.parentElement; } - if (!endContainer.length && range.endContainer !== this.j.editor) { - endOffset = 0; + const nodes = [], startOffset = range.startOffset, length = root.childNodes.length, elementOffset = startOffset < length ? startOffset : length - 1; + let start = range.startContainer === this.area + ? root.childNodes[elementOffset] + : range.startContainer, end = range.endContainer === this.area + ? root.childNodes[range.endOffset - 1] + : range.endContainer; + if (dom/* Dom.isText */.i.isText(start) && + start === range.startContainer && + range.startOffset === ((_a = start.nodeValue) === null || _a === void 0 ? void 0 : _a.length) && + start.nextSibling) { + start = start.nextSibling; } - snapshot.range = { - startContainer, - startOffset, - endContainer, - endOffset + if (dom/* Dom.isText */.i.isText(end) && + end === range.endContainer && + range.endOffset === 0 && + end.previousSibling) { + end = end.previousSibling; + } + const checkElm = (node) => { + if (node && + node !== root && + !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node) && + !(0,checker/* isMarker */._V)(node)) { + nodes.push(node); + } + }; + checkElm(start); + if (start !== end && dom/* Dom.isOrContains */.i.isOrContains(root, start, true)) { + dom/* Dom.find */.i.find(start, node => { + checkElm(node); + return (node === end || + (node && node.contains && node.contains(end))); + }, root, true, false); + } + const forEvery = (current) => { + if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, current, true)) { + return; + } + if (current.nodeName.match(/^(UL|OL)$/)) { + return (0,helpers.toArray)(current.childNodes).forEach(forEvery); + } + if (dom/* Dom.isTag */.i.isTag(current, 'li')) { + if (current.firstChild) { + current = current.firstChild; + } + else { + const currentB = this.j.createInside.text(constants.INVISIBLE_SPACE); + current.appendChild(currentB); + current = currentB; + } + } + callback(current); }; + if (nodes.length === 0 && dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(start)) { + nodes.push(start); + } + if (nodes.length === 0 && start.firstChild) { + nodes.push(start.firstChild); + } + nodes.forEach(forEvery); } - return snapshot; } - restore(snapshot) { - this.transaction(() => { - const scroll = this.storeScrollState(); - const value = this.j.getNativeEditorValue(); - if (value !== snapshot.html) { - this.j.value = snapshot.html; + cursorInTheEdge(start, parentBlock) { + var _a, _b; + const end = !start, range = (_a = this.sel) === null || _a === void 0 ? void 0 : _a.getRangeAt(0), current = this.current(false); + if (!range || + !current || + !dom/* Dom.isOrContains */.i.isOrContains(parentBlock, current, true)) { + return null; + } + const container = start ? range.startContainer : range.endContainer; + const offset = start ? range.startOffset : range.endOffset; + const isSignificant = (elm) => Boolean(elm && + !dom/* Dom.isTag */.i.isTag(elm, 'br') && + !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm) && + !dom/* Dom.isTemporary */.i.isTemporary(elm) && + !(dom/* Dom.isElement */.i.isElement(elm) && + this.j.e.fire('isInvisibleForCursor', elm) === true)); + if (dom/* Dom.isText */.i.isText(container)) { + const text = ((_b = container.nodeValue) === null || _b === void 0 ? void 0 : _b.length) ? container.nodeValue : ''; + if (end && text.replace((0,constants.INVISIBLE_SPACE_REG_EXP_END)(), '').length > offset) { + return false; + } + const inv = (0,constants.INVISIBLE_SPACE_REG_EXP_START)().exec(text); + if (start && + ((inv && inv[0].length < offset) || (!inv && offset > 0))) { + return false; + } + } + else { + const children = (0,helpers.toArray)(container.childNodes); + if (end) { + if (children.slice(offset).some(isSignificant)) { + return false; + } } - this.restoreOnlySelection(snapshot); - this.restoreScrollState(scroll); - }); - } - storeScrollState() { - return [this.j.ow.scrollY, this.j.editor.scrollTop]; - } - restoreScrollState(scrolls) { - const { j } = this, { ow } = j; - ow.scrollTo(ow.scrollX, scrolls[0]); - j.editor.scrollTop = scrolls[1]; - } - restoreOnlySelection(snapshot) { - try { - if (snapshot.range) { - const range = this.j.ed.createRange(); - range.setStart(this.getElementByLadder(snapshot.range.startContainer), snapshot.range.startOffset); - range.setEnd(this.getElementByLadder(snapshot.range.endContainer), snapshot.range.endOffset); - this.j.s.selectRange(range); + else { + if (children.slice(0, offset).some(isSignificant)) { + return false; + } } } - catch (__ignore) { - this.j.editor.lastChild && - this.j.s.setCursorAfter(this.j.editor.lastChild); - if (false) {} + let next = current; + while (next && next !== parentBlock) { + const nextOne = dom/* Dom.sibling */.i.sibling(next, start); + if (!nextOne) { + next = next.parentNode; + continue; + } + next = nextOne; + if (next && isSignificant(next)) { + return false; + } } + return true; } - destruct() { - this.__block(false); - super.destruct(); - } - static isIgnoredNode(node) { - return (dom/* Dom.isText */.i.isText(node) && !node.nodeValue) || dom/* Dom.isTemporary */.i.isTemporary(node); - } - removeJoditSelection(node) { - const clone = node.cloneNode(true); - clone.querySelectorAll(`[${constants.TEMP_ATTR}]`).forEach(dom/* Dom.unwrap */.i.unwrap); - return clone.innerHTML; - } -} - -;// CONCATENATED MODULE: ./src/modules/history/stack.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -class Stack { - constructor(size) { - this.size = size; - this.commands = []; - this.stackPosition = -1; + cursorOnTheLeft(parentBlock) { + return this.cursorInTheEdge(true, parentBlock); } - get length() { - return this.commands.length; + cursorOnTheRight(parentBlock) { + return this.cursorInTheEdge(false, parentBlock); } - clearRedo() { - this.commands.length = this.stackPosition + 1; + setCursorAfter(node) { + return this.setCursorNearWith(node, false); } - clear() { - this.commands.length = 0; - this.stackPosition = -1; + setCursorBefore(node) { + return this.setCursorNearWith(node, true); } - push(command) { - this.clearRedo(); - this.commands.push(command); - this.stackPosition += 1; - if (this.commands.length > this.size) { - this.commands.shift(); - this.stackPosition -= 1; + setCursorNearWith(node, inStart) { + var _a, _b; + this.errorNode(node); + if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { + throw (0,helpers.error)('Node element must be in editor'); } - } - replace(command) { - this.commands[this.stackPosition] = command; - } - current() { - return this.commands[this.stackPosition]; - } - undo() { - if (this.canUndo()) { - if (this.commands[this.stackPosition]) { - this.commands[this.stackPosition].undo(); + const range = this.createRange(); + let fakeNode = null; + if (!dom/* Dom.isText */.i.isText(node)) { + fakeNode = this.j.createInside.text(constants.INVISIBLE_SPACE); + inStart ? range.setStartBefore(node) : range.setEndAfter(node); + range.collapse(inStart); + dom/* Dom.safeInsertNode */.i.safeInsertNode(range, fakeNode); + range.selectNode(fakeNode); + } + else { + if (inStart) { + range.setStart(node, 0); + } + else { + range.setEnd(node, (_b = (_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0); } - this.stackPosition -= 1; - return true; } - return false; + range.collapse(inStart); + this.selectRange(range); + return fakeNode; } - redo() { - if (this.canRedo()) { - this.stackPosition += 1; - if (this.commands[this.stackPosition]) { - this.commands[this.stackPosition].redo(); + setCursorIn(node, inStart = false) { + this.errorNode(node); + if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { + throw (0,helpers.error)('Node element must be in editor'); + } + const range = this.createRange(); + let start = node, last = node; + do { + if (dom/* Dom.isText */.i.isText(start)) { + break; + } + last = start; + start = inStart ? start.firstChild : start.lastChild; + } while (start); + if (!start) { + const fakeNode = this.j.createInside.text(constants.INVISIBLE_SPACE); + if (!/^(img|br|input)$/i.test(last.nodeName)) { + last.appendChild(fakeNode); + last = fakeNode; + } + else { + start = last; } - return true; } - return false; - } - canUndo() { - return this.stackPosition >= 0; - } - canRedo() { - return this.stackPosition < this.commands.length - 1; - } -} - -;// CONCATENATED MODULE: ./src/modules/history/command.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -class Command { - constructor(oldValue, newValue, history, tick) { - this.oldValue = oldValue; - this.newValue = newValue; - this.history = history; - this.tick = tick; - } - undo() { - this.history.snapshot.restore(this.oldValue); - } - redo() { - this.history.snapshot.restore(this.newValue); + range.selectNodeContents(start || last); + range.collapse(inStart); + this.selectRange(range); + return last; } -} - -;// CONCATENATED MODULE: ./src/modules/history/history.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - - -config/* Config.prototype.history */.D.prototype.history = { - enable: true, - maxHistoryLength: Infinity, - timeout: 1000 -}; -config/* Config.prototype.observer */.D.prototype.observer = config/* Config.prototype.history */.D.prototype.history; -class History extends component/* ViewComponent */.Hr { - constructor(editor, stack = new Stack(editor.o.history.maxHistoryLength), snapshot = new Snapshot(editor)) { - super(editor); - this.updateTick = 0; - this.__stack = stack; - this.snapshot = snapshot; - if (editor.o.history.enable) { - editor.e.on('afterAddPlace.history', () => { - if (this.isInDestruct) { - return; - } - this.startValue = this.snapshot.make(); - editor.events - .on('internalChange internalUpdate', () => { - this.startValue = this.snapshot.make(); - }) - .on(editor.editor, [ - 'changeSelection', - 'selectionstart', - 'selectionchange', - 'mousedown', - 'mouseup', - 'keydown', - 'keyup' - ] - .map(f => f + '.history') - .join(' '), () => { - if (this.startValue.html === - this.j.getNativeEditorValue()) { - this.startValue = this.snapshot.make(); - } - }) - .on(this, 'change.history', this.onChange); - }); + selectRange(range, focus = true) { + const sel = this.sel; + if (focus && !this.isFocused()) { + this.focus(); } + if (sel) { + sel.removeAllRanges(); + sel.addRange(range); + } + this.j.e.fire('changeSelection'); + return this; } - className() { - return 'History'; - } - get startValue() { - return this.__startValue; - } - set startValue(value) { - this.__startValue = value; - } - __upTick() { - this.updateTick += 1; - } - onChange() { - this.__processChanges(); + select(node, inward = false) { + this.errorNode(node); + if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { + throw (0,helpers.error)('Node element must be in editor'); + } + const range = this.createRange(); + range[inward ? 'selectNodeContents' : 'selectNode'](node); + return this.selectRange(range); } - __processChanges() { - if (this.snapshot.isBlocked || !this.j.o.history.enable) { - return; + get html() { + const sel = this.sel; + if (sel && sel.rangeCount > 0) { + const range = sel.getRangeAt(0); + const clonedSelection = range.cloneContents(); + const div = this.j.createInside.div(); + div.appendChild(clonedSelection); + return div.innerHTML; } - this.updateStack(); + return ''; } - updateStack(replace = false) { - const newValue = this.snapshot.make(); - if (!Snapshot.equal(newValue, this.startValue)) { - const newCommand = new Command(this.startValue, newValue, this, this.updateTick); - if (replace) { - const command = this.__stack.current(); - if (command && this.updateTick === command.tick) { - this.__stack.replace(newCommand); - } + *wrapInTagGen() { + if (this.isCollapsed()) { + const font = this.jodit.createInside.element('font', constants.INVISIBLE_SPACE); + this.insertNode(font, false, false); + const [marker] = this.markers; + if (marker) { + font.appendChild(marker); } else { - this.__stack.push(newCommand); + this.setCursorIn(font); + this.save(); } - this.startValue = newValue; - this.fireChangeStack(); + yield font; + dom/* Dom.unwrap */.i.unwrap(font); + return; } - } - redo() { - if (this.__stack.redo()) { - this.startValue = this.snapshot.make(); - this.fireChangeStack(); + (0,helpers.$$)('*[style*=font-size]', this.area).forEach(elm => (0,helpers.attr)(elm, 'data-font-size', elm.style.fontSize.toString())); + if (!this.isCollapsed()) { + this.j.nativeExecCommand('fontsize', false, '7'); } - } - canRedo() { - return this.__stack.canRedo(); - } - undo() { - if (this.__stack.undo()) { - this.startValue = this.snapshot.make(); - this.fireChangeStack(); + else { + const font = this.j.createInside.element('font'); + (0,helpers.attr)(font, 'size', 7); + this.insertNode(font, false, false); + } + (0,helpers.$$)('*[data-font-size]', this.area).forEach(elm => { + const fontSize = (0,helpers.attr)(elm, 'data-font-size'); + if (fontSize) { + elm.style.fontSize = fontSize; + (0,helpers.attr)(elm, 'data-font-size', null); + } + }); + const elms = (0,helpers.$$)('font[size="7"]', this.area); + for (const font of elms) { + const { firstChild, lastChild } = font; + if (firstChild && + firstChild === lastChild && + (0,checker/* isMarker */._V)(firstChild)) { + dom/* Dom.unwrap */.i.unwrap(font); + continue; + } + if (firstChild && (0,checker/* isMarker */._V)(firstChild)) { + dom/* Dom.before */.i.before(font, firstChild); + } + if (lastChild && (0,checker/* isMarker */._V)(lastChild)) { + dom/* Dom.after */.i.after(font, lastChild); + } + yield font; + dom/* Dom.unwrap */.i.unwrap(font); } } - canUndo() { - return this.__stack.canUndo(); + wrapInTag(tagOrCallback) { + const result = []; + for (const font of this.wrapInTagGen()) { + try { + if (font.firstChild && + font.firstChild === font.lastChild && + (0,checker/* isMarker */._V)(font.firstChild)) { + continue; + } + if ((0,checker/* isFunction */.mf)(tagOrCallback)) { + tagOrCallback(font); + } + else { + result.push(dom/* Dom.replace */.i.replace(font, tagOrCallback, this.j.createInside)); + } + } + finally { + const pn = font.parentNode; + if (pn) { + dom/* Dom.unwrap */.i.unwrap(font); + if (dom/* Dom.isEmpty */.i.isEmpty(pn)) { + dom/* Dom.unwrap */.i.unwrap(pn); + } + } + } + } + return result; } - clear() { - this.startValue = this.snapshot.make(); - this.__stack.clear(); - this.fireChangeStack(); + commitStyle(options) { + void 0; + const styleElm = new CommitStyle(options); + styleElm.apply(this.j); } - get length() { - return this.__stack.length; + applyStyle(style, options = {}) { + this.commitStyle({ + style, + ...options + }); } - fireChangeStack() { - var _a; - this.j && !this.j.isInDestruct && ((_a = this.j.events) === null || _a === void 0 ? void 0 : _a.fire('changeStack')); + splitSelection(currentBox) { + if (!this.isCollapsed()) { + return null; + } + const leftRange = this.createRange(); + const range = this.range; + leftRange.setStartBefore(currentBox); + const cursorOnTheRight = this.cursorOnTheRight(currentBox); + const cursorOnTheLeft = this.cursorOnTheLeft(currentBox); + const br = this.j.createInside.element('br'), prevFake = this.j.createInside.text(constants.INVISIBLE_SPACE), nextFake = prevFake.cloneNode(); + try { + if (cursorOnTheRight || cursorOnTheLeft) { + dom/* Dom.safeInsertNode */.i.safeInsertNode(range, br); + const clearBR = (start, getNext) => { + let next = getNext(start); + while (next) { + const nextSib = getNext(next); + if (next && + (dom/* Dom.isTag */.i.isTag(next, 'br') || dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(next))) { + dom/* Dom.safeRemove */.i.safeRemove(next); + } + else { + break; + } + next = nextSib; + } + }; + clearBR(br, (n) => n.nextSibling); + clearBR(br, (n) => n.previousSibling); + dom/* Dom.after */.i.after(br, nextFake); + dom/* Dom.before */.i.before(br, prevFake); + if (cursorOnTheRight) { + leftRange.setEndBefore(br); + range.setEndBefore(br); + } + else { + leftRange.setEndAfter(br); + range.setEndAfter(br); + } + } + else { + leftRange.setEnd(range.startContainer, range.startOffset); + } + const fragment = leftRange.extractContents(); + const clearEmpties = (node) => dom/* Dom.each */.i.each(node, node => dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node) && dom/* Dom.safeRemove */.i.safeRemove(node)); + if (currentBox.parentNode) { + try { + clearEmpties(fragment); + clearEmpties(currentBox); + currentBox.parentNode.insertBefore(fragment, currentBox); + if (cursorOnTheRight && (br === null || br === void 0 ? void 0 : br.parentNode)) { + const range = this.createRange(); + range.setStartBefore(br); + this.selectRange(range); + } + } + catch (e) { + if (false) {} + } + } + const fillFakeParent = (fake) => { + var _a, _b, _c; + if (((_a = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === ((_b = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _b === void 0 ? void 0 : _b.lastChild)) { + (_c = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _c === void 0 ? void 0 : _c.appendChild(br.cloneNode()); + } + }; + fillFakeParent(prevFake); + fillFakeParent(nextFake); + } + finally { + dom/* Dom.safeRemove */.i.safeRemove(prevFake); + dom/* Dom.safeRemove */.i.safeRemove(nextFake); + } + return currentBox.previousElementSibling; } - destruct() { - if (this.isInDestruct) { - return; + expandSelection() { + if (this.isCollapsed()) { + return this; } - if (this.j.events) { - this.j.e.off('.history'); + const { range } = this, c = range.cloneRange(); + if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, range.commonAncestorContainer, true)) { + return this; } - this.snapshot.destruct(); - super.destruct(); + const moveMaxEdgeFake = (start) => { + const fake = this.j.createInside.fake(); + const r = range.cloneRange(); + r.collapse(start); + dom/* Dom.safeInsertNode */.i.safeInsertNode(r, fake); + (0,selection_helpers/* moveTheNodeAlongTheEdgeOutward */.f)(fake, start, this.j.editor); + return fake; + }; + const leftFake = moveMaxEdgeFake(true); + const rightFake = moveMaxEdgeFake(false); + c.setStartAfter(leftFake); + c.setEndBefore(rightFake); + const leftBox = dom/* Dom.findSibling */.i.findSibling(leftFake, false); + const rightBox = dom/* Dom.findSibling */.i.findSibling(rightFake, true); + if (leftBox !== rightBox) { + const rightInsideLeft = dom/* Dom.isElement */.i.isElement(leftBox) && + dom/* Dom.isOrContains */.i.isOrContains(leftBox, rightFake), leftInsideRight = !rightInsideLeft && + dom/* Dom.isElement */.i.isElement(rightBox) && + dom/* Dom.isOrContains */.i.isOrContains(rightBox, leftFake); + if (rightInsideLeft || leftInsideRight) { + let child = (rightInsideLeft ? leftBox : rightBox), container = child; + while (dom/* Dom.isElement */.i.isElement(child)) { + child = rightInsideLeft + ? child.firstElementChild + : child.lastElementChild; + if (child) { + const isInside = rightInsideLeft + ? dom/* Dom.isOrContains */.i.isOrContains(child, rightFake) + : dom/* Dom.isOrContains */.i.isOrContains(child, leftFake); + if (isInside) { + container = child; + } + } + } + if (rightInsideLeft) { + c.setStart(container, 0); + } + else { + c.setEnd(container, container.childNodes.length); + } + } + } + this.selectRange(c); + dom/* Dom.safeRemove */.i.safeRemove(leftFake, rightFake); + return this; } } (0,tslib_es6/* __decorate */.gn)([ - (0,decorators.debounce)() -], History.prototype, "onChange", null); + decorators.autobind +], Select.prototype, "createRange", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Select.prototype, "focus", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Select.prototype, "setCursorAfter", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Select.prototype, "setCursorBefore", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Select.prototype, "setCursorIn", null); + +;// CONCATENATED MODULE: ./src/core/selection/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + -// EXTERNAL MODULE: ./src/core/selection/index.ts + 19 modules -var selection = __webpack_require__(92415); // EXTERNAL MODULE: ./src/core/traits/index.ts + 3 modules -var traits = __webpack_require__(63711); +var traits = __webpack_require__(72452); ;// CONCATENATED MODULE: ./src/modules/status-bar/status-bar.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -16226,14 +16611,6 @@ var traits = __webpack_require__(63711); let StatusBar = class StatusBar extends component/* ViewComponent */.Hr { - constructor(jodit, target) { - super(jodit); - this.target = target; - this.mods = {}; - this.container = jodit.c.div('jodit-status-bar'); - target.appendChild(this.container); - this.hide(); - } className() { return 'StatusBar'; } @@ -16273,6 +16650,14 @@ let StatusBar = class StatusBar extends component/* ViewComponent */.Hr { } this.j.e.fire('resize'); } + constructor(jodit, target) { + super(jodit); + this.target = target; + this.mods = {}; + this.container = jodit.c.div('jodit-status-bar'); + target.appendChild(this.container); + this.hide(); + } destruct() { if (this.isInDestruct) { return; @@ -16289,15 +16674,15 @@ StatusBar = (0,tslib_es6/* __decorate */.gn)([ // EXTERNAL MODULE: ./src/modules/table/table.ts -var table = __webpack_require__(70218); +var table = __webpack_require__(25120); // EXTERNAL MODULE: ./src/modules/toolbar/collection/editor-collection.ts -var editor_collection = __webpack_require__(98714); +var editor_collection = __webpack_require__(81698); // EXTERNAL MODULE: ./src/modules/toolbar/collection/collection.ts -var collection = __webpack_require__(50); +var collection = __webpack_require__(72719); // EXTERNAL MODULE: ./src/modules/toolbar/button/button.ts -var toolbar_button_button = __webpack_require__(95169); +var toolbar_button_button = __webpack_require__(48197); // EXTERNAL MODULE: ./src/modules/toolbar/button/content.ts -var content = __webpack_require__(3973); +var content = __webpack_require__(34375); ;// CONCATENATED MODULE: ./src/modules/toolbar/button/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -16569,9 +16954,9 @@ function hasItems(data) { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts -var is_array = __webpack_require__(41515); +var is_array = __webpack_require__(49781); // EXTERNAL MODULE: ./src/core/helpers/checker/is-jodit-object.ts -var is_jodit_object = __webpack_require__(12866); +var is_jodit_object = __webpack_require__(77892); ;// CONCATENATED MODULE: ./src/modules/uploader/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -16667,12 +17052,6 @@ config/* Config.prototype.uploader */.D.prototype.uploader = { class Uploader extends component/* ViewComponent */.Hr { - constructor(editor, options) { - super(editor); - this.path = ''; - this.source = 'default'; - this.options = (0,helpers.ConfigProto)(options || {}, (0,helpers.ConfigProto)(config/* Config.defaultOptions.uploader */.D.defaultOptions.uploader, (0,helpers.isJoditObject)(editor) ? editor.o.uploader : {})); - } get j() { return this.jodit; } @@ -16798,6 +17177,12 @@ class Uploader extends component/* ViewComponent */.Hr { }) .catch(e => handlerE.call(uploader, e)); } + constructor(editor, options) { + super(editor); + this.path = ''; + this.source = 'default'; + this.options = (0,helpers.ConfigProto)(options || {}, (0,helpers.ConfigProto)(config/* Config.defaultOptions.uploader */.D.defaultOptions.uploader, (0,helpers.isJoditObject)(editor) ? editor.o.uploader : {})); + } destruct() { this.setStatus(component/* STATUSES.beforeDestruct */.n$.beforeDestruct); const instances = ajaxInstances.get(this); @@ -16814,10 +17199,8 @@ class Uploader extends component/* ViewComponent */.Hr { } } -// EXTERNAL MODULE: ./src/modules/messages/messages.ts + 1 modules -var messages = __webpack_require__(28351); // EXTERNAL MODULE: ./src/core/plugin/plugin-system.ts -var plugin_system = __webpack_require__(60154); +var plugin_system = __webpack_require__(44540); ;// CONCATENATED MODULE: ./src/modules/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -16855,7 +17238,7 @@ var plugin_system = __webpack_require__(60154); /***/ }), -/***/ 28351: +/***/ 17832: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -16868,17 +17251,15 @@ __webpack_require__.d(__webpack_exports__, { // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js var tslib_es6 = __webpack_require__(20255); // EXTERNAL MODULE: ./src/core/helpers/utils/css.ts -var css = __webpack_require__(76239); +var css = __webpack_require__(26911); // EXTERNAL MODULE: ./src/core/ui/group/group.ts -var group = __webpack_require__(31454); +var group = __webpack_require__(61479); // EXTERNAL MODULE: ./src/core/decorators/component/component.ts -var component = __webpack_require__(45466); +var component = __webpack_require__(11441); // EXTERNAL MODULE: ./src/core/decorators/watch/watch.ts -var watch = __webpack_require__(30192); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); +var watch = __webpack_require__(46163); // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); +var ui = __webpack_require__(93801); ;// CONCATENATED MODULE: ./src/modules/messages/message.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -16917,19 +17298,19 @@ UIMessage = (0,tslib_es6/* __decorate */.gn)([ - let UIMessages = class UIMessages extends group/* UIGroup */.q { - constructor(jodit, options = { + className() { + return 'UIMessages'; + } + constructor(jodit, __box, options = { defaultTimeout: 3000, defaultOffset: 5 }) { super(jodit); + this.__box = __box; this.options = options; this.__messages = new Set(); } - className() { - return 'UIMessages'; - } info(text, timeout) { this.__message(text, 'info', timeout); } @@ -16948,13 +17329,7 @@ let UIMessages = class UIMessages extends group/* UIGroup */.q { this.async.updateTimeout(key, timeout || this.options.defaultTimeout); return; } - const jodit = this.j; - if ((0,helpers.isJoditObject)(jodit)) { - jodit.workplace.appendChild(this.container); - } - else { - jodit.container.appendChild(this.container); - } + this.__box.appendChild(this.container); const msg = new UIMessage(this.j, { text, variant }); this.append(msg); this.__calcOffsets(); @@ -17003,7 +17378,7 @@ UIMessages = (0,tslib_es6/* __decorate */.gn)([ /***/ }), -/***/ 70218: +/***/ 25120: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -17011,12 +17386,12 @@ UIMessages = (0,tslib_es6/* __decorate */.gn)([ /* harmony export */ "i": function() { return /* binding */ Table; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36516); -/* harmony import */ var jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2624); -/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16672); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63945); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64968); +/* harmony import */ var jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(90549); +/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17332); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -17600,7 +17975,7 @@ const instance = (j) => j.getInstance('Table', j.o); /***/ }), -/***/ 95169: +/***/ 48197: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -17608,16 +17983,16 @@ const instance = (j) => j.getInstance('Table', j.o); /* harmony export */ "h": function() { return /* binding */ ToolbarButton; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81402); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36516); -/* harmony import */ var jodit_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(78900); -/* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5243); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80353); -/* harmony import */ var jodit_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50); -/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(71685); -/* harmony import */ var jodit_core_ui_helpers_get_control_type__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(58240); +/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55310); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64968); +/* harmony import */ var jodit_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12680); +/* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(81438); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77904); +/* harmony import */ var jodit_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(72719); +/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(29411); +/* harmony import */ var jodit_core_ui_helpers_get_control_type__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(38546); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -17636,30 +18011,6 @@ const instance = (j) => j.getInstance('Table', j.o); let ToolbarButton = class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButton */ .y3 { - constructor(jodit, control, target = null) { - super(jodit); - this.control = control; - this.target = target; - this.state = { - ...(0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButtonState */ .Yc)(), - theme: 'toolbar', - currentValue: '', - hasTrigger: false - }; - this.openedPopup = null; - jodit.e.on([this.button, this.trigger], 'mousedown', (e) => e.preventDefault()); - this.onAction(this.onClick); - this.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_8__/* .STATUSES.ready */ .n.ready, () => { - this.initFromControl(); - this.initTooltip(); - this.update(); - }); - if (control.mods) { - Object.keys(control.mods).forEach(mod => { - control.mods && this.setMod(mod, control.mods[mod]); - }); - } - } className() { return 'ToolbarButton'; } @@ -17776,6 +18127,30 @@ let ToolbarButton = class ToolbarButton extends jodit_core_ui_button__WEBPACK_IM }); } } + constructor(jodit, control, target = null) { + super(jodit); + this.control = control; + this.target = target; + this.state = { + ...(0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButtonState */ .Yc)(), + theme: 'toolbar', + currentValue: '', + hasTrigger: false + }; + this.openedPopup = null; + jodit.e.on([this.button, this.trigger], 'mousedown', (e) => e.preventDefault()); + this.onAction(this.onClick); + this.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_8__/* .STATUSES.ready */ .n.ready, () => { + this.initFromControl(); + this.initTooltip(); + this.update(); + }); + if (control.mods) { + Object.keys(control.mods).forEach(mod => { + control.mods && this.setMod(mod, control.mods[mod]); + }); + } + } initFromControl() { var _a; const { control: ctr, state } = this; @@ -17990,7 +18365,7 @@ ToolbarButton = (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([ /***/ }), -/***/ 3973: +/***/ 34375: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -17998,10 +18373,10 @@ ToolbarButton = (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([ /* harmony export */ "c": function() { return /* binding */ ToolbarContent; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81402); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36516); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63945); +/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55310); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64968); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18014,13 +18389,6 @@ ToolbarButton = (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([ let ToolbarContent = class ToolbarContent extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButton */ .y3 { - constructor(jodit, control, target = null) { - super(jodit); - this.control = control; - this.target = target; - this.container.classList.add(`${this.componentName}_${this.clearName(control.name)}`); - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'role', 'content'); - } className() { return 'ToolbarContent'; } @@ -18035,6 +18403,13 @@ let ToolbarContent = class ToolbarContent extends jodit_core_ui_button__WEBPACK_ createContainer() { return this.j.c.span(this.componentName); } + constructor(jodit, control, target = null) { + super(jodit); + this.control = control; + this.target = target; + this.container.classList.add(`${this.componentName}_${this.clearName(control.name)}`); + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'role', 'content'); + } }; ToolbarContent = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__.component @@ -18044,7 +18419,7 @@ ToolbarContent = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([ /***/ }), -/***/ 50: +/***/ 72719: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18052,10 +18427,10 @@ ToolbarContent = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([ /* harmony export */ "n": function() { return /* binding */ ToolbarCollection; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55865); -/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5243); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63945); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93801); +/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81438); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18068,15 +18443,6 @@ ToolbarContent = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([ let ToolbarCollection = class ToolbarCollection extends jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__/* .UIList */ .bz { - constructor(jodit) { - super(jodit); - this.listenEvents = 'updateToolbar changeStack mousedown mouseup keydown change afterInit readonly afterResize ' + - 'selectionchange changeSelection focus afterSetMode touchstart focus blur'; - this.update = this.j.async.debounce(this.immediateUpdate, () => this.j.defaultTimeout); - this.__tooltip = null; - this.initEvents(); - this.__tooltip = jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__/* .UITooltip.make */ .Ne.make(jodit); - } className() { return 'ToolbarCollection'; } @@ -18107,6 +18473,15 @@ let ToolbarCollection = class ToolbarCollection extends jodit_core_ui__WEBPACK_I this.container.style.direction = direction; this.container.setAttribute('dir', direction); } + constructor(jodit) { + super(jodit); + this.listenEvents = 'updateToolbar changeStack mousedown mouseup keydown change afterInit readonly afterResize ' + + 'selectionchange changeSelection focus afterSetMode touchstart focus blur'; + this.update = this.j.async.debounce(this.immediateUpdate, () => this.j.defaultTimeout); + this.__tooltip = null; + this.initEvents(); + this.__tooltip = jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__/* .UITooltip.make */ .Ne.make(jodit); + } initEvents() { this.j.e .on(this.listenEvents, this.update) @@ -18152,7 +18527,7 @@ ToolbarCollection = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)( /***/ }), -/***/ 98714: +/***/ 81698: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18160,11 +18535,11 @@ ToolbarCollection = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)( /* harmony export */ "N": function() { return /* binding */ ToolbarEditorCollection; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20255); -/* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(47386); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36516); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63945); +/* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(72719); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86893); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64968); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18177,28 +18552,6 @@ ToolbarCollection = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)( let ToolbarEditorCollection = class ToolbarEditorCollection extends _collection__WEBPACK_IMPORTED_MODULE_0__/* .ToolbarCollection */ .n { - constructor(jodit) { - super(jodit); - this.checkActiveStatus = (cssObject, node) => { - let matches = 0, total = 0; - Object.keys(cssObject).forEach((cssProperty) => { - const cssValue = cssObject[cssProperty]; - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isFunction)(cssValue)) { - if (cssValue(this.j, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.css)(node, cssProperty).toString())) { - matches += 1; - } - } - else { - if (cssValue.indexOf((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.css)(node, cssProperty).toString()) !== -1) { - matches += 1; - } - } - total += 1; - }); - return total === matches; - }; - this.prependInvisibleInput(this.container); - } className() { return 'ToolbarEditorCollection'; } @@ -18250,6 +18603,28 @@ let ToolbarEditorCollection = class ToolbarEditorCollection extends _collection_ getTarget(button) { return button.target || this.j.s.current() || null; } + constructor(jodit) { + super(jodit); + this.checkActiveStatus = (cssObject, node) => { + let matches = 0, total = 0; + Object.keys(cssObject).forEach((cssProperty) => { + const cssValue = cssObject[cssProperty]; + if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isFunction)(cssValue)) { + if (cssValue(this.j, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.css)(node, cssProperty).toString())) { + matches += 1; + } + } + else { + if (cssValue.indexOf((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.css)(node, cssProperty).toString()) !== -1) { + matches += 1; + } + } + total += 1; + }); + return total === matches; + }; + this.prependInvisibleInput(this.container); + } prependInvisibleInput(container) { const input = this.j.create.element('input', { tabIndex: -1, @@ -18279,7 +18654,7 @@ ToolbarEditorCollection = (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ /***/ }), -/***/ 5243: +/***/ 81438: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18287,11 +18662,11 @@ ToolbarEditorCollection = (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ /* harmony export */ "R": function() { return /* binding */ makeCollection; }, /* harmony export */ "g": function() { return /* binding */ makeButton; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83370); -/* harmony import */ var _collection_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50); -/* harmony import */ var _collection_editor_collection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(98714); -/* harmony import */ var _button_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(95169); -/* harmony import */ var _button_content__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3973); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40332); +/* harmony import */ var _collection_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72719); +/* harmony import */ var _collection_editor_collection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81698); +/* harmony import */ var _button_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48197); +/* harmony import */ var _button_content__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(34375); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18329,7 +18704,7 @@ function makeButton(jodit, control, target = null) { /***/ }), -/***/ 51308: +/***/ 74331: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18342,11 +18717,11 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); +var helpers = __webpack_require__(40332); // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); +var ui = __webpack_require__(93801); // EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); +var dom = __webpack_require__(64968); ;// CONCATENATED MODULE: ./src/modules/widget/color-picker/color-picker.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -18422,11 +18797,11 @@ const ColorPickerWidget = (editor, callback, coldColor) => { }; // EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts -var is_function = __webpack_require__(87385); +var is_function = __webpack_require__(42096); // EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules -var component = __webpack_require__(2624); +var component = __webpack_require__(90549); // EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom_dom = __webpack_require__(65401); +var dom_dom = __webpack_require__(24263); ;// CONCATENATED MODULE: ./src/modules/widget/tabs/tabs.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -18631,7 +19006,7 @@ const FileSelectorWidget = (editor, callbacks, elm, close, isImage = true) => { /***/ }), -/***/ 28255: +/***/ 9188: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18686,11 +19061,11 @@ const zh_tw = __webpack_require__(28765); /***/ }), -/***/ 60953: +/***/ 27487: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38301); +/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76502); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18721,13 +19096,13 @@ const zh_tw = __webpack_require__(28765); /***/ }), -/***/ 76306: +/***/ 59500: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43435); -/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76239); -/* harmony import */ var jodit_modules_widget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51308); +/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78411); +/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26911); +/* harmony import */ var jodit_modules_widget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(74331); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18857,11 +19232,11 @@ const cmd = (control) => control.args && (0,jodit_core_helpers_checker__WEBPACK_ /***/ }), -/***/ 94695: +/***/ 66686: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var _img__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45687); +/* harmony import */ var _img__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(97425); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18882,17 +19257,17 @@ const cmd = (control) => control.args && (0,jodit_core_helpers_checker__WEBPACK_ /***/ }), -/***/ 45687: +/***/ 97425: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "A": function() { return /* binding */ align; } /* harmony export */ }); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36516); -/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86129); -/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76239); -/* harmony import */ var jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55667); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64968); +/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24421); +/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26911); +/* harmony import */ var jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60303); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18968,7 +19343,7 @@ const align = { /***/ }), -/***/ 57503: +/***/ 55350: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; @@ -19008,7 +19383,7 @@ const align = { /***/ }), -/***/ 78124: +/***/ 26752: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -19063,7 +19438,7 @@ const zh_tw = __webpack_require__(58214); /***/ }), -/***/ 37942: +/***/ 87882: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -19118,7 +19493,7 @@ const zh_tw = __webpack_require__(98364); /***/ }), -/***/ 52546: +/***/ 21236: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -20566,6 +20941,7 @@ __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { + "CommitMode": function() { return /* binding */ CommitMode; }, "Jodit": function() { return /* reexport */ Jodit; } }); @@ -20632,23 +21008,23 @@ __webpack_require__.d(after_insert_namespaceObject, { // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js var tslib_es6 = __webpack_require__(20255); // EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); +var config = __webpack_require__(93166); // EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); -// EXTERNAL MODULE: ./src/modules/index.ts + 20 modules -var modules = __webpack_require__(5687); +var constants = __webpack_require__(86893); +// EXTERNAL MODULE: ./src/modules/index.ts + 41 modules +var modules = __webpack_require__(22705); // EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); +var helpers = __webpack_require__(40332); // EXTERNAL MODULE: ./src/core/storage/index.ts + 3 modules -var storage = __webpack_require__(94707); +var storage = __webpack_require__(88755); // EXTERNAL MODULE: ./src/core/global.ts -var global = __webpack_require__(16672); +var global = __webpack_require__(17332); // EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); +var decorators = __webpack_require__(67493); // EXTERNAL MODULE: ./src/core/traits/index.ts + 3 modules -var traits = __webpack_require__(63711); +var traits = __webpack_require__(72452); // EXTERNAL MODULE: ./src/core/request/index.ts + 3 modules -var request = __webpack_require__(5887); +var request = __webpack_require__(12709); ;// CONCATENATED MODULE: ./src/jodit.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -20670,67 +21046,6 @@ var Jodit_1; const __defaultStyleDisplayKey = 'data-jodit-default-style-display'; const __defaultClassesKey = 'data-jodit-default-classes'; let Jodit = Jodit_1 = class Jodit extends modules.ViewWithToolbar { - constructor(element, options) { - super(options, true); - this.isJodit = true; - this.commands = new Map(); - this.__selectionLocked = null; - this.__wasReadOnly = false; - this.createInside = new modules.Create(() => this.ed, this.o.createAttributes); - this.editorIsActive = false; - this.__mode = constants.MODE_WYSIWYG; - this.__callChangeCount = 0; - this.__isSilentChange = false; - this.__elementToPlace = new Map(); - try { - const elementSource = (0,helpers.resolveElement)(element, this.o.shadowRoot || this.od); - if (Jodit_1.isJoditAssigned(elementSource)) { - return elementSource.component; - } - } - catch (e) { - this.destruct(); - throw e; - } - this.setStatus(modules.STATUSES.beforeInit); - this.id = - (0,helpers.attr)((0,helpers.resolveElement)(element, this.o.shadowRoot || this.od), 'id') || - new Date().getTime().toString(); - global/* instances */.as[this.id] = this; - this.storage = storage/* Storage.makeStorage */.Ke.makeStorage(true, this.id); - this.attachEvents(options); - this.e.on(this.ow, 'resize', () => { - if (this.e) { - this.e.fire('resize'); - } - }); - this.e.on('prepareWYSIWYGEditor', this.__prepareWYSIWYGEditor); - this.selection = new modules.Select(this); - const beforeInitHookResult = this.beforeInitHook(); - (0,helpers.callPromise)(beforeInitHookResult, () => { - this.e.fire('beforeInit', this); - const initPluginsResult = global/* pluginSystem.init */.pw.init(this); - (0,helpers.callPromise)(initPluginsResult, () => { - this.e.fire('afterPluginSystemInit', this); - this.e.on('changePlace', () => { - this.setReadOnly(this.o.readonly); - this.setDisabled(this.o.disabled); - }); - this.places.length = 0; - const addPlaceResult = this.addPlace(element, options); - global/* instances */.as[this.id] = this; - const init = () => { - if (this.e) { - this.e.fire('afterInit', this); - } - this.afterInitHook(); - this.setStatus(modules.STATUSES.ready); - this.e.fire('afterConstructor', this); - }; - (0,helpers.callPromise)(addPlaceResult, init); - }); - }); - } className() { return 'Jodit'; } @@ -21230,6 +21545,67 @@ let Jodit = Jodit_1 = class Jodit extends modules.ViewWithToolbar { this.editorWindow = this.o.ownerWindow; this.ownerWindow = this.o.ownerWindow; } + constructor(element, options) { + super(options, true); + this.isJodit = true; + this.commands = new Map(); + this.__selectionLocked = null; + this.__wasReadOnly = false; + this.createInside = new modules.Create(() => this.ed, this.o.createAttributes); + this.editorIsActive = false; + this.__mode = constants.MODE_WYSIWYG; + this.__callChangeCount = 0; + this.__isSilentChange = false; + this.__elementToPlace = new Map(); + try { + const elementSource = (0,helpers.resolveElement)(element, this.o.shadowRoot || this.od); + if (Jodit_1.isJoditAssigned(elementSource)) { + return elementSource.component; + } + } + catch (e) { + this.destruct(); + throw e; + } + this.setStatus(modules.STATUSES.beforeInit); + this.id = + (0,helpers.attr)((0,helpers.resolveElement)(element, this.o.shadowRoot || this.od), 'id') || + new Date().getTime().toString(); + global/* instances */.as[this.id] = this; + this.storage = storage/* Storage.makeStorage */.Ke.makeStorage(true, this.id); + this.attachEvents(options); + this.e.on(this.ow, 'resize', () => { + if (this.e) { + this.e.fire('resize'); + } + }); + this.e.on('prepareWYSIWYGEditor', this.__prepareWYSIWYGEditor); + this.selection = new modules.Select(this); + const beforeInitHookResult = this.beforeInitHook(); + (0,helpers.callPromise)(beforeInitHookResult, () => { + this.e.fire('beforeInit', this); + const initPluginsResult = global/* pluginSystem.init */.pw.init(this); + (0,helpers.callPromise)(initPluginsResult, () => { + this.e.fire('afterPluginSystemInit', this); + this.e.on('changePlace', () => { + this.setReadOnly(this.o.readonly); + this.setDisabled(this.o.disabled); + }); + this.places.length = 0; + const addPlaceResult = this.addPlace(element, options); + global/* instances */.as[this.id] = this; + const init = () => { + if (this.e) { + this.e.fire('afterInit', this); + } + this.afterInitHook(); + this.setStatus(modules.STATUSES.ready); + this.e.fire('afterConstructor', this); + }; + (0,helpers.callPromise)(addPlaceResult, init); + }); + }); + } addPlace(source, options) { const element = (0,helpers.resolveElement)(source, this.o.shadowRoot || this.od); this.attachEvents(options); @@ -21284,6 +21660,8 @@ let Jodit = Jodit_1 = class Jodit extends modules.ViewWithToolbar { contenteditable: false }); container.appendChild(workplace); + this.message.destruct(); + this.message = new modules.UIMessages(this, workplace); if (element.parentNode && element !== container) { element.parentNode.insertBefore(container, element); } @@ -21581,7 +21959,7 @@ function addClassNames(className, elm) { } // EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 7 modules -var checker = __webpack_require__(43435); +var checker = __webpack_require__(78411); ;// CONCATENATED MODULE: ./src/langs/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -21702,7 +22080,7 @@ var valign = __webpack_require__(2304); // EXTERNAL MODULE: ./src/core/ui/icon.ts -var icon = __webpack_require__(80353); +var icon = __webpack_require__(77904); ;// CONCATENATED MODULE: ./src/plugins/about/about.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -21754,7 +22132,7 @@ global/* pluginSystem.add */.pw.add('about', about); icon/* Icon.set */.J.set('about', __webpack_require__(84279)); // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); +var ui = __webpack_require__(93801); ;// CONCATENATED MODULE: ./src/plugins/add-new-line/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -21990,15 +22368,44 @@ class addNewLine extends modules.Plugin { global/* pluginSystem.add */.pw.add('addNewLine', addNewLine); // EXTERNAL MODULE: ./src/core/plugin/index.ts -var core_plugin = __webpack_require__(76454); +var core_plugin = __webpack_require__(57549); // EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); +var dom = __webpack_require__(64968); // EXTERNAL MODULE: ./src/core/selection/helpers/index.ts + 2 modules -var selection_helpers = __webpack_require__(37424); +var selection_helpers = __webpack_require__(80805); // EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom_dom = __webpack_require__(65401); +var dom_dom = __webpack_require__(24263); // EXTERNAL MODULE: ./src/core/helpers/utils/utils.ts -var utils = __webpack_require__(32389); +var utils = __webpack_require__(67309); +;// CONCATENATED MODULE: ./src/plugins/backspace/helpers.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + +function findMostNestedNeighbor(node, right, root, onlyInlide = false) { + const nextChild = (node) => right ? node.firstChild : node.lastChild; + let next = dom/* Dom.findNotEmptyNeighbor */.i.findNotEmptyNeighbor(node, !right, root); + if (onlyInlide && dom/* Dom.isElement */.i.isElement(next) && !dom/* Dom.isInlineBlock */.i.isInlineBlock(next)) { + return null; + } + if (next) { + do { + if (nextChild(next)) { + next = nextChild(next); + } + else { + return next; + } + } while (next); + } + return null; +} +function getMoveFilter(jodit) { + return (node) => jodit.e.fire('backSpaceIsMovedIgnore', node) !== true; +} + ;// CONCATENATED MODULE: ./src/plugins/backspace/cases/check-join-two-lists.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -22007,6 +22414,7 @@ var utils = __webpack_require__(32389); */ + function checkJoinTwoLists(jodit, fakeNode, backspace) { const next = dom_dom/* Dom.findSibling */.i.findSibling(fakeNode, backspace), prev = dom_dom/* Dom.findSibling */.i.findSibling(fakeNode, !backspace); if (!dom_dom/* Dom.closest */.i.closest(fakeNode, dom_dom/* Dom.isElement */.i.isElement, jodit.editor) && @@ -22017,7 +22425,7 @@ function checkJoinTwoLists(jodit, fakeNode, backspace) { const { setCursorBefore, setCursorAfter } = jodit.s; const target = next.lastElementChild, second = prev.firstElementChild; (0,utils/* call */.RE)(!backspace ? dom_dom/* Dom.append */.i.append : dom_dom/* Dom.prepend */.i.prepend, second, fakeNode); - dom_dom/* Dom.moveContent */.i.moveContent(prev, next, !backspace); + dom_dom/* Dom.moveContent */.i.moveContent(prev, next, !backspace, getMoveFilter(jodit)); dom_dom/* Dom.safeRemove */.i.safeRemove(prev); (0,utils/* call */.RE)(backspace ? dom_dom/* Dom.append */.i.append : dom_dom/* Dom.prepend */.i.prepend, target, fakeNode); (0,utils/* call */.RE)(backspace ? setCursorBefore : setCursorAfter, fakeNode); @@ -22123,32 +22531,6 @@ function checkRemoveContentNotEditable(jodit, fakeNode, backspace) { return false; } -;// CONCATENATED MODULE: ./src/plugins/backspace/helpers.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - -function findMostNestedNeighbor(node, right, root, onlyInlide = false) { - const nextChild = (node) => right ? node.firstChild : node.lastChild; - let next = dom/* Dom.findNotEmptyNeighbor */.i.findNotEmptyNeighbor(node, !right, root); - if (onlyInlide && dom/* Dom.isElement */.i.isElement(next) && !dom/* Dom.isInlineBlock */.i.isInlineBlock(next)) { - return null; - } - if (next) { - do { - if (nextChild(next)) { - next = nextChild(next); - } - else { - return next; - } - } while (next); - } - return null; -} - ;// CONCATENATED MODULE: ./src/plugins/backspace/cases/check-remove-char.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -22318,6 +22700,7 @@ function checkRemoveEmptyNeighbor(jodit, fakeNode, backspace) { * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ + function checkJoinNeighbors(jodit, fakeNode, backspace) { let nextBox = fakeNode, mainClosestBox = nextBox; while (nextBox && @@ -22354,7 +22737,7 @@ function checkMoveListContent(jodit, mainClosestBox, sibling, backspace) { } function moveContentAndRemoveEmpty(jodit, mainClosestBox, sibling, backspace) { if (mainClosestBox && dom_dom/* Dom.isElement */.i.isElement(sibling)) { - dom_dom/* Dom.moveContent */.i.moveContent(mainClosestBox, sibling, !backspace); + dom_dom/* Dom.moveContent */.i.moveContent(mainClosestBox, sibling, !backspace, getMoveFilter(jodit)); let remove = mainClosestBox; while (remove && remove !== jodit.editor && dom_dom/* Dom.isEmpty */.i.isEmpty(remove)) { const parent = remove.parentElement; @@ -22367,7 +22750,7 @@ function moveContentAndRemoveEmpty(jodit, mainClosestBox, sibling, backspace) { } // EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var helpers_utils = __webpack_require__(38301); +var helpers_utils = __webpack_require__(76502); ;// CONCATENATED MODULE: ./src/plugins/backspace/cases/check-unwrap-first-list-item.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -22545,6 +22928,9 @@ class backspace extends core_plugin/* Plugin */.S { if (!dom/* Dom.isOrContains */.i.isOrContains(jodit.editor, fakeNode)) { return; } + if (jodit.e.fire('backSpaceBeforeCases', backspace, fakeNode)) { + return false; + } (0,selection_helpers/* moveNodeInsideStart */.F)(jodit, fakeNode, backspace); if (cases.some((func) => { if ((0,helpers.isFunction)(func) && @@ -22561,6 +22947,7 @@ class backspace extends core_plugin/* Plugin */.S { throw e; } finally { + jodit.e.fire('backSpaceAfterDelete', backspace, fakeNode); this.safeRemoveEmptyNode(fakeNode); } return false; @@ -22795,15 +23182,15 @@ global/* pluginSystem.add */.pw.add('classSpan', classSpan); ui/* Icon.set */.JO.set('class-span', __webpack_require__(20026)); // EXTERNAL MODULE: ./src/core/helpers/html/safe-html.ts -var safe_html = __webpack_require__(46860); +var safe_html = __webpack_require__(67128); // EXTERNAL MODULE: ./src/core/plugin/plugin.ts -var plugin_plugin = __webpack_require__(90431); +var plugin_plugin = __webpack_require__(85605); // EXTERNAL MODULE: ./src/core/dom/lazy-walker.ts -var lazy_walker = __webpack_require__(20847); +var lazy_walker = __webpack_require__(33841); // EXTERNAL MODULE: ./src/core/helpers/string/trim.ts -var trim = __webpack_require__(89681); +var trim = __webpack_require__(33941); // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); ;// CONCATENATED MODULE: ./src/plugins/clean-html/helpers/get-hash.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -23003,10 +23390,11 @@ function allowAttributes(jodit, nodeElm, hadEffect, allow) { * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ + function fillEmptyParagraph(jodit, nodeElm, hadEffect) { if (jodit.o.cleanHTML.fillEmptyParagraph && dom_dom/* Dom.isBlock */.i.isBlock(nodeElm) && - dom_dom/* Dom.isEmpty */.i.isEmpty(nodeElm, /^(img|svg|canvas|input|textarea|form|br)$/)) { + dom_dom/* Dom.isEmpty */.i.isEmpty(nodeElm, constants.INSEPARABLE_TAGS)) { const br = jodit.createInside.element('br'); nodeElm.appendChild(br); return true; @@ -23384,7 +23772,7 @@ class clipboard { global/* pluginSystem.add */.pw.add('clipboard', clipboard); // EXTERNAL MODULE: ./src/modules/widget/index.ts + 3 modules -var widget = __webpack_require__(51308); +var widget = __webpack_require__(74331); ;// CONCATENATED MODULE: ./src/plugins/color/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -23542,7 +23930,7 @@ function color(editor) { global/* pluginSystem.add */.pw.add('color', color); // EXTERNAL MODULE: ./src/core/helpers/utils/css.ts -var css = __webpack_require__(76239); +var css = __webpack_require__(26911); ;// CONCATENATED MODULE: ./src/plugins/copy-format/copy-format.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -23642,13 +24030,13 @@ function copyFormat(editor) { name: 'copyformat', group: 'clipboard' }); - (0,global/* extendLang */.xl)(__webpack_require__(28255)); + (0,global/* extendLang */.xl)(__webpack_require__(9188)); } global/* pluginSystem.add */.pw.add('copyformat', copyFormat); icon/* Icon.set */.J.set('copyformat', __webpack_require__(83301)); // EXTERNAL MODULE: ./src/modules/file-browser/index.ts + 16 modules -var file_browser = __webpack_require__(75121); +var file_browser = __webpack_require__(8649); ;// CONCATENATED MODULE: ./src/plugins/drag-and-drop/drag-and-drop.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -23997,8 +24385,10 @@ class dragAndDropElement extends core_plugin/* Plugin */.S { ], dragAndDropElement.prototype, "onDrop", null); global/* pluginSystem.add */.pw.add('dragAndDropElement', dragAndDropElement); +// EXTERNAL MODULE: ./src/core/helpers/checker/is-boolean.ts +var is_boolean = __webpack_require__(67749); // EXTERNAL MODULE: ./src/core/helpers/utils/scroll-into-view.ts -var scroll_into_view = __webpack_require__(14475); +var scroll_into_view = __webpack_require__(9005); ;// CONCATENATED MODULE: ./src/plugins/enter/helpers/check-br.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -24048,7 +24438,7 @@ function checkUnsplittableBox(jodit, currentBox) { } // EXTERNAL MODULE: ./src/core/helpers/utils/selector.ts -var selector = __webpack_require__(73549); +var selector = __webpack_require__(54188); ;// CONCATENATED MODULE: ./src/plugins/enter/helpers/insert-paragraph.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -24262,6 +24652,8 @@ function moveCursorOutFromSpecialTags(jodit, current, tags) { + + class enter extends plugin_plugin/* Plugin */.S { afterInit(editor) { const defaultTag = editor.o.enter.toLowerCase(); @@ -24285,6 +24677,7 @@ class enter extends plugin_plugin/* Plugin */.S { } editor.s.focus(); this.onEnter(event); + editor.e.fire('afterEnter', event); editor.synchronizeValues(); return false; } @@ -24309,12 +24702,16 @@ class enter extends plugin_plugin/* Plugin */.S { if (!checkUnsplittableBox(jodit, currentBox)) { return false; } - if (isLi && dom_dom/* Dom.isEmpty */.i.isEmpty(currentBox)) { + if (isLi && this.__isEmptyListLeaf(currentBox)) { processEmptyLILeaf(jodit, currentBox); return false; } splitFragment(jodit, currentBox); } + __isEmptyListLeaf(li) { + const result = this.j.e.fire('enterIsEmptyListLeaf', li); + return (0,is_boolean/* isBoolean */.j)(result) ? result : dom_dom/* Dom.isEmpty */.i.isEmpty(li); + } getCurrentOrFillEmpty(editor) { const { s } = editor; let current = s.current(false); @@ -24682,7 +25079,7 @@ function formatBlock(editor) { global/* pluginSystem.add */.pw.add('formatBlock', formatBlock); // EXTERNAL MODULE: ./src/core/helpers/checker/is-jodit-object.ts -var is_jodit_object = __webpack_require__(12866); +var is_jodit_object = __webpack_require__(77892); ;// CONCATENATED MODULE: ./src/plugins/fullsize/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -25263,7 +25660,7 @@ global/* pluginSystem.add */.pw.add('iframe', iframe); icon/* Icon.set */.J.set('image', __webpack_require__(53477)); config/* Config.prototype.controls.image */.D.prototype.controls.image = { - popup: (editor, current, self, close) => { + popup: (editor, current, ignore, close) => { let sourceImage = null; if (current && !dom/* Dom.isText */.i.isText(current) && @@ -25429,9 +25826,9 @@ function dataURItoBlob(dataURI) { global/* pluginSystem.add */.pw.add('imageProcessor', imageProcessor); // EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules -var ui_button = __webpack_require__(81402); +var ui_button = __webpack_require__(55310); // EXTERNAL MODULE: ./src/modules/image-editor/image-editor.ts + 2 modules -var image_editor = __webpack_require__(37113); +var image_editor = __webpack_require__(99583); ;// CONCATENATED MODULE: ./src/plugins/image-properties/templates/form.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -26149,9 +26546,9 @@ function indent(editor) { global/* pluginSystem.add */.pw.add('indent', indent); // EXTERNAL MODULE: ./src/modules/toolbar/factory.ts -var factory = __webpack_require__(5243); +var factory = __webpack_require__(81438); // EXTERNAL MODULE: ./src/core/ui/popup/index.ts -var popup = __webpack_require__(36649); +var popup = __webpack_require__(35799); ;// CONCATENATED MODULE: ./src/plugins/inline-popup/config/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -26170,15 +26567,15 @@ icon/* Icon.set */.J.set('addcolumn', __webpack_require__(78321)) .set('th', __webpack_require__(52242)) .set('splitg', __webpack_require__(44563)) .set('splitv', __webpack_require__(53183)) - .set('th-list', __webpack_require__(6102)); + .set('th-list', __webpack_require__(18548)); config/* Config.prototype.popup */.D.prototype.popup = { - a: (__webpack_require__(60953)/* ["default"] */ .Z), - img: (__webpack_require__(45687)/* ["default"] */ .Z), - cells: (__webpack_require__(76306)/* ["default"] */ .Z), - toolbar: (__webpack_require__(57503)/* ["default"] */ .Z), - jodit: (__webpack_require__(94695)/* ["default"] */ .Z), - iframe: (__webpack_require__(94695)/* ["default"] */ .Z), - 'jodit-media': (__webpack_require__(94695)/* ["default"] */ .Z), + a: (__webpack_require__(27487)/* ["default"] */ .Z), + img: (__webpack_require__(97425)/* ["default"] */ .Z), + cells: (__webpack_require__(59500)/* ["default"] */ .Z), + toolbar: (__webpack_require__(55350)/* ["default"] */ .Z), + jodit: (__webpack_require__(66686)/* ["default"] */ .Z), + iframe: (__webpack_require__(66686)/* ["default"] */ .Z), + 'jodit-media': (__webpack_require__(66686)/* ["default"] */ .Z), selection: [ 'bold', 'underline', @@ -26419,7 +26816,7 @@ class inlinePopup extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('inlinePopup', inlinePopup); // EXTERNAL MODULE: ./src/core/helpers/utils/align.ts -var align = __webpack_require__(55667); +var align = __webpack_require__(60303); ;// CONCATENATED MODULE: ./src/plugins/justify/justify.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -26705,7 +27102,7 @@ class lineHeight extends core_plugin/* Plugin */.S { group: 'font' } ]; - (0,global/* extendLang */.xl)(__webpack_require__(78124)); + (0,global/* extendLang */.xl)(__webpack_require__(26752)); } afterInit(jodit) { (0,helpers.css)(jodit.editor, { @@ -26758,7 +27155,7 @@ class lineHeight extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('lineHeight', lineHeight); // EXTERNAL MODULE: ./src/core/ui/form/index.ts + 6 modules -var ui_form = __webpack_require__(18839); +var ui_form = __webpack_require__(80567); ;// CONCATENATED MODULE: ./src/plugins/link/template.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -26922,13 +27319,13 @@ class link_link extends core_plugin/* Plugin */.S { if (jodit.o.link.processPastedLink) { jodit.e.on('processPaste.link', this.onProcessPasteLink); } - jodit.e.on('generateLinkForm.link', this.generateForm); + jodit.e.on('generateLinkForm.link', this.__generateForm); jodit.registerCommand('openLinkDialog', { exec: () => { const dialog = jodit.dlg({ resizable: false }); - const htmlForm = this.generateForm(jodit.s.current(), () => { + const htmlForm = this.__generateForm(jodit.s.current(), () => { dialog.close(); }); htmlForm.container.classList.add('jodit-dialog_alert'); @@ -26954,23 +27351,32 @@ class link_link extends core_plugin/* Plugin */.S { } onProcessPasteLink(ignore, html) { const { jodit } = this; - if ((0,helpers.isURL)(html)) { - if (jodit.o.link.processVideoLink) { - const embed = (0,helpers.convertMediaUrlToVideoEmbed)(html); - if (embed !== html) { - jodit.e.stopPropagation('processPaste'); - return jodit.createInside.fromHTML(embed); - } + if (!(0,helpers.isURL)(html) || !jodit.o.link.processPastedLink) { + return; + } + jodit.e.stopPropagation('processPaste'); + if (jodit.o.link.processVideoLink) { + const embed = (0,helpers.convertMediaUrlToVideoEmbed)(html); + if (embed !== html) { + return jodit.createInside.fromHTML(embed); } + } + if (jodit.s.isCollapsed()) { const a = jodit.createInside.element('a'); a.setAttribute('href', html); a.textContent = html; - jodit.e.stopPropagation('processPaste'); jodit.e.fire('applyLink', jodit, a, null); return a; } + jodit.s.applyStyle(undefined, { + element: 'a', + attributes: { + href: html + } + }); + return true; } - generateForm(current, close) { + __generateForm(current, close) { const { jodit } = this; const i18n = jodit.i18n.bind(jodit), { openInNewTabCheckbox, noFollowCheckbox, formTemplate, formClassName, modeClassName } = jodit.o.link; const html = formTemplate(jodit), form = (0,helpers.isString)(html) @@ -27165,7 +27571,7 @@ class link_link extends core_plugin/* Plugin */.S { } beforeDestruct(jodit) { jodit.e - .off('generateLinkForm.link', this.generateForm) + .off('generateLinkForm.link', this.__generateForm) .off('dblclick.link', this.onDblClickOnLink) .off('processPaste.link', this.onProcessPasteLink); } @@ -27178,7 +27584,7 @@ class link_link extends core_plugin/* Plugin */.S { ], link_link.prototype, "onProcessPasteLink", null); (0,tslib_es6/* __decorate */.gn)([ decorators.autobind -], link_link.prototype, "generateForm", null); +], link_link.prototype, "__generateForm", null); global/* pluginSystem.add */.pw.add('link', link_link); ;// CONCATENATED MODULE: ./src/plugins/media/config.ts @@ -27260,9 +27666,9 @@ function media(editor) { global/* pluginSystem.add */.pw.add('media', media); // EXTERNAL MODULE: ./src/core/ui/helpers/buttons.ts -var helpers_buttons = __webpack_require__(20220); +var helpers_buttons = __webpack_require__(97642); // EXTERNAL MODULE: ./src/modules/toolbar/collection/collection.ts -var collection = __webpack_require__(50); +var collection = __webpack_require__(72719); ;// CONCATENATED MODULE: ./src/plugins/mobile/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -27374,7 +27780,7 @@ function mobile(editor) { global/* pluginSystem.add */.pw.add('mobile', mobile); // EXTERNAL MODULE: ./src/core/helpers/utils/data-bind.ts -var data_bind = __webpack_require__(75698); +var data_bind = __webpack_require__(63122); ;// CONCATENATED MODULE: ./src/plugins/ordered-list/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -27466,7 +27872,7 @@ class orderedList extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('orderedList', orderedList); // EXTERNAL MODULE: ./src/core/ui/button/button/button.ts -var button_button = __webpack_require__(6816); +var button_button = __webpack_require__(96031); ;// CONCATENATED MODULE: ./src/plugins/paste/helpers.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -28019,8 +28425,8 @@ class pasteStorage extends plugin_plugin/* Plugin */.S { } global/* pluginSystem.add */.pw.add('pasteStorage', pasteStorage); -// EXTERNAL MODULE: ./src/core/selection/index.ts + 19 modules -var selection = __webpack_require__(92415); +// EXTERNAL MODULE: ./src/core/helpers/checker/is-marker.ts +var is_marker = __webpack_require__(37204); ;// CONCATENATED MODULE: ./src/plugins/placeholder/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -28049,22 +28455,24 @@ config/* Config.prototype.useInputsPlaceholder */.D.prototype.useInputsPlacehold + function isEditorEmpty(root) { + var _a; if (!root.firstChild) { return true; } const first = root.firstChild; - if (constants.MAY_BE_REMOVED_WITH_KEY.test(first.nodeName) || + if (constants.INSEPARABLE_TAGS.has((_a = first.nodeName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || /^(TABLE)$/i.test(first.nodeName)) { return false; } - const next = dom/* Dom.next */.i.next(first, node => node && !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node), root); - if (dom/* Dom.isText */.i.isText(first) && !next) { - return dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(first); + const next = dom_dom/* Dom.next */.i.next(first, node => node && !dom_dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node), root); + if (dom_dom/* Dom.isText */.i.isText(first) && !next) { + return dom_dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(first); } return (!next && - dom/* Dom.each */.i.each(first, elm => !dom/* Dom.isTag */.i.isTag(elm, ['ul', 'li', 'ol']) && - (dom/* Dom.isEmpty */.i.isEmpty(elm) || dom/* Dom.isTag */.i.isTag(elm, 'br')))); + dom_dom/* Dom.each */.i.each(first, elm => !dom_dom/* Dom.isTag */.i.isTag(elm, ['ul', 'li', 'ol']) && + (dom_dom/* Dom.isEmpty */.i.isEmpty(elm) || dom_dom/* Dom.isTag */.i.isTag(elm, 'br')))); } class placeholder extends plugin_plugin/* Plugin */.S { constructor() { @@ -28079,7 +28487,7 @@ class placeholder extends plugin_plugin/* Plugin */.S { if (editor.o.useInputsPlaceholder && editor.element.hasAttribute('placeholder')) { this.placeholderElm.innerHTML = - (0,helpers.attr)(editor.element, 'placeholder') || ''; + (0,utils/* attr */.Lj)(editor.element, 'placeholder') || ''; } editor.e.fire('placeholder', this.placeholderElm.innerHTML); editor.e @@ -28119,13 +28527,13 @@ class placeholder extends plugin_plugin/* Plugin */.S { return; } let marginTop = 0, marginLeft = 0; - const current = editor.s.current(), wrapper = (current && dom/* Dom.closest */.i.closest(current, dom/* Dom.isBlock */.i.isBlock, editor.editor)) || + const current = editor.s.current(), wrapper = (current && dom_dom/* Dom.closest */.i.closest(current, dom_dom/* Dom.isBlock */.i.isBlock, editor.editor)) || editor.editor; const style = editor.ew.getComputedStyle(wrapper); const styleEditor = editor.ew.getComputedStyle(editor.editor); editor.workplace.appendChild(this.placeholderElm); const { firstChild } = editor.editor; - if (dom/* Dom.isElement */.i.isElement(firstChild) && !selection/* Select.isMarker */.Ph.isMarker(firstChild)) { + if (dom_dom/* Dom.isElement */.i.isElement(firstChild) && !(0,is_marker/* isMarker */._)(firstChild)) { const style2 = editor.ew.getComputedStyle(firstChild); marginTop = parseInt(style2.getPropertyValue('margin-top'), 10); marginLeft = parseInt(style2.getPropertyValue('margin-left'), 10); @@ -28140,7 +28548,7 @@ class placeholder extends plugin_plugin/* Plugin */.S { this.placeholderElm.style.lineHeight = style.getPropertyValue('line-height'); } - (0,helpers.css)(this.placeholderElm, { + (0,css/* css */.i)(this.placeholderElm, { display: 'block', textAlign: style.getPropertyValue('text-align'), paddingTop: parseInt(styleEditor.paddingTop, 10) + 'px', @@ -28151,7 +28559,7 @@ class placeholder extends plugin_plugin/* Plugin */.S { }); } hide() { - dom/* Dom.safeRemove */.i.safeRemove(this.placeholderElm); + dom_dom/* Dom.safeRemove */.i.safeRemove(this.placeholderElm); } toggle() { const editor = this.j; @@ -28208,7 +28616,7 @@ function poweredByJodit(jodit) { global/* pluginSystem.add */.pw.add('poweredByJodit', poweredByJodit); // EXTERNAL MODULE: ./src/core/helpers/utils/print.ts -var print = __webpack_require__(25846); +var print = __webpack_require__(21498); ;// CONCATENATED MODULE: ./src/plugins/preview/preview.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -28242,9 +28650,9 @@ function preview(editor) { global/* pluginSystem.add */.pw.add('preview', preview); // EXTERNAL MODULE: ./src/core/helpers/utils/default-language.ts -var default_language = __webpack_require__(4371); +var default_language = __webpack_require__(93351); // EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts -var to_array = __webpack_require__(58260); +var to_array = __webpack_require__(1853); ;// CONCATENATED MODULE: ./src/plugins/print/lib/generate-critical-css.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -29297,6 +29705,46 @@ global/* pluginSystem.add */.pw.add('resizer', resizer); let UISearch = class UISearch extends ui/* UIElement */.u1 { + className() { + return 'UISearch'; + } + render() { + return `
+
+
+ + +
+
+ + 0/0 + +
+
+ + + + +
+
+
`; + } + get currentIndex() { + return this._currentIndex; + } + set currentIndex(value) { + this._currentIndex = value; + this.currentBox.innerText = value.toString(); + } + set count(value) { + this.countBox.innerText = value.toString(); + } + get query() { + return this.queryInput.value; + } + get replace() { + return this.replaceInput.value; + } constructor(jodit) { super(jodit); this.selInfo = null; @@ -29353,46 +29801,6 @@ let UISearch = class UISearch extends ui/* UIElement */.u1 { } }, this.j.defaultTimeout)); } - className() { - return 'UISearch'; - } - render() { - return `
-
-
- - -
-
- - 0/0 - -
-
- - - - -
-
-
`; - } - get currentIndex() { - return this._currentIndex; - } - set currentIndex(value) { - this._currentIndex = value; - this.currentBox.innerText = value.toString(); - } - set count(value) { - this.countBox.innerText = value.toString(); - } - get query() { - return this.queryInput.value; - } - get replace() { - return this.replaceInput.value; - } onEditorKeyDown(e) { if (!this.isOpened) { return; @@ -29483,7 +29891,7 @@ UISearch = (0,tslib_es6/* __decorate */.gn)([ // EXTERNAL MODULE: ./src/core/helpers/string/fuzzy-search-index.ts -var fuzzy_search_index = __webpack_require__(83212); +var fuzzy_search_index = __webpack_require__(93163); ;// CONCATENATED MODULE: ./src/plugins/search/helpers/sentence-finder.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -30010,7 +30418,7 @@ class search extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('search', search); // EXTERNAL MODULE: ./src/core/helpers/string/camel-case.ts -var camel_case = __webpack_require__(79417); +var camel_case = __webpack_require__(26596); ;// CONCATENATED MODULE: ./src/plugins/select/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -31325,7 +31733,7 @@ class spellcheck extends core_plugin/* Plugin */.S { name: 'spellcheck' } ]; - (0,global/* extendLang */.xl)(__webpack_require__(37942)); + (0,global/* extendLang */.xl)(__webpack_require__(87882)); } afterInit(jodit) { jodit.e.on('afterInit afterAddPlace prepareWYSIWYGEditor', this.toggleSpellcheck); @@ -31786,7 +32194,7 @@ class symbols extends plugin_plugin/* Plugin */.S { } ]; this.countInRow = 17; - (0,global/* extendLang */.xl)(__webpack_require__(52546)); + (0,global/* extendLang */.xl)(__webpack_require__(21236)); } afterInit(jodit) { jodit.e.on('generateSpecialCharactersTable.symbols', () => { @@ -31887,6 +32295,8 @@ class symbols extends plugin_plugin/* Plugin */.S { } global/* pluginSystem.add */.pw.add('symbols', symbols); +// EXTERNAL MODULE: ./src/core/helpers/utils/assert.ts +var assert = __webpack_require__(603); ;// CONCATENATED MODULE: ./src/plugins/tab/cases/on-tab-inside-li.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -31894,30 +32304,100 @@ global/* pluginSystem.add */.pw.add('symbols', symbols); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -function onTabInsideLi(jodit) { - if (!jodit.o.tab.tabInsideLiInsertNewList || !jodit.s.isCollapsed()) { + +function onTabInsideLi(jodit, shift = false) { + if (!jodit.o.tab.tabInsideLiInsertNewList) { return false; } - const fake = jodit.createInside.fake(); - jodit.s.insertNode(fake); - const li = dom_dom/* Dom.closest */.i.closest(fake, 'li', jodit.editor); - if (li && - jodit.s.cursorOnTheLeft(li) && - dom_dom/* Dom.isTag */.i.isTag(li.previousElementSibling, 'li')) { + const [fake, fake2] = fakeCursors(jodit); + try { + const li = getParentLeaf(jodit, fake, shift); + if (!li) { + return false; + } + if (!isSameLeftCursorPosition(li, jodit, fake)) { + return false; + } const list = dom_dom/* Dom.closest */.i.closest(li, ['ol', 'ul'], jodit.editor); - if (list) { - const newList = jodit.createInside.element(list.tagName); - const previousLi = li.previousElementSibling; - newList.appendChild(li); - previousLi.appendChild(newList); - jodit.s.setCursorAfter(fake); - dom_dom/* Dom.safeRemove */.i.safeRemove(fake); - return true; + if (!list || (shift && !dom_dom/* Dom.closest */.i.closest(list, 'li', jodit.editor))) { + return false; + } + if (!shift) { + appendNestedList(jodit, list, li); + } + else { + removeNestedList(jodit, list, li); } + return true; + } + finally { + const range = jodit.s.createRange(); + range.setStartAfter(fake); + range.setEndBefore(fake2); + jodit.s.selectRange(range); + dom_dom/* Dom.safeRemove */.i.safeRemove(fake); + dom_dom/* Dom.safeRemove */.i.safeRemove(fake2); } - dom_dom/* Dom.safeRemove */.i.safeRemove(fake); return false; } +function fakeCursors(jodit) { + const fake = jodit.createInside.fake(); + const fake2 = jodit.createInside.fake(); + const r = jodit.s.range.cloneRange(); + r.collapse(true); + r.insertNode(fake); + const r2 = jodit.s.range.cloneRange(); + r2.collapse(false); + r2.insertNode(fake2); + return [fake, fake2]; +} +function getParentLeaf(jodit, fake, shift) { + const li = dom_dom/* Dom.closest */.i.closest(fake, 'li', jodit.editor); + if (!li) { + return false; + } + if (!shift && !dom_dom/* Dom.isTag */.i.isTag(li.previousElementSibling, 'li')) { + return false; + } + if (shift && !dom_dom/* Dom.closest */.i.closest(li, 'li', jodit.editor)) { + return false; + } + return li; +} +function isSameLeftCursorPosition(li, jodit, fake) { + const li2 = dom_dom/* Dom.closest */.i.closest(fake, 'li', jodit.editor); + return !(!li2 || (li2 !== li && !li.contains(li2))); +} +function appendNestedList(jodit, list, li) { + const previousLi = li.previousElementSibling; + void 0; + const lastElm = previousLi.lastElementChild; + const newList = dom_dom/* Dom.isTag */.i.isTag(lastElm, list.tagName) + ? lastElm + : jodit.createInside.element(list.tagName, Array.from(list.attributes).reduce((acc, attr) => { + acc[attr.name] = attr.value; + return acc; + }, {})); + newList.appendChild(li); + lastElm !== newList && previousLi.appendChild(newList); +} +function removeNestedList(jodit, list, li) { + const parentLi = dom_dom/* Dom.closest */.i.closest(list, 'li', jodit.editor); + void 0; + const items = Array.from(list.children).filter(t => dom_dom/* Dom.isTag */.i.isTag(t, 'li')); + dom_dom/* Dom.after */.i.after(parentLi, li); + const index = items.indexOf(li); + if (index === 0 || items.length === 1) { + dom_dom/* Dom.safeRemove */.i.safeRemove(list); + } + if (index !== items.length - 1) { + const clone = list.cloneNode(); + dom_dom/* Dom.append */.i.append(li, clone); + for (let i = index + 1; i < items.length; i += 1) { + dom_dom/* Dom.append */.i.append(clone, items[i]); + } + } +} ;// CONCATENATED MODULE: ./src/plugins/tab/cases/index.ts /*! @@ -31953,16 +32433,32 @@ config/* Config.prototype.tab */.D.prototype.tab = { class tab extends core_plugin/* Plugin */.S { afterInit(jodit) { } - onTab(event) { - if (event.key === constants.KEY_TAB && onTabInsideLi(this.j)) { + __onTab(event) { + if (event.key === constants.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 = onTabInsideLi(this.j, shift); + if (res) { + this.j.e.fire('afterTab', shift); + } + return res; + } beforeDestruct(jodit) { } } (0,tslib_es6/* __decorate */.gn)([ (0,decorators.watch)(':keydown.tab') -], tab.prototype, "onTab", null); +], tab.prototype, "__onTab", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.watch)(':beforeCommand.tab') +], tab.prototype, "__onCommand", null); global/* pluginSystem.add */.pw.add('tab', tab); ;// CONCATENATED MODULE: ./src/plugins/table/config.ts @@ -32128,7 +32624,7 @@ function table(editor) { global/* pluginSystem.add */.pw.add('table', table); // EXTERNAL MODULE: ./src/modules/table/table.ts -var table_table = __webpack_require__(70218); +var table_table = __webpack_require__(25120); ;// CONCATENATED MODULE: ./src/plugins/table-keyboard-navigation/table-keyboard-navigation.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -32452,7 +32948,7 @@ class wrapNodes extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('wrapNodes', wrapNodes); // EXTERNAL MODULE: ./src/core/decorators/watch/watch.ts -var watch = __webpack_require__(30192); +var watch = __webpack_require__(46163); ;// CONCATENATED MODULE: ./src/plugins/dtd/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -32594,7 +33090,7 @@ class dtd extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('dtd', dtd); // EXTERNAL MODULE: ./src/modules/context-menu/context-menu.ts -var context_menu = __webpack_require__(82616); +var context_menu = __webpack_require__(60403); ;// CONCATENATED MODULE: ./src/plugins/xpath/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -32866,6 +33362,8 @@ Object.keys(langs) Jodit.lang[key] = langs[key]; }); +class CommitMode { +} }(); __webpack_exports__ = __webpack_require__.O(__webpack_exports__); diff --git a/build/jodit.es2018.en.min.css b/build/jodit.es2018.en.min.css index cadbafd63..90de43bb7 100644 --- a/build/jodit.es2018.en.min.css +++ b/build/jodit.es2018.en.min.css @@ -1 +1 @@ -:root{--jd-color-white:#fff;--jd-color-gray:#dadada;--jd-color-gray-dark:#a5a5a5;--jd-color-dark:#4c4c4c;--jd-color-blue:#b5d6fd;--jd-color-light-blue:rgba(181,214,253,.5);--jd-color-red:#ff3b3b;--jd-color-light-red:rgba(255,59,59,.4);--jd-color-default:var(--jd-color-dark);--jd-color-text:#222;--jd-color-label:var(--jd-color-gray-dark);--jd-color-error:var(--jd-color-red);--jd-color-border:var(--jd-color-gray);--jd-color-border-dark:var(--jd-color-dark);--jd-color-border-selected:#1e88e5;--jd-color-border-active:#b5b5b5;--jd-color-selection:var(--jd-color-dark);--jd-color-selection-area:#bdbdbd;--jd-color-separator:var(--jd-color-border);--jd-color-placeholder:var(--jd-color-gray-dark);--jd-color-panel:#f9f9f9;--jd-color-resizer:#c8c8c8;--jd-color-background-default:var(--jd-color-white);--jd-color-background-light-gray:#f5f5f6;--jd-color-background-gray:var(--jd-color-gray);--jd-color-background-gray-hover:#f8f8f8;--jd-color-background-hover:#7a450f;--jd-color-background-button-hover:#ecebe9;--jd-color-background-button-hover-opacity30:hsla(40,7%,92%,.3);--jd-color-background-progress:#b91f1f;--jd-color-background-filebrowser-folders:#3f3f3f;--jd-color-background-active:#2196f3;--jd-color-background-selection:#b5d6fd;--jd-color-background-selection_opacity50:rgba(181,214,253,.995);--jd-color-source-area:#323232;--jd-color-button-background-hover:#dcdcdc;--jd-color-button-background-hover_opacity40:hsla(0,0%,86%,.4);--jd-color-button-background-hover_opacity60:hsla(0,0%,86%,.6);--jd-font-default:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--jd-font-size-default:14px;--jd-font-size-small:11px;--jd-color-text-icons:rgba(0,0,0,.75);--jd-color-icon:var(--jd-color-dark);--jd-padding-default:8px;--jd-border-radius-default:3px;--jd-z-index-full-size:100000;--jd-z-index-popup:10000001;--jd-z-index-dialog-overlay:20000003;--jd-z-index-dialog:20000004;--jd-z-index-context-menu:30000005;--jd-z-index-tooltip:30000006;--jd-icon-loader-size:48px;--jd-width_element_default:18px;--jd-height_element_default:18px;--jd-dark_background_color:#575757;--jd-dark-text-color:var(--jd-color-white);--jd-dark_background_ligher:#787878;--jd-dark_background_darknes:#353535;--jd-dark_border_color:#444;--jd-dark_text_color:#d1cccc;--jd-dark_text_color_opacity80:hsla(0,5%,81%,.8);--jd-dark_text_color_opacity50:hsla(0,5%,81%,.5);--jd-dark_icon_color:silver;--jd-dark_toolbar_color:#5f5c5c;--jd-dark_toolbar_seperator_color1:rgba(81,81,81,.41);--jd-dark_toolbar_seperator_color2:#686767;--jd-dark_toolbar_seperator_color_opacity80:hsla(0,0%,41%,.8);--jd-dark_toolbar_seperator_color3:hsla(0,0%,41%,.75);--jd-dark_color-border-selected:#152f5f;--jd-width-default:180px;--jd-width-input-min:var(--jd-width-default);--jd-input-height:32px;--jd-button-icon-size:14px;--jd-margin-v:2px;--jd-button-df-size:calc((var(--jd-button-icon-size) - 4px)*2);--jd-button-size:calc(var(--jd-button-icon-size) + var(--jd-button-df-size) + var(--jd-margin-v)*2);--jd-focus-input-box-shadow:0 0 0 0.05rem rgba(0,123,255,.25)}.jodit-wysiwyg{outline:0}.jodit-wysiwyg ::selection,.jodit-wysiwyg::selection{background:#b5d6fd;color:#4c4c4c}.jodit-container:not(.jodit_inline) .jodit-wysiwyg{margin:0;outline:0;overflow-x:auto;padding:8px;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg img{max-width:100%;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media{position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media *{position:relative;z-index:0}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}:root{--jd-switche-width:60px;--jd-switche-height:32px;--jd-switche-slider-margin:4px;--jd-switche-slider-size:calc(var(--jd-switche-height) - var(--jd-switche-slider-margin)*2)}.jodit-form{color:var(--jd-color-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-form.jodit_error{border-color:var(--jd-color-error);box-shadow:inset 0 0 3px 0 hsla(0,0%,74%,.3)}@media (max-width:768px){.jodit-form{min-width:150px}}.jodit-form button{background:#d6d6d6;border:none;color:var(--jd-color-dark);cursor:pointer;font-size:16px;height:36px;line-height:1;margin-bottom:var(--jd-padding-default);margin-top:var(--jd-padding-default);outline:none;padding:var(--jd-padding-default);text-decoration:none;transition:background .2s ease 0s}.jodit-form button:hover{background-color:var(--jd-color-background-button-hover);color:var(--jd-color-dark)}.jodit-form button:active{background:var(--jd-color-background-button-hover);color:var(--jd-color-dark)}.jodit-form label{align-items:center;display:flex;margin-bottom:var(--jd-padding-default);text-align:left;white-space:nowrap}.jodit-form label:last-child{margin-bottom:0}.jodit-form .jodit-form__center{justify-content:center}.jodit .jodit-input,.jodit .jodit-select,.jodit .jodit-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit .jodit-input[disabled],.jodit .jodit-select[disabled],.jodit .jodit-textarea[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit .jodit-input_has-error_true,.jodit .jodit-select_has-error_true,.jodit .jodit-textarea_has-error_true{border-color:var(--jd-color-red)}.jodit .jodit-input:focus{border-color:#66afe9;outline:0}.jodit-checkbox{border:0;cursor:pointer;height:16px;margin:0 calc(var(--jd-padding-default)/2) 0 0;outline:none;padding:0;position:relative;width:16px;z-index:2}.jodit-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4.95 10'%3E%3Cdefs%3E%3Cstyle%3E.cls-2{fill:%23444}%3C/style%3E%3C/defs%3E%3Cpath style='fill:%23fff' d='M0 0h4.95v10H0z'/%3E%3Cpath class='cls-2' d='m1.41 4.67 1.07-1.49 1.06 1.49H1.41zM3.54 5.33 2.48 6.82 1.41 5.33h2.13z'/%3E%3C/svg%3E");background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(var(--jd-padding-default)*2)}.jodit-textarea{height:auto}.jodit-form__group,.jodit-textarea{min-width:var(--jd-width-input-min)}.jodit-form__group{display:flex;flex-direction:column}.jodit-form__group,.jodit-form__group>label{margin-bottom:var(--jd-padding-default)}.jodit-button{align-items:center;background-color:var(--jd-color-background-gray);border:0;border-radius:.25rem;color:var(--jd-color-default);cursor:pointer;display:inline-flex;height:calc(var(--jd-padding-default)*4);justify-content:center;line-height:1;margin:0;padding:0 var(--jd-padding-default);position:relative;text-decoration:none;user-select:none;width:auto}.jodit-button svg{display:inline-block;height:24px;width:24px}.jodit-button svg+span{margin-left:calc(var(--jd-padding-default)/2)}.jodit-button:active,.jodit-button:focus{outline:0}.jodit-button.disabled{opacity:.7}.jodit-buttons{display:flex;flex-wrap:nowrap;justify-content:space-between;margin-bottom:var(--jd-padding-default)}.jodit-button .jodit_icon,.jodit-button svg,.jodit-dialog__header .jodit_icon,.jodit-dialog__header svg{display:inline-block;height:16px;vertical-align:middle;width:16px}.jodit-switcher{display:inline-block;height:var(--jd-switche-height);position:relative;width:var(--jd-switche-width)}.jodit-switcher input{height:0;opacity:0;width:0}.jodit-switcher .jodit-switcher__slider{background-color:var(--jd-color-gray);border-radius:var(--jd-switche-height);bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.jodit-switcher .jodit-switcher__slider:before{background-color:#fff;border-radius:50%;bottom:var(--jd-switche-slider-margin);content:"";height:var(--jd-switche-slider-size);left:var(--jd-switche-slider-margin);position:absolute;transition:.4s;width:var(--jd-switche-slider-size)}input:checked+.jodit-switcher__slider{background-color:var(--jd-color-background-active)}input:checked+.jodit-switcher__slider:before{transform:translateX(calc(var(--jd-switche-width) - var(--jd-switche-slider-margin)*2 - var(--jd-switche-slider-size)))}input:focus+.jodit-switcher__slider{box-shadow:0 0 1px var(--jd-color-background-active)}.jodit-button-group{display:flex}.jodit-button-group input{display:none}.jodit-button-group button{display:flex;flex:1;justify-content:center;text-align:center}.jodit-button-group button+button{margin-left:-1px}.jodit-button-group button:first-child,.jodit-button-group input:first-child+button{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.jodit-button-group button:last-child,.jodit-button-group input:last-child+button{border-bottom-left-radius:0;border-left:0;border-top-left-radius:0}.jodit-button-group input[type=checkbox]:checked+button,.jodit-button-group input[type=checkbox]:not(:checked)+button+button{background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.05)}.jodit_text_icons .jodit_icon{font-size:var(--jd-font-size-default);width:auto}.jodit_text_icons .jodit_icon:first-letter{text-transform:uppercase}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a{font-family:var(--jd-font-default);width:auto}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a i{width:auto}.jodit_text_icons.jodit-dialog .jodit-button,.jodit_text_icons.jodit-dialog .jodit-dialog__header a{color:var(--jd-color-text-icons);font-family:var(--jd-font-default);padding:var(--jd-padding-default);width:auto}.jodit_text_icons.jodit-dialog .jodit-button .jodit_icon,.jodit_text_icons.jodit-dialog .jodit-dialog__header a .jodit_icon{width:auto}.jodit-grid{display:flex;width:100%}.jodit-grid.jodit-grid_column{flex-direction:column}@media (max-width:480px){.jodit-grid.jodit-grid_xs-column{flex-direction:column}}.jodit-grid [class*=jodit_col-]{flex:1 1 auto}.jodit-grid .jodit_col-lg-5-5{width:100%}.jodit-grid .jodit_col-lg-4-5{width:80%}.jodit-grid .jodit_col-lg-3-5{width:60%}.jodit-grid .jodit_col-lg-2-5{width:40%}.jodit-grid .jodit_col-lg-1-5{width:20%}.jodit-grid .jodit_col-lg-4-4{width:100%}.jodit-grid .jodit_col-lg-3-4{width:75%}.jodit-grid .jodit_col-lg-2-4{width:50%}.jodit-grid .jodit_col-lg-1-4{width:25%}@media (max-width:992px){.jodit-grid .jodit_col-md-5-5{width:100%}.jodit-grid .jodit_col-md-4-5{width:80%}.jodit-grid .jodit_col-md-3-5{width:60%}.jodit-grid .jodit_col-md-2-5{width:40%}.jodit-grid .jodit_col-md-1-5{width:20%}.jodit-grid .jodit_col-md-4-4{width:100%}.jodit-grid .jodit_col-md-3-4{width:75%}.jodit-grid .jodit_col-md-2-4{width:50%}.jodit-grid .jodit_col-md-1-4{width:25%}}@media (max-width:768px){.jodit-grid .jodit_col-sm-5-5{width:100%}.jodit-grid .jodit_col-sm-4-5{width:80%}.jodit-grid .jodit_col-sm-3-5{width:60%}.jodit-grid .jodit_col-sm-2-5{width:40%}.jodit-grid .jodit_col-sm-1-5{width:20%}.jodit-grid .jodit_col-sm-4-4{width:100%}.jodit-grid .jodit_col-sm-3-4{width:75%}.jodit-grid .jodit_col-sm-2-4{width:50%}.jodit-grid .jodit_col-sm-1-4{width:25%}}@media (max-width:480px){.jodit-grid .jodit_col-xs-5-5{width:100%}.jodit-grid .jodit_col-xs-4-5{width:80%}.jodit-grid .jodit_col-xs-3-5{width:60%}.jodit-grid .jodit_col-xs-2-5{width:40%}.jodit-grid .jodit_col-xs-1-5{width:20%}.jodit-grid .jodit_col-xs-4-4{width:100%}.jodit-grid .jodit_col-xs-3-4{width:75%}.jodit-grid .jodit_col-xs-2-4{width:50%}.jodit-grid .jodit_col-xs-1-4{width:25%}}@keyframes a{to{transform:rotate(1turn)}}.jodit-icon_loader{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAABRsSURBVHja7F1/aJfVGn/33RgUg8FiNfK2WCykyS7GLoYyUbwYipZMumgLo+iPS9HlXhSHkRXdislESxMz0mapuaFo2myjkfnNlTQ2FJdTu8NvLVcrdbpcfGvxrfs823m/vXt3fjznvOedzr0PPJzzPe+7d+97Ps95nuc851fGAw884CD98ccfI1Jqmc3UpEyQz4FkMqRTgYshn8fymZ57SyGbzf5mENIOz9+ngE9Atg/SLkhPQHoWeEDn3SmpSZlJnvf7ypUrTpb7IyMjY+gGN6WWmaY84l2T3c+u58D1csjOgvwsyBdBvsDRo2zgMl/ZNM59vcAJ4Dj8nzikLa5QmBLv28YCfPd3li7gPHBMwKdcEwhCJgN6FoLOWJtUgiWovALG04FXsbI44xbgw8AplbaU/Q+ZQNgGf0gA/JWhC1aQyle1eN91rPRKKKuEsjzZvSph0m2RiutpIYRrfZC8B+l7kB6jgq0CnQIy9X39v2NYQW5FeUFQlQVN/aALyiYBPw/5M5B+Dvw02vMggqcDukEl57F3xHf9H747+4bA5oD6dzqaYEgAqIDbBl9RhvZ4H/B5yL+IDp3oXhmwNkm3lTLn80VIz+O3QFqm2/rHwgeI6QDOa006LZ3Q4lHNNwK3AVeYAD4WgmHQUivYNzWyb7xufICYaavXVbuKZ6MXfwRVJ+TnXW+Am/oMnNaO3/Y5pPitcyh/a6LqtXwAt+J01LVFEzAJ0jpIj7JunJYd1wHchnBQHUSC3Uan8WPgPVgHlBiBCcAkH4Da2i2DjwGZlcy5W0K17zLwVb9NgaY4iJpawJs+BCnWwUo3SKXT4oOAP8IHCFsIfMCguj8JaQ2kOaaA227d10ALuIR1gHVxErjctPtHBd8btSR3A4MIgSePAZxqVPeQlthq7ZRuZVABCVkLuGkJpGgKsY4ybfUEVO84qhsoAzSgrUfHZ1UQVe99B6o2oMYdwg7latAq5iROGoueQExW6UE0gCe/ANIh9SZ6jqkWsN3STZ0rHWEgpkNmEvILxqQbSAXaAPxqSBswQkbpbpo6fGPR0m3GBYjBIIwqNjCTEAr4wkBQUA0AjKNrdZCu0okAqgQhTKCDhFxV91BNgsDuYx3WQZptG3xtDUCJEDKvthGuLVEJlq4gUMyAylfQERadPrhKOHTmB3Ces4RFEXNsgW8UClbZcEhxqPQIpHOord2k1ZsAH4YvYNJXN3EgWX4Ocw4LbIEvDQSJfADJtULWxSuj+BBUP4DaC6D0DkyFg6JKTVo/5brvXqzbo2zSi3af3/9bGgrW1Ar5kH4MXEzVHEHVf5CuYZC4fti9AoI/gXX8Eda5Tp9f9I4xWWsnOoc5zNMv1okjmKp/vzay3epNJ4+YmALdoWBPWTHksc5zTU1AekqYt7LcWTruTYTZQdmQHoB0GuXv/de8L8e7xrsuA8kPNtx3AZIOxp3APc7wvD6kvi+//DLh3nvPPfegWs1jf4dBGGxpOA+hlOXzgw7VBjEBnDKcs4jzDOZDOmjqD2SJQFGBx9JaSOcQ7xVO2RIJhf86AfB+Z3huHs7Ra2pra+ugtubTp0+jMLgC0e6/ftddd6EgzMO5iGwSaq4NITCdLczy6GzXAj8KnDIxAaM0AKeViwCtgbRSNgGUJwQyDaACngO4w6S/CXgb8KEvvvgiFUaw59y5c64mWXvnnXdmsijdYxjpdP6cXh6oS0g1Bb48zpFEzValA3663pcuXaoleSzFltBIlWhRmWx+v6yMcQJ4PU7A/Oyzz/qca0R33HEHrjlAEJa73rns24JqA0keTUGTjglIJpNOxsMPP6wLfiGkx53hxRbcewwXc1BAx0u4gGMNcP2nn36acq4juv322ytZ5K7UlhBo5LER3AvcTXU60wKgYbsyWTCi3LTV6wLvKesGrvrkk0/qneucCgoKHoJkHbxvYRAhMMij/zMbVzZRTMAvv/wycj4AoRv4Mk7oII4HkLp+vC6drwxt/FrgKeMBfKTe3t69UMFTgPG9B3WcQdMeBsvjhJJqnYGqjMrKSmr/tZxNWAi87o9i+1l5O6SPNjc3dzrjlPLz83HyC/aWpqk0gWZUUHZtJvxuUZmAtAYgtHycr/a6qIXz2DQI5OH1UDRjPIOPdOHChU6o+JmQXW+68JYS4vUB/bozvN5RGAImdwPZA3AC51RKrMAfyBHFGCRBnz4oe7ypqemgc4PQxYsX0YytuOWWW3BRaa3DWd0U1A/w/Z4KvBx4jcoExAitE6dzPStr3RR/QKQ5fOUJ4PsaGxtvGPC9dOnSJfyu+7ALa9MJFPx+lkU05YNBBDVdg0uwKc4eAWCZ83cC8jM+/PDDLucGpr6+Pvy+GWz/ASs9AMFvd7ax1ATEFOBjmLdSBraN3gBwHHhmQ0NDrzMB6PLly73MUYubOs3EiB/GJebyTEB6QogCnGrV6KAFR7AVeP4HH3ww4EwgunLlCn7vfACi1UQDqMb5PWUvm5qAB3HESXNomKz2GaOHv/DAgQNJZwJSf38/fvdC3J5G1iPQnf3jK5sGvx80MQHP69hxHWZ/2wN8//vvv3/BmcD0008/XWCaoEcUJ6C0eoUWeFbXBOBCzTKKJ2/YExgEXrRv374eJyLn6tWrWA+LAJRBy+o/rQUQUx0TsFwzRKzLK/bu3dseQf8nDQwMYH2sCOL0ibx9Vr6cagIKmf0nxe8pguC7vn/Pnj2bIshH088//4z1st+m+veUI6ZFFBOwLGj/XqIh0O4/HkEtJgDmcZ4/EED9e69VKk0ACoDN1u/jqrq6uv4IZjElk0msnypbwPs0wTKVCUBnYbLuMC5REA7v3r37vQhikhBgPTWrTAEFeB9NZt3C0SbAr/6DdPM4jF7/PyNotUzBU26vgAo8x+7zri3jmgAgnOJdKYrVB9QEb+zcubMrgpVOv/76K9bXGzrACwTJfw1D+9k8EzAXOE8GviEPAK+JIDXSAlhvA7yWTWztvMfiXM65PBNQrgLfUBi2v/vuu70RnPo0ODjYC0BtN3D2VNfLR5gAz04eRn17yb0p4A0RlIEI6y+la/MV1xf4fYACSEtDiP031dbWRrY/AP32229dAGCTrs1XrHHEaesFXh+gXCfooyEM2yIIrdC2ADZ/1D1eM+CagHLJ5ExTxrl9hyLsrDiDWI99EjApgPvLRwhAmQh4HV/Axwe3bt06GMEXnFKpFK4tOBgQcH95WdoEAE01nc8Xi8VEArA3gs4q7VWpfsHaCpEg4GrnoeXhOEKUw3u4yZYqbGo4Lk2KR5hZpcOsXjO9GIm0AYFycTErmoDJVLWu0Tto3bJly0CEmT36/fffkzh/UKfVE3yLkix3Xx+v5FjYaaslgiwUZxDrdbrm38guF6EAFFKAF5kEwcFPrRFcoVCrIdAiKsSlYUWqFi/zBwTXOiKsQqGOIKe1cQRmSAPkmYIv0ADY9Yuif+GYgC5Wv9kB1L6X8lAA8k3BFwhB94YNG1IRXPYJutwpINwBpNjSI/O5AhDQGUxEUIVKCRMBEGiFIQG4yX+Daf+fPacvwihUM2Czfm/KcgMLtjZZhudEY//hks2VVJlZ7tJvi5SMMApVA9gMsOVkXYvDFiO6fggFACUqJ6qKcaMBbD5uAH2AlE0fIKJxRSnUAGizcykePtWzjOo1VA2gpa0V2CVRALBbURDwQV4qiGAKVQDyLZ571JfFum0lFqTJvScvgilUytPxAxSY9boawMbD3OtFEUahaoAinQap0gA4JSzhPswSFz733HOZEVT2KZlMYr0WesGV7KpOoQRqgG6DVi4rx5EqjFWfjSCz3vqLHd9IoGyYnoBjNwpAwhBoWXlpJAChCECpv66p5ycJBCSBcwI7daZ7E83FtAiuUGgaT/WLACaYhk4MBCVk0UDKWb2c3+URVqFogOm8OqccqMW5d+Dmm29OuGsDOyw7gmUvvfRSFBCySFevXsX6LBO1cIoG8NEQ5u7KoFbLi0Kz3fODI7JGeHbwTSJADcxCq1cAWnR39yYIQUWEmVX1X2G6SYTgnhavABwL0uoF91dUV1dnR9AFp/7+fjysq0IGvIEGODYkAOwa7t/XYXl3kDzgBRF8Vgg3eczT2SqGYP97vBoA83ELrd6/WPSJCDsr6v8Jw91BRdfS6za9ewQ1qVo9RQv47plXU1NTHEFoTpcvX8aTwueJgKdoAI4wpE8Y9e4SdtgdGLK4S1gm8L8jGAO1fqy/TNmiUE1hQIwPj9AADOQk7ugRdJ9ADj+2bt26aI6AAV26dAnr7THqnsFEYTgEnBRtFl0fwk6hOcCrIjiNaBXOAKIcuq3hG4w4fTXma+lNOEHEZFs4hcA8+eqrr0a+gAZdvHgRbf+TsrMDDMxBr2v/eT7A0L5+8HN7AKdPFhncHMGqZftfB84Wga0yBwKtsN1hk4B5PsCIrd0C2HwRz924cWNlBK2afvzxx0rX89c5Qo4gCNv85bwDI7r8XUKqynfL/KmHazZt2pQbQSymH374AffuqeEB7gWXCrzHFCCmXf5niE4NWxPkJFAJ41GmtRHMUtWP9TNJdYScgQZYo3NoFEYF21WmgAq8776KzZs3Px1BPZq+//57rJcKXhg3oClo90b/qCeHvqLjA2j6B+u2bNlSFkH+J3333XdlAMo6ntq3cJroK6K4gOzgyP2oBaj2nqIdPGXYKzjw5ptvToqgd5yenh5U+Qcgmy07UdxQA7QD7xfFClSnh68Oelag6H5n+Fj6j9566638iQz++fPn8wGMRq/dV4EviwVwrq0W9QpUJsAdINof5LRQxfNLgBu2bt06IaePffvttzjDp8EZ3r6dDL7sQEkfyAdVW82rjo9H/hdkB2y2ft89eEB149tvvz2hlqh/8803OazlTzMFX6ENcKLvU7LgEMUEuIc9vqLb+inBJE8ezyo+un379gkxaPT111/jdx4FEGbJwOd1A2VdQ9896Pj1qIJDMSJI6yHpNGnpGlHFqVgp77zzzg29tjCRSBQx8KfKWrmJBvDkO4HXU3oI7pQwFUDpc/8s9ABk14uB23bs2HFDTiU7d+7cAqj4NrbESxtojeAQYjWoOnyaqwF4AsFSnDm81lT1y2YZ+cpwLmHDzp07a3bt2nVDTCrt6urKBq5hDl8eBXCTHgGjtWxTaVK8IEYFjKWrvVPIdU8VE2kMgUCsBD6ye/fukvEM/ldffVUCFX4EsitVtl3UYjU0wDHg1dQIodQJFJShKXgE0j5dLaACn6MJkKcDH6+rq6uur68fV72EM2fO5Jw9e7YasseBp5u0cKoQsDxO9Vrqqn6R2hdGAjWEoBvSR03B9wPNA95HGDVcBXxqz549D40H8E+fPo3vecoZntGTreqzmwgBRyDw2Plu3TBxxmuvvcYFUQYwy+OQ5UoV6DITQzEJnGsdbLSyfvHixdfVptSnTp2qZMJaqtsVVtWbAiP0zap498ryt956q5OxYcMGyj/gpbhbxS5IlwSJBQQYYsZVzWtREBYtWnTN9ic+efIkOq1LmM9SZDKplioQgrJ6ZpZTVODd32kBIEoZL0UvvdFdCBoUfGo8gXM0/UHgHTireeHChaFrhePHj+N0dzxqdxnwg2xwS0vD6YIvwAOnd89nvhkZeJduu+02J2Pjxo0UKZO9GM7w+cjdFMIgCmiqAXj39bO5DPFYLNY8b948ayeXtLW1lbIT1mcxzjVZUGtqCjh44Bj/34H7ZXjJhCItAAHAd1Mc0fvcPYAqCPhBhIHDF5jP0MF2QkmwE02HTMjs2bPTpqOlpSXPVeHABSwoVcLsOebzTWZH2fADOClO7ZqB3yfDTWUSUACyiHZG9UJY0SiNH7PKIjsiqt6BooegIhTMOYxHUTweN3q26EAN/wkr3t+qvEaKczbvxzoXPcf7brL/a9oNFKXYPZzpnUpGlX6dbqHIDIRNlIWXsuibbjdQkGLdzoQ0YfJ/uJFAamsndllw19HZzDlxVGFmkcqilFnSEFotnnKNOlZPGQX0lWOdzoa01xR47nCwDtBEpwbHoedj94wy0KSKCOoIQhgaQrXZgkoYdMCXPAvrcr57WITuXEHlcLCu00cQGjza7BEcRjbRAFSNQAXXVAh0zuY1BV/Q2r3pekixnz+oGRomvVtMV9Vr3I/98RXAC73LzoM4grIWb1sIxgp8iSnAOlsIKdZhynB8QG8wiKIBDPyCQ5C9F0cRKY6gDFwZ2DaFIEzwCS3e3b/nXlzKras1dFr/KA2go/5FLVRwfzdzDtfodgupZoFqGohbqIYGPsH+Yx3NxF6V7D2omkXlmMZM1T8PDMXfoUl4BruKkHaaaANbtj2MnoEJ+L6/72RdvGe8Kt9kjqBOj4SsAUyvce7BCSV/Ba6C/EBYXcSg5oIKtqkj5ikbgLSKqfwWaheRWqZ6j1gIAFPuQW2AI3lTIN0b1CSonMSwYgCU6wqQ8NunsOHcQcozVKZIVwhiKjVuMEihY0YwevgPSDG0eUy3ezjWYOsEhRRAHWPf/A93Egc1MKTj+FGEIGZhIEgJiMzPYPlmHNxgjmLTtRSCsOw+o2YWzcNvbTYIBVsVgrQGsAW+6cCSJx9nUcS/QbrfVAjCDgQZ/P1+yOM33Q9pPMizqCaAKgSxsMCntk6B2sdVyYsh/QvwC7hriY4QhCkUGi0e3/kF/AYow29pJ8YArJkAihDEwgRfVyNw8rif7X+B74Y8qs03nOGNDq0IgQ3Afff0sXecAfm72bv3UFoxpdWbtH7V32cFcfgoLcyCEKQdJ9zVHNL/AM9ijOP808MYD/CP7UvuO8ZGP+OMB3nP4T1PNfYvey/KXAPKd2XpevA27iWYANk9g8yZamblOa5A4FQtZ/jEsjybWsBTaX1sQkbcA/iACAQd0E2EQgU8RUiyKC02qGnQjS6qwPP9LQJwiLFLuUwQcBuaIiYQuBjTPc8wk/32VtYJFq104xQnmLlJMPuNNr3fUEuQQtDUVm8DeNcc/F+AAQBKd8HaIWdjwQAAAABJRU5ErkJggg==) no-repeat 50%;background-size:100% 100%;display:inline-block;height:var(--jd-icon-loader-size);vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-icon{fill:var(--jd-color-icon);background:50% no-repeat;background-size:contain;height:14px;overflow:visible;transform-origin:0 0!important;width:14px}.jodit-icon,.jodit-icon_close{stroke:var(--jd-color-icon)}svg.jodit-icon{height:auto;isolation:isolate}.jodit-icon_text{font-size:14px}.jodit,.jodit *,.jodit-container,.jodit-container *{box-sizing:border-box}.jodit .jodit-workplace,.jodit-container .jodit-workplace{overflow:auto;position:relative}.jodit .jodit-workplace .jodit-wysiwyg,.jodit .jodit-workplace .jodit-wysiwyg_iframe,.jodit-container .jodit-workplace .jodit-wysiwyg,.jodit-container .jodit-workplace .jodit-wysiwyg_iframe{height:100%;width:100%}.jodit-wysiwyg [contenteditable=false]{cursor:default}.jodit-container:not(.jodit_inline){background-color:var(--jd-color-background-light-gray);border:1px solid var(--jd-color-border);border-radius:var(--jd-border-radius-default)}.jodit-container:not(.jodit_inline) .jodit-workplace{background-color:var(--jd-color-background-default);border:0 solid var(--jd-color-border);max-height:100%}.jodit-container:not(.jodit_inline).jodit_disabled{background:var(--jd-color-background-gray)}.jodit-container:not(.jodit_inline).jodit_disabled .jodit-workplace{opacity:.4}.jodit_disabled,.jodit_lock{user-select:none!important}.jodit_hidden{display:none!important}.jodit_vertical_middle{align-items:center;display:flex}.jodit-box,.jodit-context-menu{background:0 0;border:0;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.jodit-context-menu{box-shadow:var(--jd-popup-box-shadow);display:inline-block;position:fixed;transform:translateZ(0);z-index:var(--jd-z-index-popup);z-index:var(--jd-z-index-context-menu)}.jodit-context-menu__content{overflow-scrolling:touch;background:var(--jd-color-background-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);max-height:300px;overflow:auto;padding:var(--jd-padding-default)}.jodit-context-menu_padding_false .jodit-context-menu__content{padding:0}.jodit-context-menu_max-height_false .jodit-context-menu__content{max-height:fit-content}.jodit-context-menu .jodit-ui-button{display:flex}.jodit-context-menu__actions{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-context-menu__actions button{width:100%}.jodit-context-menu_theme_dark .jodit-context-menu__content{background-color:var(--jd-dark_background_color)}:root{--jd-popup-box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13)}.jodit-popup{background:0 0;border:0;box-shadow:var(--jd-popup-box-shadow);display:inline-block;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;position:fixed;transform:translateZ(0);width:auto;z-index:var(--jd-z-index-popup)}.jodit-popup__content{overflow-scrolling:touch;background:var(--jd-color-background-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);max-height:300px;overflow:auto;padding:var(--jd-padding-default)}.jodit-popup_padding_false .jodit-popup__content{padding:0}.jodit-popup_max-height_false .jodit-popup__content{max-height:fit-content}.jodit-ui-button-icon-text__icon{display:none}.jodit-ui-button-icon-text__icon:not(:empty){display:inline-flex}.jodit-ui-button-icon-text__text{display:none}.jodit-ui-button-icon-text__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-ui-button-icon-text__icon:not(:empty)+.jodit-ui-button-icon-text__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-ui-button-icon-text__icon:empty+.jodit-ui-button-icon-text__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-ui-button-clear,.jodit-ui-button_clear{appearance:none;background:0 0;border:0;box-shadow:none;box-sizing:border-box;font-style:normal;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-ui-button-sizes{height:34px;min-width:34px}.jodit-ui-button-sizes .jodit-icon{height:14px;width:14px}.jodit-ui-button-sizes button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button-sizes_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_tiny{height:16px;min-width:16px}.jodit-ui-button-sizes_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button-sizes_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button-sizes_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_xsmall{height:22px;min-width:22px}.jodit-ui-button-sizes_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button-sizes_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button-sizes_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_small{height:28px;min-width:28px}.jodit-ui-button-sizes_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button-sizes_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button-sizes_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_large{height:40px;min-width:40px}.jodit-ui-button-sizes_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button-sizes_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button-sizes_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-variants_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button-variants_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default [disabled]{opacity:.7}.jodit-ui-button-variants_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button-variants_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button-variants_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button-variants_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button-variants_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button-variants_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success [disabled]{opacity:.7}.jodit-ui-button-variants_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button-variants_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button-variants_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button-variants_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger [disabled]{opacity:.7}.jodit-ui-button-variants_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button-variants_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-button-style{border-radius:var(--jd-border-radius-default);padding:0 var(--jd-padding-default)}.jodit-ui-button,.jodit-ui-button-style{align-items:center;color:var(--jd-color-text-icons);display:inline-flex;justify-content:center}.jodit-ui-button{appearance:none;background:0 0;border:0;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;cursor:pointer;font-style:normal;height:34px;min-width:34px;outline:0;padding:0;padding:0 var(--jd-padding-default);position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-ui-button:focus-visible:not([disabled]),.jodit-ui-button:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-ui-button:active:not([disabled]),.jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-ui-button[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-ui-button[disabled]{opacity:.3;pointer-events:none}.jodit-ui-button .jodit-icon{height:14px;width:14px}.jodit-ui-button button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_tiny{height:16px;min-width:16px}.jodit-ui-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_xsmall{height:22px;min-width:22px}.jodit-ui-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_small{height:28px;min-width:28px}.jodit-ui-button_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_large{height:40px;min-width:40px}.jodit-ui-button_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button__icon{display:none}.jodit-ui-button__icon:not(:empty){display:inline-flex}.jodit-ui-button__text{display:none}.jodit-ui-button__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-ui-button_context_menu .jodit-ui-button__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-ui-button_context_menu .jodit-ui-button__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-ui-button__icon:not(:empty)+.jodit-ui-button__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-ui-button__icon:empty+.jodit-ui-button__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-ui-button:focus:not([disabled]){outline:1px dashed var(--jd-color-background-selection)}.jodit-ui-button_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default [disabled]{opacity:.7}.jodit-ui-button_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary [disabled]{opacity:.7}.jodit-ui-button_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary [disabled]{opacity:.7}.jodit-ui-button_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success [disabled]{opacity:.7}.jodit-ui-button_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger [disabled]{opacity:.7}.jodit-ui-button_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-list{display:flex;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-ui-group{background-color:transparent;border:0;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-toolbar-button{height:auto;min-height:var(--jd-button-size)}.jodit-ui-list_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:var(--jd-button-size);width:100%}.jodit-ui-list_mode_vertical .jodit-toolbar-button__text:not(:empty){justify-content:left}.jodit-ui-separator{border-left:0;border-right:1px solid var(--jd-color-border);cursor:default;margin:2px;padding:0}.jodit-ui-break{border-top:1px solid var(--jd-color-border);flex-basis:100%;height:0!important;width:0}.jodit-ui-spacer{flex:1}.jodit-ui-group{display:inline-flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;max-width:100%}.jodit-ui-group_line_true{display:flex;justify-content:stretch}.jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-left:0;border-right:1px solid var(--jd-color-border);content:"";cursor:default;margin:2px;padding:0}.jodit-ui-group:last-child{border-bottom:0}.jodit-ui-button-group{margin-bottom:var(--jd-padding-default)}.jodit-ui-button-group__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-button-group__options{display:flex;justify-content:flex-start}.jodit-ui-button-group .jodit-ui-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.jodit-ui-button-group .jodit-ui-button+.jodit-ui-button{border-bottom-left-radius:0;border-left:1px solid var(--jd-color-button-background-hover_opacity40);border-top-left-radius:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover);border-left:0;box-shadow:inset 0 0 3px 0 var(--jd-color-dark);color:var(--jd-color-dark);outline:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled])+.jodit-ui-button{border:0}.jodit-ui-tooltip{background:#727171;background-clip:padding-box;border-radius:2px;color:#fff;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);font-size:11px;line-height:1.4;max-width:120px;opacity:0;padding:calc(var(--jd-padding-default)/4) calc(var(--jd-padding-default)/2);position:fixed;text-rendering:optimizeLegibility;transition:opacity .2s ease 0s;user-select:none;white-space:normal;width:auto;z-index:var(--jd-z-index-tooltip)}@media (max-width:768px){.jodit-ui-tooltip{display:none}}.jodit-ui-tooltip.jodit-ui-tooltip_visible_true{opacity:1}.jodit-dialog{border:0;box-sizing:border-box;display:none;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:0;position:absolute;width:0;will-change:left,top,width,height}.jodit-dialog_moved_true{user-select:none}.jodit-dialog *{box-sizing:border-box}.jodit-dialog .jodit_elfinder,.jodit-dialog .jodit_elfinder *{box-sizing:initial}.jodit-dialog__overlay{background-color:rgba(0,0,0,.5);display:none;height:100%;left:0;overflow:auto;position:fixed;text-align:center;top:0;white-space:nowrap;width:100%;z-index:var(--jd-z-index-dialog-overlay)}.jodit-dialog_static_true .jodit-dialog__overlay{display:none}.jodit-dialog_active_true,.jodit-dialog_modal_true .jodit-dialog__overlay{display:block}.jodit-dialog__panel{--jd-box-shadow-blur:calc(var(--jd-padding-default)*2);--jd-box-shadow-1:0 var(--jd-padding-default) var(--jd-box-shadow-blur) rgba(0,0,0,.19);background-color:#fff;box-shadow:var(--jd-box-shadow-1),0 6px 6px rgba(0,0,0,.23);display:flex;flex-flow:column nowrap;left:0;max-height:100%;max-width:100%;min-height:100px;min-width:200px;position:fixed;text-align:left;top:0;white-space:normal;z-index:var(--jd-z-index-dialog)}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__panel{height:100%!important;left:0!important;max-width:100%;top:0!important;width:100%!important}}.jodit-dialog_static_true{box-sizing:border-box;display:block;height:auto;position:static;width:auto}.jodit-dialog_static_true .jodit-dialog__panel{border:1px solid var(--jd-color-border);box-shadow:none;left:auto!important;position:relative;top:auto!important;width:100%!important}.jodit-dialog_theme_dark,.jodit-dialog_theme_dark .jodit-dialog__panel{background-color:var(--jd-dark_background_darknes);color:var(--jd-dark-text-color)}.jodit-dialog__header{border-bottom:1px solid var(--jd-color-border);cursor:move;display:flex;justify-content:space-between;min-height:50px;text-align:left}.jodit-dialog__header-title,.jodit-dialog__header-toolbar{align-items:center;display:flex;flex-shrink:3;font-size:18px;font-weight:400;line-height:48px;margin:0;padding:0 var(--jd-padding-default);vertical-align:top}@media (max-width:480px){.jodit-dialog__header-toolbar{padding-left:0}}.jodit-dialog__header-button{color:#222;flex-basis:48px;font-size:28px;height:48px;line-height:48px;text-align:center;text-decoration:none;transition:background-color .2s ease 0s}.jodit-dialog__header-button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-dialog__header .jodit_toolbar{background:transparent;border:0;box-shadow:none}.jodit-dialog__header .jodit_toolbar>li.jodit-toolbar-button .jodit-input{padding-left:var(--jd-padding-default);width:auto}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__header{flex-direction:column}}.jodit-dialog_slim_true .jodit-dialog__header{min-height:10px}.jodit-dialog_slim_true .jodit-dialog__header-title,.jodit-dialog_slim_true .jodit-dialog__header-toolbar{padding:0 calc(var(--jd-padding-default)/4)}.jodit-dialog_theme_dark .jodit-dialog__header{border-color:var(--jd-color-dark)}.jodit-dialog_fullsize_true .jodit-dialog__header{cursor:default}.jodit-dialog__content{flex:1;min-height:100px;overflow:auto}.jodit-dialog__content .jodit-form__group{margin-bottom:calc(var(--jd-padding-default)*1.5);padding:0 var(--jd-padding-default)}.jodit-dialog__content .jodit-form__group:first-child{margin-top:var(--jd-padding-default)}.jodit-dialog__content .jodit-form__group label+.jodit-grid,.jodit-dialog__content .jodit-form__group label+.jodit-input_group,.jodit-dialog__content .jodit-form__group label+.jodit-select,.jodit-dialog__content .jodit-form__group label+input{margin-top:calc(var(--jd-padding-default)/2)}.jodit-dialog__content .jodit-form__group .jodit-input_group{border-collapse:separate;display:table;width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group>*{display:table-cell;height:34px;vertical-align:middle}.jodit-dialog__content .jodit-form__group .jodit-input_group>input{margin:0!important}.jodit-dialog__content .jodit-form__group .jodit-input_group>input:not([class*=col-]){width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons{font-size:0;vertical-align:middle;white-space:nowrap;width:1%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons>.jodit-button{border:1px solid var(--jd-color-border);border-radius:0;height:34px;line-height:34px;margin-left:-1px}.jodit-dialog__footer{display:none;flex-wrap:nowrap;justify-content:space-between;padding:var(--jd-padding-default)}.jodit-dialog__footer button{margin-right:calc(var(--jd-padding-default)/2)}.jodit-dialog__footer button:last-child{margin-right:0}.jodit-dialog__column{display:flex}.jodit-dialog__resizer{display:none;position:relative}.jodit-dialog__resizer svg{fill:var(--jd-color-gray-dark);bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;user-select:none;width:12px}.jodit-dialog_resizable_true .jodit-dialog__resizer{display:block}@media (max-width:480px){.jodit-dialog__resizer{display:none}}.jodit-dialog_prompt{max-width:300px;min-width:200px;padding:var(--jd-padding-default);word-break:break-all}.jodit-dialog_prompt label{display:block;margin-bottom:calc(var(--jd-padding-default)/2)}.jodit-dialog_alert{max-width:300px;min-width:200px;padding:var(--jd-padding-default);word-break:break-all}.jodit-dialog_footer_true .jodit-dialog__footer{display:flex}.jodit_fullsize .jodit-dialog__panel{bottom:0!important;height:100%!important;left:0!important;right:0!important;top:0!important;width:100%!important}.jodit_fullsize .jodit-dialog__panel .jodit-dialog__resizer{display:none}.jodit-toolbar__box:not(:empty){--jd-color-background-default:var(--jd-color-panel);background-color:var(--jd-color-background-default);border-bottom:1px solid var(--jd-color-border);border-radius:var(--jd-border-radius-default) var(--jd-border-radius-default) 0 0;overflow:hidden}.jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:var(--jd-color-panel)}:root{--jd-em-color-border:#b6d4fe;--jd-em-color-bg:#cfe2ff;--jd-em-color-color:#084298;--jd-em-border-radius:0.375rem;--jd-em-padding:0.5rem 1rem;--jd-em-font-size:1rem}.jodit-ui-messages{bottom:0;height:0;overflow:visible;position:absolute;right:0;width:0;z-index:3}.jodit-ui-message{background:var(--jd-em-color-bg);border:1px solid var(--jd-em-color-border);border-radius:var(--jd-em-border-radius);bottom:0;color:var(--jd-em-color-color);cursor:pointer;display:block;font-size:var(--jd-em-font-size);opacity:0;padding:var(--jd-em-padding);position:absolute;right:calc(var(--jd-padding-default)/2);transition:opacity .1s linear,bottom .3s linear,transform .1s ease-out;white-space:pre}.jodit-ui-message_active_true{opacity:1}.jodit-ui-message:active{transform:scale(.76)}.jodit-ui-message_variant_secondary{--jd-em-color-border:#d3d6d8;--jd-em-color-bg:#e2e3e5;--jd-em-color-color:#41464b}.jodit-ui-message_variant_danger,.jodit-ui-message_variant_error,.jodit-ui-message_variant_secondary{background:var(--jd-em-color-bg);border-color:var(--jd-em-color-border);color:var(--jd-em-color-color)}.jodit-ui-message_variant_danger,.jodit-ui-message_variant_error{--jd-em-color-border:#f5c2c7;--jd-em-color-bg:#f8d7da;--jd-em-color-color:#842029}.jodit-ui-message_variant_success{--jd-em-color-border:#badbcc;--jd-em-color-bg:#d1e7dd;--jd-em-color-color:#0f5132;background:var(--jd-em-color-bg);border-color:var(--jd-em-color-border);color:var(--jd-em-color-color)}.jodit-ui-label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-input{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default)}.jodit-ui-input__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-input__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-input__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-input__input:focus{outline:0}.jodit-ui-input_theme_dark .jodit-ui-input__input{background-color:var(--jd-color-gray)}.jodit-ui-input_has-error_true .jodit-ui-input__input{border-color:var(--jd-color-red)}.jodit-ui-input__error,.jodit-ui-input__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-input__error,.jodit-ui-input_has-error_true .jodit-ui-input__label{color:var(--jd-color-error)}.jodit-ui-input__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-input__wrapper{min-width:140px}}.jodit-ui-input_theme_dark .jodit-ui-input__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-input_focused_true .jodit-ui-input__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-input__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-input__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-input__icon:not(:empty)+.jodit-ui-input__input{padding-left:0}.jodit-ui-input__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-input__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-input__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-input_theme_dark .jodit-ui-input__clear svg,.jodit-ui-input_theme_dark .jodit-ui-input__icon svg{fill:var(--jd-color-dark)}.jodit-ui-block .jodit-ui-input{margin-bottom:0}.jodit-ui-select{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default)}.jodit-ui-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-select__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-select__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-select__input:focus{outline:0}.jodit-ui-select_theme_dark .jodit-ui-select__input{background-color:var(--jd-color-gray)}.jodit-ui-select_has-error_true .jodit-ui-select__input{border-color:var(--jd-color-red)}.jodit-ui-select__error,.jodit-ui-select__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-select__error,.jodit-ui-select_has-error_true .jodit-ui-select__label{color:var(--jd-color-error)}.jodit-ui-select__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-select__wrapper{min-width:140px}}.jodit-ui-select_theme_dark .jodit-ui-select__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-select_focused_true .jodit-ui-select__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-select__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-select__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-select__icon:not(:empty)+.jodit-ui-select__input{padding-left:0}.jodit-ui-select__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-select__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-select__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-select_theme_dark .jodit-ui-select__clear svg,.jodit-ui-select_theme_dark .jodit-ui-select__icon svg{fill:var(--jd-color-dark)}.jodit-ui-select__input{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0ye2ZpbGw6IzQ0NH08L3N0eWxlPjwvZGVmcz48cGF0aCBzdHlsZT0iZmlsbDojZmZmIiBkPSJNMCAwaDQuOTV2MTBIMHoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Im0xLjQxIDQuNjcgMS4wNy0xLjQ5IDEuMDYgMS40OUgxLjQxek0zLjU0IDUuMzMgMi40OCA2LjgyIDEuNDEgNS4zM2gyLjEzeiIvPjwvc3ZnPg==);background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(var(--jd-padding-default)*2)}.jodit-ui-select_size_tiny{margin-bottom:0}.jodit-ui-select_size_tiny .jodit-ui-select__input{--jd-height:calc(var(--jd-input-height)/1.8);height:var(--jd-height);line-height:var(--jd-height)}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper{border:0}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper select{outline:0}.jodit-ui-select_width_auto{width:auto}.jodit-ui-select_width_auto .jodit-ui-select__wrapper{min-width:auto}.jodit-ui-text-area{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default);width:100%}.jodit-ui-text-area__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-text-area__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-text-area__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-text-area__input:focus{outline:0}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__input{background-color:var(--jd-color-gray)}.jodit-ui-text-area_has-error_true .jodit-ui-text-area__input{border-color:var(--jd-color-red)}.jodit-ui-text-area__error,.jodit-ui-text-area__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-text-area__error,.jodit-ui-text-area_has-error_true .jodit-ui-text-area__label{color:var(--jd-color-error)}.jodit-ui-text-area__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-text-area__wrapper{min-width:140px}}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-text-area_focused_true .jodit-ui-text-area__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-text-area__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-text-area__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-text-area__icon:not(:empty)+.jodit-ui-text-area__input{padding-left:0}.jodit-ui-text-area__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-text-area__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-text-area__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__clear svg,.jodit-ui-text-area_theme_dark .jodit-ui-text-area__icon svg{fill:var(--jd-color-dark)}.jodit-ui-text-area__wrapper{flex:1}.jodit-ui-text-area__input{height:100%;min-height:60px}.jodit-ui-checkbox{align-items:center;display:flex;flex-direction:row-reverse;justify-content:flex-end;margin-bottom:var(--jd-padding-default)}.jodit-ui-checkbox__input{margin-right:var(--jd-padding-default)}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper{display:inline-block;height:34px;margin-right:var(--jd-padding-default);position:relative;width:60px}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper input{height:0;opacity:0;width:0}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:26px;left:4px;position:absolute;transition:.4s;width:26px}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider{background-color:#2196f3}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider:before{transform:translateX(26px)}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_focused_true .jodit-ui-checkbox__switch-slider{box-shadow:0 0 1px #2196f3}.jodit-ui-block .jodit-ui-checkbox{margin-bottom:0}.jodit-ui-file-input{overflow:hidden;position:relative}.jodit-ui-file-input__input{bottom:0;cursor:pointer;font-size:400px;margin:0 calc(var(--jd-padding-default)*-1) 0 0;opacity:0;padding:0;position:absolute;right:0;top:0}.jodit-ui-block{align-items:center;display:flex;justify-content:stretch;margin-bottom:var(--jd-padding-default)}.jodit-ui-block_width_full{width:100%}.jodit-ui-block_align_full{justify-content:space-between}.jodit-ui-block_align_right{justify-content:flex-end}.jodit-ui-block_padding_true{padding:var(--jd-padding-default)}@keyframes b{30%{opacity:.6}60%{opacity:0}to{opacity:.6}}.jodit-progress-bar{border-radius:1px;height:2px;left:0;opacity:.7;position:absolute;top:0;z-index:2147483647}.jodit-progress-bar div{background:var(--jd-color-background-progress);height:2px;position:relative;transition:width .5s ease-out,opacity .5s linear;will-change:width,opacity}.jodit-progress-bar div:after,.jodit-progress-bar div:before{animation:b 2s ease-out 0s infinite;border-radius:100%;box-shadow:var(--jd-color-background-progress) 1px 0 6px 1px;content:"";display:inline-block;height:2px;opacity:.6;position:absolute;top:0}.jodit-progress-bar div:before{clip:rect(-6px,90px,14px,-6px);right:-80px;width:180px}.jodit-progress-bar div:after{clip:rect(-6px,22px,14px,var(--jd-padding-default));right:0;width:20px}.jodit-toolbar-collection,.jodit-toolbar-editor-collection{display:flex;flex-direction:column}.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent calc(var(--jd-button-size) - 1px),var(--jd-color-border) var(--jd-button-size));position:relative}.jodit-toolbar-collection_mode_horizontal:after,.jodit-toolbar-editor-collection_mode_horizontal:after{background-color:var(--jd-color-background-default);bottom:0;content:"";display:block;height:1px;left:0;position:absolute;width:100%}.jodit-toolbar-collection_size_tiny,.jodit-toolbar-editor-collection_size_tiny{--jd-button-icon-size:8px}.jodit-toolbar-collection_size_tiny.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 19px,var(--jd-color-border) 20px)}.jodit-toolbar-collection_size_xsmall,.jodit-toolbar-editor-collection_size_xsmall{--jd-button-icon-size:10px}.jodit-toolbar-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 25px,var(--jd-color-border) 26px)}.jodit-toolbar-collection_size_small,.jodit-toolbar-editor-collection_size_small{--jd-button-icon-size:12px}.jodit-toolbar-collection_size_small.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_small.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 31px,var(--jd-color-border) 32px)}.jodit-toolbar-collection_size_middle,.jodit-toolbar-editor-collection_size_middle{--jd-button-icon-size:14px}.jodit-toolbar-collection_size_middle.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 37px,var(--jd-color-border) 38px)}.jodit-toolbar-collection_size_large,.jodit-toolbar-editor-collection_size_large{--jd-button-icon-size:16px}.jodit-toolbar-collection_size_large.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_large.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 43px,var(--jd-color-border) 44px)}.jodit-toolbar-collection_mode_vertical .jodit-ui-group,.jodit-toolbar-editor-collection_mode_vertical .jodit-ui-group{background-color:transparent;border:0;flex-direction:column}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button,.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button{height:auto;min-height:var(--jd-button-size)}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__button,.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:var(--jd-button-size);width:100%}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__text:not(:empty),.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__text:not(:empty){justify-content:left}.jodit-toolbar-collection .jodit-toolbar-button,.jodit-toolbar-collection .jodit-toolbar-content,.jodit-toolbar-editor-collection .jodit-toolbar-button,.jodit-toolbar-editor-collection .jodit-toolbar-content{margin:var(--jd-margin-v) 1px;padding:0}.jodit-dialog .jodit-toolbar-collection_mode_horizontal,.jodit-dialog .jodit-toolbar-editor-collection_mode_horizontal{background-image:none}.jodit-toolbar-button{align-items:center;border:1px solid transparent;border-radius:var(--jd-border-radius-default);display:flex;height:34px;justify-content:center;min-width:34px;overflow:hidden}.jodit-toolbar-button__icon{display:none}.jodit-toolbar-button__icon:not(:empty){display:inline-flex}.jodit-toolbar-button__text{display:none}.jodit-toolbar-button__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-toolbar-button__icon:not(:empty)+.jodit-toolbar-button__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-toolbar-button__icon:empty+.jodit-toolbar-button__text:not(:empty){padding:0 var(--jd-padding-default);padding:0}.jodit-toolbar-button .jodit-icon{height:14px;width:14px}.jodit-toolbar-button button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-button_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_tiny{height:16px;min-width:16px}.jodit-toolbar-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-button_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-button_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-button_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-button_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_small{height:28px;min-width:28px}.jodit-toolbar-button_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-button_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-button_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_large{height:40px;min-width:40px}.jodit-toolbar-button_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-button_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-button_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button__button{align-items:center;appearance:none;background:0 0;border:0;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;color:var(--jd-color-text-icons);cursor:pointer;display:inline-flex;font-style:normal;justify-content:center;outline:0;padding:0;padding:0 var(--jd-padding-default);position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-toolbar-button__button:focus-visible:not([disabled]),.jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-button__button:active:not([disabled]),.jodit-toolbar-button__button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-button__button[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-button__button[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger{align-items:center;border-radius:0 var(--jd-border-radius-default) var(--jd-border-radius-default) 0;cursor:pointer;display:flex;height:100%;justify-content:center;opacity:.4;width:14px}.jodit-toolbar-button__trigger:focus-visible:not([disabled]),.jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-button__trigger:active:not([disabled]),.jodit-toolbar-button__trigger[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-button__trigger[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-button__trigger[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger svg{width:10px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger{width:8px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger svg{width:4px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger{width:10px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger svg{width:6px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger{width:12px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger svg{width:8px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger{width:16px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger svg{width:12px}.jodit-toolbar-button_with-trigger_true .jodit-toolbar-button__button{border-radius:var(--jd-border-radius-default) 0 0 var(--jd-border-radius-default)}.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:var(--jd-color-border)}.jodit-toolbar-button_stroke_false svg{stroke:none}.jodit-toolbar-content{align-items:center;appearance:none;background:0 0;border:1px solid transparent;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;color:var(--jd-color-text-icons);cursor:pointer;display:inline-flex;font-style:normal;height:34px;justify-content:center;min-width:34px;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-toolbar-content:focus-visible:not([disabled]),.jodit-toolbar-content:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-content:active:not([disabled]),.jodit-toolbar-content[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-content[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-content[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-content .jodit-icon{height:14px;width:14px}.jodit-toolbar-content button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-content_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_tiny{height:16px;min-width:16px}.jodit-toolbar-content_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-content_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-content_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-content_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-content_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-content_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_small{height:28px;min-width:28px}.jodit-toolbar-content_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-content_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-content_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_large{height:40px;min-width:40px}.jodit-toolbar-content_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-content_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-content_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content__icon{display:none}.jodit-toolbar-content__icon:not(:empty){display:inline-flex}.jodit-toolbar-content__text{display:none}.jodit-toolbar-content__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-toolbar-content__icon:not(:empty)+.jodit-toolbar-content__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-toolbar-content__icon:empty+.jodit-toolbar-content__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-toolbar-content:focus:not([disabled]){outline:1px dashed var(--jd-color-background-selection)}.jodit-toolbar-content_variant_default{background-color:#e3e3e3;color:#212529}.jodit-toolbar-content_variant_default svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default [disabled]{opacity:.7}.jodit-toolbar-content_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_primary{background-color:#007bff;color:#fff}.jodit-toolbar-content_variant_primary svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary [disabled]{opacity:.7}.jodit-toolbar-content_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-toolbar-content_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-toolbar-content_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-toolbar-content_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary [disabled]{opacity:.7}.jodit-toolbar-content_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_success{background-color:#28a745;color:#fff}.jodit-toolbar-content_variant_success svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success [disabled]{opacity:.7}.jodit-toolbar-content_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-toolbar-content_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-toolbar-content_variant_danger{background-color:#dc3545;color:#fff}.jodit-toolbar-content_variant_danger svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger [disabled]{opacity:.7}.jodit-toolbar-content_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-toolbar-content_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-toolbar-content:hover:not([disabled]){background-color:transparent;opacity:1;outline:0}:root{--jd-first_column:31%;--jd-cols:4;--jd-info-background:#e9e9e9;--jd-icon-size:12px;--jd-col_size:150px}.jodit-filebrowser{display:flex;font-family:var(--jd-font-default);height:100%}.jodit-filebrowser_no-files_true{padding:var(--jd-padding-default)}@media (max-width:480px){.jodit-filebrowser{flex-flow:column-reverse}}.jodit-dialog .jodit-dialog__header-title.jodit-filebrowser__title-box{align-items:center;display:flex;padding-left:var(--jd-padding-default)}.jodit-filebrowser-preview{align-items:center;display:flex;height:100%;justify-content:center;margin:auto;max-height:100%;max-width:Min(100%,1000px);min-height:Min(100%,500px);min-width:400px;position:relative;text-align:center}@media (max-width:768px){.jodit-filebrowser-preview{height:100%;max-height:100%;max-width:100%;min-height:auto;min-width:auto}}.jodit-filebrowser-preview__box{align-items:center;display:flex;flex-grow:1;justify-content:center}.jodit-filebrowser-preview__navigation{cursor:pointer;height:100%;left:0;position:absolute;top:0}.jodit-filebrowser-preview__navigation_arrow_next{left:auto;right:0}.jodit-filebrowser-preview__navigation svg{fill:#9e9ba7;height:45px;position:relative;top:50%;transform:translateY(-50%);transition:fill .3s linear;width:45px}.jodit-filebrowser-preview__navigation:hover svg{fill:#000}.jodit-filebrowser-preview img{max-height:100%;max-width:100%}:root{--jd-image_editor_resizer_border_color:#05ff00;--jd-image_editor_resizer_target_size:padding-default;--jd-image_editor_resizer_target_border_color:#383838;--jd-image_editor_resizer_target_bg_color:#8c7878}.jodit-image-editor{height:100%;overflow:hidden;padding:var(--jd-padding-default);width:100%}@media (max-width:768px){.jodit-image-editor{height:auto}}.jodit-image-editor>div,.jodit-image-editor>div>div{height:100%}@media (max-width:768px){.jodit-image-editor>div,.jodit-image-editor>div>div{height:auto;min-height:200px}}.jodit-image-editor *{box-sizing:border-box}.jodit-image-editor .jodit-image-editor__slider-title{background-color:#f9f9f9;border-bottom:1px solid hsla(0,0%,62%,.31);color:#333;cursor:pointer;font-weight:700;line-height:1em;padding:.8em 1em;text-overflow:ellipsis;text-shadow:#f3f3f3 0 1px 0;user-select:none;white-space:nowrap}.jodit-image-editor .jodit-image-editor__slider-title svg{display:inline-block;margin-right:var(--jd-padding-default);vertical-align:middle;width:16px}.jodit-image-editor .jodit-image-editor__slider-content{display:none}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title{background-color:#5d5d5d;color:#fff;text-shadow:#000 0 1px 0}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title svg{fill:#fff}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-content{display:block}.jodit-image-editor__area{background-color:#eee;background-image:linear-gradient(45deg,var(--jd-color-border) 25%,transparent 25%,transparent 75%,var(--jd-color-border) 75%,var(--jd-color-border)),linear-gradient(45deg,var(--jd-color-border) 25%,transparent 25%,transparent 75%,var(--jd-color-border) 75%,var(--jd-color-border));background-position:0 0,15px 15px;background-size:30px 30px;display:none;height:100%;overflow:hidden;position:relative;user-select:none;width:100%}.jodit-image-editor__area.jodit-image-editor_active{display:block}.jodit-image-editor__area .jodit-image-editor__box{height:100%;overflow:hidden;pointer-events:none;position:relative;z-index:1}.jodit-image-editor__area .jodit-image-editor__box img{max-height:100%;max-width:100%;user-select:none}.jodit-image-editor__area .jodit-image-editor__croper,.jodit-image-editor__area .jodit-image-editor__resizer{background-repeat:no-repeat;border:1px solid #fff;box-shadow:0 0 11px #000;height:100px;left:20px;pointer-events:none;position:absolute;top:var(--jd-padding-default);width:100px;z-index:2}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright,.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright{background-color:var(--jd-image_editor_resizer_target_bg_color);border:1px solid var(--jd-image_editor_resizer_target_border_color);border-radius:50%;bottom:calc(var(--jd-padding-default)*-1);box-shadow:0 0 11px #000;cursor:se-resize;display:inline-block;height:20px;pointer-events:all;position:absolute;right:calc(var(--jd-padding-default)*-1);width:20px;z-index:4}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright:active,.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright:active{border:1px solid #ff0}.jodit-image-editor__area.jodit-image-editor__area_crop{background:#eee;height:100%;line-height:100%;position:relative;text-align:center}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box{height:100%;line-height:100%;overflow:visible;pointer-events:all;text-align:left}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box img{height:100%;max-height:100%;max-width:100%;width:100%}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box:after{background:hsla(0,0%,100%,.3);bottom:0;content:"";left:0;margin:auto;position:absolute;right:0;top:0;z-index:1}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper{cursor:move;pointer-events:all}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper i.jodit-image-editor__sizes{background:rgba(0,0,0,.2);border-radius:.4em;bottom:-30px;color:#fff;display:block;font-size:12px;left:100%;padding:9px 6px;position:absolute;text-align:center;text-shadow:none;white-space:pre}.jodit-image-editor__area.jodit-image-editor__area_crop.jodit-image-editor_active{align-items:center;display:flex;justify-content:center}.jodit-filebrowser-files{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-files .jodit-button{border-radius:0}.jodit-filebrowser-files_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-files_loading_true:after{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:var(--jd-icon-loader-size);left:50%;margin-left:calc(var(--jd-icon-loader-size)/-2);margin-top:calc(var(--jd-icon-loader-size)/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-filebrowser-files_active_true{display:flex}.jodit-filebrowser-files::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-files::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-files::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-files_active_true{align-content:flex-start;flex-wrap:wrap;overflow-y:auto;padding:calc(var(--jd-padding-default)/2);width:100%}.jodit-filebrowser-files__item{align-items:center;border:1px solid var(--jd-color-border);display:flex;font-size:0;height:var(--jd-col_size);justify-content:center;margin:calc(var(--jd-padding-default)/2);overflow:hidden;position:relative;text-align:center;transition:border .1s linear,bottom .1s linear;width:var(--jd-col_size)}@media (max-width:480px){.jodit-filebrowser-files__item{width:calc(50% - var(--jd-padding-default))}}.jodit-filebrowser-files__item img{max-width:100%}.jodit-filebrowser-files__item:hover{border-color:#433b5c}.jodit-filebrowser-files__item_active_true{background-color:var(--jd-color-border-active);border-color:var(--jd-color-border-selected)}.jodit-filebrowser-files__item_active_true .jodit-filebrowser-files__item-info{background-color:var(--jd-color-border-active);color:#fff;text-shadow:none}.jodit-filebrowser-files__item-info{background-color:var(--jd-info-background);bottom:0;color:#333;font-size:14px;left:0;line-height:16px;opacity:.85;overflow:visible;padding:.3em .6em;position:absolute;right:0;text-align:left;text-shadow:#eee 0 1px 0;transition:opacity .4s ease;white-space:normal}.jodit-filebrowser-files__item-info>span{display:block;font-size:.75em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jodit-filebrowser-files__item-info>span.jodit-filebrowser-files__item-info-filename{font-size:.9em;font-weight:700}.jodit-filebrowser-files__item:hover:not(.jodit-filebrowser-files__item_active_true) .jodit-filebrowser-files__item-info{bottom:-100px}.jodit-filebrowser-files_view_list{scroll-behavior:smooth}.jodit-filebrowser-files_view_list a{border-width:0 0 1px;display:block;height:26px;line-height:26px;margin:0;text-align:left;white-space:nowrap;width:100%}.jodit-filebrowser-files_view_list a img{display:inline-block;margin-left:4px;max-width:16px;min-width:16px;vertical-align:middle}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info{background-color:transparent;display:inline-block;font-size:0;height:100%;line-height:inherit;margin-left:4px;padding:0;position:static;vertical-align:middle;width:calc(100% - 20px)}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info>span{display:inline-block;font-size:12px;height:100%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filename{width:50%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filechanged,.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filesize{width:25%}.jodit-filebrowser-files_view_list a:hover{background-color:#433b5c}.jodit-filebrowser-files_view_list a:hover .jodit-filebrowser-files__item-info{color:#fff;text-shadow:none}.jodit-filebrowser-files_view_list a:before{content:"";display:inline-block;height:100%;vertical-align:middle}:root{--jd-color-folder-title:#b1b1b1}.jodit-filebrowser-tree{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-tree .jodit-button{border-radius:0}.jodit-filebrowser-tree_active_true{display:flex}.jodit-filebrowser-tree_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-tree_loading_true:after{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:var(--jd-icon-loader-size);left:50%;margin-left:calc(var(--jd-icon-loader-size)/-2);margin-top:calc(var(--jd-icon-loader-size)/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-filebrowser-tree::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-tree::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-tree_active_true{background-color:var(--jd-color-background-filebrowser-folders);flex-direction:column;max-width:290px;min-width:200px;overflow-y:auto;width:var(--jd-first_column);z-index:2}@media (max-width:480px){.jodit-filebrowser-tree_active_true{height:100px;max-width:100%;width:auto}}.jodit-filebrowser-tree_active_true::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-thumb{background-color:hsla(0,0%,50%,.5);outline:1px solid #708090}.jodit-filebrowser-tree__item{align-items:center;border-bottom:1px solid #474747;color:var(--jd-color-folder-title);display:flex;justify-content:space-between;min-height:38px;padding:calc(var(--jd-padding-default)/2) var(--jd-padding-default);position:relative;text-decoration:none;transition:background-color .2s ease 0s;word-break:break-all}.jodit-filebrowser-tree__item-title{color:var(--jd-color-folder-title);flex:1}.jodit-filebrowser-tree__item .jodit-icon_folder{align-items:center;display:flex;height:calc(var(--jd-icon-size) + 4px);justify-content:center;margin-left:calc(var(--jd-padding-default)/2);opacity:.3;width:calc(var(--jd-icon-size) + 4px)}.jodit-filebrowser-tree__item .jodit-icon_folder svg{fill:var(--jd-color-folder-title)!important;stroke:var(--jd-color-folder-title)!important;height:var(--jd-icon-size);width:var(--jd-icon-size)}.jodit-filebrowser-tree__item .jodit-icon_folder:hover{background:#696969}.jodit-filebrowser-tree__item:hover{background-color:var(--jd-color-background-button-hover)}.jodit-filebrowser-tree__item:hover-title{color:var(--jd-color-text)}.jodit-filebrowser-tree__item:hover i.jodit-icon_folder{opacity:.6}.jodit-filebrowser-tree__source-title{background:#5a5a5a;border-bottom:1px solid #484848;color:#969696;display:block;font-size:12px;padding:2px 4px;position:relative;user-select:none;word-break:break-all}a+.jodit-filebrowser-tree__source-title{margin-top:var(--jd-padding-default)}.jodit-status-bar{align-items:center;background-color:var(--jd-color-panel);border-radius:0 0 var(--jd-border-radius-default) var(--jd-border-radius-default);color:var(--jd-color-text-icons);display:flex;font-size:var(--jd-font-size-small);height:20px;justify-content:flex-start;overflow:hidden;padding:0 calc(var(--jd-padding-default)/2);text-transform:uppercase}.jodit-status-bar_resize-handle_true{padding-right:14px}.jodit-status-bar:before{content:"";flex:auto;order:1}.jodit-status-bar .jodit-status-bar__item{line-height:1.57142857em;margin:0 var(--jd-padding-default) 0 0;order:0;padding:0}.jodit-status-bar .jodit-status-bar__item,.jodit-status-bar .jodit-status-bar__item>span{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);font-size:var(--jd-font-size-small)}.jodit-status-bar .jodit-status-bar__item.jodit-status-bar__item-right{margin:0 0 0 var(--jd-padding-default);order:2}.jodit-status-bar .jodit-status-bar__item a{border-radius:3px;cursor:default;text-decoration:none}.jodit-status-bar .jodit-status-bar__item a:hover{background-color:var(--jd-color-background-gray);text-decoration:none}.jodit-status-bar a.jodit-status-bar-link{cursor:pointer}.jodit-status-bar a.jodit-status-bar-link,.jodit-status-bar a.jodit-status-bar-link:hover,.jodit-status-bar a.jodit-status-bar-link:visited{background-color:transparent;color:var(--jd-color-text-icons)}.jodit-status-bar a.jodit-status-bar-link:hover{text-decoration:underline}.jodit-workplace+.jodit-status-bar:not(:empty){border-top:1px solid var(--jd-color-border)}.jodit_disabled .jodit-status-bar{opacity:.4}.jodit-drag-and-drop__file-box,.jodit_uploadfile_button{border:1px dashed var(--jd-color-gray);margin:var(--jd-padding-default) 0;overflow:hidden;padding:25px 0;position:relative;text-align:center;width:100%}.jodit-drag-and-drop__file-box:hover,.jodit_uploadfile_button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-drag-and-drop__file-box input,.jodit_uploadfile_button input{bottom:0;cursor:pointer;font-size:400px;left:0;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0}@media (max-width:768px){.jodit-drag-and-drop__file-box{max-width:100%;min-width:var(--jd-width-input-min);width:auto}}.jodit-about{padding:20px}.jodit-about a{color:#459ce7;text-decoration:none}.jodit-about a:focus,.jodit-about a:hover{color:#23527c;outline:0;text-decoration:underline}.jodit-about div{margin-bottom:calc(var(--jd-padding-default)/2)}:root{--jd-color-new-line:var(--jd-color-border);--jd-width-icon:30px;--jd-height-icon:30px;--jd-offset-handle:calc(100% - var(--jd-width-icon))}.jodit-add-new-line{display:block;height:1px;outline:none;position:fixed;top:0;z-index:1}.jodit-add-new-line,.jodit-add-new-line *{box-sizing:border-box}.jodit-add-new-line:after{background-color:var(--jd-color-new-line);content:"";display:block;height:1px;width:100%}.jodit-add-new-line span{align-items:center;background:var(--jd-color-background-button-hover-opacity30);border:1px solid var(--jd-color-new-line);cursor:pointer;display:flex;height:var(--jd-height-icon);justify-content:center;left:var(--jd-offset-handle);position:absolute;width:var(--jd-width-icon)}.jodit-add-new-line span:hover{background:var(--jd-color-background-button-hover)}.jodit-add-new-line_after span{bottom:0}.jodit-add-new-line svg{fill:var(--jd-color-new-line);width:16px}.jodit-source__mode .jodit-add-new-line{display:none!important}:root{--jd-color-picker-cell-size:24px}.jodit-color-picker{margin:0;text-align:left;user-select:none}.jodit-color-picker__group{display:flex;flex-wrap:wrap;margin-bottom:calc(var(--jd-padding-default)/2);max-width:calc(var(--jd-color-picker-cell-size)*10);white-space:normal}.jodit-color-picker__color-item{border:1px solid transparent;display:block;height:var(--jd-color-picker-cell-size);text-align:center;text-decoration:none;vertical-align:middle;width:var(--jd-color-picker-cell-size)}.jodit-color-picker__color-item:hover{border-color:#000}.jodit-color-picker__color-item:active,.jodit-color-picker__color-item_active_true{border:2px solid var(--jd-color-border-selected)}.jodit-color-picker__native svg{display:inline-block;height:16px;margin-right:4px;width:16px}.jodit-color-picker__native input{appearance:none;border:none;height:18px;padding:0;width:18px}.jodit-color-picker__native input[type=color]::-webkit-color-swatch-wrapper{padding:0}.jodit-color-picker__native input input[type=color]::-webkit-color-swatch{border:none}.jodit-tabs{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-tabs .jodit-tabs__buttons{display:flex;justify-content:center;line-height:18px;margin-bottom:calc(var(--jd-padding-default)/2);margin-top:4px}.jodit-tabs .jodit-tabs__buttons>*{cursor:pointer;margin-left:calc(var(--jd-padding-default)/2)}.jodit-tabs .jodit-tabs__buttons>:only-of-type{width:100%}.jodit-tabs .jodit-tabs__buttons>:first-child{margin-left:0}@media (max-width:480px){.jodit-tabs .jodit-tabs__buttons{display:block}.jodit-tabs .jodit-tabs__buttons>*{margin-left:0;width:100%}}.jodit-tabs__button{min-width:80px}.jodit-tabs__button_columns_3{width:33.33333%}.jodit-tabs__button_columns_2{width:50%}.jodit-tabs .jodit-tabs__wrapper .jodit-tab{display:none}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_active{display:block}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_empty{min-height:100px;min-width:220px}.jodit_fullsize-box_true{overflow:visible!important;position:static!important;z-index:var(--jd-z-index-full-size)!important}body.jodit_fullsize-box_true,html.jodit_fullsize-box_true{height:0!important;overflow:hidden!important;width:0!important}html.jodit_fullsize-box_true{position:fixed!important}.jodit_fullsize{bottom:0;left:0;max-width:none!important;position:absolute;right:0;top:0;z-index:var(--jd-z-index-full-size)}.jodit_fullsize .toolbar{width:100%!important}.jodit_fullsize .jodit__area,.jodit_fullsize .jodit_editor{height:100%}.jodit-properties__lock>svg,.jodit-properties__unlock>svg{fill:#222;display:inline-block;font-size:8px;font-style:normal;height:14px;line-height:14px;overflow:hidden;transform-origin:0 0!important;vertical-align:middle;width:14px}.jodit-properties .jodit-properties_view_box{padding:var(--jd-padding-default)}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view{align-items:center;background-color:#f6f6f6;display:flex;height:150px;justify-content:center;margin:0 0 var(--jd-padding-default);padding:0}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view img{max-height:100%;max-width:100%}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group{align-items:center;flex-direction:row;margin:0!important;min-width:auto;padding:0!important}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group a{cursor:pointer;display:inline-block}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group .jodit-input{width:calc(50% - 8px)!important}.jodit-popup-inline__container{min-width:700px;z-index:1300}.jodit-paste-storage{max-width:600px;padding:var(--jd-padding-default)}@media (max-width:768px){.jodit-paste-storage{max-width:100%}}.jodit-paste-storage>div{border:1px solid var(--jd-color-border);max-height:300px;max-width:100%}.jodit-paste-storage>div:first-child{margin-bottom:var(--jd-padding-default)}.jodit-paste-storage>div:first-child a{border:1px solid transparent;box-sizing:border-box;color:var(--jd-color-default);display:block;margin:0;max-width:100%;outline:none;overflow:hidden;padding:calc(var(--jd-padding-default)/2);text-decoration:none;text-overflow:ellipsis;white-space:pre}.jodit-paste-storage>div:first-child a.jodit_active{background-color:var(--jd-dark_background_color);color:var(--jd-color-white)}.jodit-paste-storage>div:first-child a:focus{outline:none}.jodit-paste-storage>div:last-child{overflow:auto;padding:var(--jd-padding-default)}.jodit-paste-storage>div:last-child li,.jodit-paste-storage>div:last-child ul{margin:0}.jodit-placeholder{color:var(--jd-color-placeholder);display:block;left:0;padding:var(--jd-padding-default);pointer-events:none;position:absolute;top:0;user-select:none!important;width:100%;z-index:1}.jodit__preview-box table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit__preview-box table tr{user-select:none}.jodit__preview-box table tr td,.jodit__preview-box table tr th{border:1px solid var(--jd-color-border);min-width:2em;padding:.4em;user-select:text;vertical-align:middle}.jodit-table-resizer{cursor:col-resize;margin-left:calc(var(--jd-padding-default)/-2);padding-left:calc(var(--jd-padding-default)/2);padding-right:calc(var(--jd-padding-default)/2);position:absolute;z-index:3}.jodit-table-resizer:after{border:0;content:"";display:block;height:100%;width:0}.jodit-table-resizer_moved{background-color:var(--jd-color-background-selection);z-index:2}.jodit-table-resizer_moved:after{border-right:1px solid moved}[data-jodit_iframe_wrapper]{display:block;position:relative;user-select:none}[data-jodit_iframe_wrapper] iframe{position:relative}[data-jodit_iframe_wrapper]:after{background:transparent;bottom:0;content:"";cursor:pointer;display:block;left:0;position:absolute;right:0;top:0;z-index:1}[data-jodit_iframe_wrapper][data-jodit-wrapper_active=true] iframe{z-index:2}.jodit_lock [data-jodit-wrapper_active=true] iframe{z-index:1}:root{--jd-viewer_width:70px;--jd-viewer_height:24px;--jd-resizer-handle-size:10px;--jd-resizer-border-color:#98c1f1;--jd-resizer-handle-color:#5ba4f3;--jd-resizer-handle-hover-color:#537ebb}.jodit-resizer{font-size:0;height:100px;left:0;outline:3px solid var(--jd-resizer-border-color);pointer-events:none;position:absolute;top:0;width:100px}.jodit-resizer,.jodit-resizer *{box-sizing:border-box}.jodit-resizer>span{background-color:var(--jd-color-placeholder);color:var(--jd-color-white);display:inline-block;font-size:12px;height:var(--jd-viewer_height);left:50%;line-height:var(--jd-viewer_height);margin-left:calc(var(--jd-viewer_width)/-2);margin-top:calc(var(--jd-viewer_height)/-2);opacity:0;overflow:visible;position:absolute;text-align:center;top:50%;transition:opacity .2s linear;width:var(--jd-viewer_width)}.jodit-resizer>div{background-color:var(--jd-resizer-handle-color);display:inline-block;height:var(--jd-resizer-handle-size);pointer-events:all;position:absolute;width:var(--jd-resizer-handle-size);z-index:4}.jodit-resizer>div:hover{background-color:var(--jd-resizer-handle-hover-color)}.jodit-resizer>div:first-child{cursor:nwse-resize;left:calc(var(--jd-resizer-handle-size)/-2);top:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(2){cursor:nesw-resize;right:calc(var(--jd-resizer-handle-size)/-2);top:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(3){bottom:calc(var(--jd-resizer-handle-size)/-2);cursor:nwse-resize;right:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(4){bottom:calc(var(--jd-resizer-handle-size)/-2);cursor:nesw-resize;left:calc(var(--jd-resizer-handle-size)/-2)}@media (max-width:768px){.jodit-resizer>div :root{--jd-resizer-handle-size:calc(var(--jd-resizer-handle-size)*2)}}:root{--jd-height-search:30px;--jd-width-search:320px;--jd-width-search-input-box:60%;--jd-width-search-count-box:15%;--jd-transform-button-active:0.95;--jd-timeout-button-active:0.1s}.jodit-ui-search{height:0;position:absolute;right:0;top:0;width:0}.jodit-ui-search_sticky_true{position:fixed}.jodit-ui-search__box{background-color:var(--jd-color-panel);border:solid var(--jd-color-border);border-width:0 0 1px 1px;display:flex;max-width:100vw;padding:calc(var(--jd-padding-default)/2);position:absolute;right:0;width:var(--jd-width-search)}.jodit-ui-search__box input{background-color:transparent;border:0;height:100%;margin:0;outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-search__box input[data-ref=replace]{display:none}.jodit-ui-search__box input:not(:focus)+input:not(:focus){border-top:1px solid var(--jd-color-border)}.jodit-ui-search__buttons,.jodit-ui-search__counts,.jodit-ui-search__inputs{height:var(--jd-height-search)}.jodit-ui-search__inputs{padding-right:calc(var(--jd-padding-default)/2);width:var(--jd-width-search-input-box)}.jodit-ui-search__counts{border-left:1px solid var(--jd-color-border);color:var(--jd-color-border);width:var(--jd-width-search-count-box)}.jodit-ui-search__buttons,.jodit-ui-search__counts{align-items:center;display:flex;justify-content:center}.jodit-ui-search__buttons{flex:1;padding-left:0}.jodit-ui-search__buttons button{background-color:transparent;border:1px solid transparent;height:100%;margin-right:1%;width:32%}.jodit-ui-search__buttons button[data-ref=replace-btn]{border:1px solid var(--jd-color-border);display:none;margin-top:2px;width:100%}.jodit-ui-search__buttons button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-ui-search__buttons button:focus{border:1px solid var(--jd-color-background-selection_opacity50)}.jodit-ui-search__buttons button:active{border:1px solid var(--jd-color-background-selection);transform:scale(var(--jd-transform-button-active))}.jodit-ui-search_empty-query_true [data-ref=next],.jodit-ui-search_empty-query_true [data-ref=prev]{opacity:.5}.jodit-ui-search_replace_true .jodit-ui-search__counts,.jodit-ui-search_replace_true .jodit-ui-search__inputs{height:calc(var(--jd-height-search)*2)}.jodit-ui-search_replace_true .jodit-ui-search__counts input,.jodit-ui-search_replace_true .jodit-ui-search__inputs input{height:50%;transition:background-color var(--jd-timeout-button-active) linear}.jodit-ui-search_replace_true .jodit-ui-search__counts input:focus,.jodit-ui-search_replace_true .jodit-ui-search__inputs input:focus{box-shadow:inset 0 0 3px 0 var(--jd-color-border)}.jodit-ui-search_replace_true .jodit-ui-search__counts input[data-ref=replace],.jodit-ui-search_replace_true .jodit-ui-search__inputs input[data-ref=replace]{display:block}.jodit-ui-search_replace_true .jodit-ui-search__buttons{flex-wrap:wrap}.jodit-ui-search_replace_true .jodit-ui-search__buttons button[data-ref=replace-btn]{display:block}[jd-tmp-selection]{background-color:#7fffd4}.jodit-container:not(.jodit_inline){min-height:100px}.jodit-container:not(.jodit_inline) .jodit-workplace{display:flex;flex-direction:column;height:auto;min-height:50px;overflow:hidden}.jodit-container:not(.jodit_inline) .jodit-editor__resize{position:relative}.jodit-container:not(.jodit_inline) .jodit-editor__resize svg{fill:var(--jd-color-gray-dark);bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;user-select:none;width:12px}.jodit-source{background-color:var(--jd-color-source-area);display:none;flex:auto;overflow:auto;position:relative}.jodit-source,.jodit-source .jodit-source__mirror-fake{min-height:100%}.jodit-source *{font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.jodit-container.jodit-source__mode .jodit-wysiwyg,.jodit-container.jodit-source__mode .jodit-wysiwyg_iframe{display:none!important}.jodit-container.jodit-source__mode .jodit-source{display:block!important}.jodit-container.jodit_split_mode .jodit-workplace{flex-direction:row;flex-wrap:nowrap}.jodit-container.jodit_split_mode .jodit-source,.jodit-container.jodit_split_mode .jodit-wysiwyg,.jodit-container.jodit_split_mode .jodit-wysiwyg_iframe{display:block!important;flex:1;width:50%}.jodit-source__mirror{background:var(--jd-color-source-area);border:0;box-shadow:none;box-sizing:border-box;color:#f0f0f0;height:100%;line-height:1.5;font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;margin:0;min-height:100%;outline:none;overflow:auto;padding:var(--jd-padding-default);resize:none;tab-size:2em;white-space:pre-wrap;width:100%;z-index:2}.jodit-source__mirror::selection{background:var(--jd-color-selection-area)}.jodit_sticky-dummy_toolbar{display:none}.jodit_sticky>.jodit-toolbar__box{border-bottom:1px solid var(--jd-color-border);left:auto;position:fixed;position:sticky;top:0;z-index:3}.jodit_sticky .jodit_sticky-dummy_toolbar{display:block}.jodit-symbols{padding:var(--jd-padding-default);width:460px}.jodit-symbols__container{display:flex}.jodit-symbols__container_table{width:88%}.jodit-symbols__container_preview{width:12%}.jodit-symbols__preview{border:1px solid var(--jd-color-border);font-size:34px;padding:20px 0;text-align:center}.jodit-symbols__table{border:0;border-spacing:0;table-layout:fixed}.jodit-symbols__table td{padding:0}.jodit-symbols__table td a{border:1px solid transparent;box-sizing:border-box;color:var(--jd-color-default);cursor:pointer;display:inline-block;font-size:16px;height:calc(var(--jd-height_element_default)*1.2);line-height:calc(var(--jd-height_element_default)*1.2);text-align:center;text-decoration:none;vertical-align:top;width:calc(var(--jd-width_element_default)*1.2)}.jodit-symbols__table td a:focus,.jodit-symbols__table td a:hover{outline:2px solid var(--jd-color-border)}.jodit-context table,.jodit-wysiwyg table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit-context table tr,.jodit-wysiwyg table tr{user-select:none}.jodit-context table tr td,.jodit-context table tr th,.jodit-wysiwyg table tr td,.jodit-wysiwyg table tr th{border:1px solid var(--jd-color-border);min-width:2em;padding:.4em;user-select:text;vertical-align:middle}.jodit-form__inserter .jodit-form__table-creator-box{display:flex}@media (max-width:768px){.jodit-form__inserter .jodit-form__table-creator-box{flex-direction:column}}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container{font-size:0;margin:0;min-width:180px;padding:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span{border:1px solid var(--jd-color-border);box-sizing:border-box;display:inline-block;height:var(--jd-height_element_default);margin-bottom:2px;margin-left:2px;vertical-align:top;width:var(--jd-width_element_default)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span:first-child{margin-left:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span.jodit_hovered{background:var(--jd-color-background-hover);border-color:var(--jd-color-background-hover)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options{font-size:var(--jd-font-size-default)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label{padding-top:0;text-align:left}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label input{margin-right:var(--jd-padding-default)}.jodit-form__inserter label{font-size:14px;margin:0;padding:8px;text-align:center}.jodit-xpath{align-items:center;display:flex;margin-left:calc(var(--jd-padding-default)/-2)}.jodit-xpath__item{display:flex;height:var(--jd-font-size-small);line-height:calc(var(--jd-font-size-small) - 1px)}.jodit-xpath__item a{color:var(--jd-color-default);font-size:var(--jd-font-size-small);margin-left:2px;outline:0;padding:0 3px}.jodit-dialog_theme_dark,.jodit_theme_dark{--jd-color-border:#6b6b6b}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal,.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal,.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal,.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent calc(var(--jd-button-size) - 1px),var(--jd-color-border) var(--jd-button-size))}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal:after,.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after,.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal:after,.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after{background-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty),.jodit_theme_dark .jodit-toolbar__box:not(:empty){border-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after,.jodit_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after,.jodit_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-right-color:var(--jd-color-border)}.jodit-dialog_theme_dark.jodit-container,.jodit_theme_dark.jodit-container{--jd-color-border:#6b6b6b;background-color:var(--jd-dark_background_color);border-color:var(--jd-color-border)}.jodit-dialog_theme_dark.jodit-container.jodit_disabled,.jodit_theme_dark.jodit-container.jodit_disabled{background-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace,.jodit_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace{border-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark .jodit-popup__content,.jodit_theme_dark .jodit-popup__content{background:var(--jd-dark_background_ligher)}.jodit-dialog_theme_dark .jodit-toolbar-button__text,.jodit-dialog_theme_dark .jodit-ui-button__text,.jodit_theme_dark .jodit-toolbar-button__text,.jodit_theme_dark .jodit-ui-button__text{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-toolbar-button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-toolbar-button__button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button__button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button__trigger:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button__button:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button__button:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button__trigger:hover:not([disabled]){background-color:var(--jd-dark_background_ligher)}.jodit-dialog_theme_dark .jodit-status-bar,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit_theme_dark .jodit-status-bar,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){background-color:var(--jd-dark_toolbar_color);border-color:var(--jd-color-border);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-status-bar,.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item a,.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item span,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited,.jodit_theme_dark .jodit-status-bar,.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item a,.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item span,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty),.jodit_theme_dark .jodit-toolbar__box:not(:empty){background:var(--jd-dark_toolbar_color)}.jodit-dialog_theme_dark .jodit-icon,.jodit-dialog_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger,.jodit-dialog_theme_dark .jodit__upload-button svg,.jodit_theme_dark .jodit-icon,.jodit_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger,.jodit_theme_dark .jodit__upload-button svg{fill:var(--jd-dark_icon_color);stroke:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-icon-close,.jodit_theme_dark .jodit-icon-close{stroke:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-wysiwyg,.jodit-dialog_theme_dark .jodit-wysiwyg_iframe,.jodit_theme_dark .jodit-wysiwyg,.jodit_theme_dark .jodit-wysiwyg_iframe{background-color:var(--jd-dark_background_color);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-form input[type=text],.jodit-dialog_theme_dark .jodit-form input[type=url],.jodit-dialog_theme_dark .jodit-form textarea,.jodit_theme_dark .jodit-form input[type=text],.jodit_theme_dark .jodit-form input[type=url],.jodit_theme_dark .jodit-form textarea{background-color:var(--jd-dark_toolbar_seperator_color1);border-color:var(--jd-dark_toolbar_seperator_color2);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-form button,.jodit_theme_dark .jodit-form button{background-color:var(--jd-dark_toolbar_seperator_color3);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-placeholder,.jodit_theme_dark .jodit-placeholder{color:var(--jd-dark_text_color_opacity80)}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box,.jodit-dialog_theme_dark .jodit_uploadfile_button,.jodit_theme_dark .jodit-drag-and-drop__file-box,.jodit_theme_dark .jodit_uploadfile_button{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box:hover,.jodit-dialog_theme_dark .jodit_uploadfile_button:hover,.jodit_theme_dark .jodit-drag-and-drop__file-box:hover,.jodit_theme_dark .jodit_uploadfile_button:hover{background-color:var(--jd-dark_toolbar_seperator_color3)}.jodit-dialog_theme_dark .jodit-add-new-line:before,.jodit_theme_dark .jodit-add-new-line:before{border-top-color:var(--jd-dark_toolbar_seperator_color2)}.jodit-dialog_theme_dark .jodit-add-new-line span,.jodit_theme_dark .jodit-add-new-line span{background:var(--jd-dark_toolbar_seperator_color3);border-color:var(--jd-dark_toolbar_seperator_color2)}.jodit-dialog_theme_dark .jodit-add-new-line span svg,.jodit_theme_dark .jodit-add-new-line span svg{fill:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-resizer>i,.jodit_theme_dark .jodit-resizer>i{background:var(--jd-dark_toolbar_seperator_color3);border-color:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-input,.jodit-dialog_theme_dark .jodit-select,.jodit_theme_dark .jodit-input,.jodit_theme_dark .jodit-select{background-color:var(--jd-dark_background_ligher);border-color:var(--jd-dark_border_color);color:var(--jd-dark_border_color)}.jodit-dialog_theme_dark.jodit-dialog,.jodit_theme_dark.jodit-dialog{background-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark.jodit-dialog .jodit-dialog__header,.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item,.jodit_theme_dark.jodit-dialog .jodit-dialog__header,.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item{border-color:var(--jd-dark_border_color)}.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info,.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info{background-color:var(--jd-dark_text_color)} \ No newline at end of file +:root{--jd-color-white:#fff;--jd-color-gray:#dadada;--jd-color-gray-dark:#a5a5a5;--jd-color-dark:#4c4c4c;--jd-color-blue:#b5d6fd;--jd-color-light-blue:rgba(181,214,253,.5);--jd-color-red:#ff3b3b;--jd-color-light-red:rgba(255,59,59,.4);--jd-color-default:var(--jd-color-dark);--jd-color-text:#222;--jd-color-label:var(--jd-color-gray-dark);--jd-color-error:var(--jd-color-red);--jd-color-border:var(--jd-color-gray);--jd-color-border-dark:var(--jd-color-dark);--jd-color-border-selected:#1e88e5;--jd-color-border-active:#b5b5b5;--jd-color-selection:var(--jd-color-dark);--jd-color-selection-area:#bdbdbd;--jd-color-separator:var(--jd-color-border);--jd-color-placeholder:var(--jd-color-gray-dark);--jd-color-panel:#f9f9f9;--jd-color-resizer:#c8c8c8;--jd-color-background-default:var(--jd-color-white);--jd-color-background-light-gray:#f5f5f6;--jd-color-background-gray:var(--jd-color-gray);--jd-color-background-gray-hover:#f8f8f8;--jd-color-background-hover:#7a450f;--jd-color-background-button-hover:#ecebe9;--jd-color-background-button-hover-opacity30:hsla(40,7%,92%,.3);--jd-color-background-progress:#b91f1f;--jd-color-background-filebrowser-folders:#3f3f3f;--jd-color-background-active:#2196f3;--jd-color-background-selection:#b5d6fd;--jd-color-background-selection_opacity50:rgba(181,214,253,.995);--jd-color-source-area:#323232;--jd-color-button-background-hover:#dcdcdc;--jd-color-button-background-hover_opacity40:hsla(0,0%,86%,.4);--jd-color-button-background-hover_opacity60:hsla(0,0%,86%,.6);--jd-font-default:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--jd-font-size-default:14px;--jd-font-size-small:11px;--jd-color-text-icons:rgba(0,0,0,.75);--jd-color-icon:var(--jd-color-dark);--jd-padding-default:8px;--jd-border-radius-default:3px;--jd-z-index-full-size:100000;--jd-z-index-popup:10000001;--jd-z-index-dialog-overlay:20000003;--jd-z-index-dialog:20000004;--jd-z-index-context-menu:30000005;--jd-z-index-tooltip:30000006;--jd-icon-loader-size:48px;--jd-width_element_default:18px;--jd-height_element_default:18px;--jd-dark_background_color:#575757;--jd-dark-text-color:var(--jd-color-white);--jd-dark_background_ligher:#787878;--jd-dark_background_darknes:#353535;--jd-dark_border_color:#444;--jd-dark_text_color:#d1cccc;--jd-dark_text_color_opacity80:hsla(0,5%,81%,.8);--jd-dark_text_color_opacity50:hsla(0,5%,81%,.5);--jd-dark_icon_color:silver;--jd-dark_toolbar_color:#5f5c5c;--jd-dark_toolbar_seperator_color1:rgba(81,81,81,.41);--jd-dark_toolbar_seperator_color2:#686767;--jd-dark_toolbar_seperator_color_opacity80:hsla(0,0%,41%,.8);--jd-dark_toolbar_seperator_color3:hsla(0,0%,41%,.75);--jd-dark_color-border-selected:#152f5f;--jd-width-default:180px;--jd-width-input-min:var(--jd-width-default);--jd-input-height:32px;--jd-button-icon-size:14px;--jd-margin-v:2px;--jd-button-df-size:calc((var(--jd-button-icon-size) - 4px)*2);--jd-button-size:calc(var(--jd-button-icon-size) + var(--jd-button-df-size) + var(--jd-margin-v)*2);--jd-focus-input-box-shadow:0 0 0 0.05rem rgba(0,123,255,.25)}.jodit-wysiwyg{outline:0}.jodit-wysiwyg ::selection,.jodit-wysiwyg::selection{background:#b5d6fd;color:#4c4c4c}.jodit-container:not(.jodit_inline) .jodit-wysiwyg{margin:0;outline:0;overflow-x:auto;padding:8px;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg img{max-width:100%;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media{position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media *{position:relative;z-index:0}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}:root{--jd-switche-width:60px;--jd-switche-height:32px;--jd-switche-slider-margin:4px;--jd-switche-slider-size:calc(var(--jd-switche-height) - var(--jd-switche-slider-margin)*2)}.jodit-form{color:var(--jd-color-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-form.jodit_error{border-color:var(--jd-color-error);box-shadow:inset 0 0 3px 0 hsla(0,0%,74%,.3)}@media (max-width:768px){.jodit-form{min-width:150px}}.jodit-form button{background:#d6d6d6;border:none;color:var(--jd-color-dark);cursor:pointer;font-size:16px;height:36px;line-height:1;margin-bottom:var(--jd-padding-default);margin-top:var(--jd-padding-default);outline:none;padding:var(--jd-padding-default);text-decoration:none;transition:background .2s ease 0s}.jodit-form button:hover{background-color:var(--jd-color-background-button-hover);color:var(--jd-color-dark)}.jodit-form button:active{background:var(--jd-color-background-button-hover);color:var(--jd-color-dark)}.jodit-form label{align-items:center;display:flex;margin-bottom:var(--jd-padding-default);text-align:left;white-space:nowrap}.jodit-form label:last-child{margin-bottom:0}.jodit-form .jodit-form__center{justify-content:center}.jodit .jodit-input,.jodit .jodit-select,.jodit .jodit-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit .jodit-input[disabled],.jodit .jodit-select[disabled],.jodit .jodit-textarea[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit .jodit-input_has-error_true,.jodit .jodit-select_has-error_true,.jodit .jodit-textarea_has-error_true{border-color:var(--jd-color-red)}.jodit .jodit-input:focus{border-color:#66afe9;outline:0}.jodit-checkbox{border:0;cursor:pointer;height:16px;margin:0 calc(var(--jd-padding-default)/2) 0 0;outline:none;padding:0;position:relative;width:16px;z-index:2}.jodit-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4.95 10'%3E%3Cdefs%3E%3Cstyle%3E.cls-2{fill:%23444}%3C/style%3E%3C/defs%3E%3Cpath style='fill:%23fff' d='M0 0h4.95v10H0z'/%3E%3Cpath class='cls-2' d='m1.41 4.67 1.07-1.49 1.06 1.49H1.41zM3.54 5.33 2.48 6.82 1.41 5.33h2.13z'/%3E%3C/svg%3E");background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(var(--jd-padding-default)*2)}.jodit-textarea{height:auto}.jodit-form__group,.jodit-textarea{min-width:var(--jd-width-input-min)}.jodit-form__group{display:flex;flex-direction:column}.jodit-form__group,.jodit-form__group>label{margin-bottom:var(--jd-padding-default)}.jodit-button{align-items:center;background-color:var(--jd-color-background-gray);border:0;border-radius:.25rem;color:var(--jd-color-default);cursor:pointer;display:inline-flex;height:calc(var(--jd-padding-default)*4);justify-content:center;line-height:1;margin:0;padding:0 var(--jd-padding-default);position:relative;text-decoration:none;user-select:none;width:auto}.jodit-button svg{display:inline-block;height:24px;width:24px}.jodit-button svg+span{margin-left:calc(var(--jd-padding-default)/2)}.jodit-button:active,.jodit-button:focus{outline:0}.jodit-button.disabled{opacity:.7}.jodit-buttons{display:flex;flex-wrap:nowrap;justify-content:space-between;margin-bottom:var(--jd-padding-default)}.jodit-button .jodit_icon,.jodit-button svg,.jodit-dialog__header .jodit_icon,.jodit-dialog__header svg{display:inline-block;height:16px;vertical-align:middle;width:16px}.jodit-switcher{display:inline-block;height:var(--jd-switche-height);position:relative;width:var(--jd-switche-width)}.jodit-switcher input{height:0;opacity:0;width:0}.jodit-switcher .jodit-switcher__slider{background-color:var(--jd-color-gray);border-radius:var(--jd-switche-height);bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.jodit-switcher .jodit-switcher__slider:before{background-color:#fff;border-radius:50%;bottom:var(--jd-switche-slider-margin);content:"";height:var(--jd-switche-slider-size);left:var(--jd-switche-slider-margin);position:absolute;transition:.4s;width:var(--jd-switche-slider-size)}input:checked+.jodit-switcher__slider{background-color:var(--jd-color-background-active)}input:checked+.jodit-switcher__slider:before{transform:translateX(calc(var(--jd-switche-width) - var(--jd-switche-slider-margin)*2 - var(--jd-switche-slider-size)))}input:focus+.jodit-switcher__slider{box-shadow:0 0 1px var(--jd-color-background-active)}.jodit-button-group{display:flex}.jodit-button-group input{display:none}.jodit-button-group button{display:flex;flex:1;justify-content:center;text-align:center}.jodit-button-group button+button{margin-left:-1px}.jodit-button-group button:first-child,.jodit-button-group input:first-child+button{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.jodit-button-group button:last-child,.jodit-button-group input:last-child+button{border-bottom-left-radius:0;border-left:0;border-top-left-radius:0}.jodit-button-group input[type=checkbox]:checked+button,.jodit-button-group input[type=checkbox]:not(:checked)+button+button{background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.05)}.jodit_text_icons .jodit_icon{font-size:var(--jd-font-size-default);width:auto}.jodit_text_icons .jodit_icon:first-letter{text-transform:uppercase}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a{font-family:var(--jd-font-default);width:auto}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a i{width:auto}.jodit_text_icons.jodit-dialog .jodit-button,.jodit_text_icons.jodit-dialog .jodit-dialog__header a{color:var(--jd-color-text-icons);font-family:var(--jd-font-default);padding:var(--jd-padding-default);width:auto}.jodit_text_icons.jodit-dialog .jodit-button .jodit_icon,.jodit_text_icons.jodit-dialog .jodit-dialog__header a .jodit_icon{width:auto}.jodit-grid{display:flex;width:100%}.jodit-grid.jodit-grid_column{flex-direction:column}@media (max-width:480px){.jodit-grid.jodit-grid_xs-column{flex-direction:column}}.jodit-grid [class*=jodit_col-]{flex:1 1 auto}.jodit-grid .jodit_col-lg-5-5{width:100%}.jodit-grid .jodit_col-lg-4-5{width:80%}.jodit-grid .jodit_col-lg-3-5{width:60%}.jodit-grid .jodit_col-lg-2-5{width:40%}.jodit-grid .jodit_col-lg-1-5{width:20%}.jodit-grid .jodit_col-lg-4-4{width:100%}.jodit-grid .jodit_col-lg-3-4{width:75%}.jodit-grid .jodit_col-lg-2-4{width:50%}.jodit-grid .jodit_col-lg-1-4{width:25%}@media (max-width:992px){.jodit-grid .jodit_col-md-5-5{width:100%}.jodit-grid .jodit_col-md-4-5{width:80%}.jodit-grid .jodit_col-md-3-5{width:60%}.jodit-grid .jodit_col-md-2-5{width:40%}.jodit-grid .jodit_col-md-1-5{width:20%}.jodit-grid .jodit_col-md-4-4{width:100%}.jodit-grid .jodit_col-md-3-4{width:75%}.jodit-grid .jodit_col-md-2-4{width:50%}.jodit-grid .jodit_col-md-1-4{width:25%}}@media (max-width:768px){.jodit-grid .jodit_col-sm-5-5{width:100%}.jodit-grid .jodit_col-sm-4-5{width:80%}.jodit-grid .jodit_col-sm-3-5{width:60%}.jodit-grid .jodit_col-sm-2-5{width:40%}.jodit-grid .jodit_col-sm-1-5{width:20%}.jodit-grid .jodit_col-sm-4-4{width:100%}.jodit-grid .jodit_col-sm-3-4{width:75%}.jodit-grid .jodit_col-sm-2-4{width:50%}.jodit-grid .jodit_col-sm-1-4{width:25%}}@media (max-width:480px){.jodit-grid .jodit_col-xs-5-5{width:100%}.jodit-grid .jodit_col-xs-4-5{width:80%}.jodit-grid .jodit_col-xs-3-5{width:60%}.jodit-grid .jodit_col-xs-2-5{width:40%}.jodit-grid .jodit_col-xs-1-5{width:20%}.jodit-grid .jodit_col-xs-4-4{width:100%}.jodit-grid .jodit_col-xs-3-4{width:75%}.jodit-grid .jodit_col-xs-2-4{width:50%}.jodit-grid .jodit_col-xs-1-4{width:25%}}@keyframes a{to{transform:rotate(1turn)}}.jodit-icon_loader{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;display:inline-block;height:var(--jd-icon-loader-size);vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-icon{fill:var(--jd-color-icon);background:50% no-repeat;background-size:contain;height:14px;overflow:visible;transform-origin:0 0!important;width:14px}.jodit-icon,.jodit-icon_close{stroke:var(--jd-color-icon)}svg.jodit-icon{height:auto;isolation:isolate}.jodit-icon_text{font-size:14px}.jodit,.jodit *,.jodit-container,.jodit-container *{box-sizing:border-box}.jodit .jodit-workplace,.jodit-container .jodit-workplace{overflow:auto;position:relative}.jodit .jodit-workplace .jodit-wysiwyg,.jodit .jodit-workplace .jodit-wysiwyg_iframe,.jodit-container .jodit-workplace .jodit-wysiwyg,.jodit-container .jodit-workplace .jodit-wysiwyg_iframe{height:100%;width:100%}.jodit-wysiwyg [contenteditable=false]{cursor:default}.jodit-container:not(.jodit_inline){background-color:var(--jd-color-background-light-gray);border:1px solid var(--jd-color-border);border-radius:var(--jd-border-radius-default)}.jodit-container:not(.jodit_inline) .jodit-workplace{background-color:var(--jd-color-background-default);border:0 solid var(--jd-color-border);max-height:100%}.jodit-container:not(.jodit_inline).jodit_disabled{background:var(--jd-color-background-gray)}.jodit-container:not(.jodit_inline).jodit_disabled .jodit-workplace{opacity:.4}.jodit_disabled,.jodit_lock{user-select:none!important}.jodit_hidden{display:none!important}.jodit_vertical_middle{align-items:center;display:flex}.jodit-box,.jodit-context-menu{background:0 0;border:0;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.jodit-context-menu{box-shadow:var(--jd-popup-box-shadow);display:inline-block;position:fixed;transform:translateZ(0);z-index:var(--jd-z-index-popup);z-index:var(--jd-z-index-context-menu)}.jodit-context-menu__content{overflow-scrolling:touch;background:var(--jd-color-background-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);max-height:300px;overflow:auto;padding:var(--jd-padding-default)}.jodit-context-menu_padding_false .jodit-context-menu__content{padding:0}.jodit-context-menu_max-height_false .jodit-context-menu__content{max-height:fit-content}.jodit-context-menu .jodit-ui-button{display:flex}.jodit-context-menu__actions{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-context-menu__actions button{width:100%}.jodit-context-menu_theme_dark .jodit-context-menu__content{background-color:var(--jd-dark_background_color)}:root{--jd-popup-box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13)}.jodit-popup{background:0 0;border:0;box-shadow:var(--jd-popup-box-shadow);display:inline-block;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;position:fixed;transform:translateZ(0);width:auto;z-index:var(--jd-z-index-popup)}.jodit-popup__content{overflow-scrolling:touch;background:var(--jd-color-background-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);max-height:300px;overflow:auto;padding:var(--jd-padding-default)}.jodit-popup_padding_false .jodit-popup__content{padding:0}.jodit-popup_max-height_false .jodit-popup__content{max-height:fit-content}.jodit-ui-button-icon-text__icon{display:none}.jodit-ui-button-icon-text__icon:not(:empty){display:inline-flex}.jodit-ui-button-icon-text__text{display:none}.jodit-ui-button-icon-text__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-ui-button-icon-text__icon:not(:empty)+.jodit-ui-button-icon-text__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-ui-button-icon-text__icon:empty+.jodit-ui-button-icon-text__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-ui-button-clear,.jodit-ui-button_clear{appearance:none;background:0 0;border:0;box-shadow:none;box-sizing:border-box;font-style:normal;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-ui-button-sizes{height:34px;min-width:34px}.jodit-ui-button-sizes .jodit-icon{height:14px;width:14px}.jodit-ui-button-sizes button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button-sizes_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_tiny{height:16px;min-width:16px}.jodit-ui-button-sizes_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button-sizes_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button-sizes_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_xsmall{height:22px;min-width:22px}.jodit-ui-button-sizes_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button-sizes_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button-sizes_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_small{height:28px;min-width:28px}.jodit-ui-button-sizes_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button-sizes_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button-sizes_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_large{height:40px;min-width:40px}.jodit-ui-button-sizes_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button-sizes_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button-sizes_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-variants_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button-variants_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default [disabled]{opacity:.7}.jodit-ui-button-variants_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button-variants_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button-variants_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button-variants_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button-variants_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button-variants_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success [disabled]{opacity:.7}.jodit-ui-button-variants_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button-variants_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button-variants_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button-variants_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger [disabled]{opacity:.7}.jodit-ui-button-variants_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button-variants_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-button-style{border-radius:var(--jd-border-radius-default);padding:0 var(--jd-padding-default)}.jodit-ui-button,.jodit-ui-button-style{align-items:center;color:var(--jd-color-text-icons);display:inline-flex;justify-content:center}.jodit-ui-button{appearance:none;background:0 0;border:0;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;cursor:pointer;font-style:normal;height:34px;min-width:34px;outline:0;padding:0;padding:0 var(--jd-padding-default);position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-ui-button:focus-visible:not([disabled]),.jodit-ui-button:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-ui-button:active:not([disabled]),.jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-ui-button[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-ui-button[disabled]{opacity:.3;pointer-events:none}.jodit-ui-button .jodit-icon{height:14px;width:14px}.jodit-ui-button button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_tiny{height:16px;min-width:16px}.jodit-ui-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_xsmall{height:22px;min-width:22px}.jodit-ui-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_small{height:28px;min-width:28px}.jodit-ui-button_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_large{height:40px;min-width:40px}.jodit-ui-button_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button__icon{display:none}.jodit-ui-button__icon:not(:empty){display:inline-flex}.jodit-ui-button__text{display:none}.jodit-ui-button__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-ui-button_context_menu .jodit-ui-button__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-ui-button_context_menu .jodit-ui-button__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-ui-button__icon:not(:empty)+.jodit-ui-button__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-ui-button__icon:empty+.jodit-ui-button__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-ui-button:focus:not([disabled]){outline:1px dashed var(--jd-color-background-selection)}.jodit-ui-button_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default [disabled]{opacity:.7}.jodit-ui-button_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary [disabled]{opacity:.7}.jodit-ui-button_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary [disabled]{opacity:.7}.jodit-ui-button_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success [disabled]{opacity:.7}.jodit-ui-button_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger [disabled]{opacity:.7}.jodit-ui-button_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-list{display:flex;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-ui-group{background-color:transparent;border:0;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-toolbar-button{height:auto;min-height:var(--jd-button-size)}.jodit-ui-list_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:var(--jd-button-size);width:100%}.jodit-ui-list_mode_vertical .jodit-toolbar-button__text:not(:empty){justify-content:left}.jodit-ui-separator{border-left:0;border-right:1px solid var(--jd-color-border);cursor:default;margin:2px;padding:0}.jodit-ui-break{border-top:1px solid var(--jd-color-border);flex-basis:100%;height:0!important;width:0}.jodit-ui-spacer{flex:1}.jodit-ui-group{display:inline-flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;max-width:100%}.jodit-ui-group_line_true{display:flex;justify-content:stretch}.jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-left:0;border-right:1px solid var(--jd-color-border);content:"";cursor:default;margin:2px;padding:0}.jodit-ui-group:last-child{border-bottom:0}.jodit-ui-button-group{margin-bottom:var(--jd-padding-default)}.jodit-ui-button-group__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-button-group__options{display:flex;justify-content:flex-start}.jodit-ui-button-group .jodit-ui-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.jodit-ui-button-group .jodit-ui-button+.jodit-ui-button{border-bottom-left-radius:0;border-left:1px solid var(--jd-color-button-background-hover_opacity40);border-top-left-radius:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover);border-left:0;box-shadow:inset 0 0 3px 0 var(--jd-color-dark);color:var(--jd-color-dark);outline:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled])+.jodit-ui-button{border:0}.jodit-ui-tooltip{background:#727171;background-clip:padding-box;border-radius:2px;color:#fff;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);font-size:11px;line-height:1.4;max-width:120px;opacity:0;padding:calc(var(--jd-padding-default)/4) calc(var(--jd-padding-default)/2);position:fixed;text-rendering:optimizeLegibility;transition:opacity .2s ease 0s;user-select:none;white-space:normal;width:auto;z-index:var(--jd-z-index-tooltip)}@media (max-width:768px){.jodit-ui-tooltip{display:none}}.jodit-ui-tooltip.jodit-ui-tooltip_visible_true{opacity:1}.jodit-dialog{border:0;box-sizing:border-box;display:none;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:0;position:absolute;width:0;will-change:left,top,width,height}.jodit-dialog_moved_true{user-select:none}.jodit-dialog *{box-sizing:border-box}.jodit-dialog .jodit_elfinder,.jodit-dialog .jodit_elfinder *{box-sizing:initial}.jodit-dialog__overlay{background-color:rgba(0,0,0,.5);display:none;height:100%;left:0;overflow:auto;position:fixed;text-align:center;top:0;white-space:nowrap;width:100%;z-index:var(--jd-z-index-dialog-overlay)}.jodit-dialog_static_true .jodit-dialog__overlay{display:none}.jodit-dialog_active_true,.jodit-dialog_modal_true .jodit-dialog__overlay{display:block}.jodit-dialog__panel{--jd-box-shadow-blur:calc(var(--jd-padding-default)*2);--jd-box-shadow-1:0 var(--jd-padding-default) var(--jd-box-shadow-blur) rgba(0,0,0,.19);background-color:#fff;box-shadow:var(--jd-box-shadow-1),0 6px 6px rgba(0,0,0,.23);display:flex;flex-flow:column nowrap;left:0;max-height:100%;max-width:100%;min-height:100px;min-width:200px;position:fixed;text-align:left;top:0;white-space:normal;z-index:var(--jd-z-index-dialog)}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__panel{height:100%!important;left:0!important;max-width:100%;top:0!important;width:100%!important}}.jodit-dialog_static_true{box-sizing:border-box;display:block;height:auto;position:relative;width:auto;z-index:inherit}.jodit-dialog_static_true .jodit-dialog__panel{border:1px solid var(--jd-color-border);box-shadow:none;left:auto!important;position:relative;top:auto!important;width:100%!important;z-index:inherit}.jodit-dialog_theme_dark,.jodit-dialog_theme_dark .jodit-dialog__panel{background-color:var(--jd-dark_background_darknes);color:var(--jd-dark-text-color)}.jodit-dialog__header{border-bottom:1px solid var(--jd-color-border);cursor:move;display:flex;justify-content:space-between;min-height:50px;text-align:left}.jodit-dialog__header-title,.jodit-dialog__header-toolbar{align-items:center;display:flex;flex-shrink:3;font-size:18px;font-weight:400;line-height:48px;margin:0;padding:0 var(--jd-padding-default);vertical-align:top}@media (max-width:480px){.jodit-dialog__header-toolbar{padding-left:0}}.jodit-dialog__header-button{color:#222;flex-basis:48px;font-size:28px;height:48px;line-height:48px;text-align:center;text-decoration:none;transition:background-color .2s ease 0s}.jodit-dialog__header-button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-dialog__header .jodit_toolbar{background:transparent;border:0;box-shadow:none}.jodit-dialog__header .jodit_toolbar>li.jodit-toolbar-button .jodit-input{padding-left:var(--jd-padding-default);width:auto}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__header{flex-direction:column}}.jodit-dialog_slim_true .jodit-dialog__header{min-height:10px}.jodit-dialog_slim_true .jodit-dialog__header-title,.jodit-dialog_slim_true .jodit-dialog__header-toolbar{padding:0 calc(var(--jd-padding-default)/4)}.jodit-dialog_theme_dark .jodit-dialog__header{border-color:var(--jd-color-dark)}.jodit-dialog_fullsize_true .jodit-dialog__header{cursor:default}.jodit-dialog__content{flex:1;min-height:100px;overflow:auto}.jodit-dialog__content .jodit-form__group{margin-bottom:calc(var(--jd-padding-default)*1.5);padding:0 var(--jd-padding-default)}.jodit-dialog__content .jodit-form__group:first-child{margin-top:var(--jd-padding-default)}.jodit-dialog__content .jodit-form__group label+.jodit-grid,.jodit-dialog__content .jodit-form__group label+.jodit-input_group,.jodit-dialog__content .jodit-form__group label+.jodit-select,.jodit-dialog__content .jodit-form__group label+input{margin-top:calc(var(--jd-padding-default)/2)}.jodit-dialog__content .jodit-form__group .jodit-input_group{border-collapse:separate;display:table;width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group>*{display:table-cell;height:34px;vertical-align:middle}.jodit-dialog__content .jodit-form__group .jodit-input_group>input{margin:0!important}.jodit-dialog__content .jodit-form__group .jodit-input_group>input:not([class*=col-]){width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons{font-size:0;vertical-align:middle;white-space:nowrap;width:1%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons>.jodit-button{border:1px solid var(--jd-color-border);border-radius:0;height:34px;line-height:34px;margin-left:-1px}.jodit-dialog__footer{display:none;flex-wrap:nowrap;justify-content:space-between;padding:var(--jd-padding-default)}.jodit-dialog__footer button{margin-right:calc(var(--jd-padding-default)/2)}.jodit-dialog__footer button:last-child{margin-right:0}.jodit-dialog__column{display:flex}.jodit-dialog__resizer{display:none;position:relative}.jodit-dialog__resizer svg{fill:var(--jd-color-gray-dark);bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;user-select:none;width:12px}.jodit-dialog_resizable_true .jodit-dialog__resizer{display:block}@media (max-width:480px){.jodit-dialog__resizer{display:none}}.jodit-dialog_prompt{max-width:300px;min-width:200px;padding:var(--jd-padding-default);word-break:break-all}.jodit-dialog_prompt label{display:block;margin-bottom:calc(var(--jd-padding-default)/2)}.jodit-dialog_alert{max-width:300px;min-width:200px;padding:var(--jd-padding-default);word-break:break-all}.jodit-dialog_footer_true .jodit-dialog__footer{display:flex}.jodit_fullsize .jodit-dialog__panel{bottom:0!important;height:100%!important;left:0!important;right:0!important;top:0!important;width:100%!important}.jodit_fullsize .jodit-dialog__panel .jodit-dialog__resizer{display:none}.jodit-dialog .jodit-ui-messages{z-index:var(--jd-z-index-dialog)}.jodit-toolbar__box:not(:empty){--jd-color-background-default:var(--jd-color-panel);background-color:var(--jd-color-background-default);border-bottom:1px solid var(--jd-color-border);border-radius:var(--jd-border-radius-default) var(--jd-border-radius-default) 0 0;overflow:hidden}.jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:var(--jd-color-panel)}:root{--jd-em-color-border:#b6d4fe;--jd-em-color-bg:#cfe2ff;--jd-em-color-color:#084298;--jd-em-border-radius:0.375rem;--jd-em-padding:0.5rem 1rem;--jd-em-font-size:1rem}.jodit-ui-messages{bottom:0;height:0;overflow:visible;position:absolute;right:0;width:0;z-index:3}.jodit-ui-message{background:var(--jd-em-color-bg);border:1px solid var(--jd-em-color-border);border-radius:var(--jd-em-border-radius);bottom:0;color:var(--jd-em-color-color);cursor:pointer;display:block;font-size:var(--jd-em-font-size);opacity:0;padding:var(--jd-em-padding);position:absolute;right:calc(var(--jd-padding-default)/2);transition:opacity .1s linear,bottom .3s linear,transform .1s ease-out;white-space:pre}.jodit-ui-message_active_true{opacity:1}.jodit-ui-message:active{transform:scale(.76)}.jodit-ui-message_variant_secondary{--jd-em-color-border:#d3d6d8;--jd-em-color-bg:#e2e3e5;--jd-em-color-color:#41464b}.jodit-ui-message_variant_danger,.jodit-ui-message_variant_error,.jodit-ui-message_variant_secondary{background:var(--jd-em-color-bg);border-color:var(--jd-em-color-border);color:var(--jd-em-color-color)}.jodit-ui-message_variant_danger,.jodit-ui-message_variant_error{--jd-em-color-border:#f5c2c7;--jd-em-color-bg:#f8d7da;--jd-em-color-color:#842029}.jodit-ui-message_variant_success{--jd-em-color-border:#badbcc;--jd-em-color-bg:#d1e7dd;--jd-em-color-color:#0f5132;background:var(--jd-em-color-bg);border-color:var(--jd-em-color-border);color:var(--jd-em-color-color)}.jodit-ui-label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-input{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default)}.jodit-ui-input__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-input__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-input__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-input__input:focus{outline:0}.jodit-ui-input_theme_dark .jodit-ui-input__input{background-color:var(--jd-color-gray)}.jodit-ui-input_has-error_true .jodit-ui-input__input{border-color:var(--jd-color-red)}.jodit-ui-input__error,.jodit-ui-input__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-input__error,.jodit-ui-input_has-error_true .jodit-ui-input__label{color:var(--jd-color-error)}.jodit-ui-input__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-input__wrapper{min-width:140px}}.jodit-ui-input_theme_dark .jodit-ui-input__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-input_focused_true .jodit-ui-input__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-input__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-input__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-input__icon:not(:empty)+.jodit-ui-input__input{padding-left:0}.jodit-ui-input__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-input__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-input__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-input_theme_dark .jodit-ui-input__clear svg,.jodit-ui-input_theme_dark .jodit-ui-input__icon svg{fill:var(--jd-color-dark)}.jodit-ui-block .jodit-ui-input{margin-bottom:0}.jodit-ui-select{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default)}.jodit-ui-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-select__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-select__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-select__input:focus{outline:0}.jodit-ui-select_theme_dark .jodit-ui-select__input{background-color:var(--jd-color-gray)}.jodit-ui-select_has-error_true .jodit-ui-select__input{border-color:var(--jd-color-red)}.jodit-ui-select__error,.jodit-ui-select__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-select__error,.jodit-ui-select_has-error_true .jodit-ui-select__label{color:var(--jd-color-error)}.jodit-ui-select__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-select__wrapper{min-width:140px}}.jodit-ui-select_theme_dark .jodit-ui-select__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-select_focused_true .jodit-ui-select__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-select__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-select__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-select__icon:not(:empty)+.jodit-ui-select__input{padding-left:0}.jodit-ui-select__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-select__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-select__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-select_theme_dark .jodit-ui-select__clear svg,.jodit-ui-select_theme_dark .jodit-ui-select__icon svg{fill:var(--jd-color-dark)}.jodit-ui-select__input{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0ye2ZpbGw6IzQ0NH08L3N0eWxlPjwvZGVmcz48cGF0aCBzdHlsZT0iZmlsbDojZmZmIiBkPSJNMCAwaDQuOTV2MTBIMHoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Im0xLjQxIDQuNjcgMS4wNy0xLjQ5IDEuMDYgMS40OUgxLjQxek0zLjU0IDUuMzMgMi40OCA2LjgyIDEuNDEgNS4zM2gyLjEzeiIvPjwvc3ZnPg==);background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(var(--jd-padding-default)*2)}.jodit-ui-select_size_tiny{margin-bottom:0}.jodit-ui-select_size_tiny .jodit-ui-select__input{--jd-height:calc(var(--jd-input-height)/1.8);height:var(--jd-height);line-height:var(--jd-height)}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper{border:0}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper select{outline:0}.jodit-ui-select_width_auto{width:auto}.jodit-ui-select_width_auto .jodit-ui-select__wrapper{min-width:auto}.jodit-ui-text-area{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default);width:100%}.jodit-ui-text-area__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-text-area__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-text-area__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-text-area__input:focus{outline:0}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__input{background-color:var(--jd-color-gray)}.jodit-ui-text-area_has-error_true .jodit-ui-text-area__input{border-color:var(--jd-color-red)}.jodit-ui-text-area__error,.jodit-ui-text-area__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-text-area__error,.jodit-ui-text-area_has-error_true .jodit-ui-text-area__label{color:var(--jd-color-error)}.jodit-ui-text-area__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-text-area__wrapper{min-width:140px}}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-text-area_focused_true .jodit-ui-text-area__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-text-area__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-text-area__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-text-area__icon:not(:empty)+.jodit-ui-text-area__input{padding-left:0}.jodit-ui-text-area__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-text-area__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-text-area__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__clear svg,.jodit-ui-text-area_theme_dark .jodit-ui-text-area__icon svg{fill:var(--jd-color-dark)}.jodit-ui-text-area__wrapper{flex:1}.jodit-ui-text-area__input{height:100%;min-height:60px}.jodit-ui-checkbox{align-items:center;display:flex;flex-direction:row-reverse;justify-content:flex-end;margin-bottom:var(--jd-padding-default)}.jodit-ui-checkbox__input{margin-right:var(--jd-padding-default)}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper{display:inline-block;height:34px;margin-right:var(--jd-padding-default);position:relative;width:60px}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper input{height:0;opacity:0;width:0}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:26px;left:4px;position:absolute;transition:.4s;width:26px}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider{background-color:#2196f3}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider:before{transform:translateX(26px)}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_focused_true .jodit-ui-checkbox__switch-slider{box-shadow:0 0 1px #2196f3}.jodit-ui-block .jodit-ui-checkbox{margin-bottom:0}.jodit-ui-file-input{overflow:hidden;position:relative}.jodit-ui-file-input__input{bottom:0;cursor:pointer;font-size:400px;margin:0 calc(var(--jd-padding-default)*-1) 0 0;opacity:0;padding:0;position:absolute;right:0;top:0}.jodit-ui-block{align-items:center;display:flex;justify-content:stretch;margin-bottom:var(--jd-padding-default)}.jodit-ui-block_width_full{width:100%}.jodit-ui-block_align_full{justify-content:space-between}.jodit-ui-block_align_right{justify-content:flex-end}.jodit-ui-block_padding_true{padding:var(--jd-padding-default)}@keyframes b{30%{opacity:.6}60%{opacity:0}to{opacity:.6}}.jodit-progress-bar{border-radius:1px;height:2px;left:0;opacity:.7;position:absolute;top:0;z-index:2147483647}.jodit-progress-bar div{background:var(--jd-color-background-progress);height:2px;position:relative;transition:width .5s ease-out,opacity .5s linear;will-change:width,opacity}.jodit-progress-bar div:after,.jodit-progress-bar div:before{animation:b 2s ease-out 0s infinite;border-radius:100%;box-shadow:var(--jd-color-background-progress) 1px 0 6px 1px;content:"";display:inline-block;height:2px;opacity:.6;position:absolute;top:0}.jodit-progress-bar div:before{clip:rect(-6px,90px,14px,-6px);right:-80px;width:180px}.jodit-progress-bar div:after{clip:rect(-6px,22px,14px,var(--jd-padding-default));right:0;width:20px}.jodit-toolbar-collection,.jodit-toolbar-editor-collection{display:flex;flex-direction:column}.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent calc(var(--jd-button-size) - 1px),var(--jd-color-border) var(--jd-button-size));position:relative}.jodit-toolbar-collection_mode_horizontal:after,.jodit-toolbar-editor-collection_mode_horizontal:after{background-color:var(--jd-color-background-default);bottom:0;content:"";display:block;height:1px;left:0;position:absolute;width:100%}.jodit-toolbar-collection_size_tiny,.jodit-toolbar-editor-collection_size_tiny{--jd-button-icon-size:8px}.jodit-toolbar-collection_size_tiny.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 19px,var(--jd-color-border) 20px)}.jodit-toolbar-collection_size_xsmall,.jodit-toolbar-editor-collection_size_xsmall{--jd-button-icon-size:10px}.jodit-toolbar-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 25px,var(--jd-color-border) 26px)}.jodit-toolbar-collection_size_small,.jodit-toolbar-editor-collection_size_small{--jd-button-icon-size:12px}.jodit-toolbar-collection_size_small.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_small.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 31px,var(--jd-color-border) 32px)}.jodit-toolbar-collection_size_middle,.jodit-toolbar-editor-collection_size_middle{--jd-button-icon-size:14px}.jodit-toolbar-collection_size_middle.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 37px,var(--jd-color-border) 38px)}.jodit-toolbar-collection_size_large,.jodit-toolbar-editor-collection_size_large{--jd-button-icon-size:16px}.jodit-toolbar-collection_size_large.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_large.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 43px,var(--jd-color-border) 44px)}.jodit-toolbar-collection_mode_vertical .jodit-ui-group,.jodit-toolbar-editor-collection_mode_vertical .jodit-ui-group{background-color:transparent;border:0;flex-direction:column}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button,.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button{height:auto;min-height:var(--jd-button-size)}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__button,.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:var(--jd-button-size);width:100%}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__text:not(:empty),.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__text:not(:empty){justify-content:left}.jodit-toolbar-collection .jodit-toolbar-button,.jodit-toolbar-collection .jodit-toolbar-content,.jodit-toolbar-editor-collection .jodit-toolbar-button,.jodit-toolbar-editor-collection .jodit-toolbar-content{margin:var(--jd-margin-v) 1px;padding:0}.jodit-dialog .jodit-toolbar-collection_mode_horizontal,.jodit-dialog .jodit-toolbar-editor-collection_mode_horizontal{background-image:none}.jodit-toolbar-button{align-items:center;border:1px solid transparent;border-radius:var(--jd-border-radius-default);display:flex;height:34px;justify-content:center;min-width:34px;overflow:hidden}.jodit-toolbar-button__icon{display:none}.jodit-toolbar-button__icon:not(:empty){display:inline-flex}.jodit-toolbar-button__text{display:none}.jodit-toolbar-button__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-toolbar-button__icon:not(:empty)+.jodit-toolbar-button__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-toolbar-button__icon:empty+.jodit-toolbar-button__text:not(:empty){padding:0 var(--jd-padding-default);padding:0}.jodit-toolbar-button .jodit-icon{height:14px;width:14px}.jodit-toolbar-button button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-button_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_tiny{height:16px;min-width:16px}.jodit-toolbar-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-button_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-button_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-button_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-button_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_small{height:28px;min-width:28px}.jodit-toolbar-button_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-button_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-button_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_large{height:40px;min-width:40px}.jodit-toolbar-button_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-button_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-button_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button__button{align-items:center;appearance:none;background:0 0;border:0;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;color:var(--jd-color-text-icons);cursor:pointer;display:inline-flex;font-style:normal;justify-content:center;outline:0;padding:0;padding:0 var(--jd-padding-default);position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-toolbar-button__button:focus-visible:not([disabled]),.jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-button__button:active:not([disabled]),.jodit-toolbar-button__button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-button__button[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-button__button[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger{align-items:center;border-radius:0 var(--jd-border-radius-default) var(--jd-border-radius-default) 0;cursor:pointer;display:flex;height:100%;justify-content:center;opacity:.4;width:14px}.jodit-toolbar-button__trigger:focus-visible:not([disabled]),.jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-button__trigger:active:not([disabled]),.jodit-toolbar-button__trigger[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-button__trigger[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-button__trigger[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger svg{width:10px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger{width:8px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger svg{width:4px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger{width:10px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger svg{width:6px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger{width:12px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger svg{width:8px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger{width:16px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger svg{width:12px}.jodit-toolbar-button_with-trigger_true .jodit-toolbar-button__button{border-radius:var(--jd-border-radius-default) 0 0 var(--jd-border-radius-default)}.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:var(--jd-color-border)}.jodit-toolbar-button_stroke_false svg{stroke:none}.jodit-toolbar-content{align-items:center;appearance:none;background:0 0;border:1px solid transparent;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;color:var(--jd-color-text-icons);cursor:pointer;display:inline-flex;font-style:normal;height:34px;justify-content:center;min-width:34px;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-toolbar-content:focus-visible:not([disabled]),.jodit-toolbar-content:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-content:active:not([disabled]),.jodit-toolbar-content[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-content[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-content[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-content .jodit-icon{height:14px;width:14px}.jodit-toolbar-content button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-content_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_tiny{height:16px;min-width:16px}.jodit-toolbar-content_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-content_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-content_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-content_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-content_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-content_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_small{height:28px;min-width:28px}.jodit-toolbar-content_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-content_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-content_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_large{height:40px;min-width:40px}.jodit-toolbar-content_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-content_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-content_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content__icon{display:none}.jodit-toolbar-content__icon:not(:empty){display:inline-flex}.jodit-toolbar-content__text{display:none}.jodit-toolbar-content__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-toolbar-content__icon:not(:empty)+.jodit-toolbar-content__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-toolbar-content__icon:empty+.jodit-toolbar-content__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-toolbar-content:focus:not([disabled]){outline:1px dashed var(--jd-color-background-selection)}.jodit-toolbar-content_variant_default{background-color:#e3e3e3;color:#212529}.jodit-toolbar-content_variant_default svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default [disabled]{opacity:.7}.jodit-toolbar-content_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_primary{background-color:#007bff;color:#fff}.jodit-toolbar-content_variant_primary svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary [disabled]{opacity:.7}.jodit-toolbar-content_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-toolbar-content_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-toolbar-content_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-toolbar-content_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary [disabled]{opacity:.7}.jodit-toolbar-content_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_success{background-color:#28a745;color:#fff}.jodit-toolbar-content_variant_success svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success [disabled]{opacity:.7}.jodit-toolbar-content_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-toolbar-content_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-toolbar-content_variant_danger{background-color:#dc3545;color:#fff}.jodit-toolbar-content_variant_danger svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger [disabled]{opacity:.7}.jodit-toolbar-content_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-toolbar-content_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-toolbar-content:hover:not([disabled]){background-color:transparent;opacity:1;outline:0}:root{--jd-first_column:31%;--jd-cols:4;--jd-info-background:#e9e9e9;--jd-icon-size:12px;--jd-col_size:150px}.jodit-filebrowser{display:flex;font-family:var(--jd-font-default);height:100%}.jodit-filebrowser_no-files_true{padding:var(--jd-padding-default)}@media (max-width:480px){.jodit-filebrowser{flex-flow:column-reverse}}.jodit-dialog .jodit-dialog__header-title.jodit-filebrowser__title-box{align-items:center;display:flex;padding-left:var(--jd-padding-default)}.jodit-filebrowser-preview{align-items:center;display:flex;height:100%;justify-content:center;margin:auto;max-height:100%;max-width:Min(100%,1000px);min-height:Min(100%,500px);min-width:400px;position:relative;text-align:center}@media (max-width:768px){.jodit-filebrowser-preview{height:100%;max-height:100%;max-width:100%;min-height:auto;min-width:auto}}.jodit-filebrowser-preview__box{align-items:center;display:flex;flex-grow:1;justify-content:center}.jodit-filebrowser-preview__navigation{cursor:pointer;height:100%;left:0;position:absolute;top:0}.jodit-filebrowser-preview__navigation_arrow_next{left:auto;right:0}.jodit-filebrowser-preview__navigation svg{fill:#9e9ba7;height:45px;position:relative;top:50%;transform:translateY(-50%);transition:fill .3s linear;width:45px}.jodit-filebrowser-preview__navigation:hover svg{fill:#000}.jodit-filebrowser-preview img{max-height:100%;max-width:100%}:root{--jd-image_editor_resizer_border_color:#05ff00;--jd-image_editor_resizer_target_size:padding-default;--jd-image_editor_resizer_target_border_color:#383838;--jd-image_editor_resizer_target_bg_color:#8c7878}.jodit-image-editor{height:100%;overflow:hidden;padding:var(--jd-padding-default);width:100%}@media (max-width:768px){.jodit-image-editor{height:auto}}.jodit-image-editor>div,.jodit-image-editor>div>div{height:100%}@media (max-width:768px){.jodit-image-editor>div,.jodit-image-editor>div>div{height:auto;min-height:200px}}.jodit-image-editor *{box-sizing:border-box}.jodit-image-editor .jodit-image-editor__slider-title{background-color:#f9f9f9;border-bottom:1px solid hsla(0,0%,62%,.31);color:#333;cursor:pointer;font-weight:700;line-height:1em;padding:.8em 1em;text-overflow:ellipsis;text-shadow:#f3f3f3 0 1px 0;user-select:none;white-space:nowrap}.jodit-image-editor .jodit-image-editor__slider-title svg{display:inline-block;margin-right:var(--jd-padding-default);vertical-align:middle;width:16px}.jodit-image-editor .jodit-image-editor__slider-content{display:none}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title{background-color:#5d5d5d;color:#fff;text-shadow:#000 0 1px 0}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title svg{fill:#fff}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-content{display:block}.jodit-image-editor__area{background-color:#eee;background-image:linear-gradient(45deg,var(--jd-color-border) 25%,transparent 25%,transparent 75%,var(--jd-color-border) 75%,var(--jd-color-border)),linear-gradient(45deg,var(--jd-color-border) 25%,transparent 25%,transparent 75%,var(--jd-color-border) 75%,var(--jd-color-border));background-position:0 0,15px 15px;background-size:30px 30px;display:none;height:100%;overflow:hidden;position:relative;user-select:none;width:100%}.jodit-image-editor__area.jodit-image-editor_active{display:block}.jodit-image-editor__area .jodit-image-editor__box{height:100%;overflow:hidden;pointer-events:none;position:relative;z-index:1}.jodit-image-editor__area .jodit-image-editor__box img{max-height:100%;max-width:100%;user-select:none}.jodit-image-editor__area .jodit-image-editor__croper,.jodit-image-editor__area .jodit-image-editor__resizer{background-repeat:no-repeat;border:1px solid #fff;box-shadow:0 0 11px #000;height:100px;left:20px;pointer-events:none;position:absolute;top:var(--jd-padding-default);width:100px;z-index:2}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright,.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright{background-color:var(--jd-image_editor_resizer_target_bg_color);border:1px solid var(--jd-image_editor_resizer_target_border_color);border-radius:50%;bottom:calc(var(--jd-padding-default)*-1);box-shadow:0 0 11px #000;cursor:se-resize;display:inline-block;height:20px;pointer-events:all;position:absolute;right:calc(var(--jd-padding-default)*-1);width:20px;z-index:4}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright:active,.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright:active{border:1px solid #ff0}.jodit-image-editor__area.jodit-image-editor__area_crop{background:#eee;height:100%;line-height:100%;position:relative;text-align:center}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box{height:100%;line-height:100%;overflow:visible;pointer-events:all;text-align:left}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box img{height:100%;max-height:100%;max-width:100%;width:100%}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box:after{background:hsla(0,0%,100%,.3);bottom:0;content:"";left:0;margin:auto;position:absolute;right:0;top:0;z-index:1}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper{cursor:move;pointer-events:all}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper i.jodit-image-editor__sizes{background:rgba(0,0,0,.2);border-radius:.4em;bottom:-30px;color:#fff;display:block;font-size:12px;left:100%;padding:9px 6px;position:absolute;text-align:center;text-shadow:none;white-space:pre}.jodit-image-editor__area.jodit-image-editor__area_crop.jodit-image-editor_active{align-items:center;display:flex;justify-content:center}.jodit-filebrowser-files{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-files .jodit-button{border-radius:0}.jodit-filebrowser-files_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-files_loading_true:after{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:var(--jd-icon-loader-size);left:50%;margin-left:calc(var(--jd-icon-loader-size)/-2);margin-top:calc(var(--jd-icon-loader-size)/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-filebrowser-files_active_true{display:flex}.jodit-filebrowser-files::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-files::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-files::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-files_active_true{align-content:flex-start;flex-wrap:wrap;overflow-y:auto;padding:calc(var(--jd-padding-default)/2);width:100%}.jodit-filebrowser-files__item{align-items:center;border:1px solid var(--jd-color-border);display:flex;font-size:0;height:var(--jd-col_size);justify-content:center;margin:calc(var(--jd-padding-default)/2);overflow:hidden;position:relative;text-align:center;transition:border .1s linear,bottom .1s linear;width:var(--jd-col_size)}@media (max-width:480px){.jodit-filebrowser-files__item{width:calc(50% - var(--jd-padding-default))}}.jodit-filebrowser-files__item img{max-width:100%}.jodit-filebrowser-files__item:hover{border-color:#433b5c}.jodit-filebrowser-files__item_active_true{background-color:var(--jd-color-border-active);border-color:var(--jd-color-border-selected)}.jodit-filebrowser-files__item_active_true .jodit-filebrowser-files__item-info{background-color:var(--jd-color-border-active);color:#fff;text-shadow:none}.jodit-filebrowser-files__item-info{background-color:var(--jd-info-background);bottom:0;color:#333;font-size:14px;left:0;line-height:16px;opacity:.85;overflow:visible;padding:.3em .6em;position:absolute;right:0;text-align:left;text-shadow:#eee 0 1px 0;transition:opacity .4s ease;white-space:normal}.jodit-filebrowser-files__item-info>span{display:block;font-size:.75em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jodit-filebrowser-files__item-info>span.jodit-filebrowser-files__item-info-filename{font-size:.9em;font-weight:700}.jodit-filebrowser-files__item:hover:not(.jodit-filebrowser-files__item_active_true) .jodit-filebrowser-files__item-info{bottom:-100px}.jodit-filebrowser-files_view_list{scroll-behavior:smooth}.jodit-filebrowser-files_view_list a{border-width:0 0 1px;display:block;height:26px;line-height:26px;margin:0;text-align:left;white-space:nowrap;width:100%}.jodit-filebrowser-files_view_list a img{display:inline-block;margin-left:4px;max-width:16px;min-width:16px;vertical-align:middle}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info{background-color:transparent;display:inline-block;font-size:0;height:100%;line-height:inherit;margin-left:4px;padding:0;position:static;vertical-align:middle;width:calc(100% - 20px)}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info>span{display:inline-block;font-size:12px;height:100%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filename{width:50%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filechanged,.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filesize{width:25%}.jodit-filebrowser-files_view_list a:hover{background-color:#433b5c}.jodit-filebrowser-files_view_list a:hover .jodit-filebrowser-files__item-info{color:#fff;text-shadow:none}.jodit-filebrowser-files_view_list a:before{content:"";display:inline-block;height:100%;vertical-align:middle}:root{--jd-color-folder-title:#b1b1b1}.jodit-filebrowser-tree{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-tree .jodit-button{border-radius:0}.jodit-filebrowser-tree_active_true{display:flex}.jodit-filebrowser-tree_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-tree_loading_true:after{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:var(--jd-icon-loader-size);left:50%;margin-left:calc(var(--jd-icon-loader-size)/-2);margin-top:calc(var(--jd-icon-loader-size)/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-filebrowser-tree::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-tree::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-tree_active_true{background-color:var(--jd-color-background-filebrowser-folders);flex-direction:column;max-width:290px;min-width:200px;overflow-y:auto;width:var(--jd-first_column);z-index:2}@media (max-width:480px){.jodit-filebrowser-tree_active_true{height:100px;max-width:100%;width:auto}}.jodit-filebrowser-tree_active_true::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-thumb{background-color:hsla(0,0%,50%,.5);outline:1px solid #708090}.jodit-filebrowser-tree__item{align-items:center;border-bottom:1px solid #474747;color:var(--jd-color-folder-title);display:flex;justify-content:space-between;min-height:38px;padding:calc(var(--jd-padding-default)/2) var(--jd-padding-default);position:relative;text-decoration:none;transition:background-color .2s ease 0s;word-break:break-all}.jodit-filebrowser-tree__item-title{color:var(--jd-color-folder-title);flex:1}.jodit-filebrowser-tree__item .jodit-icon_folder{align-items:center;display:flex;height:calc(var(--jd-icon-size) + 4px);justify-content:center;margin-left:calc(var(--jd-padding-default)/2);opacity:.3;width:calc(var(--jd-icon-size) + 4px)}.jodit-filebrowser-tree__item .jodit-icon_folder svg{fill:var(--jd-color-folder-title)!important;stroke:var(--jd-color-folder-title)!important;height:var(--jd-icon-size);width:var(--jd-icon-size)}.jodit-filebrowser-tree__item .jodit-icon_folder:hover{background:#696969}.jodit-filebrowser-tree__item:hover{background-color:var(--jd-color-background-button-hover)}.jodit-filebrowser-tree__item:hover-title{color:var(--jd-color-text)}.jodit-filebrowser-tree__item:hover i.jodit-icon_folder{opacity:.6}.jodit-filebrowser-tree__source-title{background:#5a5a5a;border-bottom:1px solid #484848;color:#969696;display:block;font-size:12px;padding:2px 4px;position:relative;user-select:none;word-break:break-all}a+.jodit-filebrowser-tree__source-title{margin-top:var(--jd-padding-default)}.jodit-status-bar{align-items:center;background-color:var(--jd-color-panel);border-radius:0 0 var(--jd-border-radius-default) var(--jd-border-radius-default);color:var(--jd-color-text-icons);display:flex;font-size:var(--jd-font-size-small);height:20px;justify-content:flex-start;overflow:hidden;padding:0 calc(var(--jd-padding-default)/2);text-transform:uppercase}.jodit-status-bar_resize-handle_true{padding-right:14px}.jodit-status-bar:before{content:"";flex:auto;order:1}.jodit-status-bar .jodit-status-bar__item{line-height:1.57142857em;margin:0 var(--jd-padding-default) 0 0;order:0;padding:0}.jodit-status-bar .jodit-status-bar__item,.jodit-status-bar .jodit-status-bar__item>span{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);font-size:var(--jd-font-size-small)}.jodit-status-bar .jodit-status-bar__item.jodit-status-bar__item-right{margin:0 0 0 var(--jd-padding-default);order:2}.jodit-status-bar .jodit-status-bar__item a{border-radius:3px;cursor:default;text-decoration:none}.jodit-status-bar .jodit-status-bar__item a:hover{background-color:var(--jd-color-background-gray);text-decoration:none}.jodit-status-bar a.jodit-status-bar-link{cursor:pointer}.jodit-status-bar a.jodit-status-bar-link,.jodit-status-bar a.jodit-status-bar-link:hover,.jodit-status-bar a.jodit-status-bar-link:visited{background-color:transparent;color:var(--jd-color-text-icons)}.jodit-status-bar a.jodit-status-bar-link:hover{text-decoration:underline}.jodit-workplace+.jodit-status-bar:not(:empty){border-top:1px solid var(--jd-color-border)}.jodit_disabled .jodit-status-bar{opacity:.4}.jodit-drag-and-drop__file-box,.jodit_uploadfile_button{border:1px dashed var(--jd-color-gray);margin:var(--jd-padding-default) 0;overflow:hidden;padding:25px 0;position:relative;text-align:center;width:100%}.jodit-drag-and-drop__file-box:hover,.jodit_uploadfile_button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-drag-and-drop__file-box input,.jodit_uploadfile_button input{bottom:0;cursor:pointer;font-size:400px;left:0;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0}@media (max-width:768px){.jodit-drag-and-drop__file-box{max-width:100%;min-width:var(--jd-width-input-min);width:auto}}.jodit-about{padding:20px}.jodit-about a{color:#459ce7;text-decoration:none}.jodit-about a:focus,.jodit-about a:hover{color:#23527c;outline:0;text-decoration:underline}.jodit-about div{margin-bottom:calc(var(--jd-padding-default)/2)}:root{--jd-color-new-line:var(--jd-color-border);--jd-width-icon:30px;--jd-height-icon:30px;--jd-offset-handle:calc(100% - var(--jd-width-icon))}.jodit-add-new-line{display:block;height:1px;outline:none;position:fixed;top:0;z-index:1}.jodit-add-new-line,.jodit-add-new-line *{box-sizing:border-box}.jodit-add-new-line:after{background-color:var(--jd-color-new-line);content:"";display:block;height:1px;width:100%}.jodit-add-new-line span{align-items:center;background:var(--jd-color-background-button-hover-opacity30);border:1px solid var(--jd-color-new-line);cursor:pointer;display:flex;height:var(--jd-height-icon);justify-content:center;left:var(--jd-offset-handle);position:absolute;width:var(--jd-width-icon)}.jodit-add-new-line span:hover{background:var(--jd-color-background-button-hover)}.jodit-add-new-line_after span{bottom:0}.jodit-add-new-line svg{fill:var(--jd-color-new-line);width:16px}.jodit-source__mode .jodit-add-new-line{display:none!important}:root{--jd-color-picker-cell-size:24px}.jodit-color-picker{margin:0;text-align:left;user-select:none}.jodit-color-picker__group{display:flex;flex-wrap:wrap;margin-bottom:calc(var(--jd-padding-default)/2);max-width:calc(var(--jd-color-picker-cell-size)*10);white-space:normal}.jodit-color-picker__color-item{border:1px solid transparent;display:block;height:var(--jd-color-picker-cell-size);text-align:center;text-decoration:none;vertical-align:middle;width:var(--jd-color-picker-cell-size)}.jodit-color-picker__color-item:hover{border-color:#000}.jodit-color-picker__color-item:active,.jodit-color-picker__color-item_active_true{border:2px solid var(--jd-color-border-selected)}.jodit-color-picker__native svg{display:inline-block;height:16px;margin-right:4px;width:16px}.jodit-color-picker__native input{appearance:none;border:none;height:18px;padding:0;width:18px}.jodit-color-picker__native input[type=color]::-webkit-color-swatch-wrapper{padding:0}.jodit-color-picker__native input input[type=color]::-webkit-color-swatch{border:none}.jodit-tabs{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-tabs .jodit-tabs__buttons{display:flex;justify-content:center;line-height:18px;margin-bottom:calc(var(--jd-padding-default)/2);margin-top:4px}.jodit-tabs .jodit-tabs__buttons>*{cursor:pointer;margin-left:calc(var(--jd-padding-default)/2)}.jodit-tabs .jodit-tabs__buttons>:only-of-type{width:100%}.jodit-tabs .jodit-tabs__buttons>:first-child{margin-left:0}@media (max-width:480px){.jodit-tabs .jodit-tabs__buttons{display:block}.jodit-tabs .jodit-tabs__buttons>*{margin-left:0;width:100%}}.jodit-tabs__button{min-width:80px}.jodit-tabs__button_columns_3{width:33.33333%}.jodit-tabs__button_columns_2{width:50%}.jodit-tabs .jodit-tabs__wrapper .jodit-tab{display:none}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_active{display:block}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_empty{min-height:100px;min-width:220px}.jodit_fullsize-box_true{overflow:visible!important;position:static!important;z-index:var(--jd-z-index-full-size)!important}body.jodit_fullsize-box_true,html.jodit_fullsize-box_true{height:0!important;overflow:hidden!important;width:0!important}html.jodit_fullsize-box_true{position:fixed!important}.jodit_fullsize{bottom:0;left:0;max-width:none!important;position:absolute;right:0;top:0;z-index:var(--jd-z-index-full-size)}.jodit_fullsize .toolbar{width:100%!important}.jodit_fullsize .jodit__area,.jodit_fullsize .jodit_editor{height:100%}.jodit-properties__lock>svg,.jodit-properties__unlock>svg{fill:#222;display:inline-block;font-size:8px;font-style:normal;height:14px;line-height:14px;overflow:hidden;transform-origin:0 0!important;vertical-align:middle;width:14px}.jodit-properties .jodit-properties_view_box{padding:var(--jd-padding-default)}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view{align-items:center;background-color:#f6f6f6;display:flex;height:150px;justify-content:center;margin:0 0 var(--jd-padding-default);padding:0}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view img{max-height:100%;max-width:100%}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group{align-items:center;flex-direction:row;margin:0!important;min-width:auto;padding:0!important}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group a{cursor:pointer;display:inline-block}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group .jodit-input{width:calc(50% - 8px)!important}.jodit-popup-inline__container{min-width:700px;z-index:1300}.jodit-paste-storage{max-width:600px;padding:var(--jd-padding-default)}@media (max-width:768px){.jodit-paste-storage{max-width:100%}}.jodit-paste-storage>div{border:1px solid var(--jd-color-border);max-height:300px;max-width:100%}.jodit-paste-storage>div:first-child{margin-bottom:var(--jd-padding-default)}.jodit-paste-storage>div:first-child a{border:1px solid transparent;box-sizing:border-box;color:var(--jd-color-default);display:block;margin:0;max-width:100%;outline:none;overflow:hidden;padding:calc(var(--jd-padding-default)/2);text-decoration:none;text-overflow:ellipsis;white-space:pre}.jodit-paste-storage>div:first-child a.jodit_active{background-color:var(--jd-dark_background_color);color:var(--jd-color-white)}.jodit-paste-storage>div:first-child a:focus{outline:none}.jodit-paste-storage>div:last-child{overflow:auto;padding:var(--jd-padding-default)}.jodit-paste-storage>div:last-child li,.jodit-paste-storage>div:last-child ul{margin:0}.jodit-placeholder{color:var(--jd-color-placeholder);display:block;left:0;padding:var(--jd-padding-default);pointer-events:none;position:absolute;top:0;user-select:none!important;width:100%;z-index:1}.jodit__preview-box table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit__preview-box table tr{user-select:none}.jodit__preview-box table tr td,.jodit__preview-box table tr th{border:1px solid var(--jd-color-border);min-width:2em;padding:.4em;user-select:text;vertical-align:middle}.jodit-table-resizer{cursor:col-resize;margin-left:calc(var(--jd-padding-default)/-2);padding-left:calc(var(--jd-padding-default)/2);padding-right:calc(var(--jd-padding-default)/2);position:absolute;z-index:3}.jodit-table-resizer:after{border:0;content:"";display:block;height:100%;width:0}.jodit-table-resizer_moved{background-color:var(--jd-color-background-selection);z-index:2}.jodit-table-resizer_moved:after{border-right:1px solid moved}[data-jodit_iframe_wrapper]{display:block;position:relative;user-select:none}[data-jodit_iframe_wrapper] iframe{position:relative}[data-jodit_iframe_wrapper]:after{background:transparent;bottom:0;content:"";cursor:pointer;display:block;left:0;position:absolute;right:0;top:0;z-index:1}[data-jodit_iframe_wrapper][data-jodit-wrapper_active=true] iframe{z-index:2}.jodit_lock [data-jodit-wrapper_active=true] iframe{z-index:1}:root{--jd-viewer_width:70px;--jd-viewer_height:24px;--jd-resizer-handle-size:10px;--jd-resizer-border-color:#98c1f1;--jd-resizer-handle-color:#5ba4f3;--jd-resizer-handle-hover-color:#537ebb}.jodit-resizer{font-size:0;height:100px;left:0;outline:3px solid var(--jd-resizer-border-color);pointer-events:none;position:absolute;top:0;width:100px}.jodit-resizer,.jodit-resizer *{box-sizing:border-box}.jodit-resizer>span{background-color:var(--jd-color-placeholder);color:var(--jd-color-white);display:inline-block;font-size:12px;height:var(--jd-viewer_height);left:50%;line-height:var(--jd-viewer_height);margin-left:calc(var(--jd-viewer_width)/-2);margin-top:calc(var(--jd-viewer_height)/-2);opacity:0;overflow:visible;position:absolute;text-align:center;top:50%;transition:opacity .2s linear;width:var(--jd-viewer_width)}.jodit-resizer>div{background-color:var(--jd-resizer-handle-color);display:inline-block;height:var(--jd-resizer-handle-size);pointer-events:all;position:absolute;width:var(--jd-resizer-handle-size);z-index:4}.jodit-resizer>div:hover{background-color:var(--jd-resizer-handle-hover-color)}.jodit-resizer>div:first-child{cursor:nwse-resize;left:calc(var(--jd-resizer-handle-size)/-2);top:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(2){cursor:nesw-resize;right:calc(var(--jd-resizer-handle-size)/-2);top:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(3){bottom:calc(var(--jd-resizer-handle-size)/-2);cursor:nwse-resize;right:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(4){bottom:calc(var(--jd-resizer-handle-size)/-2);cursor:nesw-resize;left:calc(var(--jd-resizer-handle-size)/-2)}@media (max-width:768px){.jodit-resizer>div :root{--jd-resizer-handle-size:calc(var(--jd-resizer-handle-size)*2)}}:root{--jd-height-search:30px;--jd-width-search:320px;--jd-width-search-input-box:60%;--jd-width-search-count-box:15%;--jd-transform-button-active:0.95;--jd-timeout-button-active:0.1s}.jodit-ui-search{height:0;position:absolute;right:0;top:0;width:0}.jodit-ui-search_sticky_true{position:fixed}.jodit-ui-search__box{background-color:var(--jd-color-panel);border:solid var(--jd-color-border);border-width:0 0 1px 1px;display:flex;max-width:100vw;padding:calc(var(--jd-padding-default)/2);position:absolute;right:0;width:var(--jd-width-search)}.jodit-ui-search__box input{background-color:transparent;border:0;height:100%;margin:0;outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-search__box input[data-ref=replace]{display:none}.jodit-ui-search__box input:not(:focus)+input:not(:focus){border-top:1px solid var(--jd-color-border)}.jodit-ui-search__buttons,.jodit-ui-search__counts,.jodit-ui-search__inputs{height:var(--jd-height-search)}.jodit-ui-search__inputs{padding-right:calc(var(--jd-padding-default)/2);width:var(--jd-width-search-input-box)}.jodit-ui-search__counts{border-left:1px solid var(--jd-color-border);color:var(--jd-color-border);width:var(--jd-width-search-count-box)}.jodit-ui-search__buttons,.jodit-ui-search__counts{align-items:center;display:flex;justify-content:center}.jodit-ui-search__buttons{flex:1;padding-left:0}.jodit-ui-search__buttons button{background-color:transparent;border:1px solid transparent;height:100%;margin-right:1%;width:32%}.jodit-ui-search__buttons button[data-ref=replace-btn]{border:1px solid var(--jd-color-border);display:none;margin-top:2px;width:100%}.jodit-ui-search__buttons button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-ui-search__buttons button:focus{border:1px solid var(--jd-color-background-selection_opacity50)}.jodit-ui-search__buttons button:active{border:1px solid var(--jd-color-background-selection);transform:scale(var(--jd-transform-button-active))}.jodit-ui-search_empty-query_true [data-ref=next],.jodit-ui-search_empty-query_true [data-ref=prev]{opacity:.5}.jodit-ui-search_replace_true .jodit-ui-search__counts,.jodit-ui-search_replace_true .jodit-ui-search__inputs{height:calc(var(--jd-height-search)*2)}.jodit-ui-search_replace_true .jodit-ui-search__counts input,.jodit-ui-search_replace_true .jodit-ui-search__inputs input{height:50%;transition:background-color var(--jd-timeout-button-active) linear}.jodit-ui-search_replace_true .jodit-ui-search__counts input:focus,.jodit-ui-search_replace_true .jodit-ui-search__inputs input:focus{box-shadow:inset 0 0 3px 0 var(--jd-color-border)}.jodit-ui-search_replace_true .jodit-ui-search__counts input[data-ref=replace],.jodit-ui-search_replace_true .jodit-ui-search__inputs input[data-ref=replace]{display:block}.jodit-ui-search_replace_true .jodit-ui-search__buttons{flex-wrap:wrap}.jodit-ui-search_replace_true .jodit-ui-search__buttons button[data-ref=replace-btn]{display:block}[jd-tmp-selection]{background-color:#7fffd4}.jodit-container:not(.jodit_inline){min-height:100px}.jodit-container:not(.jodit_inline) .jodit-workplace{display:flex;flex-direction:column;height:auto;min-height:50px;overflow:hidden}.jodit-container:not(.jodit_inline) .jodit-editor__resize{position:relative}.jodit-container:not(.jodit_inline) .jodit-editor__resize svg{fill:var(--jd-color-gray-dark);bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;user-select:none;width:12px}.jodit-source{background-color:var(--jd-color-source-area);display:none;flex:auto;overflow:auto;position:relative}.jodit-source,.jodit-source .jodit-source__mirror-fake{min-height:100%}.jodit-source *{font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.jodit-container.jodit-source__mode .jodit-wysiwyg,.jodit-container.jodit-source__mode .jodit-wysiwyg_iframe{display:none!important}.jodit-container.jodit-source__mode .jodit-source{display:block!important}.jodit-container.jodit_split_mode .jodit-workplace{flex-direction:row;flex-wrap:nowrap}.jodit-container.jodit_split_mode .jodit-source,.jodit-container.jodit_split_mode .jodit-wysiwyg,.jodit-container.jodit_split_mode .jodit-wysiwyg_iframe{display:block!important;flex:1;width:50%}.jodit-source__mirror{background:var(--jd-color-source-area);border:0;box-shadow:none;box-sizing:border-box;color:#f0f0f0;height:100%;line-height:1.5;font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;margin:0;min-height:100%;outline:none;overflow:auto;padding:var(--jd-padding-default);resize:none;tab-size:2em;white-space:pre-wrap;width:100%;z-index:2}.jodit-source__mirror::selection{background:var(--jd-color-selection-area)}.jodit_sticky-dummy_toolbar{display:none}.jodit_sticky>.jodit-toolbar__box{border-bottom:1px solid var(--jd-color-border);left:auto;position:fixed;position:sticky;top:0;z-index:3}.jodit_sticky .jodit_sticky-dummy_toolbar{display:block}.jodit-symbols{padding:var(--jd-padding-default);width:460px}.jodit-symbols__container{display:flex}.jodit-symbols__container_table{width:88%}.jodit-symbols__container_preview{width:12%}.jodit-symbols__preview{border:1px solid var(--jd-color-border);font-size:34px;padding:20px 0;text-align:center}.jodit-symbols__table{border:0;border-spacing:0;table-layout:fixed}.jodit-symbols__table td{padding:0}.jodit-symbols__table td a{border:1px solid transparent;box-sizing:border-box;color:var(--jd-color-default);cursor:pointer;display:inline-block;font-size:16px;height:calc(var(--jd-height_element_default)*1.2);line-height:calc(var(--jd-height_element_default)*1.2);text-align:center;text-decoration:none;vertical-align:top;width:calc(var(--jd-width_element_default)*1.2)}.jodit-symbols__table td a:focus,.jodit-symbols__table td a:hover{outline:2px solid var(--jd-color-border)}.jodit-context table,.jodit-wysiwyg table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit-context table tr,.jodit-wysiwyg table tr{user-select:none}.jodit-context table tr td,.jodit-context table tr th,.jodit-wysiwyg table tr td,.jodit-wysiwyg table tr th{border:1px solid var(--jd-color-border);min-width:2em;padding:.4em;user-select:text;vertical-align:middle}.jodit-form__inserter .jodit-form__table-creator-box{display:flex}@media (max-width:768px){.jodit-form__inserter .jodit-form__table-creator-box{flex-direction:column}}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container{font-size:0;margin:0;min-width:180px;padding:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span{border:1px solid var(--jd-color-border);box-sizing:border-box;display:inline-block;height:var(--jd-height_element_default);margin-bottom:2px;margin-left:2px;vertical-align:top;width:var(--jd-width_element_default)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span:first-child{margin-left:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span.jodit_hovered{background:var(--jd-color-background-hover);border-color:var(--jd-color-background-hover)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options{font-size:var(--jd-font-size-default)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label{padding-top:0;text-align:left}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label input{margin-right:var(--jd-padding-default)}.jodit-form__inserter label{font-size:14px;margin:0;padding:8px;text-align:center}.jodit-xpath{align-items:center;display:flex;margin-left:calc(var(--jd-padding-default)/-2)}.jodit-xpath__item{display:flex;height:var(--jd-font-size-small);line-height:calc(var(--jd-font-size-small) - 1px)}.jodit-xpath__item a{color:var(--jd-color-default);font-size:var(--jd-font-size-small);margin-left:2px;outline:0;padding:0 3px}.jodit-dialog_theme_dark,.jodit_theme_dark{--jd-color-border:#6b6b6b}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal,.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal,.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal,.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent calc(var(--jd-button-size) - 1px),var(--jd-color-border) var(--jd-button-size))}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal:after,.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after,.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal:after,.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after{background-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty),.jodit_theme_dark .jodit-toolbar__box:not(:empty){border-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after,.jodit_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after,.jodit_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-right-color:var(--jd-color-border)}.jodit-dialog_theme_dark.jodit-container,.jodit_theme_dark.jodit-container{--jd-color-border:#6b6b6b;background-color:var(--jd-dark_background_color);border-color:var(--jd-color-border)}.jodit-dialog_theme_dark.jodit-container.jodit_disabled,.jodit_theme_dark.jodit-container.jodit_disabled{background-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace,.jodit_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace{border-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark .jodit-popup__content,.jodit_theme_dark .jodit-popup__content{background:var(--jd-dark_background_ligher)}.jodit-dialog_theme_dark .jodit-toolbar-button__text,.jodit-dialog_theme_dark .jodit-ui-button__text,.jodit_theme_dark .jodit-toolbar-button__text,.jodit_theme_dark .jodit-ui-button__text{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-toolbar-button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-toolbar-button__button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button__button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button__trigger:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button__button:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button__button:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button__trigger:hover:not([disabled]){background-color:var(--jd-dark_background_ligher)}.jodit-dialog_theme_dark .jodit-status-bar,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit_theme_dark .jodit-status-bar,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){background-color:var(--jd-dark_toolbar_color);border-color:var(--jd-color-border);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-status-bar,.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item a,.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item span,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited,.jodit_theme_dark .jodit-status-bar,.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item a,.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item span,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty),.jodit_theme_dark .jodit-toolbar__box:not(:empty){background:var(--jd-dark_toolbar_color)}.jodit-dialog_theme_dark .jodit-icon,.jodit-dialog_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger,.jodit-dialog_theme_dark .jodit__upload-button svg,.jodit_theme_dark .jodit-icon,.jodit_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger,.jodit_theme_dark .jodit__upload-button svg{fill:var(--jd-dark_icon_color);stroke:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-icon-close,.jodit_theme_dark .jodit-icon-close{stroke:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-wysiwyg,.jodit-dialog_theme_dark .jodit-wysiwyg_iframe,.jodit_theme_dark .jodit-wysiwyg,.jodit_theme_dark .jodit-wysiwyg_iframe{background-color:var(--jd-dark_background_color);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-form input[type=text],.jodit-dialog_theme_dark .jodit-form input[type=url],.jodit-dialog_theme_dark .jodit-form textarea,.jodit_theme_dark .jodit-form input[type=text],.jodit_theme_dark .jodit-form input[type=url],.jodit_theme_dark .jodit-form textarea{background-color:var(--jd-dark_toolbar_seperator_color1);border-color:var(--jd-dark_toolbar_seperator_color2);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-form button,.jodit_theme_dark .jodit-form button{background-color:var(--jd-dark_toolbar_seperator_color3);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-placeholder,.jodit_theme_dark .jodit-placeholder{color:var(--jd-dark_text_color_opacity80)}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box,.jodit-dialog_theme_dark .jodit_uploadfile_button,.jodit_theme_dark .jodit-drag-and-drop__file-box,.jodit_theme_dark .jodit_uploadfile_button{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box:hover,.jodit-dialog_theme_dark .jodit_uploadfile_button:hover,.jodit_theme_dark .jodit-drag-and-drop__file-box:hover,.jodit_theme_dark .jodit_uploadfile_button:hover{background-color:var(--jd-dark_toolbar_seperator_color3)}.jodit-dialog_theme_dark .jodit-add-new-line:before,.jodit_theme_dark .jodit-add-new-line:before{border-top-color:var(--jd-dark_toolbar_seperator_color2)}.jodit-dialog_theme_dark .jodit-add-new-line span,.jodit_theme_dark .jodit-add-new-line span{background:var(--jd-dark_toolbar_seperator_color3);border-color:var(--jd-dark_toolbar_seperator_color2)}.jodit-dialog_theme_dark .jodit-add-new-line span svg,.jodit_theme_dark .jodit-add-new-line span svg{fill:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-resizer>i,.jodit_theme_dark .jodit-resizer>i{background:var(--jd-dark_toolbar_seperator_color3);border-color:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-input,.jodit-dialog_theme_dark .jodit-select,.jodit_theme_dark .jodit-input,.jodit_theme_dark .jodit-select{background-color:var(--jd-dark_background_ligher);border-color:var(--jd-dark_border_color);color:var(--jd-dark_border_color)}.jodit-dialog_theme_dark.jodit-dialog,.jodit_theme_dark.jodit-dialog{background-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark.jodit-dialog .jodit-dialog__header,.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item,.jodit_theme_dark.jodit-dialog .jodit-dialog__header,.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item{border-color:var(--jd-dark_border_color)}.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info,.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info{background-color:var(--jd-dark_text_color)} \ No newline at end of file diff --git a/build/jodit.es2018.en.min.js b/build/jodit.es2018.en.min.js index 09e142027..2cc33dd0f 100644 --- a/build/jodit.es2018.en.min.js +++ b/build/jodit.es2018.en.min.js @@ -1 +1 @@ -((t,e)=>{if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var s=e();for(var i in s)("object"==typeof exports?exports:t)[i]=s[i]}})(self,(function(){return function(){var t,e={11399(t){t.exports.default=["Type something","About Jodit","Jodit Editor","Jodit User's Guide","contains detailed help for using","For information about the license, please go to our website:","Buy full version","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","Open in new tab","Open in fullsize","Clear Formatting","Fill color or set the text color","Redo","Undo","Bold","Italic","Insert Unordered List","Insert Ordered List","Align Center","Align Justify","Align Left","Align Right","Insert Horizontal Line","Insert Image","Insert file","Insert youtube/vimeo video","Insert link","Font size","Font family","Insert format block","Normal","Heading 1","Heading 2","Heading 3","Heading 4","Quote","Code","Insert","Insert table","Decrease Indent","Increase Indent","Select Special Character","Insert Special Character","Paint format","Change mode","Margins","top","right","bottom","left","Styles","Classes","Align","Right","Center","Left","--Not Set--","Src","Title","Alternative","Link","Open link in new tab","Image","file","Advanced","Image properties","Cancel","Ok","File Browser","Error on load list","Error on load folders","Are you sure?","Enter Directory name","Create directory","type name","Drop image","Drop file","or click","Alternative text","Upload","Browse","Background","Text","Top","Middle","Bottom","Insert column before","Insert column after","Insert row above","Insert row below","Delete table","Delete row","Delete column","Empty cell","Chars: %d","Words: %d","Strike through","Underline","superscript","subscript","Cut selection","Select all","Break","Search for","Replace with","Replace","Paste","Choose Content to Paste","source","bold","italic","brush","link","undo","redo","table","image","eraser","paragraph","fontsize","video","font","about","print","underline","strikethrough","indent","outdent","fullsize","shrink","hr","ul","ol","cut","selectall","Embed code","Open link","Edit link","No follow","Unlink","Update","pencil","Eye"," URL","Edit","Horizontal align","Filter","Sort by changed","Sort by name","Sort by size","Add folder","Reset","Save","Save as ...","Resize","Crop","Width","Height","Keep Aspect Ratio","Yes","No","Remove","Select","Select %s","Vertical align","Split","Merge","Add column","Add row","License: %s","Delete","Split vertical","Split horizontal","Border","Your code is similar to HTML. Keep as HTML?","Paste as HTML","Keep","Insert as Text","Insert only Text","You can only edit your own images. Download this image on the host?","The image has been successfully uploaded to the host!","palette","There are no files","Rename","Enter new name","preview","download","Paste from clipboard","Your browser doesn't support direct access to the clipboard.","Copy selection","copy","Border radius","Show all","Apply","Please fill out this field","Please enter a web address","Default","Circle","Dot","Quadrate","Find","Find Previous","Find Next","The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected","Clean","Insert className","Press Alt for custom resizing"]},3610(t){t.exports=' '},56170(t){t.exports=' '},95331(t){t.exports=' '},84279(t){t.exports=' '},11257(t){t.exports=' '},25141(t){t.exports=' '},24557(t){t.exports=' '},10859(t){t.exports=' '},9813(t){t.exports=' '},93395(t){t.exports=' '},98213(t){t.exports=' '},20026(t){t.exports=' '},66911(t){t.exports=' '},50018(t){t.exports=' '},99738(t){t.exports=' '},9185(t){t.exports=' '},8619(t){t.exports=' '},73894(t){t.exports=' '},83301(t){t.exports=' '},84142(t){t.exports=' '},57292(t){t.exports=' '},18019(t){t.exports=''},45146(t){t.exports=' '},53576(t){t.exports=' '},14655(t){t.exports=' '},53477(t){t.exports=' '},90053(t){t.exports=' '},72230(t){t.exports=' '},78321(t){t.exports=' '},77654(t){t.exports=' '},43371(t){t.exports=' '},44563(t){t.exports=' '},53183(t){t.exports=' '},6102(t){t.exports=' '},52242(t){t.exports=' '},87498(t){t.exports=' '},7986(t){t.exports=' '},23075(t){t.exports=' '},10655(t){t.exports=' '},15476(t){t.exports=' '},59403(t){t.exports=' '},22860(t){t.exports=' '},95600(t){t.exports=' '},76214(t){t.exports=' '},41197(t){t.exports=' '},9342(t){t.exports=' '},69546(t){t.exports=' '},43158(t){t.exports=' '},51716(t){t.exports=' '},49222(t){t.exports=' '},1755(t){t.exports=' '},74911(t){t.exports=' '},8805(t){t.exports=' '},16547(t){t.exports=' '},10856(t){t.exports=' '},98441(t){t.exports=' '},52488(t){t.exports=' '},9370(t){t.exports=' '},66543(t){t.exports=' '},608(t){t.exports=' '},42840(t){t.exports=' '},79096(t){t.exports=' '},33014(t){t.exports=' '},91677(t){t.exports=' '},8259(t){t.exports=' '},64467(t){t.exports=''},86934(t){t.exports=' '},76133(t){t.exports=''},45519(t){t.exports=''},90265(t){t.exports=' '},81279(t){t.exports=' '},68899(t){t.exports=' '},70744(t){t.exports=' '},19201(t){t.exports=' '},84930(t){t.exports=' '},99704(t){t.exports=' '},2304(t){t.exports=' '},20255(t,e,s){"use strict";function i(t,e,s,i){var o,r=arguments.length,n=3>r?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,s,i);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(n=(3>r?o(n):r>3?o(e,s,n):o(e,s))||n);return r>3&&n&&Object.defineProperty(e,s,n),n}s.d(e,{gn(){return i}})},80031(t,e,s){"use strict";s.d(e,{D(){return o}});var i=s(47386);class o{constructor(){this.defaultTimeout=100,this.namespace="",this.safeMode=!1,this.width="auto",this.height="auto",this.safePluginsList=["about","enter","backspace"],this.license="",this.preset="custom",this.presets={inline:{inline:!0,toolbar:!1,toolbarInline:!0,toolbarInlineForSelection:!0,showXPathInStatusbar:!1,showCharsCounter:!1,showWordsCounter:!1,showPlaceholder:!1}},this.ownerDocument="undefined"!=typeof document?document:null,this.ownerWindow="undefined"!=typeof window?window:null,this.shadowRoot=null,this.zIndex=0,this.readonly=!1,this.disabled=!1,this.activeButtonsInReadOnly=["source","fullsize","print","about","dots","selectall"],this.allowCommandsInReadOnly=["selectall","preview","print"],this.toolbarButtonSize="middle",this.allowTabNavigation=!1,this.inline=!1,this.theme="default",this.saveModeInStorage=!1,this.editorClassName=!1,this.editorCssClass=!1,this.className=!1,this.style=!1,this.containerStyle=!1,this.styleValues={},this.triggerChangeEvent=!0,this.direction="",this.language="auto",this.debugLanguage=!1,this.i18n=!1,this.tabIndex=-1,this.toolbar=!0,this.statusbar=!0,this.showTooltip=!0,this.showTooltipDelay=1e3,this.useNativeTooltip=!1,this.defaultActionOnPaste=i.INSERT_AS_HTML,this.enter=i.PARAGRAPH,this.iframe=!1,this.editHTMLDocumentMode=!1,this.enterBlock="br"!==this.enter?this.enter:i.PARAGRAPH,this.defaultMode=i.MODE_WYSIWYG,this.useSplitMode=!1,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.extraIcons={},this.createAttributes={table:{style:"border-collapse:collapse;width: 100%;"}},this.sizeLG=900,this.sizeMD=700,this.sizeSM=400,this.buttons=[{group:"font-style",buttons:[]},{group:"list",buttons:[]},{group:"font",buttons:[]},"---",{group:"script",buttons:[]},{group:"media",buttons:[]},"\n",{group:"state",buttons:[]},{group:"clipboard",buttons:[]},{group:"insert",buttons:[]},{group:"indent",buttons:[]},{group:"color",buttons:[]},{group:"form",buttons:[]},"---",{group:"history",buttons:[]},{group:"search",buttons:[]},{group:"source",buttons:[]},{group:"other",buttons:[]},{group:"info",buttons:[]}],this.buttonsMD=["bold","italic","|","ul","ol","eraser","|","font","fontsize","---","image","table","|","link","\n","brush","paragraph","align","|","hr","copyformat","fullsize","---","undo","redo","|","dots"],this.buttonsSM=["bold","italic","|","ul","ol","eraser","|","fontsize","brush","paragraph","---","image","table","\n","link","|","align","|","undo","redo","|","copyformat","fullsize","---","dots"],this.buttonsXS=["bold","brush","paragraph","eraser","|","fontsize","---","image","\n","align","undo","redo","|","link","table","---","dots"],this.events={},this.textIcons=!1,this.showBrowserColorPicker=!0}static get defaultOptions(){return o.__defaultOptions||(o.__defaultOptions=new o),o.__defaultOptions}}o.prototype.controls={}},83735(t,e,s){"use strict";s.d(e,{e(){return c}});var i=s(81778),o=s(87385),r=s(76856),n=s(15199),a=s(86129),l=s(98296);s(52378);class c{constructor(){var t,e,s,i;this.timers=new Map,this.__callbacks=new Map,this.promisesRejections=new Set,this.requestsIdle=new Set,this.requestsRaf=new Set,this.requestIdleCallbackNative=null!==(e=null===(t=window.requestIdleCallback)||void 0===t?void 0:t.bind(window))&&void 0!==e?e:(t,e)=>{var s;const i=Date.now();return this.setTimeout((()=>{t({didTimeout:!1,timeRemaining(){return Math.max(0,50-(Date.now()-i))}})}),null!==(s=null==e?void 0:e.timeout)&&void 0!==s?s:1)},this.cancelIdleCallbackNative=null!==(i=null===(s=window.cancelIdleCallback)||void 0===s?void 0:s.bind(window))&&void 0!==i?i:t=>{this.clearTimeout(t)},this.isDestructed=!1}delay(t){return this.promise((e=>this.setTimeout(e,t)))}setTimeout(t,e,...s){if(this.isDestructed)return 0;let o={};(0,l.h)(e)||(o=e,e=o.timeout||0),o.label&&this.clearLabel(o.label);const r=(0,i.i)(t,e,...s),n=o.label||r;return this.timers.set(n,r),this.__callbacks.set(n,t),r}updateTimeout(t,e){if(!t||!this.timers.has(t))return null;const s=this.__callbacks.get(t);return this.setTimeout(s,{label:t,timeout:e})}clearLabel(t){t&&this.timers.has(t)&&((0,i.g)(this.timers.get(t)),this.timers.delete(t),this.__callbacks.delete(t))}clearTimeout(t){if((0,a.H)(t))return this.clearLabel(t);(0,i.g)(t),this.timers.delete(t),this.__callbacks.delete(t)}debounce(t,e,s=!1){let a=0,l=!1;const c=[],h=(...e)=>{if(!l){a=0;const s=t(...e);if(l=!0,c.length){const t=()=>{c.forEach((t=>t())),c.length=0};(0,n.t)(s)?s.finally(t):t()}}},d=(...r)=>{l=!1,e?(!a&&s&&h(...r),(0,i.g)(a),a=this.setTimeout((()=>h(...r)),(0,o.m)(e)?e():e),this.timers.set(t,a)):h(...r)};return(0,r.P)(e)&&e.promisify?(...t)=>{const e=this.promise((t=>{c.push(t)}));return d(...t),e}:d}throttle(t,e,s=!1){let i,r,n,a=null;return(...s)=>{i=!0,n=s,e?a||(r=()=>{i?(t(...n),i=!1,a=this.setTimeout(r,(0,o.m)(e)?e():e),this.timers.set(r,a)):a=null},r()):t(...n)}}promise(t){let e=()=>{};const s=new Promise(((s,i)=>(this.promisesRejections.add(i),e=i,t(s,i))));return s.finally((()=>{this.promisesRejections.delete(e)})).catch((()=>null)),s.rejectCallback=e,s}promiseState(t){if(t.status)return t.status;if(!Promise.race)return new Promise((e=>{t.then((t=>(e("fulfilled"),t)),(t=>{throw e("rejected"),t})),this.setTimeout((()=>{e("pending")}),100)}));const e={};return Promise.race([t,e]).then((t=>t===e?"pending":"fulfilled"),(()=>"rejected"))}requestIdleCallback(t,e){const s=this.requestIdleCallbackNative(t,e);return this.requestsIdle.add(s),s}requestIdlePromise(t){return this.promise((e=>{const s=this.requestIdleCallback((()=>e(s)),t)}))}cancelIdleCallback(t){return this.requestsIdle.delete(t),this.cancelIdleCallbackNative(t)}requestAnimationFrame(t){const e=requestAnimationFrame(t);return this.requestsRaf.add(e),e}cancelAnimationFrame(t){this.requestsRaf.delete(t),cancelAnimationFrame(t)}clear(){this.requestsIdle.forEach((t=>this.cancelIdleCallback(t))),this.requestsRaf.forEach((t=>this.cancelAnimationFrame(t))),this.timers.forEach((t=>(0,i.g)(this.timers.get(t)))),this.timers.clear(),this.promisesRejections.forEach((t=>t())),this.promisesRejections.clear()}destruct(){this.clear(),this.isDestructed=!0}}},16867(t,e,s){"use strict";s.d(e,{w(){return l}});var i=s(83370),o=s(16672),r=s(71685),n=s(83735);const a=new Map;class l{constructor(){this.async=new n.e,this.ownerWindow=window,this.__componentStatus=r.n.beforeInit,this.uid="jodit-uid-"+(0,o.fe)()}get componentName(){return this.__componentName||(this.__componentName="jodit-"+(0,i.kebabCase)(((0,i.isFunction)(this.className)?this.className():"")||(0,i.getClassName)(this))),this.__componentName}getFullElName(t,e,s){const o=[this.componentName];return t&&(t=t.replace(/[^a-z0-9-]/gi,"-"),o.push("__"+t)),e&&(o.push("_",e),o.push("_",(0,i.isVoid)(s)?"true":""+s)),o.join("")}get ownerDocument(){return this.ow.document}get od(){return this.ownerDocument}get ow(){return this.ownerWindow}get(t,e){return(0,i.get)(t,e||this)}get isReady(){return this.componentStatus===r.n.ready}get isDestructed(){return this.componentStatus===r.n.destructed}get isInDestruct(){return r.n.beforeDestruct===this.componentStatus||r.n.destructed===this.componentStatus}bindDestruct(t){return t.hookStatus(r.n.beforeDestruct,(()=>!this.isInDestruct&&this.destruct())),this}destruct(){this.setStatus(r.n.destructed),this.async.destruct(),a.get(this)&&a.delete(this)}get componentStatus(){return this.__componentStatus}set componentStatus(t){this.setStatus(t)}setStatus(t){return this.setStatusComponent(t,this)}setStatusComponent(t,e){if(t===this.__componentStatus)return;e===this&&(this.__componentStatus=t);const s=Object.getPrototypeOf(this);s&&(0,i.isFunction)(s.setStatusComponent)&&s.setStatusComponent(t,e);const o=a.get(this),r=null==o?void 0:o[t];r&&r.length&&r.forEach((t=>t(e)))}hookStatus(t,e){let s=a.get(this);s||(s={},a.set(this,s)),s[t]||(s[t]=[]),s[t].push(e)}static isInstanceOf(t,e){return t instanceof e}}l.STATUSES=r.n},2624(t,e,s){"use strict";s.d(e,{wA(){return o.w},n$(){return i.n},Hr(){return r}});var i=s(71685),o=s(16867);class r extends o.w{constructor(t){super(),this.setParentView(t)}get j(){return this.jodit}get defaultTimeout(){return this.j.defaultTimeout}i18n(t,...e){return this.j.i18n(t,...e)}setParentView(t){return this.jodit=t,t.components.add(this),this}destruct(){return this.j.components.delete(this),super.destruct()}}},71685(t,e,s){"use strict";s.d(e,{n(){return i}});const i={beforeInit:"beforeInit",ready:"ready",beforeDestruct:"beforeDestruct",destructed:"destructed"}},47386(t,e,s){"use strict";s.r(e),s.d(e,{ACCURACY(){return T},BASE_PATH(){return X},BR(){return z},CLIPBOARD_ID(){return Z},COMMAND_KEYS(){return L},EMULATE_DBLCLICK_TIMEOUT(){return H},INSEPARABLE_TAGS(){return p},INSERT_AS_HTML(){return F},INSERT_AS_TEXT(){return V},INSERT_CLEAR_HTML(){return W},INSERT_ONLY_TEXT(){return $},INVISIBLE_SPACE(){return i},INVISIBLE_SPACE_REG_EXP(){return r},INVISIBLE_SPACE_REG_EXP_END(){return n},INVISIBLE_SPACE_REG_EXP_START(){return a},IS_BLOCK(){return d},IS_IE(){return P},IS_INLINE(){return u},IS_MAC(){return U},KEY_ALIASES(){return G},KEY_ALT(){return w},KEY_BACKSPACE(){return g},KEY_DELETE(){return j},KEY_DOWN(){return _},KEY_ENTER(){return b},KEY_ESC(){return y},KEY_F3(){return k},KEY_LEFT(){return C},KEY_META(){return m},KEY_RIGHT(){return x},KEY_SPACE(){return E},KEY_TAB(){return v},KEY_UP(){return S},MARKER_CLASS(){return B},MAY_BE_REMOVED_WITH_KEY(){return f},MODE_SOURCE(){return D},MODE_SPLIT(){return q},MODE_WYSIWYG(){return N},NBSP_SPACE(){return o},NEARBY(){return I},PARAGRAPH(){return M},SAFE_COUNT_CHANGE_CALL(){return Y},SOURCE_CONSUMER(){return Q},SPACE_REG_EXP(){return l},SPACE_REG_EXP_END(){return h},SPACE_REG_EXP_START(){return c},TEMP_ATTR(){return K},TEXT_HTML(){return A},TEXT_PLAIN(){return R},TEXT_RTF(){return O},lang(){return J}});const i="\ufeff",o=" ",r=()=>/[\uFEFF]/g,n=()=>/[\uFEFF]+$/g,a=()=>/^[\uFEFF]+/g,l=()=>/[\s\n\t\r\uFEFF\u200b]+/g,c=()=>/^[\s\n\t\r\uFEFF\u200b]+/g,h=()=>/[\s\n\t\r\uFEFF\u200b]+$/g,d=/^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i,u=/^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i,p=["img","br","video","iframe","script","input","textarea","hr","link","jodit","jodit-media"],f=RegExp(`^${p.join("|")}$`,"i"),m="Meta",g="Backspace",v="Tab",b="Enter",y="Escape",w="Alt",C="ArrowLeft",S="ArrowUp",x="ArrowRight",_="ArrowDown",E="Space",j="Delete",k="F3",I=5,T=10,L=[m,g,j,S,_,x,C,b,y,k,v],z="br",M="p",N=1,D=2,q=3,P="undefined"!=typeof navigator&&(-1!==navigator.userAgent.indexOf("MSIE")||/rv:11.0/i.test(navigator.userAgent)),R=P?"text":"text/plain",A=P?"html":"text/html",O=P?"rtf":"text/rtf",B="jodit-selection_marker",H=300,F="insert_as_html",W="insert_clear_html",V="insert_as_text",$="insert_only_text",Y=10,U="undefined"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),G={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:U?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:" ",spacebar:" ",up:"arrowup",win:"meta",windows:"meta"},X=(()=>{if("undefined"==typeof document)return"";const t=document.currentScript,e=t=>{const e=t.split("/");return/\.js/.test(e[e.length-1])?e.slice(0,e.length-1).join("/")+"/":t};if(t)return e(t.src);const s=document.querySelectorAll("script[src]");return s&&s.length?e(s[s.length-1].src):window.location.href})(),K="data-jodit-temp",J={},Z="clipboard",Q="source-consumer"},45466(t,e,s){"use strict";function i(t){class e extends t{constructor(...t){super(...t),this.constructor===e&&(this instanceof e||Object.setPrototypeOf(this,e.prototype),this.setStatus("ready"))}}return e}s.d(e,{w(){return i}})},2830(t,e,s){"use strict";s.d(e,{D(){return n},P(){return a}});var i=s(43435),o=s(2624),r=s(70843);function n(t,e=!1,s="debounce"){return(n,a)=>{const l=n[a];if(!(0,i.mf)(l))throw(0,r.vU)("Handler must be a Function");return n.hookStatus(o.n$.ready,(o=>{const{async:r}=o,n=(0,i.mf)(t)?t(o):t;Object.defineProperty(o,a,{configurable:!0,value:r[s](o[a].bind(o),(0,i.hj)(n)||(0,i.PO)(n)?n:o.defaultTimeout,e)})})),{configurable:!0,get(){return l.bind(this)}}}}function a(t,e=!1){return n(t,e,"throttle")}s(52378)},63945(t,e,s){"use strict";s.r(e),s.d(e,{autobind(){return C},cache(){return o},component(){return r.w},debounce(){return n.D},derive(){return v},getPropertyDescriptor(){return g.w7},hook(){return d},idle(){return l},nonenumerable(){return u},persistent(){return f},throttle(){return n.P},wait(){return m},watch(){return g.YP}});var i=s(83370);function o(t,e,s){const o=s.get;if(!o)throw(0,i.error)("Getter property descriptor expected");s.get=function(){const t=o.call(this);return t&&!0===t.noCache||Object.defineProperty(this,e,{configurable:s.configurable,enumerable:s.enumerable,writable:!1,value:t}),t}}var r=s(45466),n=s(2830),a=s(2624);function l(){return(t,e)=>{if(!(0,i.isFunction)(t[e]))throw(0,i.error)("Handler must be a Function");t.hookStatus(a.n$.ready,(t=>{const{async:s}=t,i=t[e];t[e]=(...e)=>s.requestIdleCallback(i.bind(t,...e))}))}}var c=s(43435),h=s(70843);function d(t){return(e,s)=>{if(!(0,c.mf)(e[s]))throw(0,h.vU)("Handler must be a Function");e.hookStatus(t,(t=>{t[s].call(t)}))}}const u=(t,e)=>{!1!==(Object.getOwnPropertyDescriptor(t,e)||{}).enumerable&&Object.defineProperty(t,e,{enumerable:!1,set(t){Object.defineProperty(this,e,{enumerable:!1,writable:!0,value:t})}})};var p=s(33679);function f(t,e){t.hookStatus(a.n$.ready,(t=>{const s=(0,p.f)(t)?t:t.jodit,i=`${s.options.namespace}${t.componentName}_prop_${e}`,o=t[e];Object.defineProperty(t,e,{get(){var t;return null!==(t=s.storage.get(i))&&void 0!==t?t:o},set(t){s.storage.set(i,t)}})}))}function m(t){return(e,s)=>{if(!(0,i.isFunction)(e[s]))throw(0,i.error)("Handler must be a Function");e.hookStatus(a.n$.ready,(e=>{const{async:i}=e,o=e[s];let r=0;Object.defineProperty(e,s,{configurable:!0,value:function s(...n){i.clearTimeout(r),t(e)?o.apply(e,n):r=i.setTimeout((()=>s(...n)),10)}})}))}}var g=s(30192);function v(...t){return e=>{const s=e.prototype;for(let e=0;t.length>e;e++){const i=t[e],o=Object.getOwnPropertyNames(i.prototype);for(let t=0;o.length>t;t++){const e=o[t],r=Object.getOwnPropertyDescriptor(i.prototype,e);null!=r&&(0,c.mf)(r.value)&&!(0,c.mf)(s[e])&&Object.defineProperty(s,e,{enumerable:!0,configurable:!0,writable:!0,value(...t){return r.value.call(this,...t)}})}}}}function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t=>typeof t:t=>t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t,b(t)}function y(t,e,s){var i=s.value;if("function"!=typeof i)throw new TypeError("@boundMethod decorator can only be applied to methods not: ".concat(b(i)));var o=!1;return{configurable:!0,get(){if(o||this===t.prototype||this.hasOwnProperty(e)||"function"!=typeof i)return i;var s=i.bind(this);return o=!0,Object.defineProperty(this,e,{configurable:!0,get(){return s},set(t){i=t,delete this[e]}}),o=!1,s},set(t){i=t}}}function w(t){var e;return"undefined"!=typeof Reflect&&"function"==typeof Reflect.ownKeys?e=Reflect.ownKeys(t.prototype):(e=Object.getOwnPropertyNames(t.prototype),"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(t.prototype)))),e.forEach((e=>{if("constructor"!==e){var s=Object.getOwnPropertyDescriptor(t.prototype,e);"function"==typeof s.value&&Object.defineProperty(t.prototype,e,y(t,e,s))}})),t}function C(){return 1===arguments.length?w.apply(void 0,arguments):y.apply(void 0,arguments)}},30192(t,e,s){"use strict";s.d(e,{YP(){return d},w7(){return h}});var i=s(87385),o=s(76856),r=s(33679),n=s(34526),a=s(71685),l=s(11986),c=s(70843);function h(t,e){let s;do{s=Object.getOwnPropertyDescriptor(t,e),t=Object.getPrototypeOf(t)}while(!s&&t);return s}function d(t,e){return(s,d)=>{if(!(0,i.m)(s[d]))throw(0,c.vU)("Handler must be a Function");const u=a=>{const c=(t,...e)=>{if(!a.isInDestruct)return a[d](t,...e)};(0,l.C)(t).forEach((t=>{if(/:/.test(t)){const[s,o]=t.split(":");let n=e;const l=(0,r.f)(a)?a:a.jodit;return s.length&&(n=a.get(s)),(0,i.m)(n)&&(n=n(a)),l.events.on(n||a,o,c),n||l.events.on(o,c),void a.hookStatus("beforeDestruct",(()=>{l.events.off(n||a,o,c).off(o,c)}))}const l=t.split("."),[d]=l,u=l.slice(1);let p=a[d];(0,o.P)(p)&&(0,n.L)(p).on("change."+u.join("."),c);const f=h(s,d);Object.defineProperty(a,d,{configurable:!0,set(t){const e=p;e!==t&&(p=t,f&&f.set&&f.set.call(a,t),(0,o.P)(p)&&(p=(0,n.L)(p),p.on("change."+u.join("."),c)),c(d,e,p))},get:()=>f&&f.get?f.get.call(a):p})}))};(0,i.m)(s.hookStatus)?s.hookStatus(a.n.ready,u):u(s)}}},65401(t,e,s){"use strict";s.d(e,{i(){return n}});var i=s(47386),o=s(83370),r=s(92415);class n{static detach(t){for(;t.firstChild;)t.removeChild(t.firstChild)}static wrapInline(t,e,s){let i,r=t,a=t;s.s.save();let l=!1;do{l=!1,i=r.previousSibling,i&&!n.isBlock(i)&&(l=!0,r=i)}while(l);do{l=!1,i=a.nextSibling,i&&!n.isBlock(i)&&(l=!0,a=i)}while(l);const c=(0,o.isString)(e)?s.createInside.element(e):e;r.parentNode&&r.parentNode.insertBefore(c,r);let h=r;for(;h&&(h=r.nextSibling,c.appendChild(r),r!==a&&h);)r=h;return s.s.restore(),c}static wrap(t,e,s){const i=(0,o.isString)(e)?s.element(e):e;if(n.isNode(t)){if(!t.parentNode)throw(0,o.error)("Element should be in DOM");t.parentNode.insertBefore(i,t),i.appendChild(t)}else{const e=t.extractContents();t.insertNode(i),i.appendChild(e)}return i}static unwrap(t){const e=t.parentNode;if(e){for(;t.firstChild;)e.insertBefore(t.firstChild,t);n.safeRemove(t)}}static between(t,e,s){let i=t;for(;i&&i!==e&&(t===i||!s(i));){let t=i.firstChild||i.nextSibling;if(!t){for(;i&&!i.nextSibling;)i=i.parentNode;t=null==i?void 0:i.nextSibling}i=t}}static replace(t,e,s,i=!1,r=!1){(0,o.isHTML)(e)&&(e=s.fromHTML(e));const a=(0,o.isString)(e)?s.element(e):e;if(!r)for(;t.firstChild;)a.appendChild(t.firstChild);return i&&n.isElement(t)&&n.isElement(a)&&(0,o.toArray)(t.attributes).forEach((t=>{a.setAttribute(t.name,t.value)})),t.parentNode&&t.parentNode.replaceChild(a,t),a}static isEmptyTextNode(t){return n.isText(t)&&(!t.nodeValue||0===t.nodeValue.replace(i.INVISIBLE_SPACE_REG_EXP(),"").trim().length)}static isEmptyContent(t){return n.each(t,(t=>n.isEmptyTextNode(t)))}static isContentEditable(t,e){return n.isNode(t)&&!n.closest(t,(t=>n.isElement(t)&&"false"===t.getAttribute("contenteditable")),e)}static isEmpty(t,e=/^(img|svg|canvas|input|textarea|form)$/){return!t||(n.isText(t)?null==t.nodeValue||0===(0,o.trim)(t.nodeValue).length:!e.test(t.nodeName.toLowerCase())&&n.each(t,(t=>{if(n.isText(t)&&null!=t.nodeValue&&0!==(0,o.trim)(t.nodeValue).length||n.isElement(t)&&e.test(t.nodeName.toLowerCase()))return!1})))}static isNode(t){return!!(t&&(0,o.isString)(t.nodeName)&&"number"==typeof t.nodeType&&t.childNodes&&(0,o.isFunction)(t.appendChild))}static isCell(t){return n.isNode(t)&&/^(td|th)$/i.test(t.nodeName)}static isImage(t){return n.isNode(t)&&/^(img|svg|picture|canvas)$/i.test(t.nodeName)}static isBlock(t){return!(0,o.isVoid)(t)&&"object"==typeof t&&n.isNode(t)&&i.IS_BLOCK.test(t.nodeName)}static isText(t){return!(!t||t.nodeType!==Node.TEXT_NODE)}static isElement(t){var e;return!!n.isNode(t)&&!(!(null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView)||t.nodeType!==Node.ELEMENT_NODE)}static isFragment(t){var e;return!!n.isNode(t)&&!(!(null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView)||t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)}static isHTMLElement(t){var e;if(!n.isNode(t))return!1;const s=null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView;return!!(s&&t instanceof s.HTMLElement)}static isInlineBlock(t){return n.isElement(t)&&!/^(BR|HR)$/i.test(t.tagName)&&-1!==["inline","inline-block"].indexOf(""+(0,o.css)(t,"display"))}static canSplitBlock(t){return!(0,o.isVoid)(t)&&n.isHTMLElement(t)&&n.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&void 0!==t.style&&!/^(fixed|absolute)/i.test(t.style.position)}static last(t,e){let s=null==t?void 0:t.lastChild;if(!s)return null;do{if(e(s))return s;let i=s.lastChild;if(i||(i=s.previousSibling),!i&&s.parentNode!==t){do{s=s.parentNode}while(s&&!(null==s?void 0:s.previousSibling)&&s.parentNode!==t);i=null==s?void 0:s.previousSibling}s=i}while(s);return null}static prev(t,e,s,i=!0){return n.find(t,e,s,!1,i)}static next(t,e,s,i=!0){return n.find(t,e,s,!0,i)}static prevWithClass(t,e){return n.prev(t,(t=>n.isElement(t)&&t.classList.contains(e)),t.parentNode)}static nextWithClass(t,e){return n.next(t,(t=>n.isElement(t)&&t.classList.contains(e)),t.parentNode)}static find(t,e,s,i=!0,o=!0){const r=this.nextGen(t,s,i,o);let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}return null}static*nextGen(t,e,s=!0,i=!0){const o=[];let r=t;do{let e=s?r.nextSibling:r.previousSibling;for(;e;)o.unshift(e),e=s?e.nextSibling:e.previousSibling;yield*this.runInStack(t,o,s,i),r=r.parentNode}while(r&&r!==e);return null}static each(t,e,s=!0){const i=this.eachGen(t,s);let o=i.next();for(;!o.done;){if(!1===e(o.value))return!1;o=i.next()}return!0}static eachGen(t,e=!0){return this.runInStack(t,[t],e)}static*runInStack(t,e,s,i=!0){for(;e.length;){const o=e.pop();if(i){let t=s?o.lastChild:o.firstChild;for(;t;)e.push(t),t=s?t.previousSibling:t.nextSibling}t!==o&&(yield o)}}static findWithCurrent(t,e,s,i="nextSibling",o="firstChild"){let r=t;do{if(e(r))return r||null;if(o&&r&&r[o]){const t=n.findWithCurrent(r[o],e,r,i,o);if(t)return t}for(;r&&!r[i]&&r!==s;)r=r.parentNode;r&&r[i]&&r!==s&&(r=r[i])}while(r&&r!==s);return null}static findSibling(t,e=!0,s=(t=>!n.isEmptyTextNode(t))){let i=n.sibling(t,e);for(;i&&!s(i);)i=n.sibling(i,e);return i&&s(i)?i:null}static findNotEmptySibling(t,e){return n.findSibling(t,e,(t=>{var e;return!n.isEmptyTextNode(t)&&!!(!n.isText(t)||(null===(e=t.nodeValue)||void 0===e?void 0:e.length)&&(0,o.trim)(t.nodeValue))}))}static findNotEmptyNeighbor(t,e,s){return(0,o.call)(e?n.prev:n.next,t,(t=>!(!t||n.isText(t)&&!(0,o.trim)((null==t?void 0:t.nodeValue)||"").length)),s)}static sibling(t,e){return e?t.previousSibling:t.nextSibling}static up(t,e,s,i=!1){let o=t;if(!o)return null;do{if(e(o))return o;if(o===s||!o.parentNode)break;o=o.parentNode}while(o&&o!==s);return o===s&&i&&e(o)?o:null}static closest(t,e,s){let i;return i=(0,o.isFunction)(e)?e:(0,o.isArray)(e)?t=>!(!t||!e.includes(t.nodeName.toLowerCase())):t=>!(!t||e!==t.nodeName.toLowerCase()),n.up(t,i,s)}static furthest(t,e,s){let i=null,o=null==t?void 0:t.parentElement;for(;o&&o!==s;)e(o)&&(i=o),o=null==o?void 0:o.parentElement;return i}static appendChildFirst(t,e){const s=t.firstChild;s?s!==e&&t.insertBefore(e,s):t.appendChild(e)}static after(t,e){const{parentNode:s}=t;s&&(s.lastChild===t?s.appendChild(e):s.insertBefore(e,t.nextSibling))}static before(t,e){const{parentNode:s}=t;s&&s.insertBefore(e,t)}static prepend(t,e){t.insertBefore(e,t.firstChild)}static append(t,e){(0,o.isArray)(e)?e.forEach((e=>{this.append(t,e)})):t.appendChild(e)}static moveContent(t,e,s=!1){const i=(t.ownerDocument||document).createDocumentFragment();(0,o.toArray)(t.childNodes).forEach((t=>{i.appendChild(t)})),s&&e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i)}static isOrContains(t,e,s=!1){return t===e?!s:!!(e&&t&&this.up(e,(e=>e===t),t,!0))}static safeRemove(...t){t.forEach((t=>n.isNode(t)&&t.parentNode&&t.parentNode.removeChild(t)))}static safeInsertNode(t,e){t.collapsed||t.deleteContents(),t.insertNode(e),[e.nextSibling,e.previousSibling].forEach((t=>n.isText(t)&&!t.nodeValue&&n.safeRemove(t)))}static hide(t){t&&((0,o.dataBind)(t,"__old_display",t.style.display),t.style.display="none")}static show(t){if(!t)return;const e=(0,o.dataBind)(t,"__old_display");"none"===t.style.display&&(t.style.display=e||"")}static isTag(t,e){const s=(0,o.asArray)(e).map(String);for(let e=0;s.length>e;e+=1)if(this.isElement(t)&&t.tagName.toLowerCase()===s[e].toLowerCase())return!0;return!1}static markTemporary(t,e){return e&&(0,o.attr)(t,e),(0,o.attr)(t,i.TEMP_ATTR,!0),t}static isTemporary(t){return!!n.isElement(t)&&(r.Ph.isMarker(t)||"true"===(0,o.attr)(t,i.TEMP_ATTR))}static replaceTemporaryFromString(t){return t.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi,"$2")}static temporaryList(t){return(0,o.$$)(`[${i.TEMP_ATTR}]`,t)}}},36516(t,e,s){"use strict";s.d(e,{b(){return o.b},i(){return i.i}});var i=s(65401),o=s(20847)},20847(t,e,s){"use strict";s.d(e,{b(){return a}});var i=s(20255),o=s(36090),r=s(63945),n=s(65401);class a extends o.a{constructor(t,e={}){super(),this.async=t,this.options=e,this.workNodes=null,this.hadAffect=!1,this.isWorked=!1,this.isFinished=!1,this.idleId=0}setWork(t){return this.isWorked&&this.break(),this.workNodes=n.i.eachGen(t,!this.options.reverse),this.isFinished=!1,this.startIdleRequest(),this}startIdleRequest(){var t;this.idleId=this.async.requestIdleCallback(this.workPerform,{timeout:null!==(t=this.options.timeout)&&void 0!==t?t:10})}break(t){this.isWorked&&(this.stop(),this.emit("break",t))}end(){this.isWorked&&(this.stop(),this.emit("end",this.hadAffect),this.hadAffect=!1)}stop(){this.isWorked=!1,this.isFinished=!0,this.workNodes=null,this.async.cancelIdleCallback(this.idleId)}destruct(){super.destruct(),this.stop()}workPerform(t){var e;if(this.workNodes){this.isWorked=!0;let s=0;const i=null!==(e=this.options.timeoutChunkSize)&&void 0!==e?e:50;for(;!this.isFinished&&(t.timeRemaining()>0||t.didTimeout&&i>=s);){const t=this.workNodes.next();if(s+=1,this.visitNode(t.value)&&(this.hadAffect=!0),t.done)return void this.end()}}else this.end();this.isFinished||this.startIdleRequest()}visitNode(t){var e;return!(!t||void 0!==this.options.whatToShow&&t.nodeType!==this.options.whatToShow)&&null!==(e=this.emit("visit",t))&&void 0!==e&&e}}(0,i.gn)([r.autobind],a.prototype,"workPerform",null)},36090(t,e,s){"use strict";s.d(e,{a(){return i}});class i{constructor(){this.__map=new Map}on(t,e){var s;return this.__map.has(t)||this.__map.set(t,new Set),null===(s=this.__map.get(t))||void 0===s||s.add(e),this}off(t,e){var s;return this.__map.has(t)&&(null===(s=this.__map.get(t))||void 0===s||s.delete(e)),this}destruct(){this.__map.clear()}emit(t,...e){var s;let i;return this.__map.has(t)&&(null===(s=this.__map.get(t))||void 0===s||s.forEach((t=>{i=t(...e)}))),i}}},18122(t,e,s){"use strict";s.d(e,{vp(){return d},DG(){return r},aN(){return u.a},rO(){return o},LO(){return p.L}}),s(52378);var i=s(58260);const o="JoditEventDefaultNamespace";class r{constructor(){this.__store=new Map}get(t,e){if(this.__store.has(e))return this.__store.get(e)[t]}indexOf(t,e,s){const i=this.get(t,e);if(i)for(let t=0;i.length>t;t+=1)if(i[t].originalCallback===s)return t;return!1}namespaces(t=!1){const e=(0,i.q)(this.__store.keys());return t?e.filter((t=>t!==o)):e}events(t){const e=this.__store.get(t);return e?Object.keys(e):[]}set(t,e,s,i=!1){let o=this.__store.get(e);o||(o={},this.__store.set(e,o)),void 0===o[t]&&(o[t]=[]),i?o[t].unshift(s):o[t].push(s)}clear(){this.__store.clear()}clearEvents(t,e){const s=this.__store.get(t);s&&s[e]&&(delete s[e],Object.keys(s).length||this.__store.delete(t))}isEmpty(){return 0===this.__store.size}}var n=s(86129),a=s(87385),l=s(41515),c=s(70843),h=s(11986);class d{constructor(t){this.__mutedEvents=new Set,this.__key="__JoditEventEmitterNamespaces",this.__doc=document,this.__prepareEvent=t=>{t.cancelBubble||(t.composed&&(0,a.m)(t.composedPath)&&t.composedPath()[0]&&Object.defineProperty(t,"target",{value:t.composedPath()[0],configurable:!0,enumerable:!0}),t.type.match(/^touch/)&&t.changedTouches&&t.changedTouches.length&&["clientX","clientY","pageX","pageY"].forEach((e=>{Object.defineProperty(t,e,{value:t.changedTouches[0][e],configurable:!0,enumerable:!0})})),t.originalEvent||(t.originalEvent=t),"paste"===t.type&&void 0===t.clipboardData&&this.__doc.defaultView.clipboardData&&Object.defineProperty(t,"clipboardData",{get:()=>this.__doc.defaultView.clipboardData,configurable:!0,enumerable:!0}))},this.currents=[],this.__stopped=[],this.__isDestructed=!1,t&&(this.__doc=t),this.__key+=(new Date).getTime()}mute(t){return this.__mutedEvents.add(null!=t?t:"*"),this}isMuted(t){return!(!t||!this.__mutedEvents.has(t))||this.__mutedEvents.has("*")}unmute(t){return this.__mutedEvents.delete(null!=t?t:"*"),this}__eachEvent(t,e){(0,h.C)(t).map((t=>t.trim())).forEach((t=>{const s=t.split(".");e.call(this,s[0],s[1]||o)}))}__getStore(t){if(!t)throw(0,c.vU)("Need subject");if(void 0===t[this.__key]){const e=new r;Object.defineProperty(t,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:e})}return t[this.__key]}__removeStoreFromSubject(t){void 0!==t[this.__key]&&Object.defineProperty(t,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:void 0})}__triggerNativeEvent(t,e){const s=this.__doc.createEvent("HTMLEvents");(0,n.H)(e)?s.initEvent(e,!0,!0):(s.initEvent(e.type,e.bubbles,e.cancelable),["screenX","screenY","clientX","clientY","target","srcElement","currentTarget","timeStamp","which","keyCode"].forEach((t=>{Object.defineProperty(s,t,{value:e[t],enumerable:!0})})),Object.defineProperty(s,"originalEvent",{value:e,enumerable:!0})),t.dispatchEvent(s)}get current(){return this.currents[this.currents.length-1]}on(t,e,s,i){let o,r,h,d;if((0,n.H)(t)||(0,n.G)(t)?(o=this,r=t,h=e,d=s):(o=t,r=e,h=s,d=i),!(0,n.H)(r)&&!(0,n.G)(r)||0===r.length)throw(0,c.vU)("Need events names");if(!(0,a.m)(h))throw(0,c.vU)("Need event handler");if((0,l.k)(o))return o.forEach((t=>{this.on(t,r,h,d)})),this;const u=o,p=this.__getStore(u),f=(0,a.m)(u.addEventListener),m=this;let g=function(t,...e){if(!m.isMuted(t))return h&&h.call(this,...e)};return f&&(g=function(t){if(!m.isMuted(t.type))return m.__prepareEvent(t),h&&!1===h.call(this,t)?(t.preventDefault(),t.stopImmediatePropagation(),!1):void 0}),this.__eachEvent(r,((t,e)=>{if(0===t.length)throw(0,c.vU)("Need event name");if(!1===p.indexOf(t,e,h)&&(p.set(t,e,{event:t,originalCallback:h,syntheticCallback:g},null==d?void 0:d.top),f)){const e=!!["touchstart","touchend","scroll","mousewheel","mousemove","touchmove"].includes(t)&&{passive:!0};u.addEventListener(t,g,e)}})),this}one(t,e,s,i){let o,r,a,l;(0,n.H)(t)||(0,n.G)(t)?(o=this,r=t,a=e,l=s):(o=t,r=e,a=s,l=i);const c=(...t)=>(this.off(o,r,c),a(...t));return this.on(o,r,c,l),this}off(t,e,s){let i,r,c;if((0,n.H)(t)||(0,n.G)(t)?(i=this,r=t,c=e):(i=t,r=e,c=s),(0,l.k)(i))return i.forEach((t=>{this.off(t,r,c)})),this;const h=i,d=this.__getStore(h);if(!(0,n.H)(r)&&!(0,n.G)(r)||0===r.length)return d.namespaces().forEach((t=>{this.off(h,"."+t)})),this.__removeStoreFromSubject(h),this;const u=(0,a.m)(h.removeEventListener),p=t=>{u&&h.removeEventListener(t.event,t.syntheticCallback,!1)},f=(t,e)=>{if(""===t)return void d.events(e).forEach((t=>{""!==t&&f(t,e)}));const s=d.get(t,e);if(s&&s.length)if((0,a.m)(c)){const i=d.indexOf(t,e,c);!1!==i&&(p(s[i]),s.splice(i,1),s.length||d.clearEvents(e,t))}else s.forEach(p),s.length=0,d.clearEvents(e,t)};return this.__eachEvent(r,((t,e)=>{e===o?d.namespaces().forEach((e=>{f(t,e)})):f(t,e)})),d.isEmpty()&&this.__removeStoreFromSubject(h),this}stopPropagation(t,e){const s=(0,n.H)(t)?this:t,i=(0,n.H)(t)?t:e;if("string"!=typeof i)throw(0,c.vU)("Need event names");const r=this.__getStore(s);this.__eachEvent(i,((t,e)=>{const i=r.get(t,e);i&&this.__stopped.push(i),e===o&&r.namespaces(!0).forEach((e=>this.stopPropagation(s,t+"."+e)))}))}__removeStop(t){if(t){const e=this.__stopped.indexOf(t);-1!==e&&this.__stopped.splice(0,e+1)}}__isStopped(t){return void 0!==t&&-1!==this.__stopped.indexOf(t)}fire(t,e,...s){let i,r;const l=(0,n.H)(t)?this:t,h=(0,n.H)(t)?t:e,d=(0,n.H)(t)?[e,...s]:s,u=(0,a.m)(l.dispatchEvent);if(!u&&!(0,n.H)(h))throw(0,c.vU)("Need events names");const p=this.__getStore(l);return!(0,n.H)(h)&&u?this.__triggerNativeEvent(l,e):this.__eachEvent(h,((t,e)=>{if(u)this.__triggerNativeEvent(l,t);else{const s=p.get(t,e);if(s)try{[...s].every((e=>!this.__isStopped(s)&&(this.currents.push(t),r=e.syntheticCallback.call(l,t,...d),this.currents.pop(),void 0!==r&&(i=r),!0)))}finally{this.__removeStop(s)}e!==o||u||p.namespaces().filter((t=>t!==e)).forEach((e=>{const s=this.fire.call(this,l,t+"."+e,...d);void 0!==s&&(i=s)}))}})),i}destruct(){this.__isDestructed&&(this.__isDestructed=!0,this.off(this),this.__getStore(this).clear(),this.__removeStoreFromSubject(this))}}var u=s(36090),p=s(34526)},34526(t,e,s){"use strict";s.d(e,{L(){return c}});var i=s(41515),o=s(13739),r=s(76856),n=s(30192);const a=Symbol("observable-object");function l(t){return void 0!==t[a]}function c(t){if(l(t))return t;const e={},s={},c=(e,o)=>(0,i.k)(e)?(e.map((t=>c(t,o))),t):(s[e]||(s[e]=[]),s[e].push(o),t),h=(o,...r)=>{if((0,i.k)(o))o.map((t=>h(t,...r)));else try{!e[o]&&s[o]&&(e[o]=!0,s[o].forEach((e=>e.call(t,...r))))}finally{e[o]=!1}},d=(e,s=[])=>{const i={};l(e)||(Object.defineProperty(e,a,{enumerable:!1,value:!0}),Object.keys(e).forEach((a=>{const l=a,c=s.concat(l).filter((t=>t.length));i[l]=e[l];const u=(0,n.w7)(e,l);Object.defineProperty(e,l,{set(e){const s=i[l];if(!(0,o.L)(i[l],e)){h(["beforeChange","beforeChange."+c.join(".")],l,e),(0,r.P)(e)&&d(e,c),u&&u.set?u.set.call(t,e):i[l]=e;const o=[];h(["change",...c.reduce(((t,e)=>(o.push(e),t.push("change."+o.join(".")),t)),[])],c.join("."),s,(null==e?void 0:e.valueOf)?e.valueOf():e)}},get(){return u&&u.get?u.get.call(t):i[l]},enumerable:!0,configurable:!0}),(0,r.P)(i[l])&&d(i[l],c)})),Object.defineProperty(t,"on",{value:c}))};return d(t),t}},16672(t,e,s){"use strict";s.d(e,{TB(){return w},ZO(){return y},as(){return d},fe(){return f},pw(){return m},qz(){return g},xl(){return v}});var i=s(60154),o=s(36516),r=s(18122),n=s(12866),a=s(33679),l=s(870),c=s(72919),h=s(47386);const d={};let u=1;const p=new Set;function f(){function t(){return u+=10*(Math.random()+1),Math.round(u).toString(16)}let e=t();for(;p.has(e);)e=t();return p.add(e),e}const m=new i.h,g={},v=t=>{Object.keys(t).forEach((e=>{h.lang[e]?Object.assign(h.lang[e],t[e]):h.lang[e]=t[e]}))},b=new WeakMap;function y(t,e,s="div",i=!1){const r=e?(0,l.g)(e.prototype):"jodit-utils",h=b.get(t)||{},d=r+s,u=(0,a.f)(t)?t:t.j;if(!h[d]){let e=u.c,a=(0,n.Z)(t)&&t.o.shadowRoot?t.o.shadowRoot:t.od.body;if(i&&(0,n.Z)(t)&&t.od!==t.ed){e=t.createInside;const i="style"===s?t.ed.head:t.ed.body;a=(0,n.Z)(t)&&t.o.shadowRoot?t.o.shadowRoot:i}const l=e.element(s,{className:`jodit jodit-${(0,c.G)(r)}-container jodit-box`});l.classList.add("jodit_theme_"+(u.o.theme||"default")),a.appendChild(l),h[d]=l,t.hookStatus("beforeDestruct",(()=>{o.i.safeRemove(l),delete h[d],Object.keys(h).length&&b.delete(t)})),b.set(t,h)}return h[d].classList.remove("jodit_theme_default","jodit_theme_dark"),h[d].classList.add("jodit_theme_"+(u.o.theme||"default")),h[d]}const w=new r.vp},90824(t,e,s){"use strict";s.d(e,{_2(){return o},C1(){return r.C},qo(){return n.q}});var i=s(41515);const o=t=>(0,i.k)(t)?t:[t];var r=s(11986),n=s(58260)},11986(t,e,s){"use strict";function i(t){return Array.isArray(t)?t:t.split(/[,\s]+/)}s.d(e,{C(){return i}})},58260(t,e,s){"use strict";s.d(e,{q(){return r}});var i=s(943),o=s(67940);const r=(...t)=>{var e;return((0,o.Q)(Array.from)?Array.from:null!==(e=(0,i.m)("Array.from"))&&void 0!==e?e:Array.from).apply(Array,t)}},45044(t,e,s){"use strict";s.d(e,{g(){return i.g},i(){return i.i}});var i=s(81778)},81778(t,e,s){"use strict";function i(t,e,...s){return e?window.setTimeout(t,e,...s):(t.call(null,...s),0)}function o(t){window.clearTimeout(t)}s.d(e,{g(){return o},i(){return i}})},43435(t,e,s){"use strict";function i(){let t=!0;try{const e=document.createElement("input");e.type="color",t="color"===e.type&&"number"!=typeof e.selectionStart}catch(e){t=!1}return t}s.d(e,{EO(){return i},Zt(){return m},kJ(){return o.k},jn(){return r.j},Z$(){return f},Xy(){return n.X},LP(){return n.L},mf(){return a.m},FP(){return c},I4(){return h},Gu(){return p},GN(){return v},Zu(){return b.Z},A1(){return w},QC(){return C.Q},hj(){return S.h},kE(){return g.k},PO(){return x.P},tI(){return _.t},HD(){return l.H},GI(){return l.G},PX(){return E.P},r1(){return j},f2(){return y.f},nj(){return u.n},FJ(){return k.F}});var o=s(41515),r=s(10152),n=s(13739),a=s(87385),l=s(86129);const c=t=>(0,l.H)(t)&&/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(t.replace(/[\r\n]/g,""));function h(t){return-1!==t.search(//)||-1!==t.search(//)||-1!==t.search(/style="[^"]*mso-/)&&-1!==t.search(/(0,l.H)(t)&&23===t.length&&/^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(t);var C=s(67940),S=s(98296),x=s(76856),_=s(15199),E=s(42139);function j(t){return!!t.length&&!/[^0-9A-Za-zа-яА-ЯЁё\w\-_.]/.test(t)}var k=s(64892)},41515(t,e,s){"use strict";function i(t){return Array.isArray(t)}s.d(e,{k(){return i}})},10152(t,e,s){"use strict";function i(t){return"boolean"==typeof t}s.d(e,{j(){return i}})},13739(t,e,s){"use strict";s.d(e,{L(){return r},X(){return o}});var i=s(58753);function o(t,e){return t===e||(0,i.P)(t)===(0,i.P)(e)}function r(t,e){return t===e}},87385(t,e,s){"use strict";function i(t){return"function"==typeof t}s.d(e,{m(){return i}})},12866(t,e,s){"use strict";s.d(e,{Z(){return o}});var i=s(87385);function o(t){return!!(t&&t instanceof Object&&(0,i.m)(t.constructor)&&("undefined"!=typeof Jodit&&t instanceof Jodit||t.isJodit))}},67940(t,e,s){"use strict";function i(t){return!!t&&"function"===(typeof t).toLowerCase()&&(t===Function.prototype||/^\s*function\s*(\b[a-z$_][a-z0-9$_]*\b)*\s*\((|([a-z$_][a-z0-9$_]*)(\s*,[a-z$_][a-z0-9$_]*)*)\)\s*{\s*\[native code]\s*}\s*$/i.test(t+""))}s.d(e,{Q(){return i}})},98296(t,e,s){"use strict";function i(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}s.d(e,{h(){return i}})},37381(t,e,s){"use strict";s.d(e,{k(){return o}});var i=s(86129);function o(t){if((0,i.H)(t)){if(!t.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/))return!1;t=parseFloat(t)}return"number"==typeof t&&!isNaN(t)&&isFinite(t)}},76856(t,e,s){"use strict";s.d(e,{P(){return o}});var i=s(64892);function o(t){return!(!t||"object"!=typeof t||t.nodeType||(0,i.F)(t)||t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))}},15199(t,e,s){"use strict";function i(t){return t&&"function"==typeof t.then}s.d(e,{t(){return i}})},86129(t,e,s){"use strict";s.d(e,{G(){return r},H(){return o}});var i=s(41515);function o(t){return"string"==typeof t}function r(t){return(0,i.k)(t)&&o(t[0])}},42139(t,e,s){"use strict";function i(t){if(t.includes(" "))return!1;if("undefined"!=typeof URL)try{const e=new URL(t);return["https:","http:","ftp:","file:","rtmp:"].includes(e.protocol)}catch(t){return!1}const e=document.createElement("a");return e.href=t,!!e.hostname}s.d(e,{P(){return i}})},33679(t,e,s){"use strict";s.d(e,{f(){return o}});var i=s(87385);function o(t){return!!(t&&t instanceof Object&&(0,i.m)(t.constructor)&&t.isView)}},62061(t,e,s){"use strict";function i(t){return null==t}s.d(e,{n(){return i}})},64892(t,e,s){"use strict";function i(t){return null!=t&&t===t.window}s.d(e,{F(){return i}})},96485(t,e,s){"use strict";s.d(e,{h(){return i}});const i=t=>{if("rgba(0, 0, 0, 0)"===t||""===t)return!1;if(!t)return"#000000";if("#"===t.substr(0,1))return t;const e=/([\s\n\t\r]*?)rgb\((\d+), (\d+), (\d+)\)/.exec(t)||/([\s\n\t\r]*?)rgba\((\d+), (\d+), (\d+), ([\d.]+)\)/.exec(t);if(!e)return"#000000";const s=parseInt(e[2],10),i=parseInt(e[3],10);let o=(parseInt(e[4],10)|i<<8|s<<16).toString(16).toUpperCase();for(;6>o.length;)o="0"+o;return e[1]+"#"+o}},24044(t,e,s){"use strict";s.d(e,{h(){return i.h}});var i=s(96485)},29516(t,e,s){"use strict";s.d(e,{Zs(){return a},pQ(){return c},$_(){return h},hU(){return f},eV(){return p.e},nA(){return p.n},oN(){return u}});var i=s(65401),o=s(38301),r=s(89681);function n(t){return t.replace(/mso-[a-z-]+:[\s]*[^;]+;/gi,"").replace(/mso-[a-z-]+:[\s]*[^";']+$/gi,"").replace(/border[a-z-]*:[\s]*[^;]+;/gi,"").replace(/([0-9.]+)(pt|cm)/gi,((t,e,s)=>{switch(s.toLowerCase()){case"pt":return(1.328*parseFloat(e)).toFixed(0)+"px";case"cm":return(.02645833*parseFloat(e)).toFixed(0)+"px"}return t}))}function a(t){if(-1===t.indexOf("")+7);const e=document.createElement("iframe");e.style.display="none",document.body.appendChild(e);let s="",a=[];try{const l=e.contentDocument||(e.contentWindow?e.contentWindow.document:null);if(l){l.open(),l.write(t),l.close();try{for(let t=0;l.styleSheets.length>t;t+=1){const e=l.styleSheets[t].cssRules;for(let t=0;e.length>t;t+=1)""!==e[t].selectorText&&(a=(0,o.$$)(e[t].selectorText,l.body),a.forEach((s=>{s.style.cssText=n(e[t].style.cssText+";"+s.style.cssText)})))}}catch(t){}i.i.each(l.body,(t=>{if(i.i.isElement(t)){const e=t,s=e.getAttribute("style");s&&(e.style.cssText=n(s)),e.hasAttribute("style")&&!e.getAttribute("style")&&e.removeAttribute("style")}})),s=l.firstChild?(0,r.f)(l.body.innerHTML):""}}catch(t){}finally{i.i.safeRemove(e)}return s&&(t=s),(0,r.f)(t.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,"").replace(//i);-1!==e&&(t=t.substring(e+20));const s=t.search(//i);return-1!==s&&(t=t.substring(0,s)),t})(s)),e.s.insertHTML(s)}function _e(t,e,s,i,o){if(!1===t.e.fire("beforeOpenPasteDialog",e,s,i,o))return;const r=t.confirm(`
${t.i18n(e)}
`,t.i18n(s)),n=o.map((({text:e,value:s})=>(0,Se.zx)(t,{text:e,name:e.toLowerCase(),tabIndex:0}).onAction((()=>{r.close(),i(s)}))));r.e.one(r,"afterClose",(()=>{t.s.isFocused()||t.s.focus()}));const a=(0,Se.zx)(t,{text:"Cancel",tabIndex:0}).onAction((()=>{r.close()}));return r.setFooter([...n,a]),n[0].focus(),n[0].state.variant="primary",t.e.fire("afterOpenPasteDialog",r,e,s,i,o),r}l.D.prototype.askBeforePasteHTML=!0,l.D.prototype.processPasteHTML=!0,l.D.prototype.pasteHTMLActionList=[{value:c.INSERT_AS_HTML,text:"Keep"},{value:c.INSERT_AS_TEXT,text:"Insert as Text"},{value:c.INSERT_ONLY_TEXT,text:"Insert only Text"}],l.D.prototype.memorizeChoiceWhenPasteFragment=!1,l.D.prototype.nl2brInPlainText=!0;const Ee="pasteStorage";l.D.prototype.controls.paste={tooltip:"Paste from clipboard",async exec(t,e,{control:s}){if(s.name===Ee)return void t.execCommand("showPasteStorage");t.s.focus();let i="",o=!0;if(navigator.clipboard){try{const t=await navigator.clipboard.read();if(t&&t.length){const e=await t[0].getType(c.TEXT_PLAIN);i=await new Response(e).text()}o=!1}catch(t){}if(o)try{i=await navigator.clipboard.readText(),o=!1}catch(t){}}o&&(i=t.buffer.get(c.CLIPBOARD_ID)||"",o=0===i.length);const r=t.value;o?(t.ed.execCommand("paste"),o=r===t.value,!o&&t.e.fire("afterPaste")):i.length?(xe(null,t,i),t.e.fire("afterPaste")):o&&t.alert("Your browser doesn't support direct access to the clipboard.",(()=>{t.s.focus()}))},list:{[Ee]:"Paste Storage"},isChildDisabled:t=>2>t.e.fire("pasteStorageList")};class je extends gt.S{constructor(){super(...arguments),this.pasteStack=new d.LimitedStack(20),this._isDialogOpened=!1}afterInit(t){t.e.on("paste.paste",this.onPaste).on("pasteStack.paste",(t=>this.pasteStack.push(t))),t.o.nl2brInPlainText&&this.j.e.on("processPaste.paste",this.onProcessPasteReplaceNl2Br)}beforeDestruct(t){t.e.off("paste.paste",this.onPaste).off("processPaste.paste",this.onProcessPasteReplaceNl2Br).off(".paste")}onPaste(t){try{if(!1===this.customPasteProcess(t)||!1===this.j.e.fire("beforePaste",t))return t.preventDefault(),!1;this.defaultPasteProcess(t)}finally{this.j.e.fire("afterPaste",t)}}customPasteProcess(t){if(!this.j.o.processPasteHTML)return;const e=(0,d.getDataTransfer)(t),s={html:null==e?void 0:e.getData(c.TEXT_HTML),plain:null==e?void 0:e.getData(c.TEXT_PLAIN),rtf:null==e?void 0:e.getData(c.TEXT_RTF)};let i;for(i in s){const e=s[i];if((0,d.isHTML)(e)&&(this.j.e.fire("processHTML",t,e,s)||this.processHTML(t,e)))return!1}}defaultPasteProcess(t){const e=(0,d.getDataTransfer)(t);let s=(null==e?void 0:e.getData(c.TEXT_HTML))||(null==e?void 0:e.getData(c.TEXT_PLAIN));if(e&&s&&""!==(0,d.trim)(s)){const i=this.j.e.fire("processPaste",t,s,(t=>{const e=t.types;let s="";if((0,w.kJ)(e)||"[object DOMStringList]"==={}.toString.call(e))for(let t=0;e.length>t;t+=1)s+=e[t]+";";else s=(e||c.TEXT_PLAIN)+";";return s})(e));void 0!==i&&(s=i),((0,d.isString)(s)||nt.i.isNode(s))&&this.insertByType(t,s,this.j.o.defaultActionOnPaste),t.preventDefault(),t.stopPropagation()}}processHTML(t,e){if(this.j.o.askBeforePasteHTML){if(this.j.o.memorizeChoiceWhenPasteFragment){const s=this.pasteStack.find((t=>t.html===e));if(s)return this.insertByType(t,e,s.action||this.j.o.defaultActionOnPaste),!0}if(this._isDialogOpened)return!0;const s=_e(this.j,"Your code is similar to HTML. Keep as HTML?","Paste as HTML",(s=>{this._isDialogOpened=!1,this.insertByType(t,e,s)}),this.j.o.pasteHTMLActionList);return s&&(this._isDialogOpened=!0,s.e.on("beforeClose",(()=>{this._isDialogOpened=!1}))),!0}return!1}insertByType(t,e,s){if(this.pasteStack.push({html:e,action:s}),(0,d.isString)(e))switch(this.j.buffer.set(c.CLIPBOARD_ID,e),s){case c.INSERT_CLEAR_HTML:e=(0,d.cleanFromWord)(e);break;case c.INSERT_ONLY_TEXT:e=(0,d.stripTags)(e);break;case c.INSERT_AS_TEXT:e=(0,d.htmlspecialchars)(e)}xe(t,this.j,e)}onProcessPasteReplaceNl2Br(t,e,s){if(s===c.TEXT_PLAIN+";"&&!(0,d.isHTML)(e))return(0,d.nl2br)(e)}}(0,a.gn)([f.autobind],je.prototype,"onPaste",null),(0,a.gn)([f.autobind],je.prototype,"onProcessPasteReplaceNl2Br",null),p.pw.add("paste",je),l.D.prototype.askBeforePasteFromWord=!0,l.D.prototype.processPasteFromWord=!0,l.D.prototype.defaultActionOnPasteFromWord=null,l.D.prototype.pasteFromWordActionList=[{value:c.INSERT_AS_HTML,text:"Keep"},{value:c.INSERT_AS_TEXT,text:"Clean"},{value:c.INSERT_ONLY_TEXT,text:"Insert only Text"}];class ke extends it.S{constructor(){super(...arguments),this.requires=["paste"]}afterInit(t){}beforeDestruct(t){}processWordHTML(t,e,s){const{j:i}=this,{processPasteFromWord:o,askBeforePasteFromWord:r,defaultActionOnPasteFromWord:n,defaultActionOnPaste:a,pasteFromWordActionList:l}=i.o;return!(!o||!(0,d.isHtmlFromWord)(e)||(r?_e(i,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected",(i=>{this.insertFromWordByType(t,e,i,s)}),l):this.insertFromWordByType(t,e,n||a,s),0))}insertFromWordByType(t,e,s,i){var o;switch(s){case c.INSERT_AS_HTML:{e=(0,d.applyStyles)(e);const t=null===(o=this.j.events)||void 0===o?void 0:o.fire("beautifyHTML",e);(0,d.isString)(t)&&(e=t);break}case c.INSERT_AS_TEXT:e=(0,d.cleanFromWord)(e);break;case c.INSERT_ONLY_TEXT:e=(0,d.stripTags)((0,d.cleanFromWord)(e))}xe(t,this.j,e)}}(0,a.gn)([(0,f.watch)(":processHTML")],ke.prototype,"processWordHTML",null),p.pw.add("pasteFromWord",ke),p.pw.add("pasteStorage",class Ie extends gt.S{constructor(){super(...arguments),this.currentIndex=0,this.list=[],this.container=null,this.listBox=null,this.previewBox=null,this.dialog=null,this.paste=()=>{if(this.j.s.focus(),this.j.s.insertHTML(this.list[this.currentIndex]),0!==this.currentIndex){const t=this.list[0];this.list[0]=this.list[this.currentIndex],this.list[this.currentIndex]=t}this.dialog&&this.dialog.close(),this.j.synchronizeValues(),this.j.e.fire("afterPaste")},this.onKeyDown=t=>{let e=this.currentIndex;-1!==[c.KEY_UP,c.KEY_DOWN,c.KEY_ENTER].indexOf(t.key)&&(t.key===c.KEY_UP&&(0===e?e=this.list.length-1:e-=1),t.key===c.KEY_DOWN&&(e===this.list.length-1?e=0:e+=1),t.key!==c.KEY_ENTER?(e!==this.currentIndex&&this.selectIndex(e),t.stopImmediatePropagation(),t.preventDefault()):this.paste())},this.selectIndex=t=>{this.listBox&&(0,d.toArray)(this.listBox.childNodes).forEach(((e,s)=>{e.classList.remove("jodit_active"),t===s&&this.previewBox&&(e.classList.add("jodit_active"),this.previewBox.innerHTML=this.list[t],e.focus())})),this.currentIndex=t},this.showDialog=()=>{2>this.list.length||(this.dialog||this.createDialog(),this.listBox&&(this.listBox.innerHTML=""),this.previewBox&&(this.previewBox.innerHTML=""),this.list.forEach(((t,e)=>{const s=this.j.c.element("a");s.textContent=e+1+". "+t.replace((0,c.SPACE_REG_EXP)(),""),this.j.e.on(s,"keydown",this.onKeyDown),(0,d.attr)(s,"href","#"),(0,d.attr)(s,"data-index",""+e),(0,d.attr)(s,"tab-index","-1"),this.listBox&&this.listBox.appendChild(s)})),this.dialog&&this.dialog.open(),this.j.async.setTimeout((()=>{this.selectIndex(0)}),100))}}createDialog(){this.dialog=this.j.dlg();const t=(0,Se.zx)(this.j,"paste","Paste","primary");t.onAction(this.paste);const e=(0,Se.zx)(this.j,"","Cancel");e.onAction(this.dialog.close),this.container=this.j.c.div(),this.container.classList.add("jodit-paste-storage"),this.listBox=this.j.c.div(),this.previewBox=this.j.c.div(),this.container.appendChild(this.listBox),this.container.appendChild(this.previewBox),this.dialog.setHeader(this.j.i18n("Choose Content to Paste")),this.dialog.setContent(this.container),this.dialog.setFooter([t,e]),this.j.e.on(this.listBox,"click dblclick",(t=>{const e=t.target;return nt.i.isTag(e,"a")&&e.hasAttribute("data-index")&&this.selectIndex(parseInt((0,d.attr)(e,"-index")||"0",10)),"dblclick"===t.type&&this.paste(),!1}))}afterInit(){this.j.e.off("afterCopy.paste-storage").on("pasteStorageList.paste-storage",(()=>this.list.length)).on("afterCopy.paste-storage",(t=>{-1!==this.list.indexOf(t)&&this.list.splice(this.list.indexOf(t),1),this.list.unshift(t),this.list.length>5&&(this.list.length=5)})),this.j.registerCommand("showPasteStorage",{exec:this.showDialog,hotkeys:["ctrl+shift+v","cmd+shift+v"]})}beforeDestruct(){this.dialog&&this.dialog.destruct(),this.j.e.off(".paste-storage"),nt.i.safeRemove(this.previewBox),nt.i.safeRemove(this.listBox),nt.i.safeRemove(this.container),this.container=null,this.listBox=null,this.previewBox=null,this.dialog=null,this.list=[]}});var Te=i(92415);l.D.prototype.showPlaceholder=!0,l.D.prototype.placeholder="Type something",l.D.prototype.useInputsPlaceholder=!0;class Le extends gt.S{constructor(){super(...arguments),this.addNativeListeners=()=>{this.j.e.off(this.j.editor,"input.placeholder keydown.placeholder").on(this.j.editor,"input.placeholder keydown.placeholder",this.toggle)},this.addEvents=()=>{const t=this.j;t.o.useInputsPlaceholder&&t.element.hasAttribute("placeholder")&&(this.placeholderElm.innerHTML=(0,d.attr)(t.element,"placeholder")||""),t.e.fire("placeholder",this.placeholderElm.innerHTML),t.e.off(".placeholder").on("changePlace.placeholder",this.addNativeListeners).on("change.placeholder focus.placeholder keyup.placeholder mouseup.placeholder keydown.placeholder mousedown.placeholder afterSetMode.placeholder changePlace.placeholder",this.toggle).on(window,"load",this.toggle),this.addNativeListeners(),this.toggle()}}afterInit(t){t.o.showPlaceholder&&(this.placeholderElm=t.c.fromHTML(``),"rtl"===t.o.direction&&(this.placeholderElm.style.right="0px",this.placeholderElm.style.direction="rtl"),t.e.on("readonly",(t=>{t?this.hide():this.toggle()})).on("changePlace",this.addEvents),this.addEvents())}show(){const t=this.j;if(t.o.readonly)return;let e=0,s=0;const i=t.s.current(),o=i&&ot.i.closest(i,ot.i.isBlock,t.editor)||t.editor,r=t.ew.getComputedStyle(o),n=t.ew.getComputedStyle(t.editor);t.workplace.appendChild(this.placeholderElm);const{firstChild:a}=t.editor;if(ot.i.isElement(a)&&!Te.Ph.isMarker(a)){const i=t.ew.getComputedStyle(a);e=parseInt(i.getPropertyValue("margin-top"),10),s=parseInt(i.getPropertyValue("margin-left"),10),this.placeholderElm.style.fontSize=parseInt(i.getPropertyValue("font-size"),10)+"px",this.placeholderElm.style.lineHeight=i.getPropertyValue("line-height")}else this.placeholderElm.style.fontSize=parseInt(r.getPropertyValue("font-size"),10)+"px",this.placeholderElm.style.lineHeight=r.getPropertyValue("line-height");(0,d.css)(this.placeholderElm,{display:"block",textAlign:r.getPropertyValue("text-align"),paddingTop:parseInt(n.paddingTop,10)+"px",paddingLeft:parseInt(n.paddingLeft,10)+"px",paddingRight:parseInt(n.paddingRight,10)+"px",marginTop:Math.max(parseInt(r.getPropertyValue("margin-top"),10),e),marginLeft:Math.max(parseInt(r.getPropertyValue("margin-left"),10),s)})}hide(){ot.i.safeRemove(this.placeholderElm)}toggle(){const t=this.j;t.editor&&!t.isInDestruct&&(t.getRealMode()===c.MODE_WYSIWYG&&(t=>{if(!t.firstChild)return!0;const e=t.firstChild;if(c.MAY_BE_REMOVED_WITH_KEY.test(e.nodeName)||/^(TABLE)$/i.test(e.nodeName))return!1;const s=ot.i.next(e,(t=>t&&!ot.i.isEmptyTextNode(t)),t);return ot.i.isText(e)&&!s?ot.i.isEmptyTextNode(e):!s&&ot.i.each(e,(t=>!ot.i.isTag(t,["ul","li","ol"])&&(ot.i.isEmpty(t)||ot.i.isTag(t,"br"))))})(t.editor)?this.show():this.hide())}beforeDestruct(t){this.hide(),t.e.off(".placeholder").off(window,"load",this.toggle)}}(0,a.gn)([(0,f.debounce)((t=>t.defaultTimeout/10),!0)],Le.prototype,"toggle",null),p.pw.add("placeholder",Le),p.pw.add("poweredByJodit",(t=>{const{o:e}=t;e.hidePoweredByJodit||e.inline||!(e.showCharsCounter||e.showWordsCounter||e.showXPathInStatusbar)||t.hookStatus("ready",(()=>{t.statusbar.append(t.create.fromHTML('\n\t\t\t\t\t\t\tPowered by Jodit\n\t\t\t\t\t\t'),!0)}))}));var ze=i(25846);l.D.prototype.controls.preview={icon:"eye",command:"preview",mode:c.MODE_SOURCE+c.MODE_WYSIWYG,tooltip:"Preview"},p.pw.add("preview",(t=>{t.registerButton({name:"preview"}),t.registerCommand("preview",((e,s,i)=>{const o=t.dlg();o.setSize(1024,600).open("",t.i18n("Preview")).setModal(!0),(0,ze.$)(t,i,"px",o.getElm("content"))}))}));var Me=i(4371),Ne=i(58260);Q.J.set("print",i(22860)),l.D.prototype.controls.print={exec(t){const e=t.create.element("iframe");Object.assign(e.style,{position:"fixed",right:0,bottom:0,width:0,height:0,border:0}),(0,p.ZO)(t,l.D).appendChild(e);const s=()=>{t.e.off(t.ow,"mousemove",s),ot.i.safeRemove(e)},i=e.contentWindow;if(i){t.e.on(i,"onbeforeunload onafterprint",s).on(t.ow,"mousemove",s),t.o.iframe?(t.e.fire("generateDocumentStructure.iframe",i.document,t),i.document.body.innerHTML=t.value):(i.document.write('"),i.document.close(),(0,ze.$)(t,void 0,"px",i.document.body));const e=i.document.createElement("style");e.innerHTML="@media print {\n\t\t\t\t\tbody {\n\t\t\t\t\t\t\t-webkit-print-color-adjust: exact;\n\t\t\t\t\t}\n\t\t\t}",i.document.head.appendChild(e),i.focus(),i.print()}},mode:c.MODE_SOURCE+c.MODE_WYSIWYG,tooltip:"Print"},p.pw.add("print",(t=>{t.registerButton({name:"print"})})),Q.J.set("redo",i(95600)).set("undo",i(76214)),l.D.prototype.controls.redo={mode:c.MODE_SPLIT,isDisabled(t){return!t.history.canRedo()},tooltip:"Redo"},l.D.prototype.controls.undo={mode:c.MODE_SPLIT,isDisabled(t){return!t.history.canUndo()},tooltip:"Undo"},p.pw.add("redoUndo",class De extends gt.S{constructor(){super(...arguments),this.buttons=[{name:"undo",group:"history"},{name:"redo",group:"history"}]}beforeDestruct(){}afterInit(t){const e=e=>(t.history[e](),!1);t.registerCommand("redo",{exec:e,hotkeys:["ctrl+y","ctrl+shift+z","cmd+y","cmd+shift+z"]}),t.registerCommand("undo",{exec:e,hotkeys:["ctrl+z","cmd+z"]})}}),l.D.prototype.tableAllowCellResize=!0;const qe="table_processor_observer-resize";class Pe extends h.Plugin{constructor(){super(...arguments),this.selectMode=!1,this.resizeDelta=0,this.createResizeHandle=()=>{this.resizeHandler||(this.resizeHandler=this.j.c.div("jodit-table-resizer"),this.j.e.on(this.resizeHandler,"mousedown.table touchstart.table",this.onHandleMouseDown).on(this.resizeHandler,"mouseenter.table",(()=>{this.j.async.clearTimeout(this.hideTimeout)})))},this.hideTimeout=0,this.drag=!1,this.minX=0,this.maxX=0,this.startX=0}get module(){return this.j.getInstance("Table",this.j.o)}get isRTL(){return"rtl"===this.j.o.direction}showResizeHandle(){this.j.async.clearTimeout(this.hideTimeout),this.j.workplace.appendChild(this.resizeHandler)}hideResizeHandle(){this.hideTimeout=this.j.async.setTimeout((()=>{nt.i.safeRemove(this.resizeHandler)}),{timeout:this.j.defaultTimeout,label:"hideResizer"})}onHandleMouseDown(t){if(this.j.isLocked)return;this.drag=!0,this.j.e.on(this.j.ow,"mouseup.resize-cells touchend.resize-cells",this.onMouseUp).on(this.j.ew,"mousemove.table touchmove.table",this.onMouseMove),this.startX=t.clientX,this.j.lock(qe),this.resizeHandler.classList.add("jodit-table-resizer_moved");let e,s=this.workTable.getBoundingClientRect();if(this.minX=0,this.maxX=1e6,null!=this.wholeTable)s=this.workTable.parentNode.getBoundingClientRect(),this.minX=s.left,this.maxX=this.minX+s.width;else{const t=h.Table.formalCoordinate(this.workTable,this.workCell,!0);h.Table.formalMatrix(this.workTable,((s,i,o)=>{t[1]===o&&(e=s.getBoundingClientRect(),this.minX=Math.max(e.left+c.NEARBY/2,this.minX)),t[1]+(this.isRTL?-1:1)===o&&(e=s.getBoundingClientRect(),this.maxX=Math.min(e.left+e.width-c.NEARBY/2,this.maxX))}))}return!1}onMouseMove(t){if(!this.drag)return;this.j.e.fire("closeAllPopups");let e=t.clientX;const s=(0,d.offset)(this.resizeHandler.parentNode||this.j.od.documentElement,this.j,this.j.od,!0);this.minX>e&&(e=this.minX),e>this.maxX&&(e=this.maxX),this.resizeDelta=e-this.startX+(this.j.o.iframe?s.left:0),this.resizeHandler.style.left=e-(this.j.o.iframe?0:s.left)+"px";const i=this.j.s.sel;i&&i.removeAllRanges()}onMouseUp(t){(this.selectMode||this.drag)&&(this.selectMode=!1,this.j.unlock()),this.resizeHandler&&this.drag&&(this.drag=!1,this.j.e.off(this.j.ew,"mousemove.table touchmove.table",this.onMouseMove),this.resizeHandler.classList.remove("jodit-table-resizer_moved"),this.startX!==t.clientX&&(null==this.wholeTable?this.resizeColumns():this.resizeTable()),this.j.synchronizeValues(),this.j.s.focus())}resizeColumns(){const t=this.resizeDelta,e=[];h.Table.setColumnWidthByDelta(this.workTable,h.Table.formalCoordinate(this.workTable,this.workCell,!0)[1],t,!0,e);const s=(0,d.call)(this.isRTL?nt.i.prev:nt.i.next,this.workCell,nt.i.isCell,this.workCell.parentNode);h.Table.setColumnWidthByDelta(this.workTable,h.Table.formalCoordinate(this.workTable,s)[1],-t,!1,e)}resizeTable(){const t=this.resizeDelta*(this.isRTL?-1:1),e=this.workTable.offsetWidth,s=(0,d.getContentWidth)(this.workTable.parentNode,this.j.ew),i=!this.wholeTable;if(this.isRTL?!i:i)this.workTable.style.width=(e+t)/s*100+"%";else{const i=this.isRTL?"marginRight":"marginLeft",o=parseInt(this.j.ew.getComputedStyle(this.workTable)[i]||"0",10);this.workTable.style.width=(e-t)/s*100+"%",this.workTable.style[i]=(o+t)/s*100+"%"}}setWorkCell(t,e=null){this.wholeTable=e,this.workCell=t,this.workTable=nt.i.up(t,(t=>nt.i.isTag(t,"table")),this.j.editor)}calcHandlePosition(t,e,s=0,i=0){const o=(0,d.offset)(e,this.j,this.j.ed);if(s>c.NEARBY&&o.width-c.NEARBY>s)return void this.hideResizeHandle();const r=(0,d.offset)(this.j.workplace,this.j,this.j.od,!0),n=(0,d.offset)(t,this.j,this.j.ed);if(this.resizeHandler.style.left=(s>c.NEARBY?o.left+o.width:o.left)-r.left+i+"px",Object.assign(this.resizeHandler.style,{height:n.height+"px",top:n.top-r.top+"px"}),this.showResizeHandle(),s>c.NEARBY){const t=(0,d.call)(this.isRTL?nt.i.prev:nt.i.next,e,nt.i.isCell,e.parentNode);this.setWorkCell(e,!!t&&null)}else{const t=(0,d.call)(this.isRTL?nt.i.next:nt.i.prev,e,nt.i.isCell,e.parentNode);this.setWorkCell(t||e,!t||null)}}afterInit(t){t.o.tableAllowCellResize&&t.e.off(this.j.ow,".resize-cells").off(".resize-cells").on("change.resize-cells afterCommand.resize-cells afterSetMode.resize-cells",(()=>{(0,d.$$)("table",t.editor).forEach(this.observe)})).on(this.j.ow,"scroll.resize-cells",(()=>{if(!this.drag)return;const e=nt.i.up(this.workCell,(t=>nt.i.isTag(t,"table")),t.editor);if(e){const t=e.getBoundingClientRect();this.resizeHandler.style.top=t.top+"px"}})).on("beforeSetMode.resize-cells",(()=>{this.module.getAllSelectedCells().forEach((e=>{this.module.removeSelection(e),h.Table.normalizeTable(nt.i.closest(e,"table",t.editor))}))}))}observe(t){(0,d.dataBind)(t,qe)||((0,d.dataBind)(t,qe,!0),this.j.e.on(t,"mouseleave.resize-cells",(t=>{this.resizeHandler&&this.resizeHandler!==t.relatedTarget&&this.hideResizeHandle()})).on(t,"mousemove.resize-cells touchmove.resize-cells",this.j.async.throttle((e=>{if(this.j.isLocked)return;const s=nt.i.up(e.target,nt.i.isCell,t);s&&this.calcHandlePosition(t,s,e.offsetX)}),{timeout:this.j.defaultTimeout})),this.createResizeHandle())}beforeDestruct(t){t.events&&(t.e.off(this.j.ow,".resize-cells"),t.e.off(".resize-cells"))}}(0,a.gn)([f.autobind],Pe.prototype,"onHandleMouseDown",null),(0,a.gn)([f.autobind],Pe.prototype,"onMouseMove",null),(0,a.gn)([f.autobind],Pe.prototype,"onMouseUp",null),(0,a.gn)([f.autobind],Pe.prototype,"observe",null),p.pw.add("resizeCells",Pe),l.D.prototype.allowResizeX=!1,l.D.prototype.allowResizeY=!0;let Re=class t extends it.S{constructor(){super(...arguments),this.isResized=!1,this.start={x:0,y:0,w:0,h:0},this.handle=this.j.c.div("jodit-editor__resize",tt.JO.get("resize_handler"))}afterInit(t){const{height:e,width:s,allowResizeX:i}=t.o;let{allowResizeY:o}=t.o;"auto"===e&&"auto"!==s&&(o=!1),"auto"===e&&"auto"===s||!i&&!o||(t.statusbar.setMod("resize-handle",!0),t.e.on("toggleFullSize.resizeHandler",(()=>{this.handle.style.display=t.isFullSize?"none":"block"})).on(this.handle,"mousedown touchstart",this.onHandleResizeStart).on(t.ow,"mouseup touchend",this.onHandleResizeEnd),t.container.appendChild(this.handle))}onHandleResizeStart(t){this.isResized=!0,this.start.x=t.clientX,this.start.y=t.clientY,this.start.w=this.j.container.offsetWidth,this.start.h=this.j.container.offsetHeight,this.j.lock(),this.j.e.on(this.j.ow,"mousemove touchmove",this.onHandleResize),t.preventDefault()}onHandleResize(t){this.isResized&&(this.j.o.allowResizeY&&this.j.e.fire("setHeight",this.start.h+t.clientY-this.start.y),this.j.o.allowResizeX&&this.j.e.fire("setWidth",this.start.w+t.clientX-this.start.x),this.j.e.fire("resize"))}onHandleResizeEnd(){this.isResized&&(this.isResized=!1,this.j.e.off(this.j.ow,"mousemove touchmove",this.onHandleResize),this.j.unlock())}beforeDestruct(){ot.i.safeRemove(this.handle),this.j.e.off(this.j.ow,"mouseup touchsend",this.onHandleResizeEnd)}};Re.requires=["size"],Re=(0,a.gn)([f.autobind],Re),p.pw.add("resizeHandler",Re),l.D.prototype.allowResizeTags=["img","iframe","table","jodit"],l.D.prototype.resizer={showSize:!0,hideSizeTimeout:1e3,forImageChangeAttributes:!0,min_width:10,min_height:10,useAspectRatio:["img"]};const Ae="__jodit-resizer_binded";class Oe extends gt.S{constructor(){super(...arguments),this.LOCK_KEY="resizer",this.element=null,this.isResizeMode=!1,this.isShown=!1,this.startX=0,this.startY=0,this.width=0,this.height=0,this.ratio=0,this.rect=this.j.c.fromHTML(`
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t100x100\n\t\t\t
`),this.sizeViewer=this.rect.getElementsByTagName("span")[0],this.pointerX=0,this.pointerY=0,this.isAltMode=!1,this.onClickElement=t=>{this.isResizeMode||this.element===t&&this.isShown||(this.element=t,this.show(),nt.i.isTag(this.element,"img")&&!this.element.complete&&this.j.e.one(this.element,"load",this.updateSize))},this.updateSize=()=>{if(!this.isInDestruct&&this.isShown&&this.element&&this.rect){const t=this.getWorkplacePosition(),e=(0,d.offset)(this.element,this.j,this.j.ed),s=parseInt(this.rect.style.left||"0",10),i=this.rect.offsetWidth,o=this.rect.offsetHeight,r=e.top-t.top,n=e.left-t.left;parseInt(this.rect.style.top||"0",10)===r&&s===n&&i===this.element.offsetWidth&&o===this.element.offsetHeight||((0,d.css)(this.rect,{top:r,left:n,width:this.element.offsetWidth,height:this.element.offsetHeight}),this.j.events&&(this.j.e.fire(this.element,"changesize"),isNaN(s)||this.j.e.fire("resize")))}},this.hideSizeViewer=()=>{this.sizeViewer.style.opacity="0"}}afterInit(t){(0,d.$$)("div",this.rect).forEach((e=>{t.e.on(e,"mousedown.resizer touchstart.resizer",this.onStartResizing.bind(this,e))})),p.TB.on("hideHelpers",this.hide),t.e.on("readonly",(t=>{t&&this.hide()})).on("afterInit changePlace",this.addEventListeners.bind(this)).on("afterGetValueFromEditor.resizer",(t=>{const e=/]+data-jodit_iframe_wrapper[^>]+>(.*?]*>.*?<\/iframe>.*?)<\/jodit>/gi;e.test(t.value)&&(t.value=t.value.replace(e,"$1"))})).on("hideResizer",this.hide).on("change afterInit afterSetMode",this.onChangeEditor),this.addEventListeners(),this.onChangeEditor()}onEditorClick(t){let e=t.target;const{editor:s,options:{allowResizeTags:i}}=this.j;for(;e&&e!==s;){if(nt.i.isTag(e,i))return this.bind(e),void this.onClickElement(e);e=e.parentNode}}addEventListeners(){const t=this.j;t.e.off(t.editor,".resizer").off(t.ow,".resizer").on(t.editor,"keydown.resizer",(t=>{this.isShown&&t.key===c.KEY_DELETE&&this.element&&!nt.i.isTag(this.element,"table")&&this.onDelete(t)})).on(t.ow,"resize.resizer",this.updateSize).on("resize.resizer",this.updateSize).on([t.ow,t.editor],"scroll.resizer",(()=>{this.isShown&&!this.isResizeMode&&this.hide()})).on(t.ow,"keydown.resizer",this.onKeyDown).on(t.ow,"keyup.resizer",this.onKeyUp).on(t.ow,"mouseup.resizer touchend.resizer",this.onClickOutside)}onStartResizing(t,e){if(!this.element||!this.element.parentNode)return this.hide(),!1;this.handle=t,e.cancelable&&e.preventDefault(),e.stopImmediatePropagation(),this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.ratio=this.width/this.height,this.isResizeMode=!0,this.startX=e.clientX,this.startY=e.clientY,this.pointerX=e.clientX,this.pointerY=e.clientY;const{j:s}=this;s.e.fire("hidePopup"),s.lock(this.LOCK_KEY),s.e.on(s.ow,"mousemove.resizer touchmove.resizer",this.onResize)}onEndResizing(){const{j:t}=this;t.unlock(),this.isResizeMode=!1,this.isAltMode=!1,t.synchronizeValues(),t.e.off(t.ow,"mousemove.resizer touchmove.resizer",this.onResize)}onResize(t){if(this.isResizeMode){if(!this.element)return;let e,s;if(this.pointerX=t.clientX,this.pointerY=t.clientY,this.j.options.iframe){const i=this.getWorkplacePosition();e=t.clientX+i.left-this.startX,s=t.clientY+i.top-this.startY}else e=this.pointerX-this.startX,s=this.pointerY-this.startY;const i=this.handle.className;let o=0,r=0;const n=this.j.o.resizer.useAspectRatio;!this.isAltMode&&(!0===n||Array.isArray(n)&&nt.i.isTag(this.element,n))?(e?(o=this.width+(i.match(/left/)?-1:1)*e,r=Math.round(o/this.ratio)):(r=this.height+(i.match(/top/)?-1:1)*s,o=Math.round(r*this.ratio)),o>(0,d.innerWidth)(this.j.editor,this.j.ow)&&(o=(0,d.innerWidth)(this.j.editor,this.j.ow),r=Math.round(o/this.ratio))):(o=this.width+(i.match(/left/)?-1:1)*e,r=this.height+(i.match(/top/)?-1:1)*s),o>this.j.o.resizer.min_width&&this.applySize(this.element,"width",this.rect.parentNode.offsetWidth>o?o:"100%"),r>this.j.o.resizer.min_height&&this.applySize(this.element,"height",r),this.updateSize(),this.showSizeViewer(this.element.offsetWidth,this.element.offsetHeight),t.stopImmediatePropagation()}}onKeyDown(t){this.isAltMode=t.key===c.KEY_ALT,!this.isAltMode&&this.isResizeMode&&this.onEndResizing()}onKeyUp(){this.isAltMode&&this.isResizeMode&&this.element&&(this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.ratio=this.width/this.height,this.startX=this.pointerX,this.startY=this.pointerY),this.isAltMode=!1}onClickOutside(t){if(this.isShown){if(!this.isResizeMode)return this.hide();t.stopImmediatePropagation(),this.onEndResizing()}}getWorkplacePosition(){return(0,d.offset)(this.rect.parentNode||this.j.od.documentElement,this.j,this.j.od,!0)}applySize(t,e,s){const i=nt.i.isImage(t)&&this.j.o.resizer.forImageChangeAttributes;i&&(0,d.attr)(t,e,s),i&&!t.style[e]||(0,d.css)(t,e,s)}onDelete(t){this.element&&("JODIT"!==this.element.tagName?this.j.s.select(this.element):(nt.i.safeRemove(this.element),this.hide(),t.preventDefault()))}onChangeEditor(){this.isShown&&(this.element&&this.element.parentNode?this.updateSize():this.hide()),(0,d.$$)("iframe",this.j.editor).forEach(this.bind)}bind(t){if(!nt.i.isHTMLElement(t)||!this.j.o.allowResizeTags.includes(t.tagName.toLowerCase())||(0,d.dataBind)(t,Ae))return;let e;if((0,d.dataBind)(t,Ae,!0),nt.i.isTag(t,"iframe")){const s=t;nt.i.isHTMLElement(t.parentNode)&&(0,d.attr)(t.parentNode,"-jodit_iframe_wrapper")?t=t.parentNode:(e=this.j.createInside.element("jodit",{"data-jodit-temp":1,contenteditable:!1,draggable:!0,"data-jodit_iframe_wrapper":1}),(0,d.attr)(e,"style",(0,d.attr)(t,"style")),(0,d.css)(e,{display:"inline-block"===t.style.display?"inline-block":"block",width:t.offsetWidth,height:t.offsetHeight}),t.parentNode&&t.parentNode.insertBefore(e,t),e.appendChild(t),this.j.e.on(e,"click",(()=>{(0,d.attr)(e,"data-jodit-wrapper_active",!0)})),t=e),this.j.e.off(t,"mousedown.select touchstart.select").on(t,"mousedown.select touchstart.select",(()=>{this.j.s.select(t)})).off(t,"changesize").on(t,"changesize",(()=>{s.setAttribute("width",t.offsetWidth+"px"),s.setAttribute("height",t.offsetHeight+"px")}))}this.j.e.on(t,"dragstart",this.hide)}showSizeViewer(t,e){this.j.o.resizer.showSize&&(this.sizeViewer.offsetWidth>t||this.sizeViewer.offsetHeight>e?this.hideSizeViewer():(this.sizeViewer.style.opacity="1",this.sizeViewer.textContent=`${t} x ${e}`,this.j.async.setTimeout(this.hideSizeViewer,{timeout:this.j.o.resizer.hideSizeTimeout,label:"hideSizeViewer"})))}show(){this.j.o.readonly||this.isShown||(this.isShown=!0,this.rect.parentNode||((0,d.markOwner)(this.j,this.rect),this.j.workplace.appendChild(this.rect)),this.j.isFullSize&&(this.rect.style.zIndex=""+(0,d.css)(this.j.container,"zIndex")),this.updateSize())}hide(){this.isResizeMode||(this.isResizeMode=!1,this.isShown=!1,this.element=null,nt.i.safeRemove(this.rect),(0,d.$$)("[data-jodit-wrapper_active='true']",this.j.editor).forEach((t=>(0,d.attr)(t,"data-jodit-wrapper_active",!1))))}beforeDestruct(t){this.hide(),p.TB.off("hideHelpers",this.hide),t.e.off(this.j.ow,".resizer").off(".resizer")}}(0,a.gn)([(0,f.watch)(":click")],Oe.prototype,"onEditorClick",null),(0,a.gn)([f.autobind],Oe.prototype,"onStartResizing",null),(0,a.gn)([f.autobind],Oe.prototype,"onEndResizing",null),(0,a.gn)([f.autobind],Oe.prototype,"onResize",null),(0,a.gn)([f.autobind],Oe.prototype,"onKeyDown",null),(0,a.gn)([f.autobind],Oe.prototype,"onKeyUp",null),(0,a.gn)([f.autobind],Oe.prototype,"onClickOutside",null),(0,a.gn)([(0,f.debounce)()],Oe.prototype,"onChangeEditor",null),(0,a.gn)([f.autobind],Oe.prototype,"bind",null),(0,a.gn)([f.autobind],Oe.prototype,"hide",null),p.pw.add("resizer",Oe);let Be=class t extends tt.u1{constructor(t){super(t),this.selInfo=null,this._currentIndex=0,this.isOpened=!1;const{query:e,replace:s,cancel:i,next:o,prev:r,replaceBtn:n,current:a,count:l}=(0,d.refs)(this.container);this.queryInput=e,this.replaceInput=s,this.closeButton=i,this.replaceButton=n,this.currentBox=a,this.countBox=l,t.e.on(this.closeButton,"pointerdown",(()=>(this.close(),!1))).on(this.queryInput,"input",(()=>{this.currentIndex=0})).on(this.queryInput,"pointerdown",(()=>{t.s.isFocused()&&(t.s.removeMarkers(),this.selInfo=t.s.save())})).on(this.replaceButton,"pointerdown",(()=>(t.e.fire(this,"pressReplaceButton"),!1))).on(o,"pointerdown",(()=>(t.e.fire("searchNext"),!1))).on(r,"pointerdown",(()=>(t.e.fire("searchPrevious"),!1))).on(this.queryInput,"input",(()=>{this.setMod("empty-query",!(0,d.trim)(this.queryInput.value).length)})).on(this.queryInput,"keydown",this.j.async.debounce((e=>{e.key===c.KEY_ENTER?(e.preventDefault(),e.stopImmediatePropagation(),t.e.fire("searchNext")&&this.close()):t.e.fire(this,"needUpdateCounters")}),this.j.defaultTimeout))}className(){return"UISearch"}render(){return`
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t0/0\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
`}get currentIndex(){return this._currentIndex}set currentIndex(t){this._currentIndex=t,this.currentBox.innerText=""+t}set count(t){this.countBox.innerText=""+t}get query(){return this.queryInput.value}get replace(){return this.replaceInput.value}onEditorKeyDown(t){if(!this.isOpened)return;const{j:e}=this;if(e.getRealMode()===c.MODE_WYSIWYG)switch(t.key){case c.KEY_ESC:this.close();break;case c.KEY_F3:this.queryInput.value&&(e.e.fire(t.shiftKey?"searchPrevious":"searchNext"),t.preventDefault())}}open(t,e,s=!1){this.isOpened||(this.j.workplace.appendChild(this.container),this.isOpened=!0),this.calcSticky(this.j.e.fire("getStickyState.sticky")||!1),this.j.e.fire("hidePopup"),this.setMod("replace",s);const i=null!=t?t:""+(this.j.s.sel||"");i&&(this.queryInput.value=i),e&&(this.replaceInput.value=e),this.setMod("empty-query",!i.length),this.j.e.fire(this,"needUpdateCounters"),i?this.queryInput.select():this.queryInput.focus()}close(){this.isOpened&&(this.j.s.restore(),ot.i.safeRemove(this.container),this.isOpened=!1,this.j.e.fire(this,"afterClose"))}calcSticky(t){if(this.isOpened)if(this.setMod("sticky",t),t){const t=(0,d.position)(this.j.toolbarContainer);(0,d.css)(this.container,{top:t.top+t.height,left:t.left+t.width})}else(0,d.css)(this.container,{top:null,left:null})}};(0,a.gn)([(0,f.watch)([":keydown","queryInput:keydown"])],Be.prototype,"onEditorKeyDown",null),(0,a.gn)([f.autobind],Be.prototype,"open",null),(0,a.gn)([f.autobind],Be.prototype,"close",null),(0,a.gn)([(0,f.watch)(":toggleSticky")],Be.prototype,"calcSticky",null),Be=(0,a.gn)([f.component],Be);var He=i(83212);class Fe{constructor(t=He.Q){this.searchIndex=t,this.queue=[],this.value=""}add(t){var e;const s=(null!==(e=t.nodeValue)&&void 0!==e?e:"").toLowerCase();if(!s.length)return;const i=this.value.length;this.queue.push({startIndex:i,endIndex:i+s.length,node:t}),this.value+=s}ranges(t,e=0){const s=[];let i=e,o=0,r=0;do{if([i,o]=this.searchIndex(t,this.value,i),-1!==i){let t,e,n=0,a=0;for(let s=r;this.queue.length>s;s+=1)if(!t&&this.queue[s].endIndex>i&&(t=this.queue[s].node,n=i-this.queue[s].startIndex),t&&this.queue[s].endIndex>=i+o){e=this.queue[s].node,a=i+o-this.queue[s].startIndex,r=s;break}t&&e&&s.push({startContainer:t,startOffset:n,endContainer:e,endOffset:a}),i+=o}}while(-1!==i);return 0===s.length?null:s}}const We="jd-tmp-selection";function Ve(t,e,s,i){if(null==t.startContainer.nodeValue||null==t.endContainer.nodeValue)return;const o=s.element("span",{[We]:!0});nt.i.markTemporary(o);const r=t.startContainer.nodeValue;let n=0;if(0!==t.startOffset){const e=s.text(r.substring(0,t.startOffset));t.startContainer.nodeValue=r.substring(t.startOffset),nt.i.before(t.startContainer,e),t.startContainer===t.endContainer&&(n=t.startOffset,t.endOffset-=n),t.startOffset=0}const a=t.endContainer.nodeValue;if(t.endOffset!==a.length){const i=s.text(a.substring(t.endOffset));t.endContainer.nodeValue=a.substring(0,t.endOffset),nt.i.after(t.endContainer,i);for(const s of e){if(s.startContainer!==t.endContainer)break;s.startContainer=i,s.startOffset=s.startOffset-t.endOffset-n,s.endContainer===t.endContainer&&(s.endContainer=i,s.endOffset=s.endOffset-t.endOffset-n)}t.endOffset=t.endContainer.nodeValue.length}let l=t.startContainer;do{if(!l)break;if(!nt.i.isText(l)||nt.i.isElement(c=l.parentNode)&&c.hasAttribute(We)||nt.i.wrap(l,o.cloneNode(),s),l===t.endContainer)break;let e=l.firstChild||l.nextSibling;if(!e){for(;l&&!l.nextSibling&&l!==i;)l=l.parentNode;e=null==l?void 0:l.nextSibling}l=e}while(l&&l!==i);var c}function $e(t){return(0,Wt.$$)(`[${We}]`,t)}function Ye(t){$e(t).forEach((t=>nt.i.unwrap(t)))}l.D.prototype.useSearch=!0,l.D.prototype.search={lazyIdleTimeout:0},Q.J.set("search",i(41197)),l.D.prototype.controls.find={tooltip:"Find",icon:"search",exec(t,e,{control:s}){switch(s.args&&s.args[0]){case"findPrevious":t.e.fire("searchPrevious");break;case"findNext":t.e.fire("searchNext");break;case"replace":t.execCommand("openReplaceDialog");break;default:t.execCommand("openSearchDialog")}},list:{search:"Find",findNext:"Find Next",findPrevious:"Find Previous",replace:"Replace"},childTemplate(t,e,s){return s}};class Ue extends it.S{constructor(){super(...arguments),this.buttons=[{name:"find",group:"search"}],this.previousQuery="",this.drawPromise=null,this.walker=null,this.walkerCount=null,this.cache={},this.wrapFrameRequest=0}get ui(){return new Be(this.j)}async updateCounters(){this.ui.isOpened&&(this.ui.count=await this.calcCounts(this.ui.query))}onPressReplaceButton(){this.findAndReplace(this.ui.query),this.updateCounters()}tryScrollToElement(t){let e=ot.i.closest(t,ot.i.isElement,this.j.editor);e||(e=ot.i.prev(t,ot.i.isElement,this.j.editor)),e&&e!==this.j.editor&&(0,d.scrollIntoViewIfNeeded)(e,this.j.editor,this.j.ed)}async calcCounts(t){return(await this.findQueryBounds(t,"walkerCount")).length}async findQueryBounds(t,e){let s=this[e];return s&&s.break(),s=new ot.b(this.j.async,{timeout:this.j.o.search.lazyIdleTimeout}),this[e]=s,this.find(s,t).catch((t=>[]))}async findAndReplace(t){const e=await this.findQueryBounds(t,"walker");if(!e.length)return!1;let s=this.findCurrentIndexInRanges(e,this.j.s.range);-1===s&&(s=0);const i=e[s];if(i){try{const e=this.j.ed.createRange();e.setStart(i.startContainer,i.startOffset),e.setEnd(i.endContainer,i.endOffset),e.deleteContents();const o=this.j.createInside.text(this.ui.replace);ot.i.safeInsertNode(e,o),Ye(this.j.editor),this.j.s.setCursorAfter(o),this.tryScrollToElement(o),this.cache={},this.ui.currentIndex=s,await this.findAndSelect(t,!0).catch((t=>null))}finally{this.j.synchronizeValues()}return this.j.e.fire("afterFindAndReplace"),!0}return!1}async findAndSelect(t,e){var s;const i=await this.findQueryBounds(t,"walker");if(!i.length)return!1;this.previousQuery===t&&$e(this.j.editor).length||(null===(s=this.drawPromise)||void 0===s||s.rejectCallback(),this.j.async.cancelAnimationFrame(this.wrapFrameRequest),Ye(this.j.editor),this.drawPromise=this.drawSelectionRanges(i)),this.previousQuery=t;let o=this.ui.currentIndex-1;o=-1===o?0:e?o===i.length-1?0:o+1:0===o?i.length-1:o-1,this.ui.currentIndex=o+1;const r=i[o];if(r){const t=this.j.ed.createRange();try{t.setStart(r.startContainer,r.startOffset),t.setEnd(r.endContainer,r.endOffset),this.j.s.selectRange(t)}catch(t){}return this.tryScrollToElement(r.startContainer),await this.updateCounters(),await this.drawPromise,this.j.e.fire("afterFindAndSelect"),!0}return!1}findCurrentIndexInRanges(t,e){return t.findIndex((t=>t.startContainer===e.startContainer&&t.startOffset===e.startOffset&&t.endContainer===e.startContainer&&t.endOffset===e.endOffset))}async isValidCache(t){return(await t).every((t=>{var e,s,i,o;return t.startContainer.isConnected&&t.startOffset<=(null!==(s=null===(e=t.startContainer.nodeValue)||void 0===e?void 0:e.length)&&void 0!==s?s:0)&&t.endContainer.isConnected&&t.endOffset<=(null!==(o=null===(i=t.endContainer.nodeValue)||void 0===i?void 0:i.length)&&void 0!==o?o:0)}))}async find(t,e){if(!e.length)return[];const s=this.cache[e];return s&&await this.isValidCache(s)?s:(this.cache[e]=this.j.async.promise((s=>{const i=new Fe(this.j.o.search.fuzzySearch);t.on("break",(()=>{s([])})).on("visit",(t=>(ot.i.isText(t)&&i.add(t),!1))).on("end",(()=>{var t;s(null!==(t=i.ranges(e))&&void 0!==t?t:[])})).setWork(this.j.editor)})),this.cache[e])}drawSelectionRanges(t){const{async:e,createInside:s,editor:i}=this.j;e.cancelAnimationFrame(this.wrapFrameRequest);const o=[...t];let r,n=0;return e.promise((t=>{const a=()=>{do{r=o.shift(),r&&Ve(r,o,s,i),n+=1}while(r&&5>=n);o.length?this.wrapFrameRequest=e.requestAnimationFrame(a):t()};a()}))}onAfterGetValueFromEditor(t){t.value=t.value.replace(RegExp(`]+${We}[^>]+>(.*?)`,"g"),"$1")}afterInit(t){if(t.o.useSearch){const e=this;t.e.on("beforeSetMode.search",(()=>{this.ui.close()})).on(this.ui,"afterClose",(()=>{Ye(t.editor),this.ui.currentIndex=0,this.ui.count=0,this.cache={}})).on("click",(()=>{this.ui.currentIndex=0,Ye(t.editor)})).on("change.search",(()=>{this.cache={}})).on("keydown.search mousedown.search",t.async.debounce((()=>{this.ui.selInfo&&(t.s.removeMarkers(),this.ui.selInfo=null),this.ui.isOpened&&this.updateCounters()}),t.defaultTimeout)).on("searchNext.search searchPrevious.search",(()=>(this.ui.isOpened||this.ui.open(),e.findAndSelect(e.ui.query,"searchNext"===t.e.current).catch((t=>{}))))).on("search.search",((t,s=!0)=>(this.ui.currentIndex=0,e.findAndSelect(t||"",s).catch((t=>{}))))),t.registerCommand("search",{exec(t,s,i=!0){return s&&e.findAndSelect(s,i).catch((t=>{})),!1}}).registerCommand("openSearchDialog",{exec(t,s){return e.ui.open(s),!1},hotkeys:["ctrl+f","cmd+f"]}).registerCommand("openReplaceDialog",{exec(s,i,o){return t.o.readonly||e.ui.open(i,o,!0),!1},hotkeys:["ctrl+h","cmd+h"]})}}beforeDestruct(t){this.ui.destruct(),t.e.off(".search")}}(0,a.gn)([f.cache],Ue.prototype,"ui",null),(0,a.gn)([(0,f.watch)("ui:needUpdateCounters")],Ue.prototype,"updateCounters",null),(0,a.gn)([(0,f.watch)("ui:pressReplaceButton")],Ue.prototype,"onPressReplaceButton",null),(0,a.gn)([f.autobind],Ue.prototype,"findQueryBounds",null),(0,a.gn)([f.autobind],Ue.prototype,"findAndReplace",null),(0,a.gn)([f.autobind],Ue.prototype,"findAndSelect",null),(0,a.gn)([f.autobind],Ue.prototype,"find",null),(0,a.gn)([(0,f.watch)(":afterGetValueFromEditor")],Ue.prototype,"onAfterGetValueFromEditor",null),p.pw.add("search",Ue);var Ge=i(79417);l.D.prototype.select={normalizeSelectionBeforeCutAndCopy:!1};class Xe extends it.S{constructor(){super(...arguments),this.proxyEventsList=["click","mousedown","touchstart","mouseup","touchend"]}afterInit(t){this.proxyEventsList.forEach((e=>{t.e.on(e+".select",this.onStartSelection)}))}beforeDestruct(t){this.proxyEventsList.forEach((e=>{t.e.on(e+".select",this.onStartSelection)}))}onStartSelection(t){const{j:e}=this;let s,i=t.target;for(;void 0===s&&i&&i!==e.editor;)s=e.e.fire((0,Ge.e)(t.type+"_"+i.nodeName.toLowerCase()),i,t),i=i.parentElement;"click"===t.type&&void 0===s&&i===e.editor&&e.e.fire(t.type+"Editor",i,t)}onOutsideClick(t){const e=t.target;nt.i.up(e,(t=>t===this.j.editor))||tt.u1.closestElement(e,tt.GI)||this.j.e.fire("outsideClick",t)}beforeCommandCut(t){const{s:e}=this.j;if("cut"===t&&!e.isCollapsed()){const t=e.current();t&&nt.i.isOrContains(this.j.editor,t)&&this.onCopyNormalizeSelectionBound()}}onCopyNormalizeSelectionBound(t){const{s:e,editor:s,o:i}=this.j;i.select.normalizeSelectionBeforeCutAndCopy&&!e.isCollapsed()&&(!t||t.isTrusted&&nt.i.isNode(t.target)&&nt.i.isOrContains(s,t.target))&&this.jodit.s.expandSelection()}}(0,a.gn)([f.autobind],Xe.prototype,"onStartSelection",null),(0,a.gn)([(0,f.watch)("ow:click")],Xe.prototype,"onOutsideClick",null),(0,a.gn)([(0,f.watch)([":beforeCommand"])],Xe.prototype,"beforeCommandCut",null),(0,a.gn)([(0,f.watch)([":copy",":cut"])],Xe.prototype,"onCopyNormalizeSelectionBound",null),p.pw.add("select",Xe),l.D.prototype.tableAllowCellSelection=!0;const Ke="table_processor_observer",Je="onMoveTableSelectCell";class Ze extends it.S{constructor(){super(...arguments),this.requires=["select"],this.selectedCell=null,this.isSelectionMode=!1}get module(){return this.j.getInstance("Table",this.j.o)}afterInit(t){t.o.tableAllowCellSelection&&t.e.on("keydown.select-cells",(t=>{t.key===c.KEY_TAB&&this.unselectCells()})).on("beforeCommand.select-cells",this.onExecCommand).on("afterCommand.select-cells",this.onAfterCommand).on(["clickEditor","mousedownTd","mousedownTh","touchstartTd","touchstartTh"].map((t=>t+".select-cells")).join(" "),this.onStartSelection).on("clickTr clickTbody",(()=>{var t;const e=this.module.getAllSelectedCells().length;if(e)return e>1&&(null===(t=this.j.s.sel)||void 0===t||t.removeAllRanges()),!1}))}onStartSelection(t){if(this.j.o.readonly)return;if(this.unselectCells(),t===this.j.editor)return;const e=nt.i.closest(t,"table",this.j.editor);return t&&e?(t.firstChild||t.appendChild(this.j.createInside.element("br")),this.isSelectionMode=!0,this.selectedCell=t,this.module.addSelection(t),this.j.e.on(e,"mousemove.select-cells touchmove.select-cells",this.j.async.throttle(this.onMove.bind(this,e),{label:Je,timeout:this.j.defaultTimeout/2})).on(e,"mouseup.select-cells touchend.select-cells",this.onStopSelection.bind(this,e)),!1):void 0}onOutsideClick(){this.selectedCell=null,this.onRemoveSelection()}onChange(){this.j.isLocked||this.isSelectionMode||this.onRemoveSelection()}onMove(t,e){var s;if(this.j.o.readonly&&!this.j.isLocked)return;if(this.j.isLockedNotBy(Ke))return;const i=this.j.ed.elementFromPoint(e.clientX,e.clientY);if(!i)return;const o=nt.i.closest(i,["td","th"],t);if(!o||!this.selectedCell)return;o!==this.selectedCell&&this.j.lock(Ke),this.unselectCells();const r=h.Table.getSelectedBound(t,[o,this.selectedCell]),n=h.Table.formalMatrix(t);for(let t=r[0][0];r[1][0]>=t;t+=1)for(let e=r[0][1];r[1][1]>=e;e+=1)this.module.addSelection(n[t][e]);this.module.getAllSelectedCells().length>1&&(null===(s=this.j.s.sel)||void 0===s||s.removeAllRanges()),this.j.e.fire("hidePopup"),e.stopPropagation(),(()=>{const t=this.j.createInside.fromHTML('
 
');o.appendChild(t),this.j.async.setTimeout((()=>{var e;null===(e=t.parentNode)||void 0===e||e.removeChild(t)}),this.j.defaultTimeout/5)})()}onRemoveSelection(t){var e;if(!(null===(e=null==t?void 0:t.buffer)||void 0===e?void 0:e.actionTrigger)&&!this.selectedCell&&this.module.getAllSelectedCells().length)return this.j.unlock(),this.unselectCells(),void this.j.e.fire("hidePopup","cells");this.isSelectionMode=!1,this.selectedCell=null}onStopSelection(t,e){if(!this.selectedCell)return;this.isSelectionMode=!1,this.j.unlock();const s=this.j.ed.elementFromPoint(e.clientX,e.clientY);if(!s)return;const i=nt.i.closest(s,["td","th"],t);if(!i)return;const o=nt.i.closest(i,"table",t);if(o&&o!==t)return;const r=h.Table.getSelectedBound(t,[i,this.selectedCell]),n=h.Table.formalMatrix(t),a=n[r[1][0]][r[1][1]],l=n[r[0][0]][r[0][1]];this.j.e.fire("showPopup",t,(()=>{const t=(0,d.position)(l,this.j),e=(0,d.position)(a,this.j);return{left:t.left,top:t.top,width:e.left-t.left+e.width,height:e.top-t.top+e.height}}),"cells"),(0,d.$$)("table",this.j.editor).forEach((t=>{this.j.e.off(t,"mousemove.select-cells touchmove.select-cells mouseup.select-cells touchend.select-cells")})),this.j.async.clearTimeout(Je)}unselectCells(t){const e=this.module,s=e.getAllSelectedCells();s.length&&s.forEach((s=>{t&&t===s||e.removeSelection(s)}))}onExecCommand(t){if(/table(splitv|splitg|merge|empty|bin|binrow|bincolumn|addcolumn|addrow)/.test(t)){t=t.replace("table","");const e=this.module.getAllSelectedCells();if(e.length){const[s]=e;if(!s)return;const i=nt.i.closest(s,"table",this.j.editor);if(!i)return;switch(t){case"splitv":h.Table.splitVertical(i,this.j);break;case"splitg":h.Table.splitHorizontal(i,this.j);break;case"merge":h.Table.mergeSelected(i,this.j);break;case"empty":e.forEach((t=>nt.i.detach(t)));break;case"bin":nt.i.safeRemove(i);break;case"binrow":new Set(e.map((t=>t.parentNode))).forEach((t=>{h.Table.removeRow(i,t.rowIndex)}));break;case"bincolumn":{const t=new Set;e.reduce(((e,s)=>(t.has(s.cellIndex)||(e.push(s),t.add(s.cellIndex)),e)),[]).forEach((t=>{h.Table.removeColumn(i,t.cellIndex)}))}break;case"addcolumnafter":case"addcolumnbefore":h.Table.appendColumn(i,s.cellIndex,"addcolumnafter"===t,this.j.createInside);break;case"addrowafter":case"addrowbefore":h.Table.appendRow(i,s.parentNode,"addrowafter"===t,this.j.createInside)}}return!1}}onAfterCommand(t){/^justify/.test(t)&&this.module.getAllSelectedCells().forEach((e=>(0,d.alignElement)(t,e)))}beforeDestruct(t){this.onRemoveSelection(),t.e.off(".select-cells")}}(0,a.gn)([f.autobind],Ze.prototype,"onStartSelection",null),(0,a.gn)([(0,f.watch)(":outsideClick")],Ze.prototype,"onOutsideClick",null),(0,a.gn)([(0,f.watch)(":change")],Ze.prototype,"onChange",null),(0,a.gn)([f.autobind],Ze.prototype,"onRemoveSelection",null),(0,a.gn)([f.autobind],Ze.prototype,"onStopSelection",null),(0,a.gn)([f.autobind],Ze.prototype,"onExecCommand",null),(0,a.gn)([f.autobind],Ze.prototype,"onAfterCommand",null),p.pw.add("selectCells",Ze),l.D.prototype.minWidth=200,l.D.prototype.maxWidth="100%",l.D.prototype.minHeight=200,l.D.prototype.maxHeight="auto",l.D.prototype.saveHeightInStorage=!1;let Qe=class t extends gt.S{constructor(){super(...arguments),this.resizeWorkspaces=this.j.async.debounce(this.resizeWorkspaceImd,this.j.defaultTimeout,!0)}afterInit(t){t.e.on("setHeight.size",this.setHeight).on("setWidth.size",this.setWidth).on("afterInit.size changePlace.size",this.initialize,{top:!0}).on(t.ow,"load.size",this.resizeWorkspaces).on("afterInit.size resize.size afterUpdateToolbar.size scroll.size afterResize.size",this.resizeWorkspaces).on("toggleFullSize.size toggleToolbar.size",this.resizeWorkspaceImd),this.initialize()}initialize(){const{j:t}=this;if(t.o.inline)return;let{height:e}=t.o;if(t.o.saveHeightInStorage&&"auto"!==e){const s=t.storage.get("height");s&&(e=s)}(0,d.css)(t.editor,{minHeight:"100%"}),(0,d.css)(t.container,{minHeight:t.o.minHeight,maxHeight:t.o.maxHeight,minWidth:t.o.minWidth,maxWidth:t.o.maxWidth}),this.setHeight(e),this.setWidth(t.o.width)}setHeight(t){if((0,d.isNumber)(t)){const{minHeight:e,maxHeight:s}=this.j.o;(0,d.isNumber)(e)&&e>t&&(t=e),(0,d.isNumber)(s)&&t>s&&(t=s)}(0,d.css)(this.j.container,"height",t),this.j.o.saveHeightInStorage&&this.j.storage.set("height",t),this.resizeWorkspaceImd()}setWidth(t){if((0,d.isNumber)(t)){const{minWidth:e,maxWidth:s}=this.j.o;(0,d.isNumber)(e)&&e>t&&(t=e),(0,d.isNumber)(s)&&t>s&&(t=s)}(0,d.css)(this.j.container,"width",t),this.resizeWorkspaceImd()}getNotWorkHeight(){var t,e;return((null===(t=this.j.toolbarContainer)||void 0===t?void 0:t.offsetHeight)||0)+((null===(e=this.j.statusbar)||void 0===e?void 0:e.getHeight())||0)+2}resizeWorkspaceImd(){if(!this.j||this.j.isDestructed||!this.j.o||this.j.o.inline)return;if(!this.j.container||!this.j.container.parentNode)return;const t=((0,d.css)(this.j.container,"minHeight")||0)-this.getNotWorkHeight();if((0,d.isNumber)(t)&&t>0&&([this.j.workplace,this.j.iframe,this.j.editor].map((e=>{e&&(0,d.css)(e,"minHeight",t)})),this.j.e.fire("setMinHeight",t)),(0,d.isNumber)(this.j.o.maxHeight)){const t=this.j.o.maxHeight-this.getNotWorkHeight();[this.j.workplace,this.j.iframe,this.j.editor].map((e=>{e&&(0,d.css)(e,"maxHeight",t)})),this.j.e.fire("setMaxHeight",t)}this.j.container&&(0,d.css)(this.j.workplace,"height","auto"!==this.j.o.height||this.j.isFullSize?this.j.container.offsetHeight-this.getNotWorkHeight():"auto")}beforeDestruct(t){t.e.off(t.ow,"load.size",this.resizeWorkspaces).off(".size")}};(0,a.gn)([f.autobind],Qe.prototype,"resizeWorkspaceImd",null),Qe=(0,a.gn)([f.autobind],Qe),p.pw.add("size",Qe);class ts{constructor(t,e,s,i){this.jodit=t,this.container=e,this.toWYSIWYG=s,this.fromWYSIWYG=i,this.className="",this.isReady=!1}get j(){return this.jodit}onReady(){this.replaceUndoManager(),this.isReady=!0,this.j.e.fire(this,"ready")}onReadyAlways(t){var e;this.isReady?t():null===(e=this.j.events)||void 0===e||e.on(this,"ready",t)}}class es extends ts{constructor(){super(...arguments),this.autosize=this.j.async.debounce((()=>{this.instance.style.height="auto",this.instance.style.height=this.instance.scrollHeight+"px"}),this.j.defaultTimeout)}init(t){this.instance=t.c.element("textarea",{class:"jodit-source__mirror"}),this.container.appendChild(this.instance),t.e.on(this.instance,"mousedown keydown touchstart input",t.async.debounce(this.toWYSIWYG,t.defaultTimeout)).on("setMinHeight.source",(t=>{(0,Dt.i)(this.instance,"minHeight",t)})).on(this.instance,"change keydown mousedown touchstart input",this.autosize).on("afterSetMode.source",this.autosize).on(this.instance,"mousedown focus",(e=>{t.e.fire(e.type,e)})),this.autosize(),this.onReady()}destruct(){nt.i.safeRemove(this.instance)}getValue(){return this.instance.value}setValue(t){this.instance.value=t}insertRaw(t){const e=this.getValue();if(0>this.getSelectionStart())this.setValue(e+t);else{const s=this.getSelectionStart(),i=this.getSelectionEnd();this.setValue(e.substring(0,s)+t+e.substring(i,e.length))}}getSelectionStart(){return this.instance.selectionStart}getSelectionEnd(){return this.instance.selectionEnd}setSelectionRange(t,e=t){this.instance.setSelectionRange(t,e)}get isFocused(){return this.instance===this.j.od.activeElement}focus(){this.instance.focus()}blur(){this.instance.blur()}setPlaceHolder(t){this.instance.setAttribute("placeholder",t)}setReadOnly(t){t?this.instance.setAttribute("readonly","true"):this.instance.removeAttribute("readonly")}selectAll(){this.instance.select()}replaceUndoManager(){const{history:t}=this.jodit;this.j.e.on(this.instance,"keydown",(e=>{if((e.ctrlKey||e.metaKey)&&"z"===e.key)return e.shiftKey?t.redo():t.undo(),this.setSelectionRange(this.getValue().length),!1}))}}class ss extends ts{constructor(){super(...arguments),this.className="jodit_ace_editor",this.proxyOnBlur=t=>{this.j.e.fire("blur",t)},this.proxyOnFocus=t=>{this.j.e.fire("focus",t)},this.proxyOnMouseDown=t=>{this.j.e.fire("mousedown",t)}}aceExists(){return void 0!==this.j.ow.ace}getLastColumnIndex(t){return this.instance.session.getLine(t).length}getLastColumnIndices(){const t=this.instance.session.getLength(),e=[];let s=0;for(let i=0;t>i;i++)s+=this.getLastColumnIndex(i),i>0&&(s+=1),e[i]=s;return e}getRowColumnIndices(t){const e=this.getLastColumnIndices();if(e[0]>=t)return{row:0,column:t};let s=1;for(let i=1;e.length>i;i++)t>e[i]&&(s=i+1);return{row:s,column:t-e[s-1]-1}}setSelectionRangeIndices(t,e){const s=this.getRowColumnIndices(t),i=this.getRowColumnIndices(e);this.instance.getSelection().setSelectionRange({start:s,end:i})}getIndexByRowColumn(t,e){return this.getLastColumnIndices()[t]-this.getLastColumnIndex(t)+e}init(t){const e=()=>{if(void 0!==this.instance||!this.aceExists())return;const e=this.j.c.div("jodit-source__mirror-fake");this.container.appendChild(e),this.instance=t.ow.ace.edit(e),this.instance.setTheme(t.o.sourceEditorNativeOptions.theme),this.instance.renderer.setShowGutter(t.o.sourceEditorNativeOptions.showGutter),this.instance.getSession().setMode(t.o.sourceEditorNativeOptions.mode),this.instance.setHighlightActiveLine(t.o.sourceEditorNativeOptions.highlightActiveLine),this.instance.getSession().setUseWrapMode(!0),this.instance.setOption("indentedSoftWrap",!1),this.instance.setOption("wrap",t.o.sourceEditorNativeOptions.wrap),this.instance.getSession().setUseWorker(!1),this.instance.$blockScrolling=1/0,this.instance.on("change",this.toWYSIWYG),this.instance.on("focus",this.proxyOnFocus),this.instance.on("mousedown",this.proxyOnMouseDown),this.instance.on("blur",this.proxyOnBlur),t.getRealMode()!==c.MODE_WYSIWYG&&this.setValue(this.getValue());const s=this.j.async.debounce((()=>{t.isInDestruct||(this.instance.setOption("maxLines","auto"!==t.o.height?t.workplace.offsetHeight/this.instance.renderer.lineHeight:1/0),this.instance.resize())}),2*this.j.defaultTimeout);t.e.on("afterResize afterSetMode",s),s(),this.onReady()};t.e.on("afterSetMode",(()=>{t.getRealMode()!==c.MODE_SOURCE&&t.getMode()!==c.MODE_SPLIT||(this.fromWYSIWYG(),e())})),e(),this.aceExists()||(0,d.loadNext)(t,t.o.sourceEditorCDNUrlsJS).then((()=>{t.isInDestruct||e()})).catch((()=>null))}destruct(){var t,e;this.instance.off("change",this.toWYSIWYG),this.instance.off("focus",this.proxyOnFocus),this.instance.off("mousedown",this.proxyOnMouseDown),this.instance.destroy(),null===(e=null===(t=this.j)||void 0===t?void 0:t.events)||void 0===e||e.off("aceInited.source")}setValue(t){if(!this.j.o.editHTMLDocumentMode&&this.j.o.beautifyHTML){const e=this.j.e.fire("beautifyHTML",t);(0,d.isString)(e)&&(t=e)}this.instance.setValue(t),this.instance.clearSelection()}getValue(){return this.instance.getValue()}setReadOnly(t){this.instance.setReadOnly(t)}get isFocused(){return this.instance.isFocused()}focus(){this.instance.focus()}blur(){this.instance.blur()}getSelectionStart(){const t=this.instance.selection.getRange();return this.getIndexByRowColumn(t.start.row,t.start.column)}getSelectionEnd(){const t=this.instance.selection.getRange();return this.getIndexByRowColumn(t.end.row,t.end.column)}selectAll(){this.instance.selection.selectAll()}insertRaw(t){const e=this.instance.selection.getCursor(),s=this.instance.session.insert(e,t);this.instance.selection.setRange({start:e,end:s},!1)}setSelectionRange(t,e){this.setSelectionRangeIndices(t,e)}setPlaceHolder(t){}replaceUndoManager(){const{history:t}=this.jodit;this.instance.commands.addCommand({name:"Undo",bindKey:{win:"Ctrl-Z",mac:"Command-Z"},exec(){t.undo()}}),this.instance.commands.addCommand({name:"Redo",bindKey:{win:"Ctrl-Shift-Z",mac:"Command-Shift-Z"},exec(){t.redo()}})}}function is(t,e,s,i,o){let r;if((0,d.isFunction)(t))r=t(e);else switch(t){case"ace":if(!e.o.shadowRoot){r=new ss(e,s,i,o);break}default:r=new es(e,s,i,o)}return r.init(e),r.onReadyAlways((()=>{r.setReadOnly(e.o.readonly)})),r}l.D.prototype.beautifyHTML=!c.IS_IE,l.D.prototype.sourceEditor="ace",l.D.prototype.sourceEditorNativeOptions={showGutter:!0,theme:"ace/theme/idle_fingers",mode:"ace/mode/html",wrap:!0,highlightActiveLine:!0},l.D.prototype.sourceEditorCDNUrlsJS=["https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.2/ace.js"],l.D.prototype.beautifyHTMLCDNUrlsJS=["https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.14.4/beautify.min.js","https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.14.4/beautify-html.min.js"],Q.J.set("source",i(9342)),l.D.prototype.controls.source={mode:c.MODE_SPLIT,exec(t){t.toggleMode()},isActive(t){return t.getRealMode()===c.MODE_SOURCE},tooltip:"Change mode"};class os extends it.S{constructor(){super(...arguments),this.buttons=[{name:"source",group:"source"}],this.__lock=!1,this.__oldMirrorValue="",this.tempMarkerStart="{start-jodit-selection}",this.tempMarkerStartReg=/{start-jodit-selection}/g,this.tempMarkerEnd="{end-jodit-selection}",this.tempMarkerEndReg=/{end-jodit-selection}/g,this.getSelectionStart=()=>{var t,e;return null!==(e=null===(t=this.sourceEditor)||void 0===t?void 0:t.getSelectionStart())&&void 0!==e?e:0},this.getSelectionEnd=()=>{var t,e;return null!==(e=null===(t=this.sourceEditor)||void 0===t?void 0:t.getSelectionEnd())&&void 0!==e?e:0}}onInsertHTML(t){var e;if(!this.j.o.readonly&&!this.j.isEditorMode())return null===(e=this.sourceEditor)||void 0===e||e.insertRaw(t),this.toWYSIWYG(),!1}fromWYSIWYG(t=!1){if(!this.__lock||!0===t){this.__lock=!0;const t=this.j.getEditorValue(!1,c.SOURCE_CONSUMER);t!==this.getMirrorValue()&&this.setMirrorValue(t),this.__lock=!1}}toWYSIWYG(){if(this.__lock)return;const t=this.getMirrorValue();t!==this.__oldMirrorValue&&(this.__lock=!0,this.j.value=t,this.__lock=!1,this.__oldMirrorValue=t)}getNormalPosition(t,e){for(e=e.replace(/<(script|style|iframe)[^>]*>[^]*?<\/\1>/im,(t=>{let e="";for(let s=0;t.length>s;s+=1)e+=c.INVISIBLE_SPACE;return e}));t>0&&e[t]===c.INVISIBLE_SPACE;)t--;let s=t;for(;s>0;){if(s--,"<"===e[s]&&void 0!==e[s+1]&&e[s+1].match(/[\w/]+/i))return s;if(">"===e[s])return t}return t}clnInv(t){return t.replace(c.INVISIBLE_SPACE_REG_EXP(),"")}onSelectAll(t){var e;if("selectall"===t.toLowerCase()&&this.j.getRealMode()===c.MODE_SOURCE)return null===(e=this.sourceEditor)||void 0===e||e.selectAll(),!1}getMirrorValue(){var t;return(null===(t=this.sourceEditor)||void 0===t?void 0:t.getValue())||""}setMirrorValue(t){var e;null===(e=this.sourceEditor)||void 0===e||e.setValue(t)}setFocusToMirror(){var t;null===(t=this.sourceEditor)||void 0===t||t.focus()}saveSelection(){if(this.j.getRealMode()===c.MODE_WYSIWYG)this.j.s.save(),this.j.synchronizeValues(),this.fromWYSIWYG(!0);else{if(this.j.o.editHTMLDocumentMode)return;const t=this.getMirrorValue();if(this.getSelectionStart()===this.getSelectionEnd()){const e=this.j.s.marker(!0),s=this.getNormalPosition(this.getSelectionStart(),this.getMirrorValue());this.setMirrorValue(t.substring(0,s)+this.clnInv(e.outerHTML)+t.substring(s))}else{const e=this.j.s.marker(!0),s=this.j.s.marker(!1),i=this.getNormalPosition(this.getSelectionStart(),t),o=this.getNormalPosition(this.getSelectionEnd(),t);this.setMirrorValue(t.substring(0,i)+this.clnInv(e.outerHTML)+t.substring(i,o-i)+this.clnInv(s.outerHTML)+t.substring(o))}this.toWYSIWYG()}}removeSelection(){if(this.j.getRealMode()===c.MODE_WYSIWYG)return this.__lock=!0,this.j.s.restore(),void(this.__lock=!1);let t=this.getMirrorValue(),e=0,s=0;try{if(t=t.replace(/]+data-jodit-selection_marker=(["'])start\1[^>]*>[<>]*?<\/span>/gim,this.tempMarkerStart).replace(/]+data-jodit-selection_marker=(["'])end\1[^>]*>[<>]*?<\/span>/gim,this.tempMarkerEnd),!this.j.o.editHTMLDocumentMode&&this.j.o.beautifyHTML){const e=this.j.e.fire("beautifyHTML",t);(0,d.isString)(e)&&(t=e)}if(e=t.indexOf(this.tempMarkerStart),s=e,t=t.replace(this.tempMarkerStartReg,""),-1!==e){const e=t.indexOf(this.tempMarkerEnd);-1!==e&&(s=e)}t=t.replace(this.tempMarkerEndReg,"")}finally{t=t.replace(this.tempMarkerEndReg,"").replace(this.tempMarkerStartReg,"")}this.setMirrorValue(t),this.setMirrorSelectionRange(e,s),this.toWYSIWYG(),this.setFocusToMirror()}setMirrorSelectionRange(t,e){var s;null===(s=this.sourceEditor)||void 0===s||s.setSelectionRange(t,e)}onReadonlyReact(){var t;null===(t=this.sourceEditor)||void 0===t||t.setReadOnly(this.j.o.readonly)}afterInit(t){if(this.mirrorContainer=t.c.div("jodit-source"),t.workplace.appendChild(this.mirrorContainer),t.e.on("afterAddPlace changePlace afterInit",(()=>{t.workplace.appendChild(this.mirrorContainer)})),this.sourceEditor=is("area",t,this.mirrorContainer,this.toWYSIWYG,this.fromWYSIWYG),t.e.on(t.ow,"keydown",(t=>{var e;t.key===c.KEY_ESC&&(null===(e=this.sourceEditor)||void 0===e?void 0:e.isFocused)&&this.sourceEditor.blur()})),this.onReadonlyReact(),t.e.on("placeholder.source",(t=>{var e;null===(e=this.sourceEditor)||void 0===e||e.setPlaceHolder(t)})).on("change.source",this.syncValueFromWYSIWYG).on("beautifyHTML",(t=>t)),t.o.beautifyHTML){const e=()=>{var e;const s=t.ow.html_beautify;return!(!s||t.isInDestruct||(null===(e=t.events)||void 0===e||e.off("beautifyHTML").on("beautifyHTML",(t=>s(t))),0))};e()||(0,d.loadNext)(t,t.o.beautifyHTMLCDNUrlsJS).then(e)}this.syncValueFromWYSIWYG(!0),this.initSourceEditor(t)}syncValueFromWYSIWYG(t=!1){const e=this.j;e.getMode()!==c.MODE_SPLIT&&e.getMode()!==c.MODE_SOURCE||this.fromWYSIWYG(t)}initSourceEditor(t){var e;if("area"!==t.o.sourceEditor){const e=is(t.o.sourceEditor,t,this.mirrorContainer,this.toWYSIWYG,this.fromWYSIWYG);e.onReadyAlways((()=>{var s,i;null===(s=this.sourceEditor)||void 0===s||s.destruct(),this.sourceEditor=e,this.syncValueFromWYSIWYG(!0),null===(i=t.events)||void 0===i||i.fire("sourceEditorReady",t)}))}else null===(e=this.sourceEditor)||void 0===e||e.onReadyAlways((()=>{var e;this.syncValueFromWYSIWYG(!0),null===(e=t.events)||void 0===e||e.fire("sourceEditorReady",t)}))}beforeDestruct(){this.sourceEditor&&(this.sourceEditor.destruct(),delete this.sourceEditor),nt.i.safeRemove(this.mirrorContainer)}}(0,a.gn)([(0,f.watch)(":insertHTML.source")],os.prototype,"onInsertHTML",null),(0,a.gn)([f.autobind],os.prototype,"fromWYSIWYG",null),(0,a.gn)([f.autobind],os.prototype,"toWYSIWYG",null),(0,a.gn)([f.autobind],os.prototype,"getNormalPosition",null),(0,a.gn)([(0,f.watch)(":beforeCommand.source")],os.prototype,"onSelectAll",null),(0,a.gn)([(0,f.watch)(":beforeSetMode.source")],os.prototype,"saveSelection",null),(0,a.gn)([(0,f.watch)(":afterSetMode.source")],os.prototype,"removeSelection",null),(0,a.gn)([f.autobind],os.prototype,"setMirrorSelectionRange",null),(0,a.gn)([(0,f.watch)(":readonly.source")],os.prototype,"onReadonlyReact",null),(0,a.gn)([f.autobind],os.prototype,"syncValueFromWYSIWYG",null),p.pw.add("source",os),l.D.prototype.spellcheck=!1,Q.J.set("spellcheck",i(69546)),l.D.prototype.controls.spellcheck={isActive:t=>t.o.spellcheck,icon:i(69546),name:"spellcheck",command:"toggleSpellcheck",tooltip:"Spellcheck"};class rs extends it.S{constructor(t){super(t),this.buttons=[{group:"state",name:"spellcheck"}],(0,p.xl)(i(37942))}afterInit(t){t.e.on("afterInit afterAddPlace prepareWYSIWYGEditor",this.toggleSpellcheck),this.toggleSpellcheck(),t.registerCommand("toggleSpellcheck",(()=>{this.jodit.o.spellcheck=!this.jodit.o.spellcheck,this.toggleSpellcheck(),this.j.e.fire("updateToolbar")}))}toggleSpellcheck(){(0,at.Lj)(this.jodit.editor,"spellcheck",this.jodit.o.spellcheck)}beforeDestruct(t){}}(0,a.gn)([f.autobind],rs.prototype,"toggleSpellcheck",null),p.pw.add("spellcheck",rs),l.D.prototype.showCharsCounter=!0,l.D.prototype.countHTMLChars=!1,l.D.prototype.showWordsCounter=!0,p.pw.add("stat",class ns extends gt.S{constructor(){super(...arguments),this.charCounter=null,this.wordCounter=null,this.reInit=()=>{this.j.o.showCharsCounter&&this.charCounter&&this.j.statusbar.append(this.charCounter,!0),this.j.o.showWordsCounter&&this.wordCounter&&this.j.statusbar.append(this.wordCounter,!0),this.j.e.off("change keyup",this.calc).on("change keyup",this.calc),this.calc()},this.calc=this.j.async.throttle((()=>{const t=this.j.text;if(this.j.o.showCharsCounter&&this.charCounter){const e=this.j.o.countHTMLChars?this.j.value:t.replace((0,c.SPACE_REG_EXP)(),"");this.charCounter.textContent=this.j.i18n("Chars: %d",e.length)}this.j.o.showWordsCounter&&this.wordCounter&&(this.wordCounter.textContent=this.j.i18n("Words: %d",t.replace((0,c.INVISIBLE_SPACE_REG_EXP)(),"").split((0,c.SPACE_REG_EXP)()).filter((t=>t.length)).length))}),this.j.defaultTimeout)}afterInit(){this.charCounter=this.j.c.span(),this.wordCounter=this.j.c.span(),this.j.e.on("afterInit changePlace afterAddPlace",this.reInit),this.reInit()}beforeDestruct(){nt.i.safeRemove(this.charCounter),nt.i.safeRemove(this.wordCounter),this.j.e.off("afterInit changePlace afterAddPlace",this.reInit),this.charCounter=null,this.wordCounter=null}}),l.D.prototype.toolbarSticky=!0,l.D.prototype.toolbarDisableStickyForMobile=!0,l.D.prototype.toolbarStickyOffset=0;class as extends gt.S{constructor(){super(...arguments),this.isToolbarSticked=!1,this.createDummy=t=>{},this.addSticky=t=>{this.isToolbarSticked||(this.createDummy(t),this.j.container.classList.add("jodit_sticky"),this.isToolbarSticked=!0),(0,d.css)(t,{top:this.j.o.toolbarStickyOffset||null,width:this.j.container.offsetWidth-2})},this.removeSticky=t=>{this.isToolbarSticked&&((0,d.css)(t,{width:"",top:""}),this.j.container.classList.remove("jodit_sticky"),this.isToolbarSticked=!1)}}afterInit(t){t.e.on(t.ow,"scroll.sticky wheel.sticky mousewheel.sticky resize.sticky",this.onScroll).on("getStickyState.sticky",(()=>this.isToolbarSticked))}onScroll(){const{jodit:t}=this,e=t.ow.pageYOffset||t.od.documentElement&&t.od.documentElement.scrollTop||0,s=(0,d.offset)(t.container,t,t.od,!0),i=t.getMode()===c.MODE_WYSIWYG&&e+t.o.toolbarStickyOffset>s.top&&s.top+s.height>e+t.o.toolbarStickyOffset&&!(t.o.toolbarDisableStickyForMobile&&this.isMobile());if(t.o.toolbarSticky&&!0===t.o.toolbar&&this.isToolbarSticked!==i){const e=t.toolbarContainer;e&&(i?this.addSticky(e):this.removeSticky(e)),t.e.fire("toggleSticky",i)}}isMobile(){return this.j&&this.j.options&&this.j.container&&this.j.o.sizeSM>=this.j.container.offsetWidth}beforeDestruct(t){this.dummyBox&&nt.i.safeRemove(this.dummyBox),t.e.off(t.ow,"scroll.sticky wheel.sticky mousewheel.sticky resize.sticky",this.onScroll).off(".sticky")}}(0,a.gn)([(0,f.throttle)()],as.prototype,"onScroll",null),p.pw.add("sticky",as),l.D.prototype.usePopupForSpecialCharacters=!1,l.D.prototype.specialCharacters=["!",""","#","$","%","&","'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","€","‘","’","“","”","–","—","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","»","¬","®","¯","°","²","³","´","µ","¶","·","¸","¹","º","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ","Œ","œ","Ŵ","Ŷ","ŵ","ŷ","‚","‛","„","…","™","►","•","→","⇒","⇔","♦","≈"],Q.J.set("symbols",i(43158)),l.D.prototype.controls.symbols={hotkeys:["ctrl+shift+i","cmd+shift+i"],tooltip:"Insert Special Character",popup(t,e,s,i){const o=t.e.fire("generateSpecialCharactersTable.symbols");if(o){if(t.o.usePopupForSpecialCharacters){const e=t.c.div();return e.classList.add("jodit-symbols"),e.appendChild(o),t.e.on(o,"close_dialog",i),e}{t.alert(o,"Select Special Character",void 0,"jodit-symbols").bindDestruct(t);const e=o.querySelector("a");e&&e.focus()}}}},p.pw.add("symbols",class ls extends gt.S{constructor(t){super(t),this.buttons=[{name:"symbols",group:"insert"}],this.countInRow=17,(0,p.xl)(i(52546))}afterInit(t){t.e.on("generateSpecialCharactersTable.symbols",(()=>{const e=t.c.fromHTML('
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
'),s=e.querySelector(".jodit-symbols__preview"),i=e.querySelector("table").tBodies[0],o=[];for(let e=0;t.o.specialCharacters.length>e;){const s=t.c.element("tr");for(let i=0;this.countInRow>i&&t.o.specialCharacters.length>e;i+=1,e+=1){const r=t.c.element("td"),n=t.c.fromHTML(`${t.o.specialCharacters[e]}`);o.push(n),r.appendChild(n),s.appendChild(r)}i.appendChild(s)}const r=this;return t.e.on(o,"focus",(function(){s.innerHTML=this.innerHTML})).on(o,"mousedown",(function(e){nt.i.isTag(this,"a")&&(t.s.focus(),t.s.insertHTML(this.innerHTML),t.e.fire(this,"close_dialog"),e&&e.preventDefault(),e&&e.stopImmediatePropagation())})).on(o,"mouseenter",(function(){nt.i.isTag(this,"a")&&this.focus()})).on(o,"keydown",(e=>{const s=e.target;if(nt.i.isTag(s,"a")){const i=parseInt((0,dt.attr)(s,"-index")||"0",10),n=parseInt((0,dt.attr)(s,"data-index-j")||"0",10);let a;switch(e.key){case c.KEY_UP:case c.KEY_DOWN:a=e.key===c.KEY_UP?i-r.countInRow:i+r.countInRow,void 0===o[a]&&(a=e.key===c.KEY_UP?Math.floor(o.length/r.countInRow)*r.countInRow+n:n,a>o.length-1&&(a-=r.countInRow)),o[a]&&o[a].focus();break;case c.KEY_RIGHT:case c.KEY_LEFT:a=e.key===c.KEY_LEFT?i-1:i+1,void 0===o[a]&&(a=e.key===c.KEY_LEFT?o.length-1:0),o[a]&&o[a].focus();break;case c.KEY_ENTER:t.e.fire(s,"mousedown"),e.stopImmediatePropagation(),e.preventDefault()}}})),e}))}beforeDestruct(t){t.e.off("generateSpecialCharactersTable.symbols")}}),l.D.prototype.tab={tabInsideLiInsertNewList:!0};class cs extends it.S{afterInit(t){}onTab(t){if(t.key===c.KEY_TAB&&(t=>{if(!t.o.tab.tabInsideLiInsertNewList||!t.s.isCollapsed())return!1;const e=t.createInside.fake();t.s.insertNode(e);const s=nt.i.closest(e,"li",t.editor);if(s&&t.s.cursorOnTheLeft(s)&&nt.i.isTag(s.previousElementSibling,"li")){const i=nt.i.closest(s,["ol","ul"],t.editor);if(i){const o=t.createInside.element(i.tagName),r=s.previousElementSibling;return o.appendChild(s),r.appendChild(o),t.s.setCursorAfter(e),nt.i.safeRemove(e),!0}}return nt.i.safeRemove(e),!1})(this.j))return!1}beforeDestruct(t){}}(0,a.gn)([(0,f.watch)(":keydown.tab")],cs.prototype,"onTab",null),p.pw.add("tab",cs),l.D.prototype.table={selectionCellStyle:"border: 1px double #1e88e5 !important;",useExtraClassesOptions:!1},Q.J.set("table",i(51716)),l.D.prototype.controls.table={data:{cols:10,rows:10,classList:{"table table-bordered":"Bootstrap Bordered","table table-striped":"Bootstrap Striped","table table-dark":"Bootstrap Dark"}},popup(t,e,s,i,o){const r=s.data&&s.data.rows?s.data.rows:10,n=s.data&&s.data.cols?s.data.cols:10,a=t.c.fromHTML('
'+(()=>{if(!t.o.table.useExtraClassesOptions)return"";const e=[];if(s.data){const t=s.data.classList;Object.keys(t).forEach((s=>{e.push(``)}))}return e.join("")})()+'
'),l=a.querySelectorAll("span")[0],c=a.querySelectorAll("span")[1],h=a.querySelector(".jodit-form__container"),u=a.querySelector(".jodit-form__options"),p=[],f=r*n;for(let e=0;f>e;e+=1)p[e]||p.push(t.c.element("span",{dataIndex:e}));if(t.e.on(h,"mousemove",((t,e)=>{const s=t.target;if(!ot.i.isTag(s,"span"))return;const i=void 0===e||isNaN(e)?parseInt((0,dt.attr)(s,"-index")||"0",10):e||0,o=Math.ceil((i+1)/n),r=i%n+1;for(let t=0;p.length>t;t+=1)p[t].className=t%n+1>r||Math.ceil((t+1)/n)>o?"":"jodit_hovered";c.textContent=""+r,l.textContent=""+o})).on(h,"touchstart mousedown",(e=>{const s=e.target;if(e.preventDefault(),e.stopImmediatePropagation(),!ot.i.isTag(s,"span"))return;const o=parseInt((0,dt.attr)(s,"-index")||"0",10),r=Math.ceil((o+1)/n),a=o%n+1,l=t.createInside,c=l.element("tbody"),h=l.element("table");h.appendChild(c);let p,f,m=null;for(let t=1;r>=t;t+=1){p=l.element("tr");for(let t=1;a>=t;t+=1)f=l.element("td"),m||(m=f),(0,d.css)(f,"width",(100/a).toFixed(4)+"%"),f.appendChild(l.element("br")),p.appendChild(l.text("\n")),p.appendChild(l.text("\t")),p.appendChild(f);c.appendChild(l.text("\n")),c.appendChild(p)}(0,d.$$)("input[type=checkbox]:checked",u).forEach((t=>{t.value.split(/[\s]+/).forEach((t=>{h.classList.add(t)}))})),t.editor.firstChild&&t.s.insertNode(l.text("\n"),!1,!1),t.s.insertNode(h,!1),m&&(t.s.setCursorIn(m),(0,d.scrollIntoViewIfNeeded)(m,t.editor,t.ed)),i()})),o&&o.parentElement){for(let e=0;r>e;e+=1){const s=t.c.div();for(let t=0;n>t;t+=1)s.appendChild(p[e*n+t]);h.appendChild(s)}p[0]&&(p[0].className="hovered")}return a},tooltip:"Insert table"},p.pw.add("table",(t=>{t.registerButton({name:"table",group:"insert"})}));var hs=i(70218);p.pw.add("tableKeyboardNavigation",(t=>{t.e.off(".tableKeyboardNavigation").on("keydown.tableKeyboardNavigation",(e=>{let s,i;if(e.key!==c.KEY_TAB&&e.key!==c.KEY_LEFT&&e.key!==c.KEY_RIGHT&&e.key!==c.KEY_UP&&e.key!==c.KEY_DOWN)return;{if(s=t.s.current(),i=nt.i.up(s,(t=>t&&t.nodeName&&/^td|th$/i.test(t.nodeName)),t.editor),!i)return;const o=t.s.range;if(e.key!==c.KEY_TAB&&s!==i&&((e.key===c.KEY_LEFT||e.key===c.KEY_UP)&&(nt.i.prev(s,(t=>e.key===c.KEY_UP?nt.i.isTag(t,"br"):!!t),i)||e.key!==c.KEY_UP&&nt.i.isText(s)&&0!==o.startOffset)||(e.key===c.KEY_RIGHT||e.key===c.KEY_DOWN)&&(nt.i.next(s,(t=>e.key===c.KEY_DOWN?nt.i.isTag(t,"br"):!!t),i)||e.key!==c.KEY_DOWN&&nt.i.isText(s)&&s.nodeValue&&o.startOffset!==s.nodeValue.length)))return}const o=nt.i.up(i,(t=>t&&/^table$/i.test(t.nodeName)),t.editor);let r=null;switch(e.key){case c.KEY_TAB:case c.KEY_LEFT:{const s=e.key===c.KEY_LEFT||e.shiftKey?"prev":"next";r=nt.i[s](i,(t=>t&&/^td|th$/i.test(t.tagName)),o),r||(hs.i.appendRow(o,"next"!==s&&o.querySelector("tr"),"next"===s,t.createInside),r=nt.i[s](i,nt.i.isCell,o));break}case c.KEY_UP:case c.KEY_DOWN:{let t=0,s=0;const n=hs.i.formalMatrix(o,((e,o,r)=>{e===i&&(t=o,s=r)}));e.key===c.KEY_UP?void 0!==n[t-1]&&(r=n[t-1][s]):void 0!==n[t+1]&&(r=n[t+1][s])}}if(r){if(r.firstChild)e.key===c.KEY_TAB?t.s.select(r,!0):t.s.setCursorIn(r,e.key===c.KEY_RIGHT||e.key===c.KEY_DOWN);else{const e=t.createInside.element("br");r.appendChild(e),t.s.setCursorBefore(e)}return!1}}))})),Q.J.set("video",i(49222)),l.D.prototype.controls.video={popup(t,e,s,i){const o=new me.x4(t,[new me.eC(t,[new me.u3(t,{name:"url",required:!0,label:"URL",placeholder:"https://",validators:["url"]})]),new me.eC(t,[(0,Qt.zx)(t,"","Insert","primary").onAction((()=>o.submit()))])]),r=new me.x4(t,[new me.eC(t,[new me.GJ(t,{name:"code",required:!0,label:"Embed code"})]),new me.eC(t,[(0,Qt.zx)(t,"","Insert","primary").onAction((()=>r.submit()))])]),n=[],a=e=>{t.s.restore(),t.s.insertHTML(e),i()};return t.s.save(),n.push({icon:"link",name:"Link",content:o.container},{icon:"source",name:"Code",content:r.container}),o.onSubmit((t=>{a((0,d.convertMediaUrlToVideoEmbed)(t.url))})),r.onSubmit((t=>{a(t.code)})),(0,Nt.IL)(t,n)},tags:["iframe"],tooltip:"Insert youtube/vimeo video"},p.pw.add("video",(t=>{t.registerButton({name:"video",group:"media"})})),l.D.prototype.wrapNodes={exclude:["hr","style","br"],emptyBlockAfterInit:!0};class ds extends it.S{constructor(){super(...arguments),this.isSuitableStart=t=>ot.i.isText(t)&&(0,yt.H)(t.nodeValue)&&/[^\s]/.test(t.nodeValue)||this.isNotClosed(t)&&!ot.i.isTemporary(t),this.isSuitable=t=>ot.i.isText(t)||this.isNotClosed(t),this.isNotClosed=t=>ot.i.isElement(t)&&!(ot.i.isBlock(t)||ot.i.isTag(t,this.j.o.wrapNodes.exclude))}afterInit(t){"br"!==t.o.enter.toLowerCase()&&t.e.on("drop.wtn focus.wtn keydown.wtn mousedown.wtn afterInit.wtn",this.preprocessInput,{top:!0}).on("afterInit.wtn postProcessSetEditorValue.wtn",this.postProcessSetEditorValue)}beforeDestruct(t){t.e.off(".wtn")}postProcessSetEditorValue(){const{jodit:t}=this;if(!t.isEditorMode())return;let e=t.editor.firstChild,s=!1;for(;e;){if(e=this.checkAloneListLeaf(e,t),this.isSuitableStart(e)){s||t.s.save(),s=!0;const i=t.createInside.element(t.o.enter);for(ot.i.before(e,i);e&&this.isSuitable(e);){const t=e.nextSibling;i.appendChild(e),e=t}i.normalize(),e=i}e=e&&e.nextSibling}s&&(t.s.restore(),"afterInit"===t.e.current&&t.e.fire("internalChange"))}checkAloneListLeaf(t,e){let s=t,i=t;do{if(!ot.i.isElement(i)||!ot.i.isTag(i,"li")||ot.i.isTag(i.parentElement,["ul","ol"]))break;{const t=ot.i.findNotEmptySibling(i,!1);ot.i.isTag(s,"ul")?s.appendChild(i):s=ot.i.wrap(i,"ul",e.createInside),i=t}}while(i);return s}preprocessInput(){const{jodit:t}=this,e="afterInit"===t.e.current;if(!t.isEditorMode()||t.editor.firstChild||!t.o.wrapNodes.emptyBlockAfterInit&&e)return;const s=t.createInside.element(t.o.enter),i=t.createInside.element("br");ot.i.append(s,i),ot.i.append(t.editor,s),t.s.isFocused()&&t.s.setCursorBefore(i),t.e.fire("internalChange")}}(0,a.gn)([f.autobind],ds.prototype,"postProcessSetEditorValue",null),(0,a.gn)([f.autobind],ds.prototype,"preprocessInput",null),p.pw.add("wrapNodes",ds);var us=i(30192);function ps(t,e){if(nt.i.isFragment(e)&&(e=e.firstChild),t.o.dtd.checkBlockNesting&&nt.i.isBlock(e)){const e=nt.i.furthest(t.s.current(),nt.i.isBlock,t.editor);e&&!t.o.dtd.blockLimits[e.tagName.toLowerCase()]&&(t.s.setCursorAfter(e),nt.i.isEmpty(e)&&nt.i.safeRemove(e))}}function fs(t,e){if(!t.o.dtd.removeExtraBr||nt.i.isTag(e,"br"))return;const s=nt.i.furthest(e,nt.i.isBlock,t.editor);if(s&&!nt.i.isTag(s,["table","pre","blockquote","code"])){const s=nt.i.isTag(e,"br")?e:nt.i.findNotEmptySibling(e,!1);if(!nt.i.isTag(s,"br"))return;t.s.setCursorBefore(s),nt.i.safeRemove(s)}}l.D.prototype.dtd={removeExtraBr:!0,checkBlockNesting:!0,blockLimits:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,fieldset:1,figcaption:1,figure:1,footer:1,form:1,header:1,hgroup:1,main:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1}};class ms extends it.S{afterInit(t){}beforeDestruct(t){}__onBeforeInsertNode(t){Object.keys(s).forEach((e=>{s[e](this.j,t)}))}__onAfterInsertNode(t){Object.keys(r).forEach((e=>{r[e](this.j,t)}))}}(0,a.gn)([(0,us.YP)(":beforeInsertNode")],ms.prototype,"__onBeforeInsertNode",null),(0,a.gn)([(0,us.YP)(":afterInsertNode")],ms.prototype,"__onAfterInsertNode",null),p.pw.add("dtd",ms);var gs=i(82616);l.D.prototype.showXPathInStatusbar=!0,p.pw.add("xpath",class vs extends it.S{constructor(){super(...arguments),this.onContext=(t,e)=>(this.menu||(this.menu=new gs.x(this.j)),this.menu.show(e.clientX,e.clientY,[{icon:"bin",title:t===this.j.editor?"Clear":"Remove",exec:()=>{t!==this.j.editor?ot.i.safeRemove(t):this.j.value="",this.j.synchronizeValues()}},{icon:"select-all",title:"Select",exec:()=>{this.j.s.select(t)}}]),!1),this.onSelectPath=(t,e)=>{this.j.s.focus();const s=(0,d.attr)(e.target,"-path")||"/";if("/"===s)return this.j.execCommand("selectall"),!1;try{const t=this.j.ed.evaluate(s,this.j.editor,null,XPathResult.ANY_TYPE,null).iterateNext();if(t)return this.j.s.select(t),!1}catch(t){}return this.j.s.select(t),!1},this.tpl=(t,e,s,i)=>{const o=this.j.c.fromHTML(`${(0,d.trim)(s)}`),r=o.firstChild;return this.j.e.on(r,"click",this.onSelectPath.bind(this,t)).on(r,"contextmenu",this.onContext.bind(this,t)),o},this.removeSelectAll=()=>{this.selectAllButton&&(this.selectAllButton.destruct(),delete this.selectAllButton)},this.appendSelectAll=()=>{this.removeSelectAll(),this.selectAllButton=(0,ae.g)(this.j,{name:"selectall",...this.j.o.controls.selectall}),this.selectAllButton.state.size="tiny",this.container&&this.container.insertBefore(this.selectAllButton.container,this.container.firstChild)},this.calcPathImd=()=>{if(this.isDestructed)return;const t=this.j.s.current();if(this.container&&(this.container.innerHTML=c.INVISIBLE_SPACE),t){let e,s,i;ot.i.up(t,(t=>{t&&this.j.editor!==t&&!ot.i.isText(t)&&(e=t.nodeName.toLowerCase(),s=(0,d.getXPathByElement)(t,this.j.editor).replace(/^\//,""),i=this.tpl(t,s,e,this.j.i18n("Select %s",e)),this.container&&this.container.insertBefore(i,this.container.firstChild))}),this.j.editor)}this.appendSelectAll()},this.calcPath=this.j.async.debounce(this.calcPathImd,2*this.j.defaultTimeout)}afterInit(){this.j.o.showXPathInStatusbar&&(this.container=this.j.c.div("jodit-xpath"),this.j.e.off(".xpath").on("mouseup.xpath change.xpath keydown.xpath changeSelection.xpath",this.calcPath).on("afterSetMode.xpath afterInit.xpath changePlace.xpath",(()=>{this.j.o.showXPathInStatusbar&&this.container&&(this.j.statusbar.append(this.container),this.j.getRealMode()===c.MODE_WYSIWYG?this.calcPath():(this.container&&(this.container.innerHTML=c.INVISIBLE_SPACE),this.appendSelectAll()))})),this.calcPath())}beforeDestruct(){this.j&&this.j.events&&this.j.e.off(".xpath"),this.removeSelectAll(),this.menu&&this.menu.destruct(),ot.i.safeRemove(this.container),delete this.menu,delete this.container}}),Object.keys(c).forEach((t=>{Jodit[t]=c[t]}));const bs=t=>"__esModule"!==t;Object.keys(t).filter(bs).forEach((e=>{h.Icon.set(e.replace("_","-"),t[e])})),Object.keys(h).filter(bs).forEach((t=>{Jodit.modules[t]=h[t]})),Object.keys(f).filter(bs).forEach((t=>{Jodit.decorators[t]=f[t]})),["Confirm","Alert","Prompt"].forEach((t=>{Jodit[t]=h[t]})),Object.keys(E).filter(bs).forEach((t=>{Jodit.lang[t]=E[t]}))}(),i.O(o)}()})); \ No newline at end of file +((t,e)=>{if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var s=e();for(var i in s)("object"==typeof exports?exports:t)[i]=s[i]}})(self,(function(){return function(){var t,e={11399(t){t.exports.default=["Type something","About Jodit","Jodit Editor","Jodit User's Guide","contains detailed help for using","For information about the license, please go to our website:","Buy full version","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","Open in new tab","Open in fullsize","Clear Formatting","Fill color or set the text color","Redo","Undo","Bold","Italic","Insert Unordered List","Insert Ordered List","Align Center","Align Justify","Align Left","Align Right","Insert Horizontal Line","Insert Image","Insert file","Insert youtube/vimeo video","Insert link","Font size","Font family","Insert format block","Normal","Heading 1","Heading 2","Heading 3","Heading 4","Quote","Code","Insert","Insert table","Decrease Indent","Increase Indent","Select Special Character","Insert Special Character","Paint format","Change mode","Margins","top","right","bottom","left","Styles","Classes","Align","Right","Center","Left","--Not Set--","Src","Title","Alternative","Link","Open link in new tab","Image","file","Advanced","Image properties","Cancel","Ok","File Browser","Error on load list","Error on load folders","Are you sure?","Enter Directory name","Create directory","type name","Drop image","Drop file","or click","Alternative text","Upload","Browse","Background","Text","Top","Middle","Bottom","Insert column before","Insert column after","Insert row above","Insert row below","Delete table","Delete row","Delete column","Empty cell","Chars: %d","Words: %d","Strike through","Underline","superscript","subscript","Cut selection","Select all","Break","Search for","Replace with","Replace","Paste","Choose Content to Paste","source","bold","italic","brush","link","undo","redo","table","image","eraser","paragraph","fontsize","video","font","about","print","underline","strikethrough","indent","outdent","fullsize","shrink","hr","ul","ol","cut","selectall","Embed code","Open link","Edit link","No follow","Unlink","Update","pencil","Eye"," URL","Edit","Horizontal align","Filter","Sort by changed","Sort by name","Sort by size","Add folder","Reset","Save","Save as ...","Resize","Crop","Width","Height","Keep Aspect Ratio","Yes","No","Remove","Select","Select %s","Vertical align","Split","Merge","Add column","Add row","License: %s","Delete","Split vertical","Split horizontal","Border","Your code is similar to HTML. Keep as HTML?","Paste as HTML","Keep","Insert as Text","Insert only Text","You can only edit your own images. Download this image on the host?","The image has been successfully uploaded to the host!","palette","There are no files","Rename","Enter new name","preview","download","Paste from clipboard","Your browser doesn't support direct access to the clipboard.","Copy selection","copy","Border radius","Show all","Apply","Please fill out this field","Please enter a web address","Default","Circle","Dot","Quadrate","Find","Find Previous","Find Next","The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected","Clean","Insert className","Press Alt for custom resizing"]},3610(t){t.exports=' '},56170(t){t.exports=' '},95331(t){t.exports=' '},84279(t){t.exports=' '},11257(t){t.exports=' '},25141(t){t.exports=' '},24557(t){t.exports=' '},10859(t){t.exports=' '},9813(t){t.exports=' '},93395(t){t.exports=' '},98213(t){t.exports=' '},20026(t){t.exports=' '},66911(t){t.exports=' '},50018(t){t.exports=' '},99738(t){t.exports=' '},9185(t){t.exports=' '},8619(t){t.exports=' '},73894(t){t.exports=' '},83301(t){t.exports=' '},84142(t){t.exports=' '},57292(t){t.exports=' '},18019(t){t.exports=''},45146(t){t.exports=' '},53576(t){t.exports=' '},14655(t){t.exports=' '},53477(t){t.exports=' '},90053(t){t.exports=' '},72230(t){t.exports=' '},78321(t){t.exports=' '},77654(t){t.exports=' '},43371(t){t.exports=' '},44563(t){t.exports=' '},53183(t){t.exports=' '},18548(t){t.exports=' '},52242(t){t.exports=' '},87498(t){t.exports=' '},7986(t){t.exports=' '},23075(t){t.exports=' '},10655(t){t.exports=' '},15476(t){t.exports=' '},59403(t){t.exports=' '},22860(t){t.exports=' '},95600(t){t.exports=' '},76214(t){t.exports=' '},41197(t){t.exports=' '},9342(t){t.exports=' '},69546(t){t.exports=' '},43158(t){t.exports=' '},51716(t){t.exports=' '},49222(t){t.exports=' '},1755(t){t.exports=' '},74911(t){t.exports=' '},8805(t){t.exports=' '},16547(t){t.exports=' '},10856(t){t.exports=' '},98441(t){t.exports=' '},52488(t){t.exports=' '},9370(t){t.exports=' '},66543(t){t.exports=' '},608(t){t.exports=' '},42840(t){t.exports=' '},79096(t){t.exports=' '},33014(t){t.exports=' '},91677(t){t.exports=' '},8259(t){t.exports=' '},64467(t){t.exports=''},86934(t){t.exports=' '},76133(t){t.exports=''},45519(t){t.exports=''},90265(t){t.exports=' '},81279(t){t.exports=' '},68899(t){t.exports=' '},70744(t){t.exports=' '},19201(t){t.exports=' '},84930(t){t.exports=' '},99704(t){t.exports=' '},2304(t){t.exports=' '},20255(t,e,s){"use strict";function i(t,e,s,i){var o,r=arguments.length,n=3>r?e:null===i?i=Object.getOwnPropertyDescriptor(e,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,s,i);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(n=(3>r?o(n):r>3?o(e,s,n):o(e,s))||n);return r>3&&n&&Object.defineProperty(e,s,n),n}s.d(e,{gn(){return i}})},93166(t,e,s){"use strict";s.d(e,{D(){return o}});var i=s(86893);class o{constructor(){this.defaultTimeout=100,this.namespace="",this.safeMode=!1,this.width="auto",this.height="auto",this.safePluginsList=["about","enter","backspace"],this.license="",this.preset="custom",this.presets={inline:{inline:!0,toolbar:!1,toolbarInline:!0,toolbarInlineForSelection:!0,showXPathInStatusbar:!1,showCharsCounter:!1,showWordsCounter:!1,showPlaceholder:!1}},this.ownerDocument="undefined"!=typeof document?document:null,this.ownerWindow="undefined"!=typeof window?window:null,this.shadowRoot=null,this.zIndex=0,this.readonly=!1,this.disabled=!1,this.activeButtonsInReadOnly=["source","fullsize","print","about","dots","selectall"],this.allowCommandsInReadOnly=["selectall","preview","print"],this.toolbarButtonSize="middle",this.allowTabNavigation=!1,this.inline=!1,this.theme="default",this.saveModeInStorage=!1,this.editorClassName=!1,this.editorCssClass=!1,this.className=!1,this.style=!1,this.containerStyle=!1,this.styleValues={},this.triggerChangeEvent=!0,this.direction="",this.language="auto",this.debugLanguage=!1,this.i18n=!1,this.tabIndex=-1,this.toolbar=!0,this.statusbar=!0,this.showTooltip=!0,this.showTooltipDelay=1e3,this.useNativeTooltip=!1,this.defaultActionOnPaste=i.INSERT_AS_HTML,this.enter=i.PARAGRAPH,this.iframe=!1,this.editHTMLDocumentMode=!1,this.enterBlock="br"!==this.enter?this.enter:i.PARAGRAPH,this.defaultMode=i.MODE_WYSIWYG,this.useSplitMode=!1,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.extraIcons={},this.createAttributes={table:{style:"border-collapse:collapse;width: 100%;"}},this.sizeLG=900,this.sizeMD=700,this.sizeSM=400,this.buttons=[{group:"font-style",buttons:[]},{group:"list",buttons:[]},{group:"font",buttons:[]},"---",{group:"script",buttons:[]},{group:"media",buttons:[]},"\n",{group:"state",buttons:[]},{group:"clipboard",buttons:[]},{group:"insert",buttons:[]},{group:"indent",buttons:[]},{group:"color",buttons:[]},{group:"form",buttons:[]},"---",{group:"history",buttons:[]},{group:"search",buttons:[]},{group:"source",buttons:[]},{group:"other",buttons:[]},{group:"info",buttons:[]}],this.buttonsMD=["bold","italic","|","ul","ol","eraser","|","font","fontsize","---","image","table","|","link","\n","brush","paragraph","align","|","hr","copyformat","fullsize","---","undo","redo","|","dots"],this.buttonsSM=["bold","italic","|","ul","ol","eraser","|","fontsize","brush","paragraph","---","image","table","\n","link","|","align","|","undo","redo","|","copyformat","fullsize","---","dots"],this.buttonsXS=["bold","brush","paragraph","eraser","|","fontsize","---","image","\n","align","undo","redo","|","link","table","---","dots"],this.events={},this.textIcons=!1,this.showBrowserColorPicker=!0}static get defaultOptions(){return o.__defaultOptions||(o.__defaultOptions=new o),o.__defaultOptions}}o.prototype.controls={}},21317(t,e,s){"use strict";s.d(e,{e(){return c}});var i=s(27512),o=s(42096),r=s(79736),n=s(26335),a=s(24421),l=s(61817);s(52378);class c{constructor(){var t,e,s,i;this.timers=new Map,this.__callbacks=new Map,this.promisesRejections=new Set,this.requestsIdle=new Set,this.requestsRaf=new Set,this.requestIdleCallbackNative=null!==(e=null===(t=window.requestIdleCallback)||void 0===t?void 0:t.bind(window))&&void 0!==e?e:(t,e)=>{var s;const i=Date.now();return this.setTimeout((()=>{t({didTimeout:!1,timeRemaining(){return Math.max(0,50-(Date.now()-i))}})}),null!==(s=null==e?void 0:e.timeout)&&void 0!==s?s:1)},this.cancelIdleCallbackNative=null!==(i=null===(s=window.cancelIdleCallback)||void 0===s?void 0:s.bind(window))&&void 0!==i?i:t=>{this.clearTimeout(t)},this.isDestructed=!1}delay(t){return this.promise((e=>this.setTimeout(e,t)))}setTimeout(t,e,...s){if(this.isDestructed)return 0;let o={};(0,l.h)(e)||(o=e,e=o.timeout||0),o.label&&this.clearLabel(o.label);const r=(0,i.i)(t,e,...s),n=o.label||r;return this.timers.set(n,r),this.__callbacks.set(n,t),r}updateTimeout(t,e){if(!t||!this.timers.has(t))return null;const s=this.__callbacks.get(t);return this.setTimeout(s,{label:t,timeout:e})}clearLabel(t){t&&this.timers.has(t)&&((0,i.g)(this.timers.get(t)),this.timers.delete(t),this.__callbacks.delete(t))}clearTimeout(t){if((0,a.H)(t))return this.clearLabel(t);(0,i.g)(t),this.timers.delete(t),this.__callbacks.delete(t)}debounce(t,e,s=!1){let a=0,l=!1;const c=[],h=(...e)=>{if(!l){a=0;const s=t(...e);if(l=!0,c.length){const t=()=>{c.forEach((t=>t())),c.length=0};(0,n.t)(s)?s.finally(t):t()}}},d=(...r)=>{l=!1,e?(!a&&s&&h(...r),(0,i.g)(a),a=this.setTimeout((()=>h(...r)),(0,o.m)(e)?e():e),this.timers.set(t,a)):h(...r)};return(0,r.P)(e)&&e.promisify?(...t)=>{const e=this.promise((t=>{c.push(t)}));return d(...t),e}:d}throttle(t,e,s=!1){let i,r,n,a=null;return(...s)=>{i=!0,n=s,e?a||(r=()=>{i?(t(...n),i=!1,a=this.setTimeout(r,(0,o.m)(e)?e():e),this.timers.set(r,a)):a=null},r()):t(...n)}}promise(t){let e=()=>{};const s=new Promise(((s,i)=>(this.promisesRejections.add(i),e=i,t(s,i))));return s.finally((()=>{this.promisesRejections.delete(e)})).catch((()=>null)),s.rejectCallback=e,s}promiseState(t){if(t.status)return t.status;if(!Promise.race)return new Promise((e=>{t.then((t=>(e("fulfilled"),t)),(t=>{throw e("rejected"),t})),this.setTimeout((()=>{e("pending")}),100)}));const e={};return Promise.race([t,e]).then((t=>t===e?"pending":"fulfilled"),(()=>"rejected"))}requestIdleCallback(t,e){const s=this.requestIdleCallbackNative(t,e);return this.requestsIdle.add(s),s}requestIdlePromise(t){return this.promise((e=>{const s=this.requestIdleCallback((()=>e(s)),t)}))}cancelIdleCallback(t){return this.requestsIdle.delete(t),this.cancelIdleCallbackNative(t)}requestAnimationFrame(t){const e=requestAnimationFrame(t);return this.requestsRaf.add(e),e}cancelAnimationFrame(t){this.requestsRaf.delete(t),cancelAnimationFrame(t)}clear(){this.requestsIdle.forEach((t=>this.cancelIdleCallback(t))),this.requestsRaf.forEach((t=>this.cancelAnimationFrame(t))),this.timers.forEach((t=>(0,i.g)(this.timers.get(t)))),this.timers.clear(),this.promisesRejections.forEach((t=>t())),this.promisesRejections.clear()}destruct(){this.clear(),this.isDestructed=!0}}},45113(t,e,s){"use strict";s.d(e,{w(){return l}});var i=s(40332),o=s(17332),r=s(29411),n=s(21317);const a=new Map;class l{get componentName(){return this.__componentName||(this.__componentName="jodit-"+(0,i.kebabCase)(((0,i.isFunction)(this.className)?this.className():"")||(0,i.getClassName)(this))),this.__componentName}getFullElName(t,e,s){const o=[this.componentName];return t&&(t=t.replace(/[^a-z0-9-]/gi,"-"),o.push("__"+t)),e&&(o.push("_",e),o.push("_",(0,i.isVoid)(s)?"true":""+s)),o.join("")}get ownerDocument(){return this.ow.document}get od(){return this.ownerDocument}get ow(){return this.ownerWindow}get(t,e){return(0,i.get)(t,e||this)}get isReady(){return this.componentStatus===r.n.ready}get isDestructed(){return this.componentStatus===r.n.destructed}get isInDestruct(){return r.n.beforeDestruct===this.componentStatus||r.n.destructed===this.componentStatus}bindDestruct(t){return t.hookStatus(r.n.beforeDestruct,(()=>!this.isInDestruct&&this.destruct())),this}constructor(){this.async=new n.e,this.ownerWindow=window,this.__componentStatus=r.n.beforeInit,this.uid="jodit-uid-"+(0,o.fe)()}destruct(){this.setStatus(r.n.destructed),this.async.destruct(),a.get(this)&&a.delete(this)}get componentStatus(){return this.__componentStatus}set componentStatus(t){this.setStatus(t)}setStatus(t){return this.setStatusComponent(t,this)}setStatusComponent(t,e){if(t===this.__componentStatus)return;e===this&&(this.__componentStatus=t);const s=Object.getPrototypeOf(this);s&&(0,i.isFunction)(s.setStatusComponent)&&s.setStatusComponent(t,e);const o=a.get(this),r=null==o?void 0:o[t];r&&r.length&&r.forEach((t=>t(e)))}hookStatus(t,e){let s=a.get(this);s||(s={},a.set(this,s)),s[t]||(s[t]=[]),s[t].push(e)}static isInstanceOf(t,e){return t instanceof e}}l.STATUSES=r.n},90549(t,e,s){"use strict";s.d(e,{wA(){return o.w},n$(){return i.n},Hr(){return r}});var i=s(29411),o=s(45113);class r extends o.w{get j(){return this.jodit}get defaultTimeout(){return this.j.defaultTimeout}i18n(t,...e){return this.j.i18n(t,...e)}setParentView(t){return this.jodit=t,t.components.add(this),this}constructor(t){super(),this.setParentView(t)}destruct(){return this.j.components.delete(this),super.destruct()}}},29411(t,e,s){"use strict";s.d(e,{n(){return i}});const i={beforeInit:"beforeInit",ready:"ready",beforeDestruct:"beforeDestruct",destructed:"destructed"}},86893(t,e,s){"use strict";s.r(e),s.d(e,{ACCURACY(){return L},BASE_PATH(){return K},BR(){return M},CLIPBOARD_ID(){return Q},COMMAND_KEYS(){return z},EMULATE_DBLCLICK_TIMEOUT(){return F},INSEPARABLE_TAGS(){return f},INSERT_AS_HTML(){return W},INSERT_AS_TEXT(){return $},INSERT_CLEAR_HTML(){return V},INSERT_ONLY_TEXT(){return Y},INVISIBLE_SPACE(){return i},INVISIBLE_SPACE_REG_EXP(){return r},INVISIBLE_SPACE_REG_EXP_END(){return n},INVISIBLE_SPACE_REG_EXP_START(){return a},IS_BLOCK(){return d},IS_IE(){return R},IS_INLINE(){return u},IS_MAC(){return G},KEY_ALIASES(){return X},KEY_ALT(){return C},KEY_BACKSPACE(){return v},KEY_DELETE(){return k},KEY_DOWN(){return E},KEY_ENTER(){return y},KEY_ESC(){return w},KEY_F3(){return I},KEY_LEFT(){return _},KEY_META(){return g},KEY_RIGHT(){return S},KEY_SPACE(){return j},KEY_TAB(){return b},KEY_UP(){return x},MARKER_CLASS(){return H},MODE_SOURCE(){return q},MODE_SPLIT(){return P},MODE_WYSIWYG(){return D},NBSP_SPACE(){return o},NEARBY(){return T},NO_EMPTY_TAGS(){return m},PARAGRAPH(){return N},SAFE_COUNT_CHANGE_CALL(){return U},SOURCE_CONSUMER(){return tt},SPACE_REG_EXP(){return l},SPACE_REG_EXP_END(){return h},SPACE_REG_EXP_START(){return c},TEMP_ATTR(){return J},TEXT_HTML(){return O},TEXT_PLAIN(){return A},TEXT_RTF(){return B},lang(){return Z}});const i="\ufeff",o=" ",r=()=>/[\uFEFF]/g,n=()=>/[\uFEFF]+$/g,a=()=>/^[\uFEFF]+/g,l=()=>/[\s\n\t\r\uFEFF\u200b]+/g,c=()=>/^[\s\n\t\r\uFEFF\u200b]+/g,h=()=>/[\s\n\t\r\uFEFF\u200b]+$/g,d=/^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i,u=/^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i,p=["img","video","svg","iframe","script","input","textarea","link","jodit","jodit-media"],f=new Set([...p,"br","hr"]),m=new Set(p),g="Meta",v="Backspace",b="Tab",y="Enter",w="Escape",C="Alt",_="ArrowLeft",x="ArrowUp",S="ArrowRight",E="ArrowDown",j="Space",k="Delete",I="F3",T=5,L=10,z=[g,v,k,x,E,S,_,y,w,I,b],M="br",N="p",D=1,q=2,P=3,R="undefined"!=typeof navigator&&(-1!==navigator.userAgent.indexOf("MSIE")||/rv:11.0/i.test(navigator.userAgent)),A=R?"text":"text/plain",O=R?"html":"text/html",B=R?"rtf":"text/rtf",H="jodit-selection_marker",F=300,W="insert_as_html",V="insert_clear_html",$="insert_as_text",Y="insert_only_text",U=10,G="undefined"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),X={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:G?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:" ",spacebar:" ",up:"arrowup",win:"meta",windows:"meta"},K=(()=>{if("undefined"==typeof document)return"";const t=document.currentScript,e=t=>{const e=t.split("/");return/\.js/.test(e[e.length-1])?e.slice(0,e.length-1).join("/")+"/":t};if(t)return e(t.src);const s=document.querySelectorAll("script[src]");return s&&s.length?e(s[s.length-1].src):window.location.href})(),J="data-jodit-temp",Z={},Q="clipboard",tt="source-consumer"},11441(t,e,s){"use strict";function i(t){class e extends t{constructor(...t){super(...t),this.constructor===e&&(this instanceof e||Object.setPrototypeOf(this,e.prototype),this.setStatus("ready"))}}return e}s.d(e,{w(){return i}})},55773(t,e,s){"use strict";s.d(e,{D(){return n},P(){return a}});var i=s(78411),o=s(90549),r=s(14582);function n(t,e=!1,s="debounce"){return(n,a)=>{const l=n[a];if(!(0,i.mf)(l))throw(0,r.vU)("Handler must be a Function");return n.hookStatus(o.n$.ready,(o=>{const{async:r}=o,n=(0,i.mf)(t)?t(o):t;Object.defineProperty(o,a,{configurable:!0,value:r[s](o[a].bind(o),(0,i.hj)(n)||(0,i.PO)(n)?n:o.defaultTimeout,e)})})),{configurable:!0,get(){return l.bind(this)}}}}function a(t,e=!1){return n(t,e,"throttle")}s(52378)},67493(t,e,s){"use strict";s.r(e),s.d(e,{autobind(){return C},cache(){return o},component(){return r.w},debounce(){return n.D},derive(){return v},getPropertyDescriptor(){return g.w7},hook(){return d},idle(){return l},nonenumerable(){return u},persistent(){return f},throttle(){return n.P},wait(){return m},watch(){return g.YP}});var i=s(40332);function o(t,e,s){const o=s.get;if(!o)throw(0,i.error)("Getter property descriptor expected");s.get=function(){const t=o.call(this);return t&&!0===t.noCache||Object.defineProperty(this,e,{configurable:s.configurable,enumerable:s.enumerable,writable:!1,value:t}),t}}var r=s(11441),n=s(55773),a=s(90549);function l(){return(t,e)=>{if(!(0,i.isFunction)(t[e]))throw(0,i.error)("Handler must be a Function");t.hookStatus(a.n$.ready,(t=>{const{async:s}=t,i=t[e];t[e]=(...e)=>s.requestIdleCallback(i.bind(t,...e))}))}}var c=s(78411),h=s(14582);function d(t){return(e,s)=>{if(!(0,c.mf)(e[s]))throw(0,h.vU)("Handler must be a Function");e.hookStatus(t,(t=>{t[s].call(t)}))}}const u=(t,e)=>{!1!==(Object.getOwnPropertyDescriptor(t,e)||{}).enumerable&&Object.defineProperty(t,e,{enumerable:!1,set(t){Object.defineProperty(this,e,{enumerable:!1,writable:!0,value:t})}})};var p=s(96574);function f(t,e){t.hookStatus(a.n$.ready,(t=>{const s=(0,p.f)(t)?t:t.jodit,i=`${s.options.namespace}${t.componentName}_prop_${e}`,o=t[e];Object.defineProperty(t,e,{get(){var t;return null!==(t=s.storage.get(i))&&void 0!==t?t:o},set(t){s.storage.set(i,t)}})}))}function m(t){return(e,s)=>{if(!(0,i.isFunction)(e[s]))throw(0,i.error)("Handler must be a Function");e.hookStatus(a.n$.ready,(e=>{const{async:i}=e,o=e[s];let r=0;Object.defineProperty(e,s,{configurable:!0,value:function s(...n){i.clearTimeout(r),t(e)?o.apply(e,n):r=i.setTimeout((()=>s(...n)),10)}})}))}}var g=s(46163);function v(...t){return e=>{const s=e.prototype;for(let e=0;t.length>e;e++){const i=t[e],o=Object.getOwnPropertyNames(i.prototype);for(let t=0;o.length>t;t++){const e=o[t],r=Object.getOwnPropertyDescriptor(i.prototype,e);null!=r&&(0,c.mf)(r.value)&&!(0,c.mf)(s[e])&&Object.defineProperty(s,e,{enumerable:!0,configurable:!0,writable:!0,value(...t){return r.value.call(this,...t)}})}}}}function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t=>typeof t:t=>t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t,b(t)}function y(t,e,s){var i=s.value;if("function"!=typeof i)throw new TypeError("@boundMethod decorator can only be applied to methods not: ".concat(b(i)));var o=!1;return{configurable:!0,get(){if(o||this===t.prototype||this.hasOwnProperty(e)||"function"!=typeof i)return i;var s=i.bind(this);return o=!0,Object.defineProperty(this,e,{configurable:!0,get(){return s},set(t){i=t,delete this[e]}}),o=!1,s},set(t){i=t}}}function w(t){var e;return"undefined"!=typeof Reflect&&"function"==typeof Reflect.ownKeys?e=Reflect.ownKeys(t.prototype):(e=Object.getOwnPropertyNames(t.prototype),"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(t.prototype)))),e.forEach((e=>{if("constructor"!==e){var s=Object.getOwnPropertyDescriptor(t.prototype,e);"function"==typeof s.value&&Object.defineProperty(t.prototype,e,y(t,e,s))}})),t}function C(){return 1===arguments.length?w.apply(void 0,arguments):y.apply(void 0,arguments)}},46163(t,e,s){"use strict";s.d(e,{YP(){return d},w7(){return h}});var i=s(42096),o=s(79736),r=s(96574),n=s(88418),a=s(29411),l=s(14556),c=s(14582);function h(t,e){let s;do{s=Object.getOwnPropertyDescriptor(t,e),t=Object.getPrototypeOf(t)}while(!s&&t);return s}function d(t,e){return(s,d)=>{if(!(0,i.m)(s[d]))throw(0,c.vU)("Handler must be a Function");const u=a=>{const c=(t,...e)=>{if(!a.isInDestruct)return a[d](t,...e)};(0,l.C)(t).forEach((t=>{if(/:/.test(t)){const[s,o]=t.split(":");let n=e;const l=(0,r.f)(a)?a:a.jodit;return s.length&&(n=a.get(s)),(0,i.m)(n)&&(n=n(a)),l.events.on(n||a,o,c),n||l.events.on(o,c),void a.hookStatus("beforeDestruct",(()=>{l.events.off(n||a,o,c).off(o,c)}))}const l=t.split("."),[d]=l,u=l.slice(1);let p=a[d];(0,o.P)(p)&&(0,n.L)(p).on("change."+u.join("."),c);const f=h(s,d);Object.defineProperty(a,d,{configurable:!0,set(t){const e=p;e!==t&&(p=t,f&&f.set&&f.set.call(a,t),(0,o.P)(p)&&(p=(0,n.L)(p),p.on("change."+u.join("."),c)),c(d,e,p))},get:()=>f&&f.get?f.get.call(a):p})}))};(0,i.m)(s.hookStatus)?s.hookStatus(a.n.ready,u):u(s)}}},24263(t,e,s){"use strict";s.d(e,{i(){return c}});var i=s(86893),o=s(78411),r=s(56888),n=s(89170),a=s(76502),l=s(37204);class c{static detach(t){for(;t.firstChild;)t.removeChild(t.firstChild)}static wrapInline(t,e,s){let i,r=t,n=t;s.s.save();let a=!1;do{a=!1,i=r.previousSibling,i&&!c.isBlock(i)&&(a=!0,r=i)}while(a);do{a=!1,i=n.nextSibling,i&&!c.isBlock(i)&&(a=!0,n=i)}while(a);const l=(0,o.HD)(e)?s.createInside.element(e):e;r.parentNode&&r.parentNode.insertBefore(l,r);let h=r;for(;h&&(h=r.nextSibling,l.appendChild(r),r!==n&&h);)r=h;return s.s.restore(),l}static wrap(t,e,s){const i=(0,o.HD)(e)?s.element(e):e;if(c.isNode(t)){if(!t.parentNode)throw(0,a.error)("Element should be in DOM");t.parentNode.insertBefore(i,t),i.appendChild(t)}else{const e=t.extractContents();t.insertNode(i),i.appendChild(e)}return i}static unwrap(t){const e=t.parentNode;if(e){for(;t.firstChild;)e.insertBefore(t.firstChild,t);c.safeRemove(t)}}static between(t,e,s){let i=t;for(;i&&i!==e&&(t===i||!s(i));){let t=i.firstChild||i.nextSibling;if(!t){for(;i&&!i.nextSibling;)i=i.parentNode;t=null==i?void 0:i.nextSibling}i=t}}static replace(t,e,s,i=!1,n=!1){(0,o.FP)(e)&&(e=s.fromHTML(e));const a=(0,o.HD)(e)?s.element(e):e;if(!n)for(;t.firstChild;)a.appendChild(t.firstChild);return i&&c.isElement(t)&&c.isElement(a)&&(0,r.qo)(t.attributes).forEach((t=>{a.setAttribute(t.name,t.value)})),t.parentNode&&t.parentNode.replaceChild(a,t),a}static isEmptyTextNode(t){return c.isText(t)&&(!t.nodeValue||0===t.nodeValue.replace(i.INVISIBLE_SPACE_REG_EXP(),"").trim().length)}static isEmptyContent(t){return c.each(t,(t=>c.isEmptyTextNode(t)))}static isContentEditable(t,e){return c.isNode(t)&&!c.closest(t,(t=>c.isElement(t)&&"false"===t.getAttribute("contenteditable")),e)}static isEmpty(t,e=i.NO_EMPTY_TAGS){if(!t)return!0;let s;s=(0,o.mf)(e)?e:t=>e.has(t.nodeName.toLowerCase());const r=t=>null==t.nodeValue||0===(0,n.fy)(t.nodeValue).length;return c.isText(t)?r(t):!(c.isElement(t)&&s(t))&&c.each(t,(t=>{if(c.isText(t)&&!r(t)||c.isElement(t)&&s(t))return!1}))}static isNode(t){return!!(t&&(0,o.HD)(t.nodeName)&&"number"==typeof t.nodeType&&t.childNodes&&(0,o.mf)(t.appendChild))}static isCell(t){return c.isNode(t)&&/^(td|th)$/i.test(t.nodeName)}static isImage(t){return c.isNode(t)&&/^(img|svg|picture|canvas)$/i.test(t.nodeName)}static isBlock(t){return!(0,o.nj)(t)&&"object"==typeof t&&c.isNode(t)&&i.IS_BLOCK.test(t.nodeName)}static isText(t){return!(!t||t.nodeType!==Node.TEXT_NODE)}static isElement(t){var e;return!!c.isNode(t)&&!(!(null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView)||t.nodeType!==Node.ELEMENT_NODE)}static isFragment(t){var e;return!!c.isNode(t)&&!(!(null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView)||t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)}static isHTMLElement(t){var e;if(!c.isNode(t))return!1;const s=null===(e=t.ownerDocument)||void 0===e?void 0:e.defaultView;return!!(s&&t instanceof s.HTMLElement)}static isInlineBlock(t){return c.isElement(t)&&!/^(BR|HR)$/i.test(t.tagName)&&-1!==["inline","inline-block"].indexOf(""+(0,a.css)(t,"display"))}static canSplitBlock(t){return!(0,o.nj)(t)&&c.isHTMLElement(t)&&c.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&void 0!==t.style&&!/^(fixed|absolute)/i.test(t.style.position)}static last(t,e){let s=null==t?void 0:t.lastChild;if(!s)return null;do{if(e(s))return s;let i=s.lastChild;if(i||(i=s.previousSibling),!i&&s.parentNode!==t){do{s=s.parentNode}while(s&&!(null==s?void 0:s.previousSibling)&&s.parentNode!==t);i=null==s?void 0:s.previousSibling}s=i}while(s);return null}static prev(t,e,s,i=!0){return c.find(t,e,s,!1,i)}static next(t,e,s,i=!0){return c.find(t,e,s,!0,i)}static prevWithClass(t,e){return c.prev(t,(t=>c.isElement(t)&&t.classList.contains(e)),t.parentNode)}static nextWithClass(t,e){return c.next(t,(t=>c.isElement(t)&&t.classList.contains(e)),t.parentNode)}static find(t,e,s,i=!0,o=!0){const r=this.nextGen(t,s,i,o);let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}return null}static*nextGen(t,e,s=!0,i=!0){const o=[];let r=t;do{let e=s?r.nextSibling:r.previousSibling;for(;e;)o.unshift(e),e=s?e.nextSibling:e.previousSibling;yield*this.runInStack(t,o,s,i),r=r.parentNode}while(r&&r!==e);return null}static each(t,e,s=!0){const i=this.eachGen(t,s);let o=i.next();for(;!o.done;){if(!1===e(o.value))return!1;o=i.next()}return!0}static eachGen(t,e=!0){return this.runInStack(t,[t],e)}static*runInStack(t,e,s,i=!0){for(;e.length;){const o=e.pop();if(i){let t=s?o.lastChild:o.firstChild;for(;t;)e.push(t),t=s?t.previousSibling:t.nextSibling}t!==o&&(yield o)}}static findWithCurrent(t,e,s,i="nextSibling",o="firstChild"){let r=t;do{if(e(r))return r||null;if(o&&r&&r[o]){const t=c.findWithCurrent(r[o],e,r,i,o);if(t)return t}for(;r&&!r[i]&&r!==s;)r=r.parentNode;r&&r[i]&&r!==s&&(r=r[i])}while(r&&r!==s);return null}static findSibling(t,e=!0,s=(t=>!c.isEmptyTextNode(t))){let i=c.sibling(t,e);for(;i&&!s(i);)i=c.sibling(i,e);return i&&s(i)?i:null}static findNotEmptySibling(t,e){return c.findSibling(t,e,(t=>{var e;return!c.isEmptyTextNode(t)&&!!(!c.isText(t)||(null===(e=t.nodeValue)||void 0===e?void 0:e.length)&&(0,n.fy)(t.nodeValue))}))}static findNotEmptyNeighbor(t,e,s){return(0,a.call)(e?c.prev:c.next,t,(t=>!(!t||c.isText(t)&&!(0,n.fy)((null==t?void 0:t.nodeValue)||"").length)),s)}static sibling(t,e){return e?t.previousSibling:t.nextSibling}static up(t,e,s,i=!1){let o=t;if(!o)return null;do{if(e(o))return o;if(o===s||!o.parentNode)break;o=o.parentNode}while(o&&o!==s);return o===s&&i&&e(o)?o:null}static closest(t,e,s){let i;const r=t=>t.toLowerCase();if((0,o.mf)(e))i=e;else if((0,o.kJ)(e)){const t=new Set(e.map(r));i=e=>!(!e||!t.has(r(e.nodeName)))}else i=t=>!(!t||r(e)!==r(t.nodeName));return c.up(t,i,s)}static furthest(t,e,s){let i=null,o=null==t?void 0:t.parentElement;for(;o&&o!==s;)e(o)&&(i=o),o=null==o?void 0:o.parentElement;return i}static appendChildFirst(t,e){const s=t.firstChild;s?s!==e&&t.insertBefore(e,s):t.appendChild(e)}static after(t,e){const{parentNode:s}=t;s&&(s.lastChild===t?s.appendChild(e):s.insertBefore(e,t.nextSibling))}static before(t,e){const{parentNode:s}=t;s&&s.insertBefore(e,t)}static prepend(t,e){t.insertBefore(e,t.firstChild)}static append(t,e){(0,o.kJ)(e)?e.forEach((e=>{this.append(t,e)})):t.appendChild(e)}static moveContent(t,e,s=!1,i=(()=>!0)){const o=(t.ownerDocument||document).createDocumentFragment();(0,r.qo)(t.childNodes).filter((t=>!!i(t)||(c.safeRemove(t),!1))).forEach((t=>{o.appendChild(t)})),s&&e.firstChild?e.insertBefore(o,e.firstChild):e.appendChild(o)}static isOrContains(t,e,s=!1){return t===e?!s:!!(e&&t&&this.up(e,(e=>e===t),t,!0))}static safeRemove(...t){t.forEach((t=>c.isNode(t)&&t.parentNode&&t.parentNode.removeChild(t)))}static safeInsertNode(t,e){t.collapsed||t.deleteContents(),t.insertNode(e),[e.nextSibling,e.previousSibling].forEach((t=>c.isText(t)&&!t.nodeValue&&c.safeRemove(t)))}static hide(t){t&&((0,a.dataBind)(t,"__old_display",t.style.display),t.style.display="none")}static show(t){if(!t)return;const e=(0,a.dataBind)(t,"__old_display");"none"===t.style.display&&(t.style.display=e||"")}static isTag(t,e){if(!this.isElement(t))return!1;const s=t.tagName.toLowerCase(),i=t.tagName.toUpperCase();if(e instanceof Set)return e.has(s)||e.has(i);const o=(0,r._2)(e).map((t=>(t+"").toLowerCase()));for(let t=0;o.length>t;t+=1)if(s===o[t]||i===o[t])return!0;return!1}static markTemporary(t,e){return e&&(0,a.attr)(t,e),(0,a.attr)(t,i.TEMP_ATTR,!0),t}static isTemporary(t){return!!c.isElement(t)&&((0,l._)(t)||"true"===(0,a.attr)(t,i.TEMP_ATTR))}static replaceTemporaryFromString(t){return t.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi,"$2")}static temporaryList(t){return(0,a.$$)(`[${i.TEMP_ATTR}]`,t)}}},64968(t,e,s){"use strict";s.d(e,{b(){return o.b},i(){return i.i}});var i=s(24263),o=s(33841)},33841(t,e,s){"use strict";s.d(e,{b(){return a}});var i=s(20255),o=s(73852),r=s(67493),n=s(24263);class a extends o.a{setWork(t){return this.isWorked&&this.break(),this.workNodes=n.i.eachGen(t,!this.options.reverse),this.isFinished=!1,this.startIdleRequest(),this}constructor(t,e={}){super(),this.async=t,this.options=e,this.workNodes=null,this.hadAffect=!1,this.isWorked=!1,this.isFinished=!1,this.idleId=0}startIdleRequest(){var t;this.idleId=this.async.requestIdleCallback(this.workPerform,{timeout:null!==(t=this.options.timeout)&&void 0!==t?t:10})}break(t){this.isWorked&&(this.stop(),this.emit("break",t))}end(){this.isWorked&&(this.stop(),this.emit("end",this.hadAffect),this.hadAffect=!1)}stop(){this.isWorked=!1,this.isFinished=!0,this.workNodes=null,this.async.cancelIdleCallback(this.idleId)}destruct(){super.destruct(),this.stop()}workPerform(t){var e;if(this.workNodes){this.isWorked=!0;let s=0;const i=null!==(e=this.options.timeoutChunkSize)&&void 0!==e?e:50;for(;!this.isFinished&&(t.timeRemaining()>0||t.didTimeout&&i>=s);){const t=this.workNodes.next();if(s+=1,this.visitNode(t.value)&&(this.hadAffect=!0),t.done)return void this.end()}}else this.end();this.isFinished||this.startIdleRequest()}visitNode(t){var e;return!(!t||void 0!==this.options.whatToShow&&t.nodeType!==this.options.whatToShow)&&null!==(e=this.emit("visit",t))&&void 0!==e&&e}}(0,i.gn)([r.autobind],a.prototype,"workPerform",null)},73852(t,e,s){"use strict";s.d(e,{a(){return i}});class i{constructor(){this.__map=new Map}on(t,e){var s;return this.__map.has(t)||this.__map.set(t,new Set),null===(s=this.__map.get(t))||void 0===s||s.add(e),this}off(t,e){var s;return this.__map.has(t)&&(null===(s=this.__map.get(t))||void 0===s||s.delete(e)),this}destruct(){this.__map.clear()}emit(t,...e){var s;let i;return this.__map.has(t)&&(null===(s=this.__map.get(t))||void 0===s||s.forEach((t=>{i=t(...e)}))),i}}},4567(t,e,s){"use strict";s.d(e,{vp(){return d},DG(){return r},aN(){return u.a},rO(){return o},LO(){return p.L}}),s(52378);var i=s(1853);const o="JoditEventDefaultNamespace";class r{constructor(){this.__store=new Map}get(t,e){if(this.__store.has(e))return this.__store.get(e)[t]}indexOf(t,e,s){const i=this.get(t,e);if(i)for(let t=0;i.length>t;t+=1)if(i[t].originalCallback===s)return t;return!1}namespaces(t=!1){const e=(0,i.q)(this.__store.keys());return t?e.filter((t=>t!==o)):e}events(t){const e=this.__store.get(t);return e?Object.keys(e):[]}set(t,e,s,i=!1){let o=this.__store.get(e);o||(o={},this.__store.set(e,o)),void 0===o[t]&&(o[t]=[]),i?o[t].unshift(s):o[t].push(s)}clear(){this.__store.clear()}clearEvents(t,e){const s=this.__store.get(t);s&&s[e]&&(delete s[e],Object.keys(s).length||this.__store.delete(t))}isEmpty(){return 0===this.__store.size}}var n=s(24421),a=s(42096),l=s(49781),c=s(14582),h=s(14556);class d{mute(t){return this.__mutedEvents.add(null!=t?t:"*"),this}isMuted(t){return!(!t||!this.__mutedEvents.has(t))||this.__mutedEvents.has("*")}unmute(t){return this.__mutedEvents.delete(null!=t?t:"*"),this}__eachEvent(t,e){(0,h.C)(t).map((t=>t.trim())).forEach((t=>{const s=t.split(".");e.call(this,s[0],s[1]||o)}))}__getStore(t){if(!t)throw(0,c.vU)("Need subject");if(void 0===t[this.__key]){const e=new r;Object.defineProperty(t,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:e})}return t[this.__key]}__removeStoreFromSubject(t){void 0!==t[this.__key]&&Object.defineProperty(t,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:void 0})}__triggerNativeEvent(t,e){const s=this.__doc.createEvent("HTMLEvents");(0,n.H)(e)?s.initEvent(e,!0,!0):(s.initEvent(e.type,e.bubbles,e.cancelable),["screenX","screenY","clientX","clientY","target","srcElement","currentTarget","timeStamp","which","keyCode"].forEach((t=>{Object.defineProperty(s,t,{value:e[t],enumerable:!0})})),Object.defineProperty(s,"originalEvent",{value:e,enumerable:!0})),t.dispatchEvent(s)}get current(){return this.currents[this.currents.length-1]}on(t,e,s,i){let o,r,h,d;if((0,n.H)(t)||(0,n.G)(t)?(o=this,r=t,h=e,d=s):(o=t,r=e,h=s,d=i),!(0,n.H)(r)&&!(0,n.G)(r)||0===r.length)throw(0,c.vU)("Need events names");if(!(0,a.m)(h))throw(0,c.vU)("Need event handler");if((0,l.k)(o))return o.forEach((t=>{this.on(t,r,h,d)})),this;const u=o,p=this.__getStore(u),f=(0,a.m)(u.addEventListener),m=this;let g=function(t,...e){if(!m.isMuted(t))return h&&h.call(this,...e)};return f&&(g=function(t){if(!m.isMuted(t.type))return m.__prepareEvent(t),h&&!1===h.call(this,t)?(t.preventDefault(),t.stopImmediatePropagation(),!1):void 0}),this.__eachEvent(r,((t,e)=>{if(0===t.length)throw(0,c.vU)("Need event name");if(!1===p.indexOf(t,e,h)&&(p.set(t,e,{event:t,originalCallback:h,syntheticCallback:g},null==d?void 0:d.top),f)){const e=!!["touchstart","touchend","scroll","mousewheel","mousemove","touchmove"].includes(t)&&{passive:!0};u.addEventListener(t,g,e)}})),this}one(t,e,s,i){let o,r,a,l;(0,n.H)(t)||(0,n.G)(t)?(o=this,r=t,a=e,l=s):(o=t,r=e,a=s,l=i);const c=(...t)=>(this.off(o,r,c),a(...t));return this.on(o,r,c,l),this}off(t,e,s){let i,r,c;if((0,n.H)(t)||(0,n.G)(t)?(i=this,r=t,c=e):(i=t,r=e,c=s),(0,l.k)(i))return i.forEach((t=>{this.off(t,r,c)})),this;const h=i,d=this.__getStore(h);if(!(0,n.H)(r)&&!(0,n.G)(r)||0===r.length)return d.namespaces().forEach((t=>{this.off(h,"."+t)})),this.__removeStoreFromSubject(h),this;const u=(0,a.m)(h.removeEventListener),p=t=>{u&&h.removeEventListener(t.event,t.syntheticCallback,!1)},f=(t,e)=>{if(""===t)return void d.events(e).forEach((t=>{""!==t&&f(t,e)}));const s=d.get(t,e);if(s&&s.length)if((0,a.m)(c)){const i=d.indexOf(t,e,c);!1!==i&&(p(s[i]),s.splice(i,1),s.length||d.clearEvents(e,t))}else s.forEach(p),s.length=0,d.clearEvents(e,t)};return this.__eachEvent(r,((t,e)=>{e===o?d.namespaces().forEach((e=>{f(t,e)})):f(t,e)})),d.isEmpty()&&this.__removeStoreFromSubject(h),this}stopPropagation(t,e){const s=(0,n.H)(t)?this:t,i=(0,n.H)(t)?t:e;if("string"!=typeof i)throw(0,c.vU)("Need event names");const r=this.__getStore(s);this.__eachEvent(i,((t,e)=>{const i=r.get(t,e);i&&this.__stopped.push(i),e===o&&r.namespaces(!0).forEach((e=>this.stopPropagation(s,t+"."+e)))}))}__removeStop(t){if(t){const e=this.__stopped.indexOf(t);-1!==e&&this.__stopped.splice(0,e+1)}}__isStopped(t){return void 0!==t&&-1!==this.__stopped.indexOf(t)}fire(t,e,...s){let i,r;const l=(0,n.H)(t)?this:t,h=(0,n.H)(t)?t:e,d=(0,n.H)(t)?[e,...s]:s,u=(0,a.m)(l.dispatchEvent);if(!u&&!(0,n.H)(h))throw(0,c.vU)("Need events names");const p=this.__getStore(l);return!(0,n.H)(h)&&u?this.__triggerNativeEvent(l,e):this.__eachEvent(h,((t,e)=>{if(u)this.__triggerNativeEvent(l,t);else{const s=p.get(t,e);if(s)try{[...s].every((e=>!this.__isStopped(s)&&(this.currents.push(t),r=e.syntheticCallback.call(l,t,...d),this.currents.pop(),void 0!==r&&(i=r),!0)))}finally{this.__removeStop(s)}e!==o||u||p.namespaces().filter((t=>t!==e)).forEach((e=>{const s=this.fire.call(this,l,t+"."+e,...d);void 0!==s&&(i=s)}))}})),i}constructor(t){this.__mutedEvents=new Set,this.__key="__JoditEventEmitterNamespaces",this.__doc=document,this.__prepareEvent=t=>{t.cancelBubble||(t.composed&&(0,a.m)(t.composedPath)&&t.composedPath()[0]&&Object.defineProperty(t,"target",{value:t.composedPath()[0],configurable:!0,enumerable:!0}),t.type.match(/^touch/)&&t.changedTouches&&t.changedTouches.length&&["clientX","clientY","pageX","pageY"].forEach((e=>{Object.defineProperty(t,e,{value:t.changedTouches[0][e],configurable:!0,enumerable:!0})})),t.originalEvent||(t.originalEvent=t),"paste"===t.type&&void 0===t.clipboardData&&this.__doc.defaultView.clipboardData&&Object.defineProperty(t,"clipboardData",{get:()=>this.__doc.defaultView.clipboardData,configurable:!0,enumerable:!0}))},this.currents=[],this.__stopped=[],this.__isDestructed=!1,t&&(this.__doc=t),this.__key+=(new Date).getTime()}destruct(){this.__isDestructed&&(this.__isDestructed=!0,this.off(this),this.__getStore(this).clear(),this.__removeStoreFromSubject(this))}}var u=s(73852),p=s(88418)},88418(t,e,s){"use strict";s.d(e,{L(){return c}});var i=s(49781),o=s(32756),r=s(79736),n=s(46163);const a=Symbol("observable-object");function l(t){return void 0!==t[a]}function c(t){if(l(t))return t;const e={},s={},c=(e,o)=>(0,i.k)(e)?(e.map((t=>c(t,o))),t):(s[e]||(s[e]=[]),s[e].push(o),t),h=(o,...r)=>{if((0,i.k)(o))o.map((t=>h(t,...r)));else try{!e[o]&&s[o]&&(e[o]=!0,s[o].forEach((e=>e.call(t,...r))))}finally{e[o]=!1}},d=(e,s=[])=>{const i={};l(e)||(Object.defineProperty(e,a,{enumerable:!1,value:!0}),Object.keys(e).forEach((a=>{const l=a,c=s.concat(l).filter((t=>t.length));i[l]=e[l];const u=(0,n.w7)(e,l);Object.defineProperty(e,l,{set(e){const s=i[l];if(!(0,o.L)(i[l],e)){h(["beforeChange","beforeChange."+c.join(".")],l,e),(0,r.P)(e)&&d(e,c),u&&u.set?u.set.call(t,e):i[l]=e;const o=[];h(["change",...c.reduce(((t,e)=>(o.push(e),t.push("change."+o.join(".")),t)),[])],c.join("."),s,(null==e?void 0:e.valueOf)?e.valueOf():e)}},get(){return u&&u.get?u.get.call(t):i[l]},enumerable:!0,configurable:!0}),(0,r.P)(i[l])&&d(i[l],c)})),Object.defineProperty(t,"on",{value:c}))};return d(t),t}},17332(t,e,s){"use strict";s.d(e,{TB(){return w},ZO(){return y},as(){return d},fe(){return f},pw(){return m},qz(){return g},xl(){return v}});var i=s(44540),o=s(64968),r=s(4567),n=s(77892),a=s(96574),l=s(87247),c=s(11278),h=s(86893);const d={};let u=1;const p=new Set;function f(){function t(){return u+=10*(Math.random()+1),Math.round(u).toString(16)}let e=t();for(;p.has(e);)e=t();return p.add(e),e}const m=new i.h,g={},v=t=>{Object.keys(t).forEach((e=>{h.lang[e]?Object.assign(h.lang[e],t[e]):h.lang[e]=t[e]}))},b=new WeakMap;function y(t,e,s="div",i=!1){const r=e?(0,l.g)(e.prototype):"jodit-utils",h=b.get(t)||{},d=r+s,u=(0,a.f)(t)?t:t.j;if(!h[d]){let e=u.c,a=(0,n.Z)(t)&&t.o.shadowRoot?t.o.shadowRoot:t.od.body;if(i&&(0,n.Z)(t)&&t.od!==t.ed){e=t.createInside;const i="style"===s?t.ed.head:t.ed.body;a=(0,n.Z)(t)&&t.o.shadowRoot?t.o.shadowRoot:i}const l=e.element(s,{className:`jodit jodit-${(0,c.G)(r)}-container jodit-box`});l.classList.add("jodit_theme_"+(u.o.theme||"default")),a.appendChild(l),h[d]=l,t.hookStatus("beforeDestruct",(()=>{o.i.safeRemove(l),delete h[d],Object.keys(h).length&&b.delete(t)})),b.set(t,h)}return h[d].classList.remove("jodit_theme_default","jodit_theme_dark"),h[d].classList.add("jodit_theme_"+(u.o.theme||"default")),h[d]}const w=new r.vp},56888(t,e,s){"use strict";s.d(e,{_2(){return o},C1(){return r.C},qo(){return n.q}});var i=s(49781);const o=t=>(0,i.k)(t)?t:[t];var r=s(14556),n=s(1853)},14556(t,e,s){"use strict";function i(t){return Array.isArray(t)?t:t.split(/[,\s]+/)}s.d(e,{C(){return i}})},1853(t,e,s){"use strict";s.d(e,{q(){return r}});var i=s(80861),o=s(28069);const r=(...t)=>{var e;return((0,o.Q)(Array.from)?Array.from:null!==(e=(0,i.m)("Array.from"))&&void 0!==e?e:Array.from).apply(Array,t)}},4696(t,e,s){"use strict";s.d(e,{g(){return i.g},i(){return i.i}});var i=s(27512)},27512(t,e,s){"use strict";function i(t,e,...s){return e?window.setTimeout(t,e,...s):(t.call(null,...s),0)}function o(t){window.clearTimeout(t)}s.d(e,{g(){return o},i(){return i}})},78411(t,e,s){"use strict";function i(){let t=!0;try{const e=document.createElement("input");e.type="color",e.value="!",t="color"===e.type&&"!"!==e.value}catch(e){t=!1}return t}s.d(e,{EO(){return i},Zt(){return m},kJ(){return o.k},jn(){return r.j},Z$(){return f},Xy(){return n.X},LP(){return n.L},mf(){return a.m},FP(){return c},I4(){return h},Gu(){return p},GN(){return v},Zu(){return b.Z},A1(){return w},_V(){return I._},QC(){return C.Q},hj(){return _.h},kE(){return g.k},PO(){return x.P},tI(){return S.t},HD(){return l.H},GI(){return l.G},PX(){return E.P},r1(){return j},f2(){return y.f},nj(){return u.n},FJ(){return k.F}});var o=s(49781),r=s(67749),n=s(32756),a=s(42096),l=s(24421);const c=t=>(0,l.H)(t)&&/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(t.replace(/[\r\n]/g,""));function h(t){return-1!==t.search(//)||-1!==t.search(//)||-1!==t.search(/style="[^"]*mso-/)&&-1!==t.search(/(0,l.H)(t)&&23===t.length&&/^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(t);var C=s(28069),_=s(61817),x=s(79736),S=s(26335),E=s(64350);function j(t){return!!t.length&&!/[^0-9A-Za-zа-яА-ЯЁё\w\-_.]/.test(t)}var k=s(85994),I=s(37204)},49781(t,e,s){"use strict";function i(t){return Array.isArray(t)}s.d(e,{k(){return i}})},67749(t,e,s){"use strict";function i(t){return"boolean"==typeof t}s.d(e,{j(){return i}})},32756(t,e,s){"use strict";s.d(e,{L(){return r},X(){return o}});var i=s(42554);function o(t,e){return t===e||(0,i.P)(t)===(0,i.P)(e)}function r(t,e){return t===e}},42096(t,e,s){"use strict";function i(t){return"function"==typeof t}s.d(e,{m(){return i}})},77892(t,e,s){"use strict";s.d(e,{Z(){return o}});var i=s(42096);function o(t){return!!(t&&t instanceof Object&&(0,i.m)(t.constructor)&&("undefined"!=typeof Jodit&&t instanceof Jodit||t.isJodit))}},37204(t,e,s){"use strict";s.d(e,{_(){return r}});var i=s(24263),o=s(86893);function r(t){return i.i.isNode(t)&&i.i.isTag(t,"span")&&t.hasAttribute("data-"+o.MARKER_CLASS)}},28069(t,e,s){"use strict";function i(t){return!!t&&"function"===(typeof t).toLowerCase()&&(t===Function.prototype||/^\s*function\s*(\b[a-z$_][a-z0-9$_]*\b)*\s*\((|([a-z$_][a-z0-9$_]*)(\s*,[a-z$_][a-z0-9$_]*)*)\)\s*{\s*\[native code]\s*}\s*$/i.test(t+""))}s.d(e,{Q(){return i}})},61817(t,e,s){"use strict";function i(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}s.d(e,{h(){return i}})},57649(t,e,s){"use strict";s.d(e,{k(){return o}});var i=s(24421);function o(t){if((0,i.H)(t)){if(!t.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/))return!1;t=parseFloat(t)}return"number"==typeof t&&!isNaN(t)&&isFinite(t)}},79736(t,e,s){"use strict";s.d(e,{P(){return o}});var i=s(85994);function o(t){return!(!t||"object"!=typeof t||t.nodeType||(0,i.F)(t)||t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))}},26335(t,e,s){"use strict";function i(t){return t&&"function"==typeof t.then}s.d(e,{t(){return i}})},24421(t,e,s){"use strict";s.d(e,{G(){return r},H(){return o}});var i=s(49781);function o(t){return"string"==typeof t}function r(t){return(0,i.k)(t)&&o(t[0])}},64350(t,e,s){"use strict";function i(t){if(t.includes(" "))return!1;if("undefined"!=typeof URL)try{const e=new URL(t);return["https:","http:","ftp:","file:","rtmp:"].includes(e.protocol)}catch(t){return!1}const e=document.createElement("a");return e.href=t,!!e.hostname}s.d(e,{P(){return i}})},96574(t,e,s){"use strict";s.d(e,{f(){return o}});var i=s(42096);function o(t){return!!(t&&t instanceof Object&&(0,i.m)(t.constructor)&&t.isView)}},24021(t,e,s){"use strict";function i(t){return null==t}s.d(e,{n(){return i}})},85994(t,e,s){"use strict";function i(t){return null!=t&&t===t.window}s.d(e,{F(){return i}})},13203(t,e,s){"use strict";s.d(e,{h(){return i}});const i=t=>{if("rgba(0, 0, 0, 0)"===t||""===t)return!1;if(!t)return"#000000";if("#"===t.substr(0,1))return t;const e=/([\s\n\t\r]*?)rgb\((\d+), (\d+), (\d+)\)/.exec(t)||/([\s\n\t\r]*?)rgba\((\d+), (\d+), (\d+), ([\d.]+)\)/.exec(t);if(!e)return"#000000";const s=parseInt(e[2],10),i=parseInt(e[3],10);let o=(parseInt(e[4],10)|i<<8|s<<16).toString(16).toUpperCase();for(;6>o.length;)o="0"+o;return e[1]+"#"+o}},61354(t,e,s){"use strict";s.d(e,{h(){return i.h}});var i=s(13203)},69678(t,e,s){"use strict";s.d(e,{Zs(){return a},pQ(){return c},$_(){return h},hU(){return f},eV(){return p.e},nA(){return p.n},oN(){return u}});var i=s(24263),o=s(76502),r=s(33941);function n(t){return t.replace(/mso-[a-z-]+:[\s]*[^;]+;/gi,"").replace(/mso-[a-z-]+:[\s]*[^";']+$/gi,"").replace(/border[a-z-]*:[\s]*[^;]+;/gi,"").replace(/([0-9.]+)(pt|cm)/gi,((t,e,s)=>{switch(s.toLowerCase()){case"pt":return(1.328*parseFloat(e)).toFixed(0)+"px";case"cm":return(.02645833*parseFloat(e)).toFixed(0)+"px"}return t}))}function a(t){if(-1===t.indexOf("")+7);const e=document.createElement("iframe");e.style.display="none",document.body.appendChild(e);let s="",a=[];try{const l=e.contentDocument||(e.contentWindow?e.contentWindow.document:null);if(l){l.open(),l.write(t),l.close();try{for(let t=0;l.styleSheets.length>t;t+=1){const e=l.styleSheets[t].cssRules;for(let t=0;e.length>t;t+=1)""!==e[t].selectorText&&(a=(0,o.$$)(e[t].selectorText,l.body),a.forEach((s=>{s.style.cssText=n(e[t].style.cssText+";"+s.style.cssText)})))}}catch(t){}i.i.each(l.body,(t=>{if(i.i.isElement(t)){const e=t,s=e.getAttribute("style");s&&(e.style.cssText=n(s)),e.hasAttribute("style")&&!e.getAttribute("style")&&e.removeAttribute("style")}})),s=l.firstChild?(0,r.f)(l.body.innerHTML):""}}catch(t){}finally{i.i.safeRemove(e)}return s&&(t=s),(0,r.f)(t.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,"").replace(//i);-1!==e&&(t=t.substring(e+20));const s=t.search(//i);return-1!==s&&(t=t.substring(0,s)),t})(s)),e.s.insertHTML(s)}function je(t,e,s,i,o){if(!1===t.e.fire("beforeOpenPasteDialog",e,s,i,o))return;const r=t.confirm(`
${t.i18n(e)}
`,t.i18n(s)),n=o.map((({text:e,value:s})=>(0,Se.zx)(t,{text:e,name:e.toLowerCase(),tabIndex:0}).onAction((()=>{r.close(),i(s)}))));r.e.one(r,"afterClose",(()=>{t.s.isFocused()||t.s.focus()}));const a=(0,Se.zx)(t,{text:"Cancel",tabIndex:0}).onAction((()=>{r.close()}));return r.setFooter([...n,a]),n[0].focus(),n[0].state.variant="primary",t.e.fire("afterOpenPasteDialog",r,e,s,i,o),r}l.D.prototype.askBeforePasteHTML=!0,l.D.prototype.processPasteHTML=!0,l.D.prototype.pasteHTMLActionList=[{value:c.INSERT_AS_HTML,text:"Keep"},{value:c.INSERT_AS_TEXT,text:"Insert as Text"},{value:c.INSERT_ONLY_TEXT,text:"Insert only Text"}],l.D.prototype.memorizeChoiceWhenPasteFragment=!1,l.D.prototype.nl2brInPlainText=!0;const ke="pasteStorage";l.D.prototype.controls.paste={tooltip:"Paste from clipboard",async exec(t,e,{control:s}){if(s.name===ke)return void t.execCommand("showPasteStorage");t.s.focus();let i="",o=!0;if(navigator.clipboard){try{const t=await navigator.clipboard.read();if(t&&t.length){const e=await t[0].getType(c.TEXT_PLAIN);i=await new Response(e).text()}o=!1}catch(t){}if(o)try{i=await navigator.clipboard.readText(),o=!1}catch(t){}}o&&(i=t.buffer.get(c.CLIPBOARD_ID)||"",o=0===i.length);const r=t.value;o?(t.ed.execCommand("paste"),o=r===t.value,!o&&t.e.fire("afterPaste")):i.length?(Ee(null,t,i),t.e.fire("afterPaste")):o&&t.alert("Your browser doesn't support direct access to the clipboard.",(()=>{t.s.focus()}))},list:{[ke]:"Paste Storage"},isChildDisabled:t=>2>t.e.fire("pasteStorageList")};class Ie extends vt.S{constructor(){super(...arguments),this.pasteStack=new d.LimitedStack(20),this._isDialogOpened=!1}afterInit(t){t.e.on("paste.paste",this.onPaste).on("pasteStack.paste",(t=>this.pasteStack.push(t))),t.o.nl2brInPlainText&&this.j.e.on("processPaste.paste",this.onProcessPasteReplaceNl2Br)}beforeDestruct(t){t.e.off("paste.paste",this.onPaste).off("processPaste.paste",this.onProcessPasteReplaceNl2Br).off(".paste")}onPaste(t){try{if(!1===this.customPasteProcess(t)||!1===this.j.e.fire("beforePaste",t))return t.preventDefault(),!1;this.defaultPasteProcess(t)}finally{this.j.e.fire("afterPaste",t)}}customPasteProcess(t){if(!this.j.o.processPasteHTML)return;const e=(0,d.getDataTransfer)(t),s={html:null==e?void 0:e.getData(c.TEXT_HTML),plain:null==e?void 0:e.getData(c.TEXT_PLAIN),rtf:null==e?void 0:e.getData(c.TEXT_RTF)};let i;for(i in s){const e=s[i];if((0,d.isHTML)(e)&&(this.j.e.fire("processHTML",t,e,s)||this.processHTML(t,e)))return!1}}defaultPasteProcess(t){const e=(0,d.getDataTransfer)(t);let s=(null==e?void 0:e.getData(c.TEXT_HTML))||(null==e?void 0:e.getData(c.TEXT_PLAIN));if(e&&s&&""!==(0,d.trim)(s)){const i=this.j.e.fire("processPaste",t,s,(t=>{const e=t.types;let s="";if((0,w.kJ)(e)||"[object DOMStringList]"==={}.toString.call(e))for(let t=0;e.length>t;t+=1)s+=e[t]+";";else s=(e||c.TEXT_PLAIN)+";";return s})(e));void 0!==i&&(s=i),((0,d.isString)(s)||nt.i.isNode(s))&&this.insertByType(t,s,this.j.o.defaultActionOnPaste),t.preventDefault(),t.stopPropagation()}}processHTML(t,e){if(this.j.o.askBeforePasteHTML){if(this.j.o.memorizeChoiceWhenPasteFragment){const s=this.pasteStack.find((t=>t.html===e));if(s)return this.insertByType(t,e,s.action||this.j.o.defaultActionOnPaste),!0}if(this._isDialogOpened)return!0;const s=je(this.j,"Your code is similar to HTML. Keep as HTML?","Paste as HTML",(s=>{this._isDialogOpened=!1,this.insertByType(t,e,s)}),this.j.o.pasteHTMLActionList);return s&&(this._isDialogOpened=!0,s.e.on("beforeClose",(()=>{this._isDialogOpened=!1}))),!0}return!1}insertByType(t,e,s){if(this.pasteStack.push({html:e,action:s}),(0,d.isString)(e))switch(this.j.buffer.set(c.CLIPBOARD_ID,e),s){case c.INSERT_CLEAR_HTML:e=(0,d.cleanFromWord)(e);break;case c.INSERT_ONLY_TEXT:e=(0,d.stripTags)(e);break;case c.INSERT_AS_TEXT:e=(0,d.htmlspecialchars)(e)}Ee(t,this.j,e)}onProcessPasteReplaceNl2Br(t,e,s){if(s===c.TEXT_PLAIN+";"&&!(0,d.isHTML)(e))return(0,d.nl2br)(e)}}(0,a.gn)([f.autobind],Ie.prototype,"onPaste",null),(0,a.gn)([f.autobind],Ie.prototype,"onProcessPasteReplaceNl2Br",null),p.pw.add("paste",Ie),l.D.prototype.askBeforePasteFromWord=!0,l.D.prototype.processPasteFromWord=!0,l.D.prototype.defaultActionOnPasteFromWord=null,l.D.prototype.pasteFromWordActionList=[{value:c.INSERT_AS_HTML,text:"Keep"},{value:c.INSERT_AS_TEXT,text:"Clean"},{value:c.INSERT_ONLY_TEXT,text:"Insert only Text"}];class Te extends it.S{constructor(){super(...arguments),this.requires=["paste"]}afterInit(t){}beforeDestruct(t){}processWordHTML(t,e,s){const{j:i}=this,{processPasteFromWord:o,askBeforePasteFromWord:r,defaultActionOnPasteFromWord:n,defaultActionOnPaste:a,pasteFromWordActionList:l}=i.o;return!(!o||!(0,d.isHtmlFromWord)(e)||(r?je(i,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected",(i=>{this.insertFromWordByType(t,e,i,s)}),l):this.insertFromWordByType(t,e,n||a,s),0))}insertFromWordByType(t,e,s,i){var o;switch(s){case c.INSERT_AS_HTML:{e=(0,d.applyStyles)(e);const t=null===(o=this.j.events)||void 0===o?void 0:o.fire("beautifyHTML",e);(0,d.isString)(t)&&(e=t);break}case c.INSERT_AS_TEXT:e=(0,d.cleanFromWord)(e);break;case c.INSERT_ONLY_TEXT:e=(0,d.stripTags)((0,d.cleanFromWord)(e))}Ee(t,this.j,e)}}(0,a.gn)([(0,f.watch)(":processHTML")],Te.prototype,"processWordHTML",null),p.pw.add("pasteFromWord",Te),p.pw.add("pasteStorage",class Le extends vt.S{constructor(){super(...arguments),this.currentIndex=0,this.list=[],this.container=null,this.listBox=null,this.previewBox=null,this.dialog=null,this.paste=()=>{if(this.j.s.focus(),this.j.s.insertHTML(this.list[this.currentIndex]),0!==this.currentIndex){const t=this.list[0];this.list[0]=this.list[this.currentIndex],this.list[this.currentIndex]=t}this.dialog&&this.dialog.close(),this.j.synchronizeValues(),this.j.e.fire("afterPaste")},this.onKeyDown=t=>{let e=this.currentIndex;-1!==[c.KEY_UP,c.KEY_DOWN,c.KEY_ENTER].indexOf(t.key)&&(t.key===c.KEY_UP&&(0===e?e=this.list.length-1:e-=1),t.key===c.KEY_DOWN&&(e===this.list.length-1?e=0:e+=1),t.key!==c.KEY_ENTER?(e!==this.currentIndex&&this.selectIndex(e),t.stopImmediatePropagation(),t.preventDefault()):this.paste())},this.selectIndex=t=>{this.listBox&&(0,d.toArray)(this.listBox.childNodes).forEach(((e,s)=>{e.classList.remove("jodit_active"),t===s&&this.previewBox&&(e.classList.add("jodit_active"),this.previewBox.innerHTML=this.list[t],e.focus())})),this.currentIndex=t},this.showDialog=()=>{2>this.list.length||(this.dialog||this.createDialog(),this.listBox&&(this.listBox.innerHTML=""),this.previewBox&&(this.previewBox.innerHTML=""),this.list.forEach(((t,e)=>{const s=this.j.c.element("a");s.textContent=e+1+". "+t.replace((0,c.SPACE_REG_EXP)(),""),this.j.e.on(s,"keydown",this.onKeyDown),(0,d.attr)(s,"href","#"),(0,d.attr)(s,"data-index",""+e),(0,d.attr)(s,"tab-index","-1"),this.listBox&&this.listBox.appendChild(s)})),this.dialog&&this.dialog.open(),this.j.async.setTimeout((()=>{this.selectIndex(0)}),100))}}createDialog(){this.dialog=this.j.dlg();const t=(0,Se.zx)(this.j,"paste","Paste","primary");t.onAction(this.paste);const e=(0,Se.zx)(this.j,"","Cancel");e.onAction(this.dialog.close),this.container=this.j.c.div(),this.container.classList.add("jodit-paste-storage"),this.listBox=this.j.c.div(),this.previewBox=this.j.c.div(),this.container.appendChild(this.listBox),this.container.appendChild(this.previewBox),this.dialog.setHeader(this.j.i18n("Choose Content to Paste")),this.dialog.setContent(this.container),this.dialog.setFooter([t,e]),this.j.e.on(this.listBox,"click dblclick",(t=>{const e=t.target;return nt.i.isTag(e,"a")&&e.hasAttribute("data-index")&&this.selectIndex(parseInt((0,d.attr)(e,"-index")||"0",10)),"dblclick"===t.type&&this.paste(),!1}))}afterInit(){this.j.e.off("afterCopy.paste-storage").on("pasteStorageList.paste-storage",(()=>this.list.length)).on("afterCopy.paste-storage",(t=>{-1!==this.list.indexOf(t)&&this.list.splice(this.list.indexOf(t),1),this.list.unshift(t),this.list.length>5&&(this.list.length=5)})),this.j.registerCommand("showPasteStorage",{exec:this.showDialog,hotkeys:["ctrl+shift+v","cmd+shift+v"]})}beforeDestruct(){this.dialog&&this.dialog.destruct(),this.j.e.off(".paste-storage"),nt.i.safeRemove(this.previewBox),nt.i.safeRemove(this.listBox),nt.i.safeRemove(this.container),this.container=null,this.listBox=null,this.previewBox=null,this.dialog=null,this.list=[]}});var ze=i(37204);l.D.prototype.showPlaceholder=!0,l.D.prototype.placeholder="Type something",l.D.prototype.useInputsPlaceholder=!0;class Me extends vt.S{constructor(){super(...arguments),this.addNativeListeners=()=>{this.j.e.off(this.j.editor,"input.placeholder keydown.placeholder").on(this.j.editor,"input.placeholder keydown.placeholder",this.toggle)},this.addEvents=()=>{const t=this.j;t.o.useInputsPlaceholder&&t.element.hasAttribute("placeholder")&&(this.placeholderElm.innerHTML=(0,at.Lj)(t.element,"placeholder")||""),t.e.fire("placeholder",this.placeholderElm.innerHTML),t.e.off(".placeholder").on("changePlace.placeholder",this.addNativeListeners).on("change.placeholder focus.placeholder keyup.placeholder mouseup.placeholder keydown.placeholder mousedown.placeholder afterSetMode.placeholder changePlace.placeholder",this.toggle).on(window,"load",this.toggle),this.addNativeListeners(),this.toggle()}}afterInit(t){t.o.showPlaceholder&&(this.placeholderElm=t.c.fromHTML(``),"rtl"===t.o.direction&&(this.placeholderElm.style.right="0px",this.placeholderElm.style.direction="rtl"),t.e.on("readonly",(t=>{t?this.hide():this.toggle()})).on("changePlace",this.addEvents),this.addEvents())}show(){const t=this.j;if(t.o.readonly)return;let e=0,s=0;const i=t.s.current(),o=i&&nt.i.closest(i,nt.i.isBlock,t.editor)||t.editor,r=t.ew.getComputedStyle(o),n=t.ew.getComputedStyle(t.editor);t.workplace.appendChild(this.placeholderElm);const{firstChild:a}=t.editor;if(nt.i.isElement(a)&&!(0,ze._)(a)){const i=t.ew.getComputedStyle(a);e=parseInt(i.getPropertyValue("margin-top"),10),s=parseInt(i.getPropertyValue("margin-left"),10),this.placeholderElm.style.fontSize=parseInt(i.getPropertyValue("font-size"),10)+"px",this.placeholderElm.style.lineHeight=i.getPropertyValue("line-height")}else this.placeholderElm.style.fontSize=parseInt(r.getPropertyValue("font-size"),10)+"px",this.placeholderElm.style.lineHeight=r.getPropertyValue("line-height");(0,qt.i)(this.placeholderElm,{display:"block",textAlign:r.getPropertyValue("text-align"),paddingTop:parseInt(n.paddingTop,10)+"px",paddingLeft:parseInt(n.paddingLeft,10)+"px",paddingRight:parseInt(n.paddingRight,10)+"px",marginTop:Math.max(parseInt(r.getPropertyValue("margin-top"),10),e),marginLeft:Math.max(parseInt(r.getPropertyValue("margin-left"),10),s)})}hide(){nt.i.safeRemove(this.placeholderElm)}toggle(){const t=this.j;t.editor&&!t.isInDestruct&&(t.getRealMode()===c.MODE_WYSIWYG&&(t=>{var e;if(!t.firstChild)return!0;const s=t.firstChild;if(c.INSEPARABLE_TAGS.has(null===(e=s.nodeName)||void 0===e?void 0:e.toLowerCase())||/^(TABLE)$/i.test(s.nodeName))return!1;const i=nt.i.next(s,(t=>t&&!nt.i.isEmptyTextNode(t)),t);return nt.i.isText(s)&&!i?nt.i.isEmptyTextNode(s):!i&&nt.i.each(s,(t=>!nt.i.isTag(t,["ul","li","ol"])&&(nt.i.isEmpty(t)||nt.i.isTag(t,"br"))))})(t.editor)?this.show():this.hide())}beforeDestruct(t){this.hide(),t.e.off(".placeholder").off(window,"load",this.toggle)}}(0,a.gn)([(0,f.debounce)((t=>t.defaultTimeout/10),!0)],Me.prototype,"toggle",null),p.pw.add("placeholder",Me),p.pw.add("poweredByJodit",(t=>{const{o:e}=t;e.hidePoweredByJodit||e.inline||!(e.showCharsCounter||e.showWordsCounter||e.showXPathInStatusbar)||t.hookStatus("ready",(()=>{t.statusbar.append(t.create.fromHTML('\n\t\t\t\t\t\t\tPowered by Jodit\n\t\t\t\t\t\t'),!0)}))}));var Ne=i(21498);l.D.prototype.controls.preview={icon:"eye",command:"preview",mode:c.MODE_SOURCE+c.MODE_WYSIWYG,tooltip:"Preview"},p.pw.add("preview",(t=>{t.registerButton({name:"preview"}),t.registerCommand("preview",((e,s,i)=>{const o=t.dlg();o.setSize(1024,600).open("",t.i18n("Preview")).setModal(!0),(0,Ne.$)(t,i,"px",o.getElm("content"))}))}));var De=i(93351),qe=i(1853);Q.J.set("print",i(22860)),l.D.prototype.controls.print={exec(t){const e=t.create.element("iframe");Object.assign(e.style,{position:"fixed",right:0,bottom:0,width:0,height:0,border:0}),(0,p.ZO)(t,l.D).appendChild(e);const s=()=>{t.e.off(t.ow,"mousemove",s),ot.i.safeRemove(e)},i=e.contentWindow;if(i){t.e.on(i,"onbeforeunload onafterprint",s).on(t.ow,"mousemove",s),t.o.iframe?(t.e.fire("generateDocumentStructure.iframe",i.document,t),i.document.body.innerHTML=t.value):(i.document.write('"),i.document.close(),(0,Ne.$)(t,void 0,"px",i.document.body));const e=i.document.createElement("style");e.innerHTML="@media print {\n\t\t\t\t\tbody {\n\t\t\t\t\t\t\t-webkit-print-color-adjust: exact;\n\t\t\t\t\t}\n\t\t\t}",i.document.head.appendChild(e),i.focus(),i.print()}},mode:c.MODE_SOURCE+c.MODE_WYSIWYG,tooltip:"Print"},p.pw.add("print",(t=>{t.registerButton({name:"print"})})),Q.J.set("redo",i(95600)).set("undo",i(76214)),l.D.prototype.controls.redo={mode:c.MODE_SPLIT,isDisabled(t){return!t.history.canRedo()},tooltip:"Redo"},l.D.prototype.controls.undo={mode:c.MODE_SPLIT,isDisabled(t){return!t.history.canUndo()},tooltip:"Undo"},p.pw.add("redoUndo",class Pe extends vt.S{constructor(){super(...arguments),this.buttons=[{name:"undo",group:"history"},{name:"redo",group:"history"}]}beforeDestruct(){}afterInit(t){const e=e=>(t.history[e](),!1);t.registerCommand("redo",{exec:e,hotkeys:["ctrl+y","ctrl+shift+z","cmd+y","cmd+shift+z"]}),t.registerCommand("undo",{exec:e,hotkeys:["ctrl+z","cmd+z"]})}}),l.D.prototype.tableAllowCellResize=!0;const Re="table_processor_observer-resize";class Ae extends h.Plugin{constructor(){super(...arguments),this.selectMode=!1,this.resizeDelta=0,this.createResizeHandle=()=>{this.resizeHandler||(this.resizeHandler=this.j.c.div("jodit-table-resizer"),this.j.e.on(this.resizeHandler,"mousedown.table touchstart.table",this.onHandleMouseDown).on(this.resizeHandler,"mouseenter.table",(()=>{this.j.async.clearTimeout(this.hideTimeout)})))},this.hideTimeout=0,this.drag=!1,this.minX=0,this.maxX=0,this.startX=0}get module(){return this.j.getInstance("Table",this.j.o)}get isRTL(){return"rtl"===this.j.o.direction}showResizeHandle(){this.j.async.clearTimeout(this.hideTimeout),this.j.workplace.appendChild(this.resizeHandler)}hideResizeHandle(){this.hideTimeout=this.j.async.setTimeout((()=>{nt.i.safeRemove(this.resizeHandler)}),{timeout:this.j.defaultTimeout,label:"hideResizer"})}onHandleMouseDown(t){if(this.j.isLocked)return;this.drag=!0,this.j.e.on(this.j.ow,"mouseup.resize-cells touchend.resize-cells",this.onMouseUp).on(this.j.ew,"mousemove.table touchmove.table",this.onMouseMove),this.startX=t.clientX,this.j.lock(Re),this.resizeHandler.classList.add("jodit-table-resizer_moved");let e,s=this.workTable.getBoundingClientRect();if(this.minX=0,this.maxX=1e6,null!=this.wholeTable)s=this.workTable.parentNode.getBoundingClientRect(),this.minX=s.left,this.maxX=this.minX+s.width;else{const t=h.Table.formalCoordinate(this.workTable,this.workCell,!0);h.Table.formalMatrix(this.workTable,((s,i,o)=>{t[1]===o&&(e=s.getBoundingClientRect(),this.minX=Math.max(e.left+c.NEARBY/2,this.minX)),t[1]+(this.isRTL?-1:1)===o&&(e=s.getBoundingClientRect(),this.maxX=Math.min(e.left+e.width-c.NEARBY/2,this.maxX))}))}return!1}onMouseMove(t){if(!this.drag)return;this.j.e.fire("closeAllPopups");let e=t.clientX;const s=(0,d.offset)(this.resizeHandler.parentNode||this.j.od.documentElement,this.j,this.j.od,!0);this.minX>e&&(e=this.minX),e>this.maxX&&(e=this.maxX),this.resizeDelta=e-this.startX+(this.j.o.iframe?s.left:0),this.resizeHandler.style.left=e-(this.j.o.iframe?0:s.left)+"px";const i=this.j.s.sel;i&&i.removeAllRanges()}onMouseUp(t){(this.selectMode||this.drag)&&(this.selectMode=!1,this.j.unlock()),this.resizeHandler&&this.drag&&(this.drag=!1,this.j.e.off(this.j.ew,"mousemove.table touchmove.table",this.onMouseMove),this.resizeHandler.classList.remove("jodit-table-resizer_moved"),this.startX!==t.clientX&&(null==this.wholeTable?this.resizeColumns():this.resizeTable()),this.j.synchronizeValues(),this.j.s.focus())}resizeColumns(){const t=this.resizeDelta,e=[];h.Table.setColumnWidthByDelta(this.workTable,h.Table.formalCoordinate(this.workTable,this.workCell,!0)[1],t,!0,e);const s=(0,d.call)(this.isRTL?nt.i.prev:nt.i.next,this.workCell,nt.i.isCell,this.workCell.parentNode);h.Table.setColumnWidthByDelta(this.workTable,h.Table.formalCoordinate(this.workTable,s)[1],-t,!1,e)}resizeTable(){const t=this.resizeDelta*(this.isRTL?-1:1),e=this.workTable.offsetWidth,s=(0,d.getContentWidth)(this.workTable.parentNode,this.j.ew),i=!this.wholeTable;if(this.isRTL?!i:i)this.workTable.style.width=(e+t)/s*100+"%";else{const i=this.isRTL?"marginRight":"marginLeft",o=parseInt(this.j.ew.getComputedStyle(this.workTable)[i]||"0",10);this.workTable.style.width=(e-t)/s*100+"%",this.workTable.style[i]=(o+t)/s*100+"%"}}setWorkCell(t,e=null){this.wholeTable=e,this.workCell=t,this.workTable=nt.i.up(t,(t=>nt.i.isTag(t,"table")),this.j.editor)}calcHandlePosition(t,e,s=0,i=0){const o=(0,d.offset)(e,this.j,this.j.ed);if(s>c.NEARBY&&o.width-c.NEARBY>s)return void this.hideResizeHandle();const r=(0,d.offset)(this.j.workplace,this.j,this.j.od,!0),n=(0,d.offset)(t,this.j,this.j.ed);if(this.resizeHandler.style.left=(s>c.NEARBY?o.left+o.width:o.left)-r.left+i+"px",Object.assign(this.resizeHandler.style,{height:n.height+"px",top:n.top-r.top+"px"}),this.showResizeHandle(),s>c.NEARBY){const t=(0,d.call)(this.isRTL?nt.i.prev:nt.i.next,e,nt.i.isCell,e.parentNode);this.setWorkCell(e,!!t&&null)}else{const t=(0,d.call)(this.isRTL?nt.i.next:nt.i.prev,e,nt.i.isCell,e.parentNode);this.setWorkCell(t||e,!t||null)}}afterInit(t){t.o.tableAllowCellResize&&t.e.off(this.j.ow,".resize-cells").off(".resize-cells").on("change.resize-cells afterCommand.resize-cells afterSetMode.resize-cells",(()=>{(0,d.$$)("table",t.editor).forEach(this.observe)})).on(this.j.ow,"scroll.resize-cells",(()=>{if(!this.drag)return;const e=nt.i.up(this.workCell,(t=>nt.i.isTag(t,"table")),t.editor);if(e){const t=e.getBoundingClientRect();this.resizeHandler.style.top=t.top+"px"}})).on("beforeSetMode.resize-cells",(()=>{this.module.getAllSelectedCells().forEach((e=>{this.module.removeSelection(e),h.Table.normalizeTable(nt.i.closest(e,"table",t.editor))}))}))}observe(t){(0,d.dataBind)(t,Re)||((0,d.dataBind)(t,Re,!0),this.j.e.on(t,"mouseleave.resize-cells",(t=>{this.resizeHandler&&this.resizeHandler!==t.relatedTarget&&this.hideResizeHandle()})).on(t,"mousemove.resize-cells touchmove.resize-cells",this.j.async.throttle((e=>{if(this.j.isLocked)return;const s=nt.i.up(e.target,nt.i.isCell,t);s&&this.calcHandlePosition(t,s,e.offsetX)}),{timeout:this.j.defaultTimeout})),this.createResizeHandle())}beforeDestruct(t){t.events&&(t.e.off(this.j.ow,".resize-cells"),t.e.off(".resize-cells"))}}(0,a.gn)([f.autobind],Ae.prototype,"onHandleMouseDown",null),(0,a.gn)([f.autobind],Ae.prototype,"onMouseMove",null),(0,a.gn)([f.autobind],Ae.prototype,"onMouseUp",null),(0,a.gn)([f.autobind],Ae.prototype,"observe",null),p.pw.add("resizeCells",Ae),l.D.prototype.allowResizeX=!1,l.D.prototype.allowResizeY=!0;let Oe=class t extends it.S{constructor(){super(...arguments),this.isResized=!1,this.start={x:0,y:0,w:0,h:0},this.handle=this.j.c.div("jodit-editor__resize",tt.JO.get("resize_handler"))}afterInit(t){const{height:e,width:s,allowResizeX:i}=t.o;let{allowResizeY:o}=t.o;"auto"===e&&"auto"!==s&&(o=!1),"auto"===e&&"auto"===s||!i&&!o||(t.statusbar.setMod("resize-handle",!0),t.e.on("toggleFullSize.resizeHandler",(()=>{this.handle.style.display=t.isFullSize?"none":"block"})).on(this.handle,"mousedown touchstart",this.onHandleResizeStart).on(t.ow,"mouseup touchend",this.onHandleResizeEnd),t.container.appendChild(this.handle))}onHandleResizeStart(t){this.isResized=!0,this.start.x=t.clientX,this.start.y=t.clientY,this.start.w=this.j.container.offsetWidth,this.start.h=this.j.container.offsetHeight,this.j.lock(),this.j.e.on(this.j.ow,"mousemove touchmove",this.onHandleResize),t.preventDefault()}onHandleResize(t){this.isResized&&(this.j.o.allowResizeY&&this.j.e.fire("setHeight",this.start.h+t.clientY-this.start.y),this.j.o.allowResizeX&&this.j.e.fire("setWidth",this.start.w+t.clientX-this.start.x),this.j.e.fire("resize"))}onHandleResizeEnd(){this.isResized&&(this.isResized=!1,this.j.e.off(this.j.ow,"mousemove touchmove",this.onHandleResize),this.j.unlock())}beforeDestruct(){ot.i.safeRemove(this.handle),this.j.e.off(this.j.ow,"mouseup touchsend",this.onHandleResizeEnd)}};Oe.requires=["size"],Oe=(0,a.gn)([f.autobind],Oe),p.pw.add("resizeHandler",Oe),l.D.prototype.allowResizeTags=["img","iframe","table","jodit"],l.D.prototype.resizer={showSize:!0,hideSizeTimeout:1e3,forImageChangeAttributes:!0,min_width:10,min_height:10,useAspectRatio:["img"]};const Be="__jodit-resizer_binded";class He extends vt.S{constructor(){super(...arguments),this.LOCK_KEY="resizer",this.element=null,this.isResizeMode=!1,this.isShown=!1,this.startX=0,this.startY=0,this.width=0,this.height=0,this.ratio=0,this.rect=this.j.c.fromHTML(`
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t100x100\n\t\t\t
`),this.sizeViewer=this.rect.getElementsByTagName("span")[0],this.pointerX=0,this.pointerY=0,this.isAltMode=!1,this.onClickElement=t=>{this.isResizeMode||this.element===t&&this.isShown||(this.element=t,this.show(),nt.i.isTag(this.element,"img")&&!this.element.complete&&this.j.e.one(this.element,"load",this.updateSize))},this.updateSize=()=>{if(!this.isInDestruct&&this.isShown&&this.element&&this.rect){const t=this.getWorkplacePosition(),e=(0,d.offset)(this.element,this.j,this.j.ed),s=parseInt(this.rect.style.left||"0",10),i=this.rect.offsetWidth,o=this.rect.offsetHeight,r=e.top-t.top,n=e.left-t.left;parseInt(this.rect.style.top||"0",10)===r&&s===n&&i===this.element.offsetWidth&&o===this.element.offsetHeight||((0,d.css)(this.rect,{top:r,left:n,width:this.element.offsetWidth,height:this.element.offsetHeight}),this.j.events&&(this.j.e.fire(this.element,"changesize"),isNaN(s)||this.j.e.fire("resize")))}},this.hideSizeViewer=()=>{this.sizeViewer.style.opacity="0"}}afterInit(t){(0,d.$$)("div",this.rect).forEach((e=>{t.e.on(e,"mousedown.resizer touchstart.resizer",this.onStartResizing.bind(this,e))})),p.TB.on("hideHelpers",this.hide),t.e.on("readonly",(t=>{t&&this.hide()})).on("afterInit changePlace",this.addEventListeners.bind(this)).on("afterGetValueFromEditor.resizer",(t=>{const e=/]+data-jodit_iframe_wrapper[^>]+>(.*?]*>.*?<\/iframe>.*?)<\/jodit>/gi;e.test(t.value)&&(t.value=t.value.replace(e,"$1"))})).on("hideResizer",this.hide).on("change afterInit afterSetMode",this.onChangeEditor),this.addEventListeners(),this.onChangeEditor()}onEditorClick(t){let e=t.target;const{editor:s,options:{allowResizeTags:i}}=this.j;for(;e&&e!==s;){if(nt.i.isTag(e,i))return this.bind(e),void this.onClickElement(e);e=e.parentNode}}addEventListeners(){const t=this.j;t.e.off(t.editor,".resizer").off(t.ow,".resizer").on(t.editor,"keydown.resizer",(t=>{this.isShown&&t.key===c.KEY_DELETE&&this.element&&!nt.i.isTag(this.element,"table")&&this.onDelete(t)})).on(t.ow,"resize.resizer",this.updateSize).on("resize.resizer",this.updateSize).on([t.ow,t.editor],"scroll.resizer",(()=>{this.isShown&&!this.isResizeMode&&this.hide()})).on(t.ow,"keydown.resizer",this.onKeyDown).on(t.ow,"keyup.resizer",this.onKeyUp).on(t.ow,"mouseup.resizer touchend.resizer",this.onClickOutside)}onStartResizing(t,e){if(!this.element||!this.element.parentNode)return this.hide(),!1;this.handle=t,e.cancelable&&e.preventDefault(),e.stopImmediatePropagation(),this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.ratio=this.width/this.height,this.isResizeMode=!0,this.startX=e.clientX,this.startY=e.clientY,this.pointerX=e.clientX,this.pointerY=e.clientY;const{j:s}=this;s.e.fire("hidePopup"),s.lock(this.LOCK_KEY),s.e.on(s.ow,"mousemove.resizer touchmove.resizer",this.onResize)}onEndResizing(){const{j:t}=this;t.unlock(),this.isResizeMode=!1,this.isAltMode=!1,t.synchronizeValues(),t.e.off(t.ow,"mousemove.resizer touchmove.resizer",this.onResize)}onResize(t){if(this.isResizeMode){if(!this.element)return;let e,s;if(this.pointerX=t.clientX,this.pointerY=t.clientY,this.j.options.iframe){const i=this.getWorkplacePosition();e=t.clientX+i.left-this.startX,s=t.clientY+i.top-this.startY}else e=this.pointerX-this.startX,s=this.pointerY-this.startY;const i=this.handle.className;let o=0,r=0;const n=this.j.o.resizer.useAspectRatio;!this.isAltMode&&(!0===n||Array.isArray(n)&&nt.i.isTag(this.element,n))?(e?(o=this.width+(i.match(/left/)?-1:1)*e,r=Math.round(o/this.ratio)):(r=this.height+(i.match(/top/)?-1:1)*s,o=Math.round(r*this.ratio)),o>(0,d.innerWidth)(this.j.editor,this.j.ow)&&(o=(0,d.innerWidth)(this.j.editor,this.j.ow),r=Math.round(o/this.ratio))):(o=this.width+(i.match(/left/)?-1:1)*e,r=this.height+(i.match(/top/)?-1:1)*s),o>this.j.o.resizer.min_width&&this.applySize(this.element,"width",this.rect.parentNode.offsetWidth>o?o:"100%"),r>this.j.o.resizer.min_height&&this.applySize(this.element,"height",r),this.updateSize(),this.showSizeViewer(this.element.offsetWidth,this.element.offsetHeight),t.stopImmediatePropagation()}}onKeyDown(t){this.isAltMode=t.key===c.KEY_ALT,!this.isAltMode&&this.isResizeMode&&this.onEndResizing()}onKeyUp(){this.isAltMode&&this.isResizeMode&&this.element&&(this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.ratio=this.width/this.height,this.startX=this.pointerX,this.startY=this.pointerY),this.isAltMode=!1}onClickOutside(t){if(this.isShown){if(!this.isResizeMode)return this.hide();t.stopImmediatePropagation(),this.onEndResizing()}}getWorkplacePosition(){return(0,d.offset)(this.rect.parentNode||this.j.od.documentElement,this.j,this.j.od,!0)}applySize(t,e,s){const i=nt.i.isImage(t)&&this.j.o.resizer.forImageChangeAttributes;i&&(0,d.attr)(t,e,s),i&&!t.style[e]||(0,d.css)(t,e,s)}onDelete(t){this.element&&("JODIT"!==this.element.tagName?this.j.s.select(this.element):(nt.i.safeRemove(this.element),this.hide(),t.preventDefault()))}onChangeEditor(){this.isShown&&(this.element&&this.element.parentNode?this.updateSize():this.hide()),(0,d.$$)("iframe",this.j.editor).forEach(this.bind)}bind(t){if(!nt.i.isHTMLElement(t)||!this.j.o.allowResizeTags.includes(t.tagName.toLowerCase())||(0,d.dataBind)(t,Be))return;let e;if((0,d.dataBind)(t,Be,!0),nt.i.isTag(t,"iframe")){const s=t;nt.i.isHTMLElement(t.parentNode)&&(0,d.attr)(t.parentNode,"-jodit_iframe_wrapper")?t=t.parentNode:(e=this.j.createInside.element("jodit",{"data-jodit-temp":1,contenteditable:!1,draggable:!0,"data-jodit_iframe_wrapper":1}),(0,d.attr)(e,"style",(0,d.attr)(t,"style")),(0,d.css)(e,{display:"inline-block"===t.style.display?"inline-block":"block",width:t.offsetWidth,height:t.offsetHeight}),t.parentNode&&t.parentNode.insertBefore(e,t),e.appendChild(t),this.j.e.on(e,"click",(()=>{(0,d.attr)(e,"data-jodit-wrapper_active",!0)})),t=e),this.j.e.off(t,"mousedown.select touchstart.select").on(t,"mousedown.select touchstart.select",(()=>{this.j.s.select(t)})).off(t,"changesize").on(t,"changesize",(()=>{s.setAttribute("width",t.offsetWidth+"px"),s.setAttribute("height",t.offsetHeight+"px")}))}this.j.e.on(t,"dragstart",this.hide)}showSizeViewer(t,e){this.j.o.resizer.showSize&&(this.sizeViewer.offsetWidth>t||this.sizeViewer.offsetHeight>e?this.hideSizeViewer():(this.sizeViewer.style.opacity="1",this.sizeViewer.textContent=`${t} x ${e}`,this.j.async.setTimeout(this.hideSizeViewer,{timeout:this.j.o.resizer.hideSizeTimeout,label:"hideSizeViewer"})))}show(){this.j.o.readonly||this.isShown||(this.isShown=!0,this.rect.parentNode||((0,d.markOwner)(this.j,this.rect),this.j.workplace.appendChild(this.rect)),this.j.isFullSize&&(this.rect.style.zIndex=""+(0,d.css)(this.j.container,"zIndex")),this.updateSize())}hide(){this.isResizeMode||(this.isResizeMode=!1,this.isShown=!1,this.element=null,nt.i.safeRemove(this.rect),(0,d.$$)("[data-jodit-wrapper_active='true']",this.j.editor).forEach((t=>(0,d.attr)(t,"data-jodit-wrapper_active",!1))))}beforeDestruct(t){this.hide(),p.TB.off("hideHelpers",this.hide),t.e.off(this.j.ow,".resizer").off(".resizer")}}(0,a.gn)([(0,f.watch)(":click")],He.prototype,"onEditorClick",null),(0,a.gn)([f.autobind],He.prototype,"onStartResizing",null),(0,a.gn)([f.autobind],He.prototype,"onEndResizing",null),(0,a.gn)([f.autobind],He.prototype,"onResize",null),(0,a.gn)([f.autobind],He.prototype,"onKeyDown",null),(0,a.gn)([f.autobind],He.prototype,"onKeyUp",null),(0,a.gn)([f.autobind],He.prototype,"onClickOutside",null),(0,a.gn)([(0,f.debounce)()],He.prototype,"onChangeEditor",null),(0,a.gn)([f.autobind],He.prototype,"bind",null),(0,a.gn)([f.autobind],He.prototype,"hide",null),p.pw.add("resizer",He);let Fe=class t extends tt.u1{className(){return"UISearch"}render(){return`
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t0/0\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
`}get currentIndex(){return this._currentIndex}set currentIndex(t){this._currentIndex=t,this.currentBox.innerText=""+t}set count(t){this.countBox.innerText=""+t}get query(){return this.queryInput.value}get replace(){return this.replaceInput.value}constructor(t){super(t),this.selInfo=null,this._currentIndex=0,this.isOpened=!1;const{query:e,replace:s,cancel:i,next:o,prev:r,replaceBtn:n,current:a,count:l}=(0,d.refs)(this.container);this.queryInput=e,this.replaceInput=s,this.closeButton=i,this.replaceButton=n,this.currentBox=a,this.countBox=l,t.e.on(this.closeButton,"pointerdown",(()=>(this.close(),!1))).on(this.queryInput,"input",(()=>{this.currentIndex=0})).on(this.queryInput,"pointerdown",(()=>{t.s.isFocused()&&(t.s.removeMarkers(),this.selInfo=t.s.save())})).on(this.replaceButton,"pointerdown",(()=>(t.e.fire(this,"pressReplaceButton"),!1))).on(o,"pointerdown",(()=>(t.e.fire("searchNext"),!1))).on(r,"pointerdown",(()=>(t.e.fire("searchPrevious"),!1))).on(this.queryInput,"input",(()=>{this.setMod("empty-query",!(0,d.trim)(this.queryInput.value).length)})).on(this.queryInput,"keydown",this.j.async.debounce((e=>{e.key===c.KEY_ENTER?(e.preventDefault(),e.stopImmediatePropagation(),t.e.fire("searchNext")&&this.close()):t.e.fire(this,"needUpdateCounters")}),this.j.defaultTimeout))}onEditorKeyDown(t){if(!this.isOpened)return;const{j:e}=this;if(e.getRealMode()===c.MODE_WYSIWYG)switch(t.key){case c.KEY_ESC:this.close();break;case c.KEY_F3:this.queryInput.value&&(e.e.fire(t.shiftKey?"searchPrevious":"searchNext"),t.preventDefault())}}open(t,e,s=!1){this.isOpened||(this.j.workplace.appendChild(this.container),this.isOpened=!0),this.calcSticky(this.j.e.fire("getStickyState.sticky")||!1),this.j.e.fire("hidePopup"),this.setMod("replace",s);const i=null!=t?t:""+(this.j.s.sel||"");i&&(this.queryInput.value=i),e&&(this.replaceInput.value=e),this.setMod("empty-query",!i.length),this.j.e.fire(this,"needUpdateCounters"),i?this.queryInput.select():this.queryInput.focus()}close(){this.isOpened&&(this.j.s.restore(),ot.i.safeRemove(this.container),this.isOpened=!1,this.j.e.fire(this,"afterClose"))}calcSticky(t){if(this.isOpened)if(this.setMod("sticky",t),t){const t=(0,d.position)(this.j.toolbarContainer);(0,d.css)(this.container,{top:t.top+t.height,left:t.left+t.width})}else(0,d.css)(this.container,{top:null,left:null})}};(0,a.gn)([(0,f.watch)([":keydown","queryInput:keydown"])],Fe.prototype,"onEditorKeyDown",null),(0,a.gn)([f.autobind],Fe.prototype,"open",null),(0,a.gn)([f.autobind],Fe.prototype,"close",null),(0,a.gn)([(0,f.watch)(":toggleSticky")],Fe.prototype,"calcSticky",null),Fe=(0,a.gn)([f.component],Fe);var We=i(93163);class Ve{constructor(t=We.Q){this.searchIndex=t,this.queue=[],this.value=""}add(t){var e;const s=(null!==(e=t.nodeValue)&&void 0!==e?e:"").toLowerCase();if(!s.length)return;const i=this.value.length;this.queue.push({startIndex:i,endIndex:i+s.length,node:t}),this.value+=s}ranges(t,e=0){const s=[];let i=e,o=0,r=0;do{if([i,o]=this.searchIndex(t,this.value,i),-1!==i){let t,e,n=0,a=0;for(let s=r;this.queue.length>s;s+=1)if(!t&&this.queue[s].endIndex>i&&(t=this.queue[s].node,n=i-this.queue[s].startIndex),t&&this.queue[s].endIndex>=i+o){e=this.queue[s].node,a=i+o-this.queue[s].startIndex,r=s;break}t&&e&&s.push({startContainer:t,startOffset:n,endContainer:e,endOffset:a}),i+=o}}while(-1!==i);return 0===s.length?null:s}}const $e="jd-tmp-selection";function Ye(t,e,s,i){if(null==t.startContainer.nodeValue||null==t.endContainer.nodeValue)return;const o=s.element("span",{[$e]:!0});nt.i.markTemporary(o);const r=t.startContainer.nodeValue;let n=0;if(0!==t.startOffset){const e=s.text(r.substring(0,t.startOffset));t.startContainer.nodeValue=r.substring(t.startOffset),nt.i.before(t.startContainer,e),t.startContainer===t.endContainer&&(n=t.startOffset,t.endOffset-=n),t.startOffset=0}const a=t.endContainer.nodeValue;if(t.endOffset!==a.length){const i=s.text(a.substring(t.endOffset));t.endContainer.nodeValue=a.substring(0,t.endOffset),nt.i.after(t.endContainer,i);for(const s of e){if(s.startContainer!==t.endContainer)break;s.startContainer=i,s.startOffset=s.startOffset-t.endOffset-n,s.endContainer===t.endContainer&&(s.endContainer=i,s.endOffset=s.endOffset-t.endOffset-n)}t.endOffset=t.endContainer.nodeValue.length}let l=t.startContainer;do{if(!l)break;if(!nt.i.isText(l)||nt.i.isElement(c=l.parentNode)&&c.hasAttribute($e)||nt.i.wrap(l,o.cloneNode(),s),l===t.endContainer)break;let e=l.firstChild||l.nextSibling;if(!e){for(;l&&!l.nextSibling&&l!==i;)l=l.parentNode;e=null==l?void 0:l.nextSibling}l=e}while(l&&l!==i);var c}function Ue(t){return(0,$t.$$)(`[${$e}]`,t)}function Ge(t){Ue(t).forEach((t=>nt.i.unwrap(t)))}l.D.prototype.useSearch=!0,l.D.prototype.search={lazyIdleTimeout:0},Q.J.set("search",i(41197)),l.D.prototype.controls.find={tooltip:"Find",icon:"search",exec(t,e,{control:s}){switch(s.args&&s.args[0]){case"findPrevious":t.e.fire("searchPrevious");break;case"findNext":t.e.fire("searchNext");break;case"replace":t.execCommand("openReplaceDialog");break;default:t.execCommand("openSearchDialog")}},list:{search:"Find",findNext:"Find Next",findPrevious:"Find Previous",replace:"Replace"},childTemplate(t,e,s){return s}};class Xe extends it.S{constructor(){super(...arguments),this.buttons=[{name:"find",group:"search"}],this.previousQuery="",this.drawPromise=null,this.walker=null,this.walkerCount=null,this.cache={},this.wrapFrameRequest=0}get ui(){return new Fe(this.j)}async updateCounters(){this.ui.isOpened&&(this.ui.count=await this.calcCounts(this.ui.query))}onPressReplaceButton(){this.findAndReplace(this.ui.query),this.updateCounters()}tryScrollToElement(t){let e=ot.i.closest(t,ot.i.isElement,this.j.editor);e||(e=ot.i.prev(t,ot.i.isElement,this.j.editor)),e&&e!==this.j.editor&&(0,d.scrollIntoViewIfNeeded)(e,this.j.editor,this.j.ed)}async calcCounts(t){return(await this.findQueryBounds(t,"walkerCount")).length}async findQueryBounds(t,e){let s=this[e];return s&&s.break(),s=new ot.b(this.j.async,{timeout:this.j.o.search.lazyIdleTimeout}),this[e]=s,this.find(s,t).catch((t=>[]))}async findAndReplace(t){const e=await this.findQueryBounds(t,"walker");if(!e.length)return!1;let s=this.findCurrentIndexInRanges(e,this.j.s.range);-1===s&&(s=0);const i=e[s];if(i){try{const e=this.j.ed.createRange();e.setStart(i.startContainer,i.startOffset),e.setEnd(i.endContainer,i.endOffset),e.deleteContents();const o=this.j.createInside.text(this.ui.replace);ot.i.safeInsertNode(e,o),Ge(this.j.editor),this.j.s.setCursorAfter(o),this.tryScrollToElement(o),this.cache={},this.ui.currentIndex=s,await this.findAndSelect(t,!0).catch((t=>null))}finally{this.j.synchronizeValues()}return this.j.e.fire("afterFindAndReplace"),!0}return!1}async findAndSelect(t,e){var s;const i=await this.findQueryBounds(t,"walker");if(!i.length)return!1;this.previousQuery===t&&Ue(this.j.editor).length||(null===(s=this.drawPromise)||void 0===s||s.rejectCallback(),this.j.async.cancelAnimationFrame(this.wrapFrameRequest),Ge(this.j.editor),this.drawPromise=this.drawSelectionRanges(i)),this.previousQuery=t;let o=this.ui.currentIndex-1;o=-1===o?0:e?o===i.length-1?0:o+1:0===o?i.length-1:o-1,this.ui.currentIndex=o+1;const r=i[o];if(r){const t=this.j.ed.createRange();try{t.setStart(r.startContainer,r.startOffset),t.setEnd(r.endContainer,r.endOffset),this.j.s.selectRange(t)}catch(t){}return this.tryScrollToElement(r.startContainer),await this.updateCounters(),await this.drawPromise,this.j.e.fire("afterFindAndSelect"),!0}return!1}findCurrentIndexInRanges(t,e){return t.findIndex((t=>t.startContainer===e.startContainer&&t.startOffset===e.startOffset&&t.endContainer===e.startContainer&&t.endOffset===e.endOffset))}async isValidCache(t){return(await t).every((t=>{var e,s,i,o;return t.startContainer.isConnected&&t.startOffset<=(null!==(s=null===(e=t.startContainer.nodeValue)||void 0===e?void 0:e.length)&&void 0!==s?s:0)&&t.endContainer.isConnected&&t.endOffset<=(null!==(o=null===(i=t.endContainer.nodeValue)||void 0===i?void 0:i.length)&&void 0!==o?o:0)}))}async find(t,e){if(!e.length)return[];const s=this.cache[e];return s&&await this.isValidCache(s)?s:(this.cache[e]=this.j.async.promise((s=>{const i=new Ve(this.j.o.search.fuzzySearch);t.on("break",(()=>{s([])})).on("visit",(t=>(ot.i.isText(t)&&i.add(t),!1))).on("end",(()=>{var t;s(null!==(t=i.ranges(e))&&void 0!==t?t:[])})).setWork(this.j.editor)})),this.cache[e])}drawSelectionRanges(t){const{async:e,createInside:s,editor:i}=this.j;e.cancelAnimationFrame(this.wrapFrameRequest);const o=[...t];let r,n=0;return e.promise((t=>{const a=()=>{do{r=o.shift(),r&&Ye(r,o,s,i),n+=1}while(r&&5>=n);o.length?this.wrapFrameRequest=e.requestAnimationFrame(a):t()};a()}))}onAfterGetValueFromEditor(t){t.value=t.value.replace(RegExp(`]+${$e}[^>]+>(.*?)`,"g"),"$1")}afterInit(t){if(t.o.useSearch){const e=this;t.e.on("beforeSetMode.search",(()=>{this.ui.close()})).on(this.ui,"afterClose",(()=>{Ge(t.editor),this.ui.currentIndex=0,this.ui.count=0,this.cache={}})).on("click",(()=>{this.ui.currentIndex=0,Ge(t.editor)})).on("change.search",(()=>{this.cache={}})).on("keydown.search mousedown.search",t.async.debounce((()=>{this.ui.selInfo&&(t.s.removeMarkers(),this.ui.selInfo=null),this.ui.isOpened&&this.updateCounters()}),t.defaultTimeout)).on("searchNext.search searchPrevious.search",(()=>(this.ui.isOpened||this.ui.open(),e.findAndSelect(e.ui.query,"searchNext"===t.e.current).catch((t=>{}))))).on("search.search",((t,s=!0)=>(this.ui.currentIndex=0,e.findAndSelect(t||"",s).catch((t=>{}))))),t.registerCommand("search",{exec(t,s,i=!0){return s&&e.findAndSelect(s,i).catch((t=>{})),!1}}).registerCommand("openSearchDialog",{exec(t,s){return e.ui.open(s),!1},hotkeys:["ctrl+f","cmd+f"]}).registerCommand("openReplaceDialog",{exec(s,i,o){return t.o.readonly||e.ui.open(i,o,!0),!1},hotkeys:["ctrl+h","cmd+h"]})}}beforeDestruct(t){this.ui.destruct(),t.e.off(".search")}}(0,a.gn)([f.cache],Xe.prototype,"ui",null),(0,a.gn)([(0,f.watch)("ui:needUpdateCounters")],Xe.prototype,"updateCounters",null),(0,a.gn)([(0,f.watch)("ui:pressReplaceButton")],Xe.prototype,"onPressReplaceButton",null),(0,a.gn)([f.autobind],Xe.prototype,"findQueryBounds",null),(0,a.gn)([f.autobind],Xe.prototype,"findAndReplace",null),(0,a.gn)([f.autobind],Xe.prototype,"findAndSelect",null),(0,a.gn)([f.autobind],Xe.prototype,"find",null),(0,a.gn)([(0,f.watch)(":afterGetValueFromEditor")],Xe.prototype,"onAfterGetValueFromEditor",null),p.pw.add("search",Xe);var Ke=i(26596);l.D.prototype.select={normalizeSelectionBeforeCutAndCopy:!1};class Je extends it.S{constructor(){super(...arguments),this.proxyEventsList=["click","mousedown","touchstart","mouseup","touchend"]}afterInit(t){this.proxyEventsList.forEach((e=>{t.e.on(e+".select",this.onStartSelection)}))}beforeDestruct(t){this.proxyEventsList.forEach((e=>{t.e.on(e+".select",this.onStartSelection)}))}onStartSelection(t){const{j:e}=this;let s,i=t.target;for(;void 0===s&&i&&i!==e.editor;)s=e.e.fire((0,Ke.e)(t.type+"_"+i.nodeName.toLowerCase()),i,t),i=i.parentElement;"click"===t.type&&void 0===s&&i===e.editor&&e.e.fire(t.type+"Editor",i,t)}onOutsideClick(t){const e=t.target;nt.i.up(e,(t=>t===this.j.editor))||tt.u1.closestElement(e,tt.GI)||this.j.e.fire("outsideClick",t)}beforeCommandCut(t){const{s:e}=this.j;if("cut"===t&&!e.isCollapsed()){const t=e.current();t&&nt.i.isOrContains(this.j.editor,t)&&this.onCopyNormalizeSelectionBound()}}onCopyNormalizeSelectionBound(t){const{s:e,editor:s,o:i}=this.j;i.select.normalizeSelectionBeforeCutAndCopy&&!e.isCollapsed()&&(!t||t.isTrusted&&nt.i.isNode(t.target)&&nt.i.isOrContains(s,t.target))&&this.jodit.s.expandSelection()}}(0,a.gn)([f.autobind],Je.prototype,"onStartSelection",null),(0,a.gn)([(0,f.watch)("ow:click")],Je.prototype,"onOutsideClick",null),(0,a.gn)([(0,f.watch)([":beforeCommand"])],Je.prototype,"beforeCommandCut",null),(0,a.gn)([(0,f.watch)([":copy",":cut"])],Je.prototype,"onCopyNormalizeSelectionBound",null),p.pw.add("select",Je),l.D.prototype.tableAllowCellSelection=!0;const Ze="table_processor_observer",Qe="onMoveTableSelectCell";class ts extends it.S{constructor(){super(...arguments),this.requires=["select"],this.selectedCell=null,this.isSelectionMode=!1}get module(){return this.j.getInstance("Table",this.j.o)}afterInit(t){t.o.tableAllowCellSelection&&t.e.on("keydown.select-cells",(t=>{t.key===c.KEY_TAB&&this.unselectCells()})).on("beforeCommand.select-cells",this.onExecCommand).on("afterCommand.select-cells",this.onAfterCommand).on(["clickEditor","mousedownTd","mousedownTh","touchstartTd","touchstartTh"].map((t=>t+".select-cells")).join(" "),this.onStartSelection).on("clickTr clickTbody",(()=>{var t;const e=this.module.getAllSelectedCells().length;if(e)return e>1&&(null===(t=this.j.s.sel)||void 0===t||t.removeAllRanges()),!1}))}onStartSelection(t){if(this.j.o.readonly)return;if(this.unselectCells(),t===this.j.editor)return;const e=nt.i.closest(t,"table",this.j.editor);return t&&e?(t.firstChild||t.appendChild(this.j.createInside.element("br")),this.isSelectionMode=!0,this.selectedCell=t,this.module.addSelection(t),this.j.e.on(e,"mousemove.select-cells touchmove.select-cells",this.j.async.throttle(this.onMove.bind(this,e),{label:Qe,timeout:this.j.defaultTimeout/2})).on(e,"mouseup.select-cells touchend.select-cells",this.onStopSelection.bind(this,e)),!1):void 0}onOutsideClick(){this.selectedCell=null,this.onRemoveSelection()}onChange(){this.j.isLocked||this.isSelectionMode||this.onRemoveSelection()}onMove(t,e){var s;if(this.j.o.readonly&&!this.j.isLocked)return;if(this.j.isLockedNotBy(Ze))return;const i=this.j.ed.elementFromPoint(e.clientX,e.clientY);if(!i)return;const o=nt.i.closest(i,["td","th"],t);if(!o||!this.selectedCell)return;o!==this.selectedCell&&this.j.lock(Ze),this.unselectCells();const r=h.Table.getSelectedBound(t,[o,this.selectedCell]),n=h.Table.formalMatrix(t);for(let t=r[0][0];r[1][0]>=t;t+=1)for(let e=r[0][1];r[1][1]>=e;e+=1)this.module.addSelection(n[t][e]);this.module.getAllSelectedCells().length>1&&(null===(s=this.j.s.sel)||void 0===s||s.removeAllRanges()),this.j.e.fire("hidePopup"),e.stopPropagation(),(()=>{const t=this.j.createInside.fromHTML('
 
');o.appendChild(t),this.j.async.setTimeout((()=>{var e;null===(e=t.parentNode)||void 0===e||e.removeChild(t)}),this.j.defaultTimeout/5)})()}onRemoveSelection(t){var e;if(!(null===(e=null==t?void 0:t.buffer)||void 0===e?void 0:e.actionTrigger)&&!this.selectedCell&&this.module.getAllSelectedCells().length)return this.j.unlock(),this.unselectCells(),void this.j.e.fire("hidePopup","cells");this.isSelectionMode=!1,this.selectedCell=null}onStopSelection(t,e){if(!this.selectedCell)return;this.isSelectionMode=!1,this.j.unlock();const s=this.j.ed.elementFromPoint(e.clientX,e.clientY);if(!s)return;const i=nt.i.closest(s,["td","th"],t);if(!i)return;const o=nt.i.closest(i,"table",t);if(o&&o!==t)return;const r=h.Table.getSelectedBound(t,[i,this.selectedCell]),n=h.Table.formalMatrix(t),a=n[r[1][0]][r[1][1]],l=n[r[0][0]][r[0][1]];this.j.e.fire("showPopup",t,(()=>{const t=(0,d.position)(l,this.j),e=(0,d.position)(a,this.j);return{left:t.left,top:t.top,width:e.left-t.left+e.width,height:e.top-t.top+e.height}}),"cells"),(0,d.$$)("table",this.j.editor).forEach((t=>{this.j.e.off(t,"mousemove.select-cells touchmove.select-cells mouseup.select-cells touchend.select-cells")})),this.j.async.clearTimeout(Qe)}unselectCells(t){const e=this.module,s=e.getAllSelectedCells();s.length&&s.forEach((s=>{t&&t===s||e.removeSelection(s)}))}onExecCommand(t){if(/table(splitv|splitg|merge|empty|bin|binrow|bincolumn|addcolumn|addrow)/.test(t)){t=t.replace("table","");const e=this.module.getAllSelectedCells();if(e.length){const[s]=e;if(!s)return;const i=nt.i.closest(s,"table",this.j.editor);if(!i)return;switch(t){case"splitv":h.Table.splitVertical(i,this.j);break;case"splitg":h.Table.splitHorizontal(i,this.j);break;case"merge":h.Table.mergeSelected(i,this.j);break;case"empty":e.forEach((t=>nt.i.detach(t)));break;case"bin":nt.i.safeRemove(i);break;case"binrow":new Set(e.map((t=>t.parentNode))).forEach((t=>{h.Table.removeRow(i,t.rowIndex)}));break;case"bincolumn":{const t=new Set;e.reduce(((e,s)=>(t.has(s.cellIndex)||(e.push(s),t.add(s.cellIndex)),e)),[]).forEach((t=>{h.Table.removeColumn(i,t.cellIndex)}))}break;case"addcolumnafter":case"addcolumnbefore":h.Table.appendColumn(i,s.cellIndex,"addcolumnafter"===t,this.j.createInside);break;case"addrowafter":case"addrowbefore":h.Table.appendRow(i,s.parentNode,"addrowafter"===t,this.j.createInside)}}return!1}}onAfterCommand(t){/^justify/.test(t)&&this.module.getAllSelectedCells().forEach((e=>(0,d.alignElement)(t,e)))}beforeDestruct(t){this.onRemoveSelection(),t.e.off(".select-cells")}}(0,a.gn)([f.autobind],ts.prototype,"onStartSelection",null),(0,a.gn)([(0,f.watch)(":outsideClick")],ts.prototype,"onOutsideClick",null),(0,a.gn)([(0,f.watch)(":change")],ts.prototype,"onChange",null),(0,a.gn)([f.autobind],ts.prototype,"onRemoveSelection",null),(0,a.gn)([f.autobind],ts.prototype,"onStopSelection",null),(0,a.gn)([f.autobind],ts.prototype,"onExecCommand",null),(0,a.gn)([f.autobind],ts.prototype,"onAfterCommand",null),p.pw.add("selectCells",ts),l.D.prototype.minWidth=200,l.D.prototype.maxWidth="100%",l.D.prototype.minHeight=200,l.D.prototype.maxHeight="auto",l.D.prototype.saveHeightInStorage=!1;let es=class t extends vt.S{constructor(){super(...arguments),this.resizeWorkspaces=this.j.async.debounce(this.resizeWorkspaceImd,this.j.defaultTimeout,!0)}afterInit(t){t.e.on("setHeight.size",this.setHeight).on("setWidth.size",this.setWidth).on("afterInit.size changePlace.size",this.initialize,{top:!0}).on(t.ow,"load.size",this.resizeWorkspaces).on("afterInit.size resize.size afterUpdateToolbar.size scroll.size afterResize.size",this.resizeWorkspaces).on("toggleFullSize.size toggleToolbar.size",this.resizeWorkspaceImd),this.initialize()}initialize(){const{j:t}=this;if(t.o.inline)return;let{height:e}=t.o;if(t.o.saveHeightInStorage&&"auto"!==e){const s=t.storage.get("height");s&&(e=s)}(0,d.css)(t.editor,{minHeight:"100%"}),(0,d.css)(t.container,{minHeight:t.o.minHeight,maxHeight:t.o.maxHeight,minWidth:t.o.minWidth,maxWidth:t.o.maxWidth}),this.setHeight(e),this.setWidth(t.o.width)}setHeight(t){if((0,d.isNumber)(t)){const{minHeight:e,maxHeight:s}=this.j.o;(0,d.isNumber)(e)&&e>t&&(t=e),(0,d.isNumber)(s)&&t>s&&(t=s)}(0,d.css)(this.j.container,"height",t),this.j.o.saveHeightInStorage&&this.j.storage.set("height",t),this.resizeWorkspaceImd()}setWidth(t){if((0,d.isNumber)(t)){const{minWidth:e,maxWidth:s}=this.j.o;(0,d.isNumber)(e)&&e>t&&(t=e),(0,d.isNumber)(s)&&t>s&&(t=s)}(0,d.css)(this.j.container,"width",t),this.resizeWorkspaceImd()}getNotWorkHeight(){var t,e;return((null===(t=this.j.toolbarContainer)||void 0===t?void 0:t.offsetHeight)||0)+((null===(e=this.j.statusbar)||void 0===e?void 0:e.getHeight())||0)+2}resizeWorkspaceImd(){if(!this.j||this.j.isDestructed||!this.j.o||this.j.o.inline)return;if(!this.j.container||!this.j.container.parentNode)return;const t=((0,d.css)(this.j.container,"minHeight")||0)-this.getNotWorkHeight();if((0,d.isNumber)(t)&&t>0&&([this.j.workplace,this.j.iframe,this.j.editor].map((e=>{e&&(0,d.css)(e,"minHeight",t)})),this.j.e.fire("setMinHeight",t)),(0,d.isNumber)(this.j.o.maxHeight)){const t=this.j.o.maxHeight-this.getNotWorkHeight();[this.j.workplace,this.j.iframe,this.j.editor].map((e=>{e&&(0,d.css)(e,"maxHeight",t)})),this.j.e.fire("setMaxHeight",t)}this.j.container&&(0,d.css)(this.j.workplace,"height","auto"!==this.j.o.height||this.j.isFullSize?this.j.container.offsetHeight-this.getNotWorkHeight():"auto")}beforeDestruct(t){t.e.off(t.ow,"load.size",this.resizeWorkspaces).off(".size")}};(0,a.gn)([f.autobind],es.prototype,"resizeWorkspaceImd",null),es=(0,a.gn)([f.autobind],es),p.pw.add("size",es);class ss{constructor(t,e,s,i){this.jodit=t,this.container=e,this.toWYSIWYG=s,this.fromWYSIWYG=i,this.className="",this.isReady=!1}get j(){return this.jodit}onReady(){this.replaceUndoManager(),this.isReady=!0,this.j.e.fire(this,"ready")}onReadyAlways(t){var e;this.isReady?t():null===(e=this.j.events)||void 0===e||e.on(this,"ready",t)}}class is extends ss{constructor(){super(...arguments),this.autosize=this.j.async.debounce((()=>{this.instance.style.height="auto",this.instance.style.height=this.instance.scrollHeight+"px"}),this.j.defaultTimeout)}init(t){this.instance=t.c.element("textarea",{class:"jodit-source__mirror"}),this.container.appendChild(this.instance),t.e.on(this.instance,"mousedown keydown touchstart input",t.async.debounce(this.toWYSIWYG,t.defaultTimeout)).on("setMinHeight.source",(t=>{(0,qt.i)(this.instance,"minHeight",t)})).on(this.instance,"change keydown mousedown touchstart input",this.autosize).on("afterSetMode.source",this.autosize).on(this.instance,"mousedown focus",(e=>{t.e.fire(e.type,e)})),this.autosize(),this.onReady()}destruct(){nt.i.safeRemove(this.instance)}getValue(){return this.instance.value}setValue(t){this.instance.value=t}insertRaw(t){const e=this.getValue();if(0>this.getSelectionStart())this.setValue(e+t);else{const s=this.getSelectionStart(),i=this.getSelectionEnd();this.setValue(e.substring(0,s)+t+e.substring(i,e.length))}}getSelectionStart(){return this.instance.selectionStart}getSelectionEnd(){return this.instance.selectionEnd}setSelectionRange(t,e=t){this.instance.setSelectionRange(t,e)}get isFocused(){return this.instance===this.j.od.activeElement}focus(){this.instance.focus()}blur(){this.instance.blur()}setPlaceHolder(t){this.instance.setAttribute("placeholder",t)}setReadOnly(t){t?this.instance.setAttribute("readonly","true"):this.instance.removeAttribute("readonly")}selectAll(){this.instance.select()}replaceUndoManager(){const{history:t}=this.jodit;this.j.e.on(this.instance,"keydown",(e=>{if((e.ctrlKey||e.metaKey)&&"z"===e.key)return e.shiftKey?t.redo():t.undo(),this.setSelectionRange(this.getValue().length),!1}))}}class os extends ss{constructor(){super(...arguments),this.className="jodit_ace_editor",this.proxyOnBlur=t=>{this.j.e.fire("blur",t)},this.proxyOnFocus=t=>{this.j.e.fire("focus",t)},this.proxyOnMouseDown=t=>{this.j.e.fire("mousedown",t)}}aceExists(){return void 0!==this.j.ow.ace}getLastColumnIndex(t){return this.instance.session.getLine(t).length}getLastColumnIndices(){const t=this.instance.session.getLength(),e=[];let s=0;for(let i=0;t>i;i++)s+=this.getLastColumnIndex(i),i>0&&(s+=1),e[i]=s;return e}getRowColumnIndices(t){const e=this.getLastColumnIndices();if(e[0]>=t)return{row:0,column:t};let s=1;for(let i=1;e.length>i;i++)t>e[i]&&(s=i+1);return{row:s,column:t-e[s-1]-1}}setSelectionRangeIndices(t,e){const s=this.getRowColumnIndices(t),i=this.getRowColumnIndices(e);this.instance.getSelection().setSelectionRange({start:s,end:i})}getIndexByRowColumn(t,e){return this.getLastColumnIndices()[t]-this.getLastColumnIndex(t)+e}init(t){const e=()=>{if(void 0!==this.instance||!this.aceExists())return;const e=this.j.c.div("jodit-source__mirror-fake");this.container.appendChild(e),this.instance=t.ow.ace.edit(e),this.instance.setTheme(t.o.sourceEditorNativeOptions.theme),this.instance.renderer.setShowGutter(t.o.sourceEditorNativeOptions.showGutter),this.instance.getSession().setMode(t.o.sourceEditorNativeOptions.mode),this.instance.setHighlightActiveLine(t.o.sourceEditorNativeOptions.highlightActiveLine),this.instance.getSession().setUseWrapMode(!0),this.instance.setOption("indentedSoftWrap",!1),this.instance.setOption("wrap",t.o.sourceEditorNativeOptions.wrap),this.instance.getSession().setUseWorker(!1),this.instance.$blockScrolling=1/0,this.instance.on("change",this.toWYSIWYG),this.instance.on("focus",this.proxyOnFocus),this.instance.on("mousedown",this.proxyOnMouseDown),this.instance.on("blur",this.proxyOnBlur),t.getRealMode()!==c.MODE_WYSIWYG&&this.setValue(this.getValue());const s=this.j.async.debounce((()=>{t.isInDestruct||(this.instance.setOption("maxLines","auto"!==t.o.height?t.workplace.offsetHeight/this.instance.renderer.lineHeight:1/0),this.instance.resize())}),2*this.j.defaultTimeout);t.e.on("afterResize afterSetMode",s),s(),this.onReady()};t.e.on("afterSetMode",(()=>{t.getRealMode()!==c.MODE_SOURCE&&t.getMode()!==c.MODE_SPLIT||(this.fromWYSIWYG(),e())})),e(),this.aceExists()||(0,d.loadNext)(t,t.o.sourceEditorCDNUrlsJS).then((()=>{t.isInDestruct||e()})).catch((()=>null))}destruct(){var t,e;this.instance.off("change",this.toWYSIWYG),this.instance.off("focus",this.proxyOnFocus),this.instance.off("mousedown",this.proxyOnMouseDown),this.instance.destroy(),null===(e=null===(t=this.j)||void 0===t?void 0:t.events)||void 0===e||e.off("aceInited.source")}setValue(t){if(!this.j.o.editHTMLDocumentMode&&this.j.o.beautifyHTML){const e=this.j.e.fire("beautifyHTML",t);(0,d.isString)(e)&&(t=e)}this.instance.setValue(t),this.instance.clearSelection()}getValue(){return this.instance.getValue()}setReadOnly(t){this.instance.setReadOnly(t)}get isFocused(){return this.instance.isFocused()}focus(){this.instance.focus()}blur(){this.instance.blur()}getSelectionStart(){const t=this.instance.selection.getRange();return this.getIndexByRowColumn(t.start.row,t.start.column)}getSelectionEnd(){const t=this.instance.selection.getRange();return this.getIndexByRowColumn(t.end.row,t.end.column)}selectAll(){this.instance.selection.selectAll()}insertRaw(t){const e=this.instance.selection.getCursor(),s=this.instance.session.insert(e,t);this.instance.selection.setRange({start:e,end:s},!1)}setSelectionRange(t,e){this.setSelectionRangeIndices(t,e)}setPlaceHolder(t){}replaceUndoManager(){const{history:t}=this.jodit;this.instance.commands.addCommand({name:"Undo",bindKey:{win:"Ctrl-Z",mac:"Command-Z"},exec(){t.undo()}}),this.instance.commands.addCommand({name:"Redo",bindKey:{win:"Ctrl-Shift-Z",mac:"Command-Shift-Z"},exec(){t.redo()}})}}function rs(t,e,s,i,o){let r;if((0,d.isFunction)(t))r=t(e);else switch(t){case"ace":if(!e.o.shadowRoot){r=new os(e,s,i,o);break}default:r=new is(e,s,i,o)}return r.init(e),r.onReadyAlways((()=>{r.setReadOnly(e.o.readonly)})),r}l.D.prototype.beautifyHTML=!c.IS_IE,l.D.prototype.sourceEditor="ace",l.D.prototype.sourceEditorNativeOptions={showGutter:!0,theme:"ace/theme/idle_fingers",mode:"ace/mode/html",wrap:!0,highlightActiveLine:!0},l.D.prototype.sourceEditorCDNUrlsJS=["https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.2/ace.js"],l.D.prototype.beautifyHTMLCDNUrlsJS=["https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.14.4/beautify.min.js","https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.14.4/beautify-html.min.js"],Q.J.set("source",i(9342)),l.D.prototype.controls.source={mode:c.MODE_SPLIT,exec(t){t.toggleMode()},isActive(t){return t.getRealMode()===c.MODE_SOURCE},tooltip:"Change mode"};class ns extends it.S{constructor(){super(...arguments),this.buttons=[{name:"source",group:"source"}],this.__lock=!1,this.__oldMirrorValue="",this.tempMarkerStart="{start-jodit-selection}",this.tempMarkerStartReg=/{start-jodit-selection}/g,this.tempMarkerEnd="{end-jodit-selection}",this.tempMarkerEndReg=/{end-jodit-selection}/g,this.getSelectionStart=()=>{var t,e;return null!==(e=null===(t=this.sourceEditor)||void 0===t?void 0:t.getSelectionStart())&&void 0!==e?e:0},this.getSelectionEnd=()=>{var t,e;return null!==(e=null===(t=this.sourceEditor)||void 0===t?void 0:t.getSelectionEnd())&&void 0!==e?e:0}}onInsertHTML(t){var e;if(!this.j.o.readonly&&!this.j.isEditorMode())return null===(e=this.sourceEditor)||void 0===e||e.insertRaw(t),this.toWYSIWYG(),!1}fromWYSIWYG(t=!1){if(!this.__lock||!0===t){this.__lock=!0;const t=this.j.getEditorValue(!1,c.SOURCE_CONSUMER);t!==this.getMirrorValue()&&this.setMirrorValue(t),this.__lock=!1}}toWYSIWYG(){if(this.__lock)return;const t=this.getMirrorValue();t!==this.__oldMirrorValue&&(this.__lock=!0,this.j.value=t,this.__lock=!1,this.__oldMirrorValue=t)}getNormalPosition(t,e){for(e=e.replace(/<(script|style|iframe)[^>]*>[^]*?<\/\1>/im,(t=>{let e="";for(let s=0;t.length>s;s+=1)e+=c.INVISIBLE_SPACE;return e}));t>0&&e[t]===c.INVISIBLE_SPACE;)t--;let s=t;for(;s>0;){if(s--,"<"===e[s]&&void 0!==e[s+1]&&e[s+1].match(/[\w/]+/i))return s;if(">"===e[s])return t}return t}clnInv(t){return t.replace(c.INVISIBLE_SPACE_REG_EXP(),"")}onSelectAll(t){var e;if("selectall"===t.toLowerCase()&&this.j.getRealMode()===c.MODE_SOURCE)return null===(e=this.sourceEditor)||void 0===e||e.selectAll(),!1}getMirrorValue(){var t;return(null===(t=this.sourceEditor)||void 0===t?void 0:t.getValue())||""}setMirrorValue(t){var e;null===(e=this.sourceEditor)||void 0===e||e.setValue(t)}setFocusToMirror(){var t;null===(t=this.sourceEditor)||void 0===t||t.focus()}saveSelection(){if(this.j.getRealMode()===c.MODE_WYSIWYG)this.j.s.save(),this.j.synchronizeValues(),this.fromWYSIWYG(!0);else{if(this.j.o.editHTMLDocumentMode)return;const t=this.getMirrorValue();if(this.getSelectionStart()===this.getSelectionEnd()){const e=this.j.s.marker(!0),s=this.getNormalPosition(this.getSelectionStart(),this.getMirrorValue());this.setMirrorValue(t.substring(0,s)+this.clnInv(e.outerHTML)+t.substring(s))}else{const e=this.j.s.marker(!0),s=this.j.s.marker(!1),i=this.getNormalPosition(this.getSelectionStart(),t),o=this.getNormalPosition(this.getSelectionEnd(),t);this.setMirrorValue(t.substring(0,i)+this.clnInv(e.outerHTML)+t.substring(i,o-i)+this.clnInv(s.outerHTML)+t.substring(o))}this.toWYSIWYG()}}removeSelection(){if(this.j.getRealMode()===c.MODE_WYSIWYG)return this.__lock=!0,this.j.s.restore(),void(this.__lock=!1);let t=this.getMirrorValue(),e=0,s=0;try{if(t=t.replace(/]+data-jodit-selection_marker=(["'])start\1[^>]*>[<>]*?<\/span>/gim,this.tempMarkerStart).replace(/]+data-jodit-selection_marker=(["'])end\1[^>]*>[<>]*?<\/span>/gim,this.tempMarkerEnd),!this.j.o.editHTMLDocumentMode&&this.j.o.beautifyHTML){const e=this.j.e.fire("beautifyHTML",t);(0,d.isString)(e)&&(t=e)}if(e=t.indexOf(this.tempMarkerStart),s=e,t=t.replace(this.tempMarkerStartReg,""),-1!==e){const e=t.indexOf(this.tempMarkerEnd);-1!==e&&(s=e)}t=t.replace(this.tempMarkerEndReg,"")}finally{t=t.replace(this.tempMarkerEndReg,"").replace(this.tempMarkerStartReg,"")}this.setMirrorValue(t),this.setMirrorSelectionRange(e,s),this.toWYSIWYG(),this.setFocusToMirror()}setMirrorSelectionRange(t,e){var s;null===(s=this.sourceEditor)||void 0===s||s.setSelectionRange(t,e)}onReadonlyReact(){var t;null===(t=this.sourceEditor)||void 0===t||t.setReadOnly(this.j.o.readonly)}afterInit(t){if(this.mirrorContainer=t.c.div("jodit-source"),t.workplace.appendChild(this.mirrorContainer),t.e.on("afterAddPlace changePlace afterInit",(()=>{t.workplace.appendChild(this.mirrorContainer)})),this.sourceEditor=rs("area",t,this.mirrorContainer,this.toWYSIWYG,this.fromWYSIWYG),t.e.on(t.ow,"keydown",(t=>{var e;t.key===c.KEY_ESC&&(null===(e=this.sourceEditor)||void 0===e?void 0:e.isFocused)&&this.sourceEditor.blur()})),this.onReadonlyReact(),t.e.on("placeholder.source",(t=>{var e;null===(e=this.sourceEditor)||void 0===e||e.setPlaceHolder(t)})).on("change.source",this.syncValueFromWYSIWYG).on("beautifyHTML",(t=>t)),t.o.beautifyHTML){const e=()=>{var e;const s=t.ow.html_beautify;return!(!s||t.isInDestruct||(null===(e=t.events)||void 0===e||e.off("beautifyHTML").on("beautifyHTML",(t=>s(t))),0))};e()||(0,d.loadNext)(t,t.o.beautifyHTMLCDNUrlsJS).then(e)}this.syncValueFromWYSIWYG(!0),this.initSourceEditor(t)}syncValueFromWYSIWYG(t=!1){const e=this.j;e.getMode()!==c.MODE_SPLIT&&e.getMode()!==c.MODE_SOURCE||this.fromWYSIWYG(t)}initSourceEditor(t){var e;if("area"!==t.o.sourceEditor){const e=rs(t.o.sourceEditor,t,this.mirrorContainer,this.toWYSIWYG,this.fromWYSIWYG);e.onReadyAlways((()=>{var s,i;null===(s=this.sourceEditor)||void 0===s||s.destruct(),this.sourceEditor=e,this.syncValueFromWYSIWYG(!0),null===(i=t.events)||void 0===i||i.fire("sourceEditorReady",t)}))}else null===(e=this.sourceEditor)||void 0===e||e.onReadyAlways((()=>{var e;this.syncValueFromWYSIWYG(!0),null===(e=t.events)||void 0===e||e.fire("sourceEditorReady",t)}))}beforeDestruct(){this.sourceEditor&&(this.sourceEditor.destruct(),delete this.sourceEditor),nt.i.safeRemove(this.mirrorContainer)}}(0,a.gn)([(0,f.watch)(":insertHTML.source")],ns.prototype,"onInsertHTML",null),(0,a.gn)([f.autobind],ns.prototype,"fromWYSIWYG",null),(0,a.gn)([f.autobind],ns.prototype,"toWYSIWYG",null),(0,a.gn)([f.autobind],ns.prototype,"getNormalPosition",null),(0,a.gn)([(0,f.watch)(":beforeCommand.source")],ns.prototype,"onSelectAll",null),(0,a.gn)([(0,f.watch)(":beforeSetMode.source")],ns.prototype,"saveSelection",null),(0,a.gn)([(0,f.watch)(":afterSetMode.source")],ns.prototype,"removeSelection",null),(0,a.gn)([f.autobind],ns.prototype,"setMirrorSelectionRange",null),(0,a.gn)([(0,f.watch)(":readonly.source")],ns.prototype,"onReadonlyReact",null),(0,a.gn)([f.autobind],ns.prototype,"syncValueFromWYSIWYG",null),p.pw.add("source",ns),l.D.prototype.spellcheck=!1,Q.J.set("spellcheck",i(69546)),l.D.prototype.controls.spellcheck={isActive:t=>t.o.spellcheck,icon:i(69546),name:"spellcheck",command:"toggleSpellcheck",tooltip:"Spellcheck"};class as extends it.S{constructor(t){super(t),this.buttons=[{group:"state",name:"spellcheck"}],(0,p.xl)(i(87882))}afterInit(t){t.e.on("afterInit afterAddPlace prepareWYSIWYGEditor",this.toggleSpellcheck),this.toggleSpellcheck(),t.registerCommand("toggleSpellcheck",(()=>{this.jodit.o.spellcheck=!this.jodit.o.spellcheck,this.toggleSpellcheck(),this.j.e.fire("updateToolbar")}))}toggleSpellcheck(){(0,at.Lj)(this.jodit.editor,"spellcheck",this.jodit.o.spellcheck)}beforeDestruct(t){}}(0,a.gn)([f.autobind],as.prototype,"toggleSpellcheck",null),p.pw.add("spellcheck",as),l.D.prototype.showCharsCounter=!0,l.D.prototype.countHTMLChars=!1,l.D.prototype.showWordsCounter=!0,p.pw.add("stat",class ls extends vt.S{constructor(){super(...arguments),this.charCounter=null,this.wordCounter=null,this.reInit=()=>{this.j.o.showCharsCounter&&this.charCounter&&this.j.statusbar.append(this.charCounter,!0),this.j.o.showWordsCounter&&this.wordCounter&&this.j.statusbar.append(this.wordCounter,!0),this.j.e.off("change keyup",this.calc).on("change keyup",this.calc),this.calc()},this.calc=this.j.async.throttle((()=>{const t=this.j.text;if(this.j.o.showCharsCounter&&this.charCounter){const e=this.j.o.countHTMLChars?this.j.value:t.replace((0,c.SPACE_REG_EXP)(),"");this.charCounter.textContent=this.j.i18n("Chars: %d",e.length)}this.j.o.showWordsCounter&&this.wordCounter&&(this.wordCounter.textContent=this.j.i18n("Words: %d",t.replace((0,c.INVISIBLE_SPACE_REG_EXP)(),"").split((0,c.SPACE_REG_EXP)()).filter((t=>t.length)).length))}),this.j.defaultTimeout)}afterInit(){this.charCounter=this.j.c.span(),this.wordCounter=this.j.c.span(),this.j.e.on("afterInit changePlace afterAddPlace",this.reInit),this.reInit()}beforeDestruct(){nt.i.safeRemove(this.charCounter),nt.i.safeRemove(this.wordCounter),this.j.e.off("afterInit changePlace afterAddPlace",this.reInit),this.charCounter=null,this.wordCounter=null}}),l.D.prototype.toolbarSticky=!0,l.D.prototype.toolbarDisableStickyForMobile=!0,l.D.prototype.toolbarStickyOffset=0;class cs extends vt.S{constructor(){super(...arguments),this.isToolbarSticked=!1,this.createDummy=t=>{},this.addSticky=t=>{this.isToolbarSticked||(this.createDummy(t),this.j.container.classList.add("jodit_sticky"),this.isToolbarSticked=!0),(0,d.css)(t,{top:this.j.o.toolbarStickyOffset||null,width:this.j.container.offsetWidth-2})},this.removeSticky=t=>{this.isToolbarSticked&&((0,d.css)(t,{width:"",top:""}),this.j.container.classList.remove("jodit_sticky"),this.isToolbarSticked=!1)}}afterInit(t){t.e.on(t.ow,"scroll.sticky wheel.sticky mousewheel.sticky resize.sticky",this.onScroll).on("getStickyState.sticky",(()=>this.isToolbarSticked))}onScroll(){const{jodit:t}=this,e=t.ow.pageYOffset||t.od.documentElement&&t.od.documentElement.scrollTop||0,s=(0,d.offset)(t.container,t,t.od,!0),i=t.getMode()===c.MODE_WYSIWYG&&e+t.o.toolbarStickyOffset>s.top&&s.top+s.height>e+t.o.toolbarStickyOffset&&!(t.o.toolbarDisableStickyForMobile&&this.isMobile());if(t.o.toolbarSticky&&!0===t.o.toolbar&&this.isToolbarSticked!==i){const e=t.toolbarContainer;e&&(i?this.addSticky(e):this.removeSticky(e)),t.e.fire("toggleSticky",i)}}isMobile(){return this.j&&this.j.options&&this.j.container&&this.j.o.sizeSM>=this.j.container.offsetWidth}beforeDestruct(t){this.dummyBox&&nt.i.safeRemove(this.dummyBox),t.e.off(t.ow,"scroll.sticky wheel.sticky mousewheel.sticky resize.sticky",this.onScroll).off(".sticky")}}(0,a.gn)([(0,f.throttle)()],cs.prototype,"onScroll",null),p.pw.add("sticky",cs),l.D.prototype.usePopupForSpecialCharacters=!1,l.D.prototype.specialCharacters=["!",""","#","$","%","&","'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","€","‘","’","“","”","–","—","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","»","¬","®","¯","°","²","³","´","µ","¶","·","¸","¹","º","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ","Œ","œ","Ŵ","Ŷ","ŵ","ŷ","‚","‛","„","…","™","►","•","→","⇒","⇔","♦","≈"],Q.J.set("symbols",i(43158)),l.D.prototype.controls.symbols={hotkeys:["ctrl+shift+i","cmd+shift+i"],tooltip:"Insert Special Character",popup(t,e,s,i){const o=t.e.fire("generateSpecialCharactersTable.symbols");if(o){if(t.o.usePopupForSpecialCharacters){const e=t.c.div();return e.classList.add("jodit-symbols"),e.appendChild(o),t.e.on(o,"close_dialog",i),e}{t.alert(o,"Select Special Character",void 0,"jodit-symbols").bindDestruct(t);const e=o.querySelector("a");e&&e.focus()}}}},p.pw.add("symbols",class hs extends vt.S{constructor(t){super(t),this.buttons=[{name:"symbols",group:"insert"}],this.countInRow=17,(0,p.xl)(i(21236))}afterInit(t){t.e.on("generateSpecialCharactersTable.symbols",(()=>{const e=t.c.fromHTML('
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
'),s=e.querySelector(".jodit-symbols__preview"),i=e.querySelector("table").tBodies[0],o=[];for(let e=0;t.o.specialCharacters.length>e;){const s=t.c.element("tr");for(let i=0;this.countInRow>i&&t.o.specialCharacters.length>e;i+=1,e+=1){const r=t.c.element("td"),n=t.c.fromHTML(`${t.o.specialCharacters[e]}`);o.push(n),r.appendChild(n),s.appendChild(r)}i.appendChild(s)}const r=this;return t.e.on(o,"focus",(function(){s.innerHTML=this.innerHTML})).on(o,"mousedown",(function(e){nt.i.isTag(this,"a")&&(t.s.focus(),t.s.insertHTML(this.innerHTML),t.e.fire(this,"close_dialog"),e&&e.preventDefault(),e&&e.stopImmediatePropagation())})).on(o,"mouseenter",(function(){nt.i.isTag(this,"a")&&this.focus()})).on(o,"keydown",(e=>{const s=e.target;if(nt.i.isTag(s,"a")){const i=parseInt((0,ut.attr)(s,"-index")||"0",10),n=parseInt((0,ut.attr)(s,"data-index-j")||"0",10);let a;switch(e.key){case c.KEY_UP:case c.KEY_DOWN:a=e.key===c.KEY_UP?i-r.countInRow:i+r.countInRow,void 0===o[a]&&(a=e.key===c.KEY_UP?Math.floor(o.length/r.countInRow)*r.countInRow+n:n,a>o.length-1&&(a-=r.countInRow)),o[a]&&o[a].focus();break;case c.KEY_RIGHT:case c.KEY_LEFT:a=e.key===c.KEY_LEFT?i-1:i+1,void 0===o[a]&&(a=e.key===c.KEY_LEFT?o.length-1:0),o[a]&&o[a].focus();break;case c.KEY_ENTER:t.e.fire(s,"mousedown"),e.stopImmediatePropagation(),e.preventDefault()}}})),e}))}beforeDestruct(t){t.e.off("generateSpecialCharactersTable.symbols")}}),i(603),l.D.prototype.tab={tabInsideLiInsertNewList:!0};class ds extends it.S{afterInit(t){}__onTab(t){if(t.key===c.KEY_TAB&&this.__onShift(t.shiftKey))return!1}__onCommand(t){if(("indent"===t||"outdent"===t)&&this.__onShift("outdent"===t))return!1}__onShift(t){const e=((t,e=!1)=>{if(!t.o.tab.tabInsideLiInsertNewList)return!1;const[s,i]=(t=>{const e=t.createInside.fake(),s=t.createInside.fake(),i=t.s.range.cloneRange();i.collapse(!0),i.insertNode(e);const o=t.s.range.cloneRange();return o.collapse(!1),o.insertNode(s),[e,s]})(t);try{const o=((t,e,s)=>{const i=nt.i.closest(e,"li",t.editor);return!!i&&!(!s&&!nt.i.isTag(i.previousElementSibling,"li"))&&!(s&&!nt.i.closest(i,"li",t.editor))&&i})(t,s,e);if(!o)return!1;if(!((t,e,s)=>{const i=nt.i.closest(s,"li",e.editor);return!(!i||i!==t&&!t.contains(i))})(o,t,s))return!1;const r=nt.i.closest(o,["ol","ul"],t.editor);return!(!r||e&&!nt.i.closest(r,"li",t.editor)||(e?((t,e,s)=>{const i=nt.i.closest(e,"li",t.editor),o=Array.from(e.children).filter((t=>nt.i.isTag(t,"li")));nt.i.after(i,s);const r=o.indexOf(s);if(0!==r&&1!==o.length||nt.i.safeRemove(e),r!==o.length-1){const t=e.cloneNode();nt.i.append(s,t);for(let e=r+1;o.length>e;e+=1)nt.i.append(t,o[e])}})(t,r,o):((t,e,s)=>{const i=s.previousElementSibling,o=i.lastElementChild,r=nt.i.isTag(o,e.tagName)?o:t.createInside.element(e.tagName,Array.from(e.attributes).reduce(((t,e)=>(t[e.name]=e.value,t)),{}));r.appendChild(s),o!==r&&i.appendChild(r)})(t,r,o),0))}finally{const e=t.s.createRange();e.setStartAfter(s),e.setEndBefore(i),t.s.selectRange(e),nt.i.safeRemove(s),nt.i.safeRemove(i)}return!1})(this.j,t);return e&&this.j.e.fire("afterTab",t),e}beforeDestruct(t){}}(0,a.gn)([(0,f.watch)(":keydown.tab")],ds.prototype,"__onTab",null),(0,a.gn)([(0,f.watch)(":beforeCommand.tab")],ds.prototype,"__onCommand",null),p.pw.add("tab",ds),l.D.prototype.table={selectionCellStyle:"border: 1px double #1e88e5 !important;",useExtraClassesOptions:!1},Q.J.set("table",i(51716)),l.D.prototype.controls.table={data:{cols:10,rows:10,classList:{"table table-bordered":"Bootstrap Bordered","table table-striped":"Bootstrap Striped","table table-dark":"Bootstrap Dark"}},popup(t,e,s,i,o){const r=s.data&&s.data.rows?s.data.rows:10,n=s.data&&s.data.cols?s.data.cols:10,a=t.c.fromHTML('
'+(()=>{if(!t.o.table.useExtraClassesOptions)return"";const e=[];if(s.data){const t=s.data.classList;Object.keys(t).forEach((s=>{e.push(``)}))}return e.join("")})()+'
'),l=a.querySelectorAll("span")[0],c=a.querySelectorAll("span")[1],h=a.querySelector(".jodit-form__container"),u=a.querySelector(".jodit-form__options"),p=[],f=r*n;for(let e=0;f>e;e+=1)p[e]||p.push(t.c.element("span",{dataIndex:e}));if(t.e.on(h,"mousemove",((t,e)=>{const s=t.target;if(!ot.i.isTag(s,"span"))return;const i=void 0===e||isNaN(e)?parseInt((0,ut.attr)(s,"-index")||"0",10):e||0,o=Math.ceil((i+1)/n),r=i%n+1;for(let t=0;p.length>t;t+=1)p[t].className=t%n+1>r||Math.ceil((t+1)/n)>o?"":"jodit_hovered";c.textContent=""+r,l.textContent=""+o})).on(h,"touchstart mousedown",(e=>{const s=e.target;if(e.preventDefault(),e.stopImmediatePropagation(),!ot.i.isTag(s,"span"))return;const o=parseInt((0,ut.attr)(s,"-index")||"0",10),r=Math.ceil((o+1)/n),a=o%n+1,l=t.createInside,c=l.element("tbody"),h=l.element("table");h.appendChild(c);let p,f,m=null;for(let t=1;r>=t;t+=1){p=l.element("tr");for(let t=1;a>=t;t+=1)f=l.element("td"),m||(m=f),(0,d.css)(f,"width",(100/a).toFixed(4)+"%"),f.appendChild(l.element("br")),p.appendChild(l.text("\n")),p.appendChild(l.text("\t")),p.appendChild(f);c.appendChild(l.text("\n")),c.appendChild(p)}(0,d.$$)("input[type=checkbox]:checked",u).forEach((t=>{t.value.split(/[\s]+/).forEach((t=>{h.classList.add(t)}))})),t.editor.firstChild&&t.s.insertNode(l.text("\n"),!1,!1),t.s.insertNode(h,!1),m&&(t.s.setCursorIn(m),(0,d.scrollIntoViewIfNeeded)(m,t.editor,t.ed)),i()})),o&&o.parentElement){for(let e=0;r>e;e+=1){const s=t.c.div();for(let t=0;n>t;t+=1)s.appendChild(p[e*n+t]);h.appendChild(s)}p[0]&&(p[0].className="hovered")}return a},tooltip:"Insert table"},p.pw.add("table",(t=>{t.registerButton({name:"table",group:"insert"})}));var us=i(25120);p.pw.add("tableKeyboardNavigation",(t=>{t.e.off(".tableKeyboardNavigation").on("keydown.tableKeyboardNavigation",(e=>{let s,i;if(e.key!==c.KEY_TAB&&e.key!==c.KEY_LEFT&&e.key!==c.KEY_RIGHT&&e.key!==c.KEY_UP&&e.key!==c.KEY_DOWN)return;{if(s=t.s.current(),i=nt.i.up(s,(t=>t&&t.nodeName&&/^td|th$/i.test(t.nodeName)),t.editor),!i)return;const o=t.s.range;if(e.key!==c.KEY_TAB&&s!==i&&((e.key===c.KEY_LEFT||e.key===c.KEY_UP)&&(nt.i.prev(s,(t=>e.key===c.KEY_UP?nt.i.isTag(t,"br"):!!t),i)||e.key!==c.KEY_UP&&nt.i.isText(s)&&0!==o.startOffset)||(e.key===c.KEY_RIGHT||e.key===c.KEY_DOWN)&&(nt.i.next(s,(t=>e.key===c.KEY_DOWN?nt.i.isTag(t,"br"):!!t),i)||e.key!==c.KEY_DOWN&&nt.i.isText(s)&&s.nodeValue&&o.startOffset!==s.nodeValue.length)))return}const o=nt.i.up(i,(t=>t&&/^table$/i.test(t.nodeName)),t.editor);let r=null;switch(e.key){case c.KEY_TAB:case c.KEY_LEFT:{const s=e.key===c.KEY_LEFT||e.shiftKey?"prev":"next";r=nt.i[s](i,(t=>t&&/^td|th$/i.test(t.tagName)),o),r||(us.i.appendRow(o,"next"!==s&&o.querySelector("tr"),"next"===s,t.createInside),r=nt.i[s](i,nt.i.isCell,o));break}case c.KEY_UP:case c.KEY_DOWN:{let t=0,s=0;const n=us.i.formalMatrix(o,((e,o,r)=>{e===i&&(t=o,s=r)}));e.key===c.KEY_UP?void 0!==n[t-1]&&(r=n[t-1][s]):void 0!==n[t+1]&&(r=n[t+1][s])}}if(r){if(r.firstChild)e.key===c.KEY_TAB?t.s.select(r,!0):t.s.setCursorIn(r,e.key===c.KEY_RIGHT||e.key===c.KEY_DOWN);else{const e=t.createInside.element("br");r.appendChild(e),t.s.setCursorBefore(e)}return!1}}))})),Q.J.set("video",i(49222)),l.D.prototype.controls.video={popup(t,e,s,i){const o=new ve.x4(t,[new ve.eC(t,[new ve.u3(t,{name:"url",required:!0,label:"URL",placeholder:"https://",validators:["url"]})]),new ve.eC(t,[(0,ee.zx)(t,"","Insert","primary").onAction((()=>o.submit()))])]),r=new ve.x4(t,[new ve.eC(t,[new ve.GJ(t,{name:"code",required:!0,label:"Embed code"})]),new ve.eC(t,[(0,ee.zx)(t,"","Insert","primary").onAction((()=>r.submit()))])]),n=[],a=e=>{t.s.restore(),t.s.insertHTML(e),i()};return t.s.save(),n.push({icon:"link",name:"Link",content:o.container},{icon:"source",name:"Code",content:r.container}),o.onSubmit((t=>{a((0,d.convertMediaUrlToVideoEmbed)(t.url))})),r.onSubmit((t=>{a(t.code)})),(0,Dt.IL)(t,n)},tags:["iframe"],tooltip:"Insert youtube/vimeo video"},p.pw.add("video",(t=>{t.registerButton({name:"video",group:"media"})})),l.D.prototype.wrapNodes={exclude:["hr","style","br"],emptyBlockAfterInit:!0};class ps extends it.S{constructor(){super(...arguments),this.isSuitableStart=t=>ot.i.isText(t)&&(0,wt.H)(t.nodeValue)&&/[^\s]/.test(t.nodeValue)||this.isNotClosed(t)&&!ot.i.isTemporary(t),this.isSuitable=t=>ot.i.isText(t)||this.isNotClosed(t),this.isNotClosed=t=>ot.i.isElement(t)&&!(ot.i.isBlock(t)||ot.i.isTag(t,this.j.o.wrapNodes.exclude))}afterInit(t){"br"!==t.o.enter.toLowerCase()&&t.e.on("drop.wtn focus.wtn keydown.wtn mousedown.wtn afterInit.wtn",this.preprocessInput,{top:!0}).on("afterInit.wtn postProcessSetEditorValue.wtn",this.postProcessSetEditorValue)}beforeDestruct(t){t.e.off(".wtn")}postProcessSetEditorValue(){const{jodit:t}=this;if(!t.isEditorMode())return;let e=t.editor.firstChild,s=!1;for(;e;){if(e=this.checkAloneListLeaf(e,t),this.isSuitableStart(e)){s||t.s.save(),s=!0;const i=t.createInside.element(t.o.enter);for(ot.i.before(e,i);e&&this.isSuitable(e);){const t=e.nextSibling;i.appendChild(e),e=t}i.normalize(),e=i}e=e&&e.nextSibling}s&&(t.s.restore(),"afterInit"===t.e.current&&t.e.fire("internalChange"))}checkAloneListLeaf(t,e){let s=t,i=t;do{if(!ot.i.isElement(i)||!ot.i.isTag(i,"li")||ot.i.isTag(i.parentElement,["ul","ol"]))break;{const t=ot.i.findNotEmptySibling(i,!1);ot.i.isTag(s,"ul")?s.appendChild(i):s=ot.i.wrap(i,"ul",e.createInside),i=t}}while(i);return s}preprocessInput(){const{jodit:t}=this,e="afterInit"===t.e.current;if(!t.isEditorMode()||t.editor.firstChild||!t.o.wrapNodes.emptyBlockAfterInit&&e)return;const s=t.createInside.element(t.o.enter),i=t.createInside.element("br");ot.i.append(s,i),ot.i.append(t.editor,s),t.s.isFocused()&&t.s.setCursorBefore(i),t.e.fire("internalChange")}}(0,a.gn)([f.autobind],ps.prototype,"postProcessSetEditorValue",null),(0,a.gn)([f.autobind],ps.prototype,"preprocessInput",null),p.pw.add("wrapNodes",ps);var fs=i(46163);function ms(t,e){if(nt.i.isFragment(e)&&(e=e.firstChild),t.o.dtd.checkBlockNesting&&nt.i.isBlock(e)){const e=nt.i.furthest(t.s.current(),nt.i.isBlock,t.editor);e&&!t.o.dtd.blockLimits[e.tagName.toLowerCase()]&&(t.s.setCursorAfter(e),nt.i.isEmpty(e)&&nt.i.safeRemove(e))}}function gs(t,e){if(!t.o.dtd.removeExtraBr||nt.i.isTag(e,"br"))return;const s=nt.i.furthest(e,nt.i.isBlock,t.editor);if(s&&!nt.i.isTag(s,["table","pre","blockquote","code"])){const s=nt.i.isTag(e,"br")?e:nt.i.findNotEmptySibling(e,!1);if(!nt.i.isTag(s,"br"))return;t.s.setCursorBefore(s),nt.i.safeRemove(s)}}l.D.prototype.dtd={removeExtraBr:!0,checkBlockNesting:!0,blockLimits:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,fieldset:1,figcaption:1,figure:1,footer:1,form:1,header:1,hgroup:1,main:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1}};class vs extends it.S{afterInit(t){}beforeDestruct(t){}__onBeforeInsertNode(t){Object.keys(s).forEach((e=>{s[e](this.j,t)}))}__onAfterInsertNode(t){Object.keys(r).forEach((e=>{r[e](this.j,t)}))}}(0,a.gn)([(0,fs.YP)(":beforeInsertNode")],vs.prototype,"__onBeforeInsertNode",null),(0,a.gn)([(0,fs.YP)(":afterInsertNode")],vs.prototype,"__onAfterInsertNode",null),p.pw.add("dtd",vs);var bs=i(60403);l.D.prototype.showXPathInStatusbar=!0,p.pw.add("xpath",class ys extends it.S{constructor(){super(...arguments),this.onContext=(t,e)=>(this.menu||(this.menu=new bs.x(this.j)),this.menu.show(e.clientX,e.clientY,[{icon:"bin",title:t===this.j.editor?"Clear":"Remove",exec:()=>{t!==this.j.editor?ot.i.safeRemove(t):this.j.value="",this.j.synchronizeValues()}},{icon:"select-all",title:"Select",exec:()=>{this.j.s.select(t)}}]),!1),this.onSelectPath=(t,e)=>{this.j.s.focus();const s=(0,d.attr)(e.target,"-path")||"/";if("/"===s)return this.j.execCommand("selectall"),!1;try{const t=this.j.ed.evaluate(s,this.j.editor,null,XPathResult.ANY_TYPE,null).iterateNext();if(t)return this.j.s.select(t),!1}catch(t){}return this.j.s.select(t),!1},this.tpl=(t,e,s,i)=>{const o=this.j.c.fromHTML(`${(0,d.trim)(s)}`),r=o.firstChild;return this.j.e.on(r,"click",this.onSelectPath.bind(this,t)).on(r,"contextmenu",this.onContext.bind(this,t)),o},this.removeSelectAll=()=>{this.selectAllButton&&(this.selectAllButton.destruct(),delete this.selectAllButton)},this.appendSelectAll=()=>{this.removeSelectAll(),this.selectAllButton=(0,ce.g)(this.j,{name:"selectall",...this.j.o.controls.selectall}),this.selectAllButton.state.size="tiny",this.container&&this.container.insertBefore(this.selectAllButton.container,this.container.firstChild)},this.calcPathImd=()=>{if(this.isDestructed)return;const t=this.j.s.current();if(this.container&&(this.container.innerHTML=c.INVISIBLE_SPACE),t){let e,s,i;ot.i.up(t,(t=>{t&&this.j.editor!==t&&!ot.i.isText(t)&&(e=t.nodeName.toLowerCase(),s=(0,d.getXPathByElement)(t,this.j.editor).replace(/^\//,""),i=this.tpl(t,s,e,this.j.i18n("Select %s",e)),this.container&&this.container.insertBefore(i,this.container.firstChild))}),this.j.editor)}this.appendSelectAll()},this.calcPath=this.j.async.debounce(this.calcPathImd,2*this.j.defaultTimeout)}afterInit(){this.j.o.showXPathInStatusbar&&(this.container=this.j.c.div("jodit-xpath"),this.j.e.off(".xpath").on("mouseup.xpath change.xpath keydown.xpath changeSelection.xpath",this.calcPath).on("afterSetMode.xpath afterInit.xpath changePlace.xpath",(()=>{this.j.o.showXPathInStatusbar&&this.container&&(this.j.statusbar.append(this.container),this.j.getRealMode()===c.MODE_WYSIWYG?this.calcPath():(this.container&&(this.container.innerHTML=c.INVISIBLE_SPACE),this.appendSelectAll()))})),this.calcPath())}beforeDestruct(){this.j&&this.j.events&&this.j.e.off(".xpath"),this.removeSelectAll(),this.menu&&this.menu.destruct(),ot.i.safeRemove(this.container),delete this.menu,delete this.container}}),Object.keys(c).forEach((t=>{Jodit[t]=c[t]}));const ws=t=>"__esModule"!==t;Object.keys(t).filter(ws).forEach((e=>{h.Icon.set(e.replace("_","-"),t[e])})),Object.keys(h).filter(ws).forEach((t=>{Jodit.modules[t]=h[t]})),Object.keys(f).filter(ws).forEach((t=>{Jodit.decorators[t]=f[t]})),["Confirm","Alert","Prompt"].forEach((t=>{Jodit[t]=h[t]})),Object.keys(E).filter(ws).forEach((t=>{Jodit.lang[t]=E[t]}));class Cs{}}(),i.O(o)}()})); \ No newline at end of file diff --git a/build/jodit.es2018.js b/build/jodit.es2018.js index 4b82f5bba..94eab315d 100644 --- a/build/jodit.es2018.js +++ b/build/jodit.es2018.js @@ -1,7 +1,7 @@ /*! * jodit - Jodit is awesome and usefully wysiwyg editor with filebrowser * Author: Chupurnov (https://xdsoft.net/) - * Version: v3.23.3 + * Version: v3.24.1 * Url: https://xdsoft.net/jodit/ * License(s): MIT */ @@ -390,7 +390,7 @@ module.exports = " /***/ }), -/***/ 6102: +/***/ 18548: /***/ (function(module) { module.exports = " " @@ -1019,14 +1019,14 @@ function __classPrivateFieldIn(state, receiver) { /***/ }), -/***/ 80031: +/***/ 93166: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "D": function() { return /* binding */ Config; } /* harmony export */ }); -/* harmony import */ var _core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); +/* harmony import */ var _core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -1367,7 +1367,7 @@ Config.prototype.controls = {}; /***/ }), -/***/ 83735: +/***/ 21317: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1378,17 +1378,17 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/async/set-timeout.ts -var set_timeout = __webpack_require__(81778); +var set_timeout = __webpack_require__(27512); // EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts -var is_function = __webpack_require__(87385); +var is_function = __webpack_require__(42096); // EXTERNAL MODULE: ./src/core/helpers/checker/is-plain-object.ts -var is_plain_object = __webpack_require__(76856); +var is_plain_object = __webpack_require__(79736); // EXTERNAL MODULE: ./src/core/helpers/checker/is-promise.ts -var is_promise = __webpack_require__(15199); +var is_promise = __webpack_require__(26335); // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); // EXTERNAL MODULE: ./src/core/helpers/checker/is-number.ts -var is_number = __webpack_require__(98296); +var is_number = __webpack_require__(61817); // EXTERNAL MODULE: external "{assert(){}};" var external_assert_ = __webpack_require__(52378); ;// CONCATENATED MODULE: ./src/core/async/async.ts @@ -1448,10 +1448,12 @@ class Async { return timer; } updateTimeout(label, timeout) { + void 0; if (!label || !this.timers.has(label)) { return null; } const callback = this.__callbacks.get(label); + void 0; return this.setTimeout(callback, { label, timeout }); } clearLabel(label) { @@ -1620,17 +1622,17 @@ class Async { /***/ }), -/***/ 16867: +/***/ 45113: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "w": function() { return /* binding */ Component; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16672); -/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71685); -/* harmony import */ var jodit_core_async__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83735); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17332); +/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(29411); +/* harmony import */ var jodit_core_async__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21317); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -1642,12 +1644,6 @@ class Async { const StatusListHandlers = new Map(); class Component { - constructor() { - this.async = new jodit_core_async__WEBPACK_IMPORTED_MODULE_3__/* .Async */ .e(); - this.ownerWindow = window; - this.__componentStatus = jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__/* .STATUSES.beforeInit */ .n.beforeInit; - this.uid = 'jodit-uid-' + (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .uniqueUid */ .fe)(); - } get componentName() { if (!this.__componentName) { this.__componentName = @@ -1695,6 +1691,12 @@ class Component { component.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__/* .STATUSES.beforeDestruct */ .n.beforeDestruct, () => !this.isInDestruct && this.destruct()); return this; } + constructor() { + this.async = new jodit_core_async__WEBPACK_IMPORTED_MODULE_3__/* .Async */ .e(); + this.ownerWindow = window; + this.__componentStatus = jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__/* .STATUSES.beforeInit */ .n.beforeInit; + this.uid = 'jodit-uid-' + (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_1__/* .uniqueUid */ .fe)(); + } destruct() { this.setStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__/* .STATUSES.destructed */ .n.destructed); this.async.destruct(); @@ -1747,7 +1749,7 @@ Component.STATUSES = jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_2__/ /***/ }), -/***/ 2624: +/***/ 90549: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1760,9 +1762,9 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/component/statuses.ts -var statuses = __webpack_require__(71685); +var statuses = __webpack_require__(29411); // EXTERNAL MODULE: ./src/core/component/component.ts -var component = __webpack_require__(16867); +var component = __webpack_require__(45113); ;// CONCATENATED MODULE: ./src/core/component/view-component.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -1771,10 +1773,6 @@ var component = __webpack_require__(16867); */ class ViewComponent extends component/* Component */.w { - constructor(jodit) { - super(); - this.setParentView(jodit); - } get j() { return this.jodit; } @@ -1789,6 +1787,10 @@ class ViewComponent extends component/* Component */.w { jodit.components.add(this); return this; } + constructor(jodit) { + super(); + this.setParentView(jodit); + } destruct() { this.j.components.delete(this); return super.destruct(); @@ -1808,7 +1810,7 @@ class ViewComponent extends component/* Component */.w { /***/ }), -/***/ 71685: +/***/ 29411: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1830,7 +1832,7 @@ const STATUSES = { /***/ }), -/***/ 47386: +/***/ 86893: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1870,12 +1872,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ "KEY_TAB": function() { return /* binding */ KEY_TAB; }, /* harmony export */ "KEY_UP": function() { return /* binding */ KEY_UP; }, /* harmony export */ "MARKER_CLASS": function() { return /* binding */ MARKER_CLASS; }, -/* harmony export */ "MAY_BE_REMOVED_WITH_KEY": function() { return /* binding */ MAY_BE_REMOVED_WITH_KEY; }, /* harmony export */ "MODE_SOURCE": function() { return /* binding */ MODE_SOURCE; }, /* harmony export */ "MODE_SPLIT": function() { return /* binding */ MODE_SPLIT; }, /* harmony export */ "MODE_WYSIWYG": function() { return /* binding */ MODE_WYSIWYG; }, /* harmony export */ "NBSP_SPACE": function() { return /* binding */ NBSP_SPACE; }, /* harmony export */ "NEARBY": function() { return /* binding */ NEARBY; }, +/* harmony export */ "NO_EMPTY_TAGS": function() { return /* binding */ NO_EMPTY_TAGS; }, /* harmony export */ "PARAGRAPH": function() { return /* binding */ PARAGRAPH; }, /* harmony export */ "SAFE_COUNT_CHANGE_CALL": function() { return /* binding */ SAFE_COUNT_CHANGE_CALL; }, /* harmony export */ "SOURCE_CONSUMER": function() { return /* binding */ SOURCE_CONSUMER; }, @@ -1903,20 +1905,24 @@ const SPACE_REG_EXP_START = () => /^[\s\n\t\r\uFEFF\u200b]+/g; const SPACE_REG_EXP_END = () => /[\s\n\t\r\uFEFF\u200b]+$/g; const IS_BLOCK = /^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i; const IS_INLINE = /^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i; -const INSEPARABLE_TAGS = [ +const __UNSEPARABLE_TAGS = [ 'img', - 'br', 'video', + 'svg', 'iframe', 'script', 'input', 'textarea', - 'hr', 'link', 'jodit', 'jodit-media' ]; -const MAY_BE_REMOVED_WITH_KEY = RegExp(`^${INSEPARABLE_TAGS.join('|')}$`, 'i'); +const INSEPARABLE_TAGS = new Set([ + ...__UNSEPARABLE_TAGS, + 'br', + 'hr' +]); +const NO_EMPTY_TAGS = new Set(__UNSEPARABLE_TAGS); const KEY_META = 'Meta'; const KEY_BACKSPACE = 'Backspace'; const KEY_TAB = 'Tab'; @@ -2016,7 +2022,7 @@ const SOURCE_CONSUMER = 'source-consumer'; /***/ }), -/***/ 45466: +/***/ 11441: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2047,7 +2053,7 @@ function component(constructorFunction) { /***/ }), -/***/ 2830: +/***/ 55773: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2055,9 +2061,9 @@ function component(constructorFunction) { /* harmony export */ "D": function() { return /* binding */ debounce; }, /* harmony export */ "P": function() { return /* binding */ throttle; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43435); -/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2624); -/* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(70843); +/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78411); +/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90549); +/* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14582); /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52378); /* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__); /*! @@ -2077,6 +2083,7 @@ function debounce(timeout, firstCallImmediately = false, method = 'debounce') { } target.hookStatus(jodit_core_component__WEBPACK_IMPORTED_MODULE_1__/* .STATUSES.ready */ .n$.ready, (component) => { const { async } = component; + void 0; const realTimeout = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__/* .isFunction */ .mf)(timeout) ? timeout(component) : timeout; @@ -2102,7 +2109,7 @@ function throttle(timeout, firstCallImmediately = false) { /***/ }), -/***/ 63945: +/***/ 67493: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2127,7 +2134,7 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); +var helpers = __webpack_require__(40332); ;// CONCATENATED MODULE: ./src/core/decorators/cache/cache.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -2156,11 +2163,11 @@ function cache(target, name, descriptor) { } // EXTERNAL MODULE: ./src/core/decorators/component/component.ts -var component = __webpack_require__(45466); +var component = __webpack_require__(11441); // EXTERNAL MODULE: ./src/core/decorators/debounce/debounce.ts -var debounce = __webpack_require__(2830); +var debounce = __webpack_require__(55773); // EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules -var core_component = __webpack_require__(2624); +var core_component = __webpack_require__(90549); ;// CONCATENATED MODULE: ./src/core/decorators/idle/idle.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -2183,9 +2190,9 @@ function idle() { } // EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 7 modules -var checker = __webpack_require__(43435); +var checker = __webpack_require__(78411); // EXTERNAL MODULE: ./src/core/helpers/utils/error/index.ts + 5 modules -var error = __webpack_require__(70843); +var error = __webpack_require__(14582); ;// CONCATENATED MODULE: ./src/core/decorators/hook/hook.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -2228,7 +2235,7 @@ const nonenumerable = (target, propertyKey) => { }; // EXTERNAL MODULE: ./src/core/helpers/checker/is-view-object.ts -var is_view_object = __webpack_require__(33679); +var is_view_object = __webpack_require__(96574); ;// CONCATENATED MODULE: ./src/core/decorators/persistent/persistent.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -2289,7 +2296,7 @@ function wait(condition) { } // EXTERNAL MODULE: ./src/core/decorators/watch/watch.ts -var watch = __webpack_require__(30192); +var watch = __webpack_require__(46163); ;// CONCATENATED MODULE: ./src/core/decorators/derive/derive.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -2412,7 +2419,7 @@ function autobind() { /***/ }), -/***/ 30192: +/***/ 46163: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2420,13 +2427,13 @@ function autobind() { /* harmony export */ "YP": function() { return /* binding */ watch; }, /* harmony export */ "w7": function() { return /* binding */ getPropertyDescriptor; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(87385); -/* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(76856); -/* harmony import */ var jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33679); -/* harmony import */ var jodit_core_event_emitter_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34526); -/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71685); -/* harmony import */ var jodit_core_helpers_array_split_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11986); -/* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(70843); +/* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42096); +/* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(79736); +/* harmony import */ var jodit_core_helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(96574); +/* harmony import */ var jodit_core_event_emitter_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88418); +/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29411); +/* harmony import */ var jodit_core_helpers_array_split_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14556); +/* harmony import */ var jodit_core_helpers_utils_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14582); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -2528,16 +2535,19 @@ function watch(observeFields, context) { /***/ }), -/***/ 65401: +/***/ 24263: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "i": function() { return /* binding */ Dom; } /* harmony export */ }); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_selection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92415); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); +/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(78411); +/* harmony import */ var jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(56888); +/* harmony import */ var jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89170); +/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76502); +/* harmony import */ var jodit_core_helpers_checker_is_marker__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(37204); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -2547,6 +2557,9 @@ function watch(observeFields, context) { + + + class Dom { static detach(node) { while (node.firstChild) { @@ -2573,7 +2586,7 @@ class Dom { last = tmp; } } while (needFindNext); - const wrapper = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(tag) ? editor.createInside.element(tag) : tag; + const wrapper = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .HD)(tag) ? editor.createInside.element(tag) : tag; if (first.parentNode) { first.parentNode.insertBefore(wrapper, first); } @@ -2590,10 +2603,10 @@ class Dom { return wrapper; } static wrap(current, tag, create) { - const wrapper = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(tag) ? create.element(tag) : tag; + const wrapper = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .HD)(tag) ? create.element(tag) : tag; if (Dom.isNode(current)) { if (!current.parentNode) { - throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.error)('Element should be in DOM'); + throw (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.error)('Element should be in DOM'); } current.parentNode.insertBefore(wrapper, current); wrapper.appendChild(current); @@ -2631,10 +2644,10 @@ class Dom { } } static replace(elm, newTagName, create, withAttributes = false, notMoveContent = false) { - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isHTML)(newTagName)) { + if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isHTML */ .FP)(newTagName)) { newTagName = create.fromHTML(newTagName); } - const tag = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(newTagName) + const tag = (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .HD)(newTagName) ? create.element(newTagName) : newTagName; if (!notMoveContent) { @@ -2643,7 +2656,7 @@ class Dom { } } if (withAttributes && Dom.isElement(elm) && Dom.isElement(tag)) { - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.toArray)(elm.attributes).forEach(attr => { + (0,jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .qo)(elm.attributes).forEach(attr => { tag.setAttribute(attr.name, attr.value); }); } @@ -2667,30 +2680,35 @@ class Dom { !Dom.closest(node, elm => Dom.isElement(elm) && elm.getAttribute('contenteditable') === 'false', root)); } - static isEmpty(node, condNoEmptyElement = /^(img|svg|canvas|input|textarea|form)$/) { + static isEmpty(node, condNoEmptyElement = jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.NO_EMPTY_TAGS) { if (!node) { return true; } + let cond; + if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isFunction */ .mf)(condNoEmptyElement)) { + cond = (elm) => condNoEmptyElement.has(elm.nodeName.toLowerCase()); + } + else { + cond = condNoEmptyElement; + } + const emptyText = (node) => node.nodeValue == null || (0,jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__/* .trim */ .fy)(node.nodeValue).length === 0; if (Dom.isText(node)) { - return node.nodeValue == null || (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.trim)(node.nodeValue).length === 0; + return emptyText(node); } - return (!condNoEmptyElement.test(node.nodeName.toLowerCase()) && + return (!(Dom.isElement(node) && cond(node)) && Dom.each(node, (elm) => { - if ((Dom.isText(elm) && - elm.nodeValue != null && - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.trim)(elm.nodeValue).length !== 0) || - (Dom.isElement(elm) && - condNoEmptyElement.test(elm.nodeName.toLowerCase()))) { + if ((Dom.isText(elm) && !emptyText(elm)) || + (Dom.isElement(elm) && cond(elm))) { return false; } })); } static isNode(object) { return Boolean(object && - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(object.nodeName) && + (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isString */ .HD)(object.nodeName) && typeof object.nodeType === 'number' && object.childNodes && - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(object.appendChild)); + (0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isFunction */ .mf)(object.appendChild)); } static isCell(elm) { return Dom.isNode(elm) && /^(td|th)$/i.test(elm.nodeName); @@ -2699,7 +2717,7 @@ class Dom { return (Dom.isNode(elm) && /^(img|svg|picture|canvas)$/i.test(elm.nodeName)); } static isBlock(node) { - return (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isVoid)(node) && + return (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isVoid */ .nj)(node) && typeof node === 'object' && Dom.isNode(node) && jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.IS_BLOCK.test(node.nodeName)); @@ -2734,10 +2752,10 @@ class Dom { static isInlineBlock(node) { return (Dom.isElement(node) && !/^(BR|HR)$/i.test(node.tagName) && - ['inline', 'inline-block'].indexOf((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.css)(node, 'display').toString()) !== -1); + ['inline', 'inline-block'].indexOf((0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.css)(node, 'display').toString()) !== -1); } static canSplitBlock(node) { - return (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isVoid)(node) && + return (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isVoid */ .nj)(node) && Dom.isHTMLElement(node) && Dom.isBlock(node) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && @@ -2873,11 +2891,11 @@ class Dom { return Dom.findSibling(node, left, n => { var _a; return (!Dom.isEmptyTextNode(n) && - Boolean(!Dom.isText(n) || (((_a = n.nodeValue) === null || _a === void 0 ? void 0 : _a.length) && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.trim)(n.nodeValue)))); + Boolean(!Dom.isText(n) || (((_a = n.nodeValue) === null || _a === void 0 ? void 0 : _a.length) && (0,jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__/* .trim */ .fy)(n.nodeValue)))); }); } static findNotEmptyNeighbor(node, left, root) { - return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.call)(left ? Dom.prev : Dom.next, node, n => Boolean(n && (!Dom.isText(n) || (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.trim)((n === null || n === void 0 ? void 0 : n.nodeValue) || '').length)), root); + return (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.call)(left ? Dom.prev : Dom.next, node, n => Boolean(n && (!Dom.isText(n) || (0,jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__/* .trim */ .fy)((n === null || n === void 0 ? void 0 : n.nodeValue) || '').length)), root); } static sibling(node, left) { return left ? node.previousSibling : node.nextSibling; @@ -2903,15 +2921,16 @@ class Dom { } static closest(node, tagsOrCondition, root) { let condition; - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(tagsOrCondition)) { + const lc = (s) => s.toLowerCase(); + if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isFunction */ .mf)(tagsOrCondition)) { condition = tagsOrCondition; } - else if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isArray)(tagsOrCondition)) { - condition = (tag) => Boolean(tag && - tagsOrCondition.includes(tag.nodeName.toLowerCase())); + else if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isArray */ .kJ)(tagsOrCondition)) { + const set = new Set(tagsOrCondition.map(lc)); + condition = (tag) => Boolean(tag && set.has(lc(tag.nodeName))); } else { - condition = (tag) => Boolean(tag && tagsOrCondition === tag.nodeName.toLowerCase()); + condition = (tag) => Boolean(tag && lc(tagsOrCondition) === lc(tag.nodeName)); } return Dom.up(node, condition, root); } @@ -2959,7 +2978,7 @@ class Dom { root.insertBefore(newElement, root.firstChild); } static append(root, newElement) { - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isArray)(newElement)) { + if ((0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_1__/* .isArray */ .kJ)(newElement)) { newElement.forEach(node => { this.append(root, node); }); @@ -2968,9 +2987,17 @@ class Dom { root.appendChild(newElement); } } - static moveContent(from, to, inStart = false) { + static moveContent(from, to, inStart = false, filter = () => true) { const fragment = (from.ownerDocument || document).createDocumentFragment(); - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.toArray)(from.childNodes).forEach((node) => { + (0,jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .qo)(from.childNodes) + .filter(elm => { + if (filter(elm)) { + return true; + } + Dom.safeRemove(elm); + return false; + }) + .forEach((node) => { fragment.appendChild(node); }); if (!inStart || !to.firstChild) { @@ -3000,51 +3027,58 @@ class Dom { if (!node) { return; } - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.dataBind)(node, '__old_display', node.style.display); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.dataBind)(node, '__old_display', node.style.display); node.style.display = 'none'; } static show(node) { if (!node) { return; } - const display = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.dataBind)(node, '__old_display'); + const display = (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.dataBind)(node, '__old_display'); if (node.style.display === 'none') { node.style.display = display || ''; } } static isTag(node, tagNames) { - const tags = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.asArray)(tagNames).map(String); + if (!this.isElement(node)) { + return false; + } + const nameL = node.tagName.toLowerCase(); + const nameU = node.tagName.toUpperCase(); + if (tagNames instanceof Set) { + return tagNames.has(nameL) || tagNames.has(nameU); + } + const tags = (0,jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__/* .asArray */ ._2)(tagNames).map(s => String(s).toLowerCase()); for (let i = 0; i < tags.length; i += 1) { - if (this.isElement(node) && - node.tagName.toLowerCase() === tags[i].toLowerCase()) { + if (nameL === tags[i] || nameU === tags[i]) { return true; } } return false; } static markTemporary(element, attributes) { - attributes && (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(element, attributes); - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(element, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR, true); + attributes && (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(element, attributes); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(element, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR, true); return element; } static isTemporary(element) { if (!Dom.isElement(element)) { return false; } - return jodit_core_selection__WEBPACK_IMPORTED_MODULE_2__/* .Select.isMarker */ .Ph.isMarker(element) || (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(element, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR) === 'true'; + return (0,jodit_core_helpers_checker_is_marker__WEBPACK_IMPORTED_MODULE_5__/* .isMarker */ ._)(element) || (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.attr)(element, jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR) === 'true'; } static replaceTemporaryFromString(value) { return value.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi, '$2'); } static temporaryList(root) { - return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.$$)(`[${jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR}]`, root); + return (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_4__.$$)(`[${jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.TEMP_ATTR}]`, root); } } /***/ }), -/***/ 36516: +/***/ 64968: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3052,8 +3086,8 @@ class Dom { /* harmony export */ "b": function() { return /* reexport safe */ _lazy_walker__WEBPACK_IMPORTED_MODULE_1__.b; }, /* harmony export */ "i": function() { return /* reexport safe */ _dom__WEBPACK_IMPORTED_MODULE_0__.i; } /* harmony export */ }); -/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65401); -/* harmony import */ var _lazy_walker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20847); +/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24263); +/* harmony import */ var _lazy_walker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33841); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -3065,7 +3099,7 @@ class Dom { /***/ }), -/***/ 20847: +/***/ 33841: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3073,9 +3107,9 @@ class Dom { /* harmony export */ "b": function() { return /* binding */ LazyWalker; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_event_emitter_eventify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36090); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65401); +/* harmony import */ var jodit_core_event_emitter_eventify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73852); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24263); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -3086,6 +3120,15 @@ class Dom { class LazyWalker extends jodit_core_event_emitter_eventify__WEBPACK_IMPORTED_MODULE_2__/* .Eventify */ .a { + setWork(root) { + if (this.isWorked) { + this.break(); + } + this.workNodes = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.eachGen */ .i.eachGen(root, !this.options.reverse); + this.isFinished = false; + this.startIdleRequest(); + return this; + } constructor(async, options = {}) { super(); this.async = async; @@ -3096,15 +3139,6 @@ class LazyWalker extends jodit_core_event_emitter_eventify__WEBPACK_IMPORTED_MOD this.isFinished = false; this.idleId = 0; } - setWork(root) { - if (this.isWorked) { - this.break(); - } - this.workNodes = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.eachGen */ .i.eachGen(root, !this.options.reverse); - this.isFinished = false; - this.startIdleRequest(); - return this; - } startIdleRequest() { var _a; this.idleId = this.async.requestIdleCallback(this.workPerform, { @@ -3178,7 +3212,7 @@ class LazyWalker extends jodit_core_event_emitter_eventify__WEBPACK_IMPORTED_MOD /***/ }), -/***/ 36090: +/***/ 73852: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3227,7 +3261,7 @@ class Eventify { /***/ }), -/***/ 18122: +/***/ 4567: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3244,7 +3278,7 @@ __webpack_require__.d(__webpack_exports__, { // EXTERNAL MODULE: external "{assert(){}};" var external_assert_ = __webpack_require__(52378); // EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts -var to_array = __webpack_require__(58260); +var to_array = __webpack_require__(1853); ;// CONCATENATED MODULE: ./src/core/event-emitter/store.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -3261,6 +3295,7 @@ class EventHandlersStore { get(event, namespace) { if (this.__store.has(namespace)) { const ns = this.__store.get(namespace); + void 0; return ns[event]; } } @@ -3317,15 +3352,15 @@ class EventHandlersStore { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); // EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts -var is_function = __webpack_require__(87385); +var is_function = __webpack_require__(42096); // EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts -var is_array = __webpack_require__(41515); +var is_array = __webpack_require__(49781); // EXTERNAL MODULE: ./src/core/helpers/utils/error/index.ts + 5 modules -var error = __webpack_require__(70843); +var error = __webpack_require__(14582); // EXTERNAL MODULE: ./src/core/helpers/array/split-array.ts -var split_array = __webpack_require__(11986); +var split_array = __webpack_require__(14556); ;// CONCATENATED MODULE: ./src/core/event-emitter/event-emitter.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -3339,55 +3374,6 @@ var split_array = __webpack_require__(11986); class EventEmitter { - constructor(doc) { - this.__mutedEvents = new Set(); - this.__key = '__JoditEventEmitterNamespaces'; - this.__doc = document; - this.__prepareEvent = (e) => { - if (e.cancelBubble) { - return; - } - if (e.composed && (0,is_function/* isFunction */.m)(e.composedPath) && e.composedPath()[0]) { - Object.defineProperty(e, 'target', { - value: e.composedPath()[0], - configurable: true, - enumerable: true - }); - } - if (e.type.match(/^touch/) && - e.changedTouches && - e.changedTouches.length) { - ['clientX', 'clientY', 'pageX', 'pageY'].forEach((key) => { - Object.defineProperty(e, key, { - value: e.changedTouches[0][key], - configurable: true, - enumerable: true - }); - }); - } - if (!e.originalEvent) { - e.originalEvent = e; - } - if (e.type === 'paste' && - e.clipboardData === undefined && - this.__doc.defaultView.clipboardData) { - Object.defineProperty(e, 'clipboardData', { - get: () => { - return this.__doc.defaultView.clipboardData; - }, - configurable: true, - enumerable: true - }); - } - }; - this.currents = []; - this.__stopped = []; - this.__isDestructed = false; - if (doc) { - this.__doc = doc; - } - this.__key += new Date().getTime(); - } mute(event) { this.__mutedEvents.add(event !== null && event !== void 0 ? event : '*'); return this; @@ -3753,6 +3739,55 @@ class EventEmitter { } return result; } + constructor(doc) { + this.__mutedEvents = new Set(); + this.__key = '__JoditEventEmitterNamespaces'; + this.__doc = document; + this.__prepareEvent = (e) => { + if (e.cancelBubble) { + return; + } + if (e.composed && (0,is_function/* isFunction */.m)(e.composedPath) && e.composedPath()[0]) { + Object.defineProperty(e, 'target', { + value: e.composedPath()[0], + configurable: true, + enumerable: true + }); + } + if (e.type.match(/^touch/) && + e.changedTouches && + e.changedTouches.length) { + ['clientX', 'clientY', 'pageX', 'pageY'].forEach((key) => { + Object.defineProperty(e, key, { + value: e.changedTouches[0][key], + configurable: true, + enumerable: true + }); + }); + } + if (!e.originalEvent) { + e.originalEvent = e; + } + if (e.type === 'paste' && + e.clipboardData === undefined && + this.__doc.defaultView.clipboardData) { + Object.defineProperty(e, 'clipboardData', { + get: () => { + return this.__doc.defaultView.clipboardData; + }, + configurable: true, + enumerable: true + }); + } + }; + this.currents = []; + this.__stopped = []; + this.__isDestructed = false; + if (doc) { + this.__doc = doc; + } + this.__key += new Date().getTime(); + } destruct() { if (!this.__isDestructed) { return; @@ -3765,9 +3800,9 @@ class EventEmitter { } // EXTERNAL MODULE: ./src/core/event-emitter/eventify.ts -var eventify = __webpack_require__(36090); +var eventify = __webpack_require__(73852); // EXTERNAL MODULE: ./src/core/event-emitter/observable.ts -var observable = __webpack_require__(34526); +var observable = __webpack_require__(88418); ;// CONCATENATED MODULE: ./src/core/event-emitter/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -3782,17 +3817,17 @@ var observable = __webpack_require__(34526); /***/ }), -/***/ 34526: +/***/ 88418: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "L": function() { return /* binding */ observable; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41515); -/* harmony import */ var jodit_core_helpers_checker_is_equal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13739); -/* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76856); -/* harmony import */ var jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30192); +/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49781); +/* harmony import */ var jodit_core_helpers_checker_is_equal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(32756); +/* harmony import */ var jodit_core_helpers_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79736); +/* harmony import */ var jodit_core_decorators_watch_watch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(46163); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -3906,7 +3941,7 @@ function observable(obj) { /***/ }), -/***/ 16672: +/***/ 17332: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3919,14 +3954,14 @@ function observable(obj) { /* harmony export */ "qz": function() { return /* binding */ modules; }, /* harmony export */ "xl": function() { return /* binding */ extendLang; } /* harmony export */ }); -/* harmony import */ var _plugin_plugin_system__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60154); -/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36516); -/* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(18122); -/* harmony import */ var _helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(12866); -/* harmony import */ var _helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33679); -/* harmony import */ var _helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(870); -/* harmony import */ var _helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(72919); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47386); +/* harmony import */ var _plugin_plugin_system__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44540); +/* harmony import */ var _dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64968); +/* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4567); +/* harmony import */ var _helpers_checker_is_jodit_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77892); +/* harmony import */ var _helpers_checker_is_view_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(96574); +/* harmony import */ var _helpers_utils_get_class_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(87247); +/* harmony import */ var _helpers_string_kebab_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(11278); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86893); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4010,7 +4045,7 @@ const eventEmitter = new _event_emitter__WEBPACK_IMPORTED_MODULE_2__/* .EventEmi /***/ }), -/***/ 90824: +/***/ 56888: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4023,7 +4058,7 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts -var is_array = __webpack_require__(41515); +var is_array = __webpack_require__(49781); ;// CONCATENATED MODULE: ./src/core/helpers/array/as-array.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4034,9 +4069,9 @@ var is_array = __webpack_require__(41515); const asArray = (a) => ((0,is_array/* isArray */.k)(a) ? a : [a]); // EXTERNAL MODULE: ./src/core/helpers/array/split-array.ts -var split_array = __webpack_require__(11986); +var split_array = __webpack_require__(14556); // EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts -var to_array = __webpack_require__(58260); +var to_array = __webpack_require__(1853); ;// CONCATENATED MODULE: ./src/core/helpers/array/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4050,7 +4085,7 @@ var to_array = __webpack_require__(58260); /***/ }), -/***/ 11986: +/***/ 14556: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4069,15 +4104,15 @@ function splitArray(a) { /***/ }), -/***/ 58260: +/***/ 1853: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "q": function() { return /* binding */ toArray; } /* harmony export */ }); -/* harmony import */ var _utils_reset__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(943); -/* harmony import */ var _checker_is_native_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67940); +/* harmony import */ var _utils_reset__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80861); +/* harmony import */ var _checker_is_native_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28069); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4096,7 +4131,7 @@ const toArray = function toArray(...args) { /***/ }), -/***/ 45044: +/***/ 4696: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4104,7 +4139,7 @@ const toArray = function toArray(...args) { /* harmony export */ "g": function() { return /* reexport safe */ _set_timeout__WEBPACK_IMPORTED_MODULE_0__.g; }, /* harmony export */ "i": function() { return /* reexport safe */ _set_timeout__WEBPACK_IMPORTED_MODULE_0__.i; } /* harmony export */ }); -/* harmony import */ var _set_timeout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81778); +/* harmony import */ var _set_timeout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27512); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4115,7 +4150,7 @@ const toArray = function toArray(...args) { /***/ }), -/***/ 81778: +/***/ 27512: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4144,7 +4179,7 @@ function clearTimeout(timer) { /***/ }), -/***/ 43435: +/***/ 78411: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4165,6 +4200,7 @@ __webpack_require__.d(__webpack_exports__, { "GN": function() { return /* reexport */ isInt; }, "Zu": function() { return /* reexport */ is_jodit_object/* isJoditObject */.Z; }, "A1": function() { return /* reexport */ isLicense; }, + "_V": function() { return /* reexport */ is_marker/* isMarker */._; }, "QC": function() { return /* reexport */ is_native_function/* isNativeFunction */.Q; }, "hj": function() { return /* reexport */ is_number/* isNumber */.h; }, "kE": function() { return /* reexport */ is_numeric/* isNumeric */.k; }, @@ -4190,8 +4226,8 @@ function hasBrowserColorPicker() { try { const a = document.createElement('input'); a.type = 'color'; - supportsColor = - a.type === 'color' && typeof a.selectionStart !== 'number'; + a.value = '!'; + supportsColor = a.type === 'color' && a.value !== '!'; } catch (e) { supportsColor = false; @@ -4200,15 +4236,15 @@ function hasBrowserColorPicker() { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts -var is_array = __webpack_require__(41515); +var is_array = __webpack_require__(49781); // EXTERNAL MODULE: ./src/core/helpers/checker/is-boolean.ts -var is_boolean = __webpack_require__(10152); +var is_boolean = __webpack_require__(67749); // EXTERNAL MODULE: ./src/core/helpers/checker/is-equal.ts -var is_equal = __webpack_require__(13739); +var is_equal = __webpack_require__(32756); // EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts -var is_function = __webpack_require__(87385); +var is_function = __webpack_require__(42096); // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); ;// CONCATENATED MODULE: ./src/core/helpers/checker/is-html.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4232,9 +4268,9 @@ function isHtmlFromWord(data) { } // EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom = __webpack_require__(65401); +var dom = __webpack_require__(24263); // EXTERNAL MODULE: ./src/core/helpers/checker/is-void.ts -var is_void = __webpack_require__(62061); +var is_void = __webpack_require__(24021); ;// CONCATENATED MODULE: ./src/core/helpers/checker/is-imp-interface.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4255,7 +4291,7 @@ function hasContainer(value) { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-numeric.ts -var is_numeric = __webpack_require__(37381); +var is_numeric = __webpack_require__(57649); ;// CONCATENATED MODULE: ./src/core/helpers/checker/is-int.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4272,9 +4308,9 @@ function isInt(value) { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-jodit-object.ts -var is_jodit_object = __webpack_require__(12866); +var is_jodit_object = __webpack_require__(77892); // EXTERNAL MODULE: ./src/core/helpers/checker/is-view-object.ts -var is_view_object = __webpack_require__(33679); +var is_view_object = __webpack_require__(96574); ;// CONCATENATED MODULE: ./src/core/helpers/checker/is-license.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4287,15 +4323,15 @@ const isLicense = (license) => (0,is_string/* isString */.H)(license) && /^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(license); // EXTERNAL MODULE: ./src/core/helpers/checker/is-native-function.ts -var is_native_function = __webpack_require__(67940); +var is_native_function = __webpack_require__(28069); // EXTERNAL MODULE: ./src/core/helpers/checker/is-number.ts -var is_number = __webpack_require__(98296); +var is_number = __webpack_require__(61817); // EXTERNAL MODULE: ./src/core/helpers/checker/is-plain-object.ts -var is_plain_object = __webpack_require__(76856); +var is_plain_object = __webpack_require__(79736); // EXTERNAL MODULE: ./src/core/helpers/checker/is-promise.ts -var is_promise = __webpack_require__(15199); +var is_promise = __webpack_require__(26335); // EXTERNAL MODULE: ./src/core/helpers/checker/is-url.ts -var is_url = __webpack_require__(42139); +var is_url = __webpack_require__(64350); ;// CONCATENATED MODULE: ./src/core/helpers/checker/is-valid-name.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4310,7 +4346,9 @@ function isValidName(name) { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-window.ts -var is_window = __webpack_require__(64892); +var is_window = __webpack_require__(85994); +// EXTERNAL MODULE: ./src/core/helpers/checker/is-marker.ts +var is_marker = __webpack_require__(37204); ;// CONCATENATED MODULE: ./src/core/helpers/checker/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4339,11 +4377,12 @@ var is_window = __webpack_require__(64892); + /***/ }), -/***/ 41515: +/***/ 49781: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4362,7 +4401,7 @@ function isArray(elm) { /***/ }), -/***/ 10152: +/***/ 67749: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4381,7 +4420,7 @@ function isBoolean(elm) { /***/ }), -/***/ 13739: +/***/ 32756: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4389,7 +4428,7 @@ function isBoolean(elm) { /* harmony export */ "L": function() { return /* binding */ isFastEqual; }, /* harmony export */ "X": function() { return /* binding */ isEqual; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_string_stringify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58753); +/* harmony import */ var jodit_core_helpers_string_stringify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42554); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4406,7 +4445,7 @@ function isFastEqual(a, b) { /***/ }), -/***/ 87385: +/***/ 42096: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4425,14 +4464,14 @@ function isFunction(value) { /***/ }), -/***/ 12866: +/***/ 77892: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": function() { return /* binding */ isJoditObject; } /* harmony export */ }); -/* harmony import */ var _is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87385); +/* harmony import */ var _is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42096); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4450,7 +4489,32 @@ function isJoditObject(jodit) { /***/ }), -/***/ 67940: +/***/ 37204: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "_": function() { return /* binding */ isMarker; } +/* harmony export */ }); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86893); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +function isMarker(elm) { + return (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isNode */ .i.isNode(elm) && + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isTag */ .i.isTag(elm, 'span') && + elm.hasAttribute('data-' + jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__.MARKER_CLASS)); +} + + +/***/ }), + +/***/ 28069: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4472,7 +4536,7 @@ function isNativeFunction(f) { /***/ }), -/***/ 98296: +/***/ 61817: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4491,14 +4555,14 @@ function isNumber(value) { /***/ }), -/***/ 37381: +/***/ 57649: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "k": function() { return /* binding */ isNumeric; } /* harmony export */ }); -/* harmony import */ var _is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86129); +/* harmony import */ var _is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24421); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4518,14 +4582,14 @@ function isNumeric(value) { /***/ }), -/***/ 76856: +/***/ 79736: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "P": function() { return /* binding */ isPlainObject; } /* harmony export */ }); -/* harmony import */ var _is_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64892); +/* harmony import */ var _is_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85994); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4543,7 +4607,7 @@ function isPlainObject(obj) { /***/ }), -/***/ 15199: +/***/ 26335: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4562,7 +4626,7 @@ function isPromise(val) { /***/ }), -/***/ 86129: +/***/ 24421: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4570,7 +4634,7 @@ function isPromise(val) { /* harmony export */ "G": function() { return /* binding */ isStringArray; }, /* harmony export */ "H": function() { return /* binding */ isString; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41515); +/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49781); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4587,7 +4651,7 @@ function isStringArray(value) { /***/ }), -/***/ 42139: +/***/ 64350: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4620,14 +4684,14 @@ function isURL(str) { /***/ }), -/***/ 33679: +/***/ 96574: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "f": function() { return /* binding */ isViewObject; } /* harmony export */ }); -/* harmony import */ var _is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87385); +/* harmony import */ var _is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42096); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4644,7 +4708,7 @@ function isViewObject(jodit) { /***/ }), -/***/ 62061: +/***/ 24021: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4663,7 +4727,7 @@ function isVoid(value) { /***/ }), -/***/ 64892: +/***/ 85994: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4682,7 +4746,7 @@ function isWindow(obj) { /***/ }), -/***/ 96485: +/***/ 13203: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4720,14 +4784,14 @@ const colorToHex = (color) => { /***/ }), -/***/ 24044: +/***/ 61354: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "h": function() { return /* reexport safe */ _color_to_hex__WEBPACK_IMPORTED_MODULE_0__.h; } /* harmony export */ }); -/* harmony import */ var _color_to_hex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96485); +/* harmony import */ var _color_to_hex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13203); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -4738,7 +4802,7 @@ const colorToHex = (color) => { /***/ }), -/***/ 29516: +/***/ 69678: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4755,11 +4819,11 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom = __webpack_require__(65401); +var dom = __webpack_require__(24263); // EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var utils = __webpack_require__(38301); +var utils = __webpack_require__(76502); // EXTERNAL MODULE: ./src/core/helpers/string/trim.ts -var trim = __webpack_require__(89681); +var trim = __webpack_require__(33941); ;// CONCATENATED MODULE: ./src/core/helpers/html/apply-styles.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4852,7 +4916,7 @@ function applyStyles(html) { } // EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts -var to_array = __webpack_require__(58260); +var to_array = __webpack_require__(1853); ;// CONCATENATED MODULE: ./src/core/helpers/html/clean-from-word.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4936,7 +5000,7 @@ function htmlspecialchars(html) { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); ;// CONCATENATED MODULE: ./src/core/helpers/html/strip-tags.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4972,7 +5036,7 @@ function stripTags(html, doc = document) { } // EXTERNAL MODULE: ./src/core/helpers/html/safe-html.ts -var safe_html = __webpack_require__(46860); +var safe_html = __webpack_require__(67128); ;// CONCATENATED MODULE: ./src/core/helpers/html/nl2br.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -4999,7 +5063,7 @@ function nl2br(html) { /***/ }), -/***/ 46860: +/***/ 67128: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5007,8 +5071,8 @@ function nl2br(html) { /* harmony export */ "e": function() { return /* binding */ safeHTML; }, /* harmony export */ "n": function() { return /* binding */ sanitizeHTMLElement; } /* harmony export */ }); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38301); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65401); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76502); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24263); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5052,13 +5116,14 @@ function sanitizeHTMLElement(elm, { safeJavaScriptLink, removeOnError } = { /***/ }), -/***/ 83370: +/***/ 40332: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "CamelCaseToKebabCase": function() { return /* reexport safe */ _string__WEBPACK_IMPORTED_MODULE_8__.gP; }, +/* harmony export */ "NUMBER_FIELDS_REG": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.DO; }, /* harmony export */ "applyStyles": function() { return /* reexport safe */ _html__WEBPACK_IMPORTED_MODULE_5__.Zs; }, /* harmony export */ "asArray": function() { return /* reexport safe */ _array__WEBPACK_IMPORTED_MODULE_1__._2; }, /* harmony export */ "camelCase": function() { return /* reexport safe */ _string__WEBPACK_IMPORTED_MODULE_8__.eV; }, @@ -5085,6 +5150,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ "isInt": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.GN; }, /* harmony export */ "isJoditObject": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.Zu; }, /* harmony export */ "isLicense": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.A1; }, +/* harmony export */ "isMarker": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__._V; }, /* harmony export */ "isNativeFunction": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.QC; }, /* harmony export */ "isNumber": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.hj; }, /* harmony export */ "isNumeric": function() { return /* reexport safe */ _checker__WEBPACK_IMPORTED_MODULE_3__.kE; }, @@ -5100,6 +5166,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ "kebabCase": function() { return /* reexport safe */ _string__WEBPACK_IMPORTED_MODULE_8__.GL; }, /* harmony export */ "nl2br": function() { return /* reexport safe */ _html__WEBPACK_IMPORTED_MODULE_5__.hU; }, /* harmony export */ "normalizeColor": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.ut; }, +/* harmony export */ "normalizeCssNumericValue": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.xI; }, /* harmony export */ "normalizeCssValue": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.Zh; }, /* harmony export */ "normalizeKeyAliases": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.T2; }, /* harmony export */ "normalizeLicense": function() { return /* reexport safe */ _normalize__WEBPACK_IMPORTED_MODULE_6__.Pd; }, @@ -5123,18 +5190,18 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ "trimInv": function() { return /* reexport safe */ _string__WEBPACK_IMPORTED_MODULE_8__.as; }, /* harmony export */ "ucfirst": function() { return /* reexport safe */ _string__WEBPACK_IMPORTED_MODULE_8__.Ps; } /* harmony export */ }); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38301); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76502); /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {}; /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _utils__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _utils__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__) /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__); -/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90824); -/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45044); -/* harmony import */ var _checker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(43435); -/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24044); -/* harmony import */ var _html__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29516); -/* harmony import */ var _normalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(57561); -/* harmony import */ var _size__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(19751); -/* harmony import */ var _string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(68181); +/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56888); +/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4696); +/* harmony import */ var _checker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(78411); +/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61354); +/* harmony import */ var _html__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(69678); +/* harmony import */ var _normalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(46361); +/* harmony import */ var _size__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(52438); +/* harmony import */ var _string__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(89170); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5153,18 +5220,20 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ 57561: +/***/ 46361: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { + "DO": function() { return /* reexport */ normalize_css_value/* NUMBER_FIELDS_REG */.DO; }, "ut": function() { return /* reexport */ normalizeColor; }, - "Zh": function() { return /* reexport */ normalize_css_value/* normalizeCssValue */.Z; }, + "xI": function() { return /* reexport */ normalize_css_value/* normalizeCssNumericValue */.xI; }, + "Zh": function() { return /* reexport */ normalize_css_value/* normalizeCssValue */.Zh; }, "T2": function() { return /* reexport */ normalizeKeyAliases; }, "Pd": function() { return /* reexport */ normalizeLicense; }, - "Tz": function() { return /* reexport */ normalizeNode; }, + "Tz": function() { return /* reexport */ normalize_node/* normalizeNode */.T; }, "AH": function() { return /* reexport */ normalizePath; }, "Jf": function() { return /* reexport */ normalizeRelativePath; }, "aC": function() { return /* reexport */ normalizeSize; }, @@ -5172,9 +5241,9 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/string/trim.ts -var trim = __webpack_require__(89681); +var trim = __webpack_require__(33941); // EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); +var constants = __webpack_require__(86893); ;// CONCATENATED MODULE: ./src/core/helpers/normalize/normalize-key-aliases.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5230,37 +5299,10 @@ const normalizeLicense = (license, count = 8) => { return parts.join('-'); }; -// EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom = __webpack_require__(65401); -;// CONCATENATED MODULE: ./src/core/helpers/normalize/normalize-node.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -const normalizeNode = (node) => { - if (!node) { - return; - } - if (dom/* Dom.isText */.i.isText(node) && node.nodeValue != null && node.parentNode) { - while (dom/* Dom.isText */.i.isText(node.nextSibling)) { - if (node.nextSibling.nodeValue != null) { - node.nodeValue += node.nextSibling.nodeValue; - } - node.nodeValue = node.nodeValue.replace((0,constants.INVISIBLE_SPACE_REG_EXP)(), ''); - dom/* Dom.safeRemove */.i.safeRemove(node.nextSibling); - } - } - else { - normalizeNode(node.firstChild); - } - normalizeNode(node.nextSibling); -}; - +// EXTERNAL MODULE: ./src/core/helpers/normalize/normalize-node.ts +var normalize_node = __webpack_require__(74504); // EXTERNAL MODULE: ./src/core/helpers/string/index.ts + 2 modules -var string = __webpack_require__(68181); +var string = __webpack_require__(89170); ;// CONCATENATED MODULE: ./src/core/helpers/normalize/normalize-path.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5341,9 +5383,9 @@ const normalizeUrl = (...urls) => { }; // EXTERNAL MODULE: ./src/core/helpers/normalize/normalize-css-value.ts -var normalize_css_value = __webpack_require__(80686); +var normalize_css_value = __webpack_require__(49353); // EXTERNAL MODULE: ./src/core/helpers/color/color-to-hex.ts -var color_to_hex = __webpack_require__(96485); +var color_to_hex = __webpack_require__(13203); ;// CONCATENATED MODULE: ./src/core/helpers/normalize/normalize-color.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5392,16 +5434,19 @@ const normalizeColor = (colorInput) => { /***/ }), -/***/ 80686: +/***/ 49353: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Z": function() { return /* binding */ normalizeCssValue; } +/* harmony export */ "DO": function() { return /* binding */ NUMBER_FIELDS_REG; }, +/* harmony export */ "Zh": function() { return /* binding */ normalizeCssValue; }, +/* harmony export */ "xI": function() { return /* binding */ normalizeCssNumericValue; } /* harmony export */ }); -/* harmony import */ var _checker_is_numeric__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37381); -/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(72919); -/* harmony import */ var _color_color_to_hex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(96485); +/* harmony import */ var _checker_is_numeric__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57649); +/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11278); +/* harmony import */ var _color_color_to_hex__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13203); +/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24021); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5410,8 +5455,18 @@ const normalizeColor = (colorInput) => { + +const NUMBER_FIELDS_REG = /^(left|top|bottom|right|width|min|max|height|margin|padding|fontsize|font-size)/i; +function normalizeCssNumericValue(key, value) { + if (!(0,_checker_is_void__WEBPACK_IMPORTED_MODULE_0__/* .isVoid */ .n)(value) && + NUMBER_FIELDS_REG.test(key) && + (0,_checker_is_numeric__WEBPACK_IMPORTED_MODULE_1__/* .isNumeric */ .k)(value.toString())) { + return parseInt(value.toString(), 10) + 'px'; + } + return value; +} function normalizeCssValue(key, value) { - switch ((0,_string_kebab_case__WEBPACK_IMPORTED_MODULE_0__/* .kebabCase */ .G)(key)) { + switch ((0,_string_kebab_case__WEBPACK_IMPORTED_MODULE_2__/* .kebabCase */ .G)(key)) { case 'font-weight': switch (value.toString().toLowerCase()) { case '700': @@ -5427,7 +5482,7 @@ function normalizeCssValue(key, value) { return (0,_checker_is_numeric__WEBPACK_IMPORTED_MODULE_1__/* .isNumeric */ .k)(value) ? Number(value) : value; } if (/color/i.test(key) && /^rgb/i.test(value.toString())) { - return (0,_color_color_to_hex__WEBPACK_IMPORTED_MODULE_2__/* .colorToHex */ .h)(value.toString()) || value; + return (0,_color_color_to_hex__WEBPACK_IMPORTED_MODULE_3__/* .colorToHex */ .h)(value.toString()) || value; } return value; } @@ -5435,7 +5490,45 @@ function normalizeCssValue(key, value) { /***/ }), -/***/ 19751: +/***/ 74504: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "T": function() { return /* binding */ normalizeNode; } +/* harmony export */ }); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24263); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +function normalizeNode(node) { + if (!node) { + return; + } + if (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isText */ .i.isText(node) && node.nodeValue != null && node.parentNode) { + while (jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isText */ .i.isText(node.nextSibling)) { + if (node.nextSibling.nodeValue != null) { + node.nodeValue += node.nextSibling.nodeValue; + } + node.nodeValue = node.nodeValue.replace((0,jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__.INVISIBLE_SPACE_REG_EXP)(), ''); + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeRemove */ .i.safeRemove(node.nextSibling); + } + } + else { + normalizeNode(node.firstChild); + } + normalizeNode(node.nextSibling); +} + + +/***/ }), + +/***/ 52438: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5462,9 +5555,9 @@ const getContentWidth = (element, win) => { }; // EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var utils = __webpack_require__(38301); +var utils = __webpack_require__(76502); // EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom = __webpack_require__(65401); +var dom = __webpack_require__(24263); ;// CONCATENATED MODULE: ./src/core/helpers/size/get-scroll-parent.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5550,7 +5643,7 @@ const offset = (elm, jodit, doc, recurse = false) => { }; // EXTERNAL MODULE: ./src/core/helpers/checker/is-jodit-object.ts -var is_jodit_object = __webpack_require__(12866); +var is_jodit_object = __webpack_require__(77892); ;// CONCATENATED MODULE: ./src/core/helpers/size/position.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5578,7 +5671,7 @@ function position(elm, jodit, recurse = false) { } // EXTERNAL MODULE: ./src/core/helpers/size/object-size.ts -var object_size = __webpack_require__(74395); +var object_size = __webpack_require__(16492); ;// CONCATENATED MODULE: ./src/core/helpers/size/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5595,14 +5688,14 @@ var object_size = __webpack_require__(74395); /***/ }), -/***/ 74395: +/***/ 16492: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "d": function() { return /* binding */ size; } /* harmony export */ }); -/* harmony import */ var _checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43435); +/* harmony import */ var _checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78411); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5622,7 +5715,7 @@ function size(subject) { /***/ }), -/***/ 79417: +/***/ 26596: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5643,14 +5736,14 @@ const camelCase = (key) => { /***/ }), -/***/ 83212: +/***/ 93163: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Q": function() { return /* binding */ fuzzySearchIndex; } /* harmony export */ }); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5690,7 +5783,7 @@ function fuzzySearchIndex(needle, haystack, offset = 0, maxDistance = 1) { /***/ }), -/***/ 68181: +/***/ 89170: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5710,15 +5803,15 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/string/camel-case.ts -var camel_case = __webpack_require__(79417); +var camel_case = __webpack_require__(26596); // EXTERNAL MODULE: ./src/core/helpers/string/fuzzy-search-index.ts -var fuzzy_search_index = __webpack_require__(83212); +var fuzzy_search_index = __webpack_require__(93163); // EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); +var config = __webpack_require__(93166); // EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var utils = __webpack_require__(38301); +var utils = __webpack_require__(76502); // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); ;// CONCATENATED MODULE: ./src/core/helpers/string/ucfirst.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5733,7 +5826,7 @@ function ucfirst(value) { } // EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); +var constants = __webpack_require__(86893); ;// CONCATENATED MODULE: ./src/core/helpers/string/i18n.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5818,11 +5911,11 @@ function i18n(key, params, options) { } // EXTERNAL MODULE: ./src/core/helpers/string/kebab-case.ts -var kebab_case = __webpack_require__(72919); +var kebab_case = __webpack_require__(11278); // EXTERNAL MODULE: ./src/core/helpers/string/stringify.ts -var stringify = __webpack_require__(58753); +var stringify = __webpack_require__(42554); // EXTERNAL MODULE: ./src/core/helpers/string/trim.ts -var trim = __webpack_require__(89681); +var trim = __webpack_require__(33941); ;// CONCATENATED MODULE: ./src/core/helpers/string/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -5840,7 +5933,7 @@ var trim = __webpack_require__(89681); /***/ }), -/***/ 72919: +/***/ 11278: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5870,7 +5963,7 @@ const CamelCaseToKebabCase = (key) => { /***/ }), -/***/ 58753: +/***/ 42554: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5906,7 +5999,7 @@ function stringify(value, options = {}) { /***/ }), -/***/ 89681: +/***/ 33941: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5914,7 +6007,7 @@ function stringify(value, options = {}) { /* harmony export */ "a": function() { return /* binding */ trimInv; }, /* harmony export */ "f": function() { return /* binding */ trim; } /* harmony export */ }); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -5935,7 +6028,7 @@ function trimInv(value) { /***/ }), -/***/ 55667: +/***/ 60303: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5944,8 +6037,8 @@ function trimInv(value) { /* harmony export */ "wL": function() { return /* binding */ clearAlign; }, /* harmony export */ "zC": function() { return /* binding */ hAlignElement; } /* harmony export */ }); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36516); -/* harmony import */ var _utils_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76239); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64968); +/* harmony import */ var _utils_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26911); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6011,7 +6104,7 @@ function alignElement(command, box) { /***/ }), -/***/ 23502: +/***/ 62462: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6022,9 +6115,9 @@ function alignElement(command, box) { /* harmony export */ "uR": function() { return /* binding */ appendScript; }, /* harmony export */ "wY": function() { return /* binding */ loadNext; } /* harmony export */ }); -/* harmony import */ var _complete_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39188); -/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87385); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86129); +/* harmony import */ var _complete_url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48240); +/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42096); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24421); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6100,7 +6193,33 @@ const loadNextStyle = (jodit, urls, i = 0) => { /***/ }), -/***/ 1856: +/***/ 603: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export assert */ +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +class AssertionError extends Error { + constructor(message) { + super(message); + this.name = 'AssertionError'; + } +} +function assert(condition, message) { + if (!condition) { + throw new AssertionError(`Assertion failed: ${message}`); + } +} + + + +/***/ }), + +/***/ 37682: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6139,14 +6258,14 @@ const browser = (browser) => { /***/ }), -/***/ 95101: +/***/ 71567: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "X": function() { return /* binding */ buildQuery; } /* harmony export */ }); -/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76856); +/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79736); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6169,7 +6288,7 @@ const buildQuery = (data, prefix) => { /***/ }), -/***/ 39188: +/***/ 48240: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6191,7 +6310,7 @@ const completeUrl = (url) => { /***/ }), -/***/ 48202: +/***/ 64981: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6199,13 +6318,13 @@ const completeUrl = (url) => { /* harmony export */ "I": function() { return /* binding */ ConfigProto; }, /* harmony export */ "t": function() { return /* binding */ ConfigFlatten; } /* harmony export */ }); -/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(54739); -/* harmony import */ var _checker_is_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(41515); -/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76856); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86129); -/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62061); -/* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80031); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(32389); +/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7935); +/* harmony import */ var _checker_is_array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49781); +/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(79736); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24421); +/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(24021); +/* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(93166); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67309); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6260,15 +6379,15 @@ function ConfigFlatten(obj) { /***/ }), -/***/ 93194: +/***/ 42051: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "U": function() { return /* binding */ convertMediaUrlToVideoEmbed; } /* harmony export */ }); -/* harmony import */ var _checker_is_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42139); -/* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19814); +/* harmony import */ var _checker_is_url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64350); +/* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67285); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6327,7 +6446,7 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => { /***/ }), -/***/ 76239: +/***/ 26911: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6335,13 +6454,11 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => { /* harmony export */ "b": function() { return /* binding */ clearCenterAlign; }, /* harmony export */ "i": function() { return /* binding */ css; } /* harmony export */ }); -/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76856); -/* harmony import */ var _checker_is_numeric__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37381); -/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(62061); -/* harmony import */ var _checker_is_boolean__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10152); -/* harmony import */ var _normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80686); -/* harmony import */ var _string_camel_case__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(79417); -/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(72919); +/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(79736); +/* harmony import */ var _checker_is_boolean__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67749); +/* harmony import */ var _normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49353); +/* harmony import */ var _string_camel_case__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26596); +/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11278); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6352,39 +6469,32 @@ const convertMediaUrlToVideoEmbed = (url, width = 400, height = 345) => { - - function css(element, key, value, onlyStyleMode = false) { - const numberFieldsReg = /^(left|top|bottom|right|width|min|max|height|margin|padding|fontsize|font-size)/i; if ((0,_checker_is_boolean__WEBPACK_IMPORTED_MODULE_0__/* .isBoolean */ .j)(value)) { onlyStyleMode = value; value = undefined; } if ((0,_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_1__/* .isPlainObject */ .P)(key) || value !== undefined) { const setValue = (elm, _key, _value) => { - if (!(0,_checker_is_void__WEBPACK_IMPORTED_MODULE_2__/* .isVoid */ .n)(_value) && - numberFieldsReg.test(_key) && - (0,_checker_is_numeric__WEBPACK_IMPORTED_MODULE_3__/* .isNumeric */ .k)(_value.toString())) { - _value = parseInt(_value.toString(), 10) + 'px'; - } + _value = (0,_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_2__/* .normalizeCssNumericValue */ .xI)(_key, _value); if (_value !== undefined && (_value == null || - css(elm, _key, true) !== (0,_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__/* .normalizeCssValue */ .Z)(_key, _value))) { + css(elm, _key, true) !== (0,_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_2__/* .normalizeCssValue */ .Zh)(_key, _value))) { elm.style[_key] = _value; } }; if ((0,_checker_is_plain_object__WEBPACK_IMPORTED_MODULE_1__/* .isPlainObject */ .P)(key)) { const keys = Object.keys(key); for (let j = 0; j < keys.length; j += 1) { - setValue(element, (0,_string_camel_case__WEBPACK_IMPORTED_MODULE_5__/* .camelCase */ .e)(keys[j]), key[keys[j]]); + setValue(element, (0,_string_camel_case__WEBPACK_IMPORTED_MODULE_3__/* .camelCase */ .e)(keys[j]), key[keys[j]]); } } else { - setValue(element, (0,_string_camel_case__WEBPACK_IMPORTED_MODULE_5__/* .camelCase */ .e)(key), value); + setValue(element, (0,_string_camel_case__WEBPACK_IMPORTED_MODULE_3__/* .camelCase */ .e)(key), value); } return ''; } - const key2 = (0,_string_kebab_case__WEBPACK_IMPORTED_MODULE_6__/* .kebabCase */ .G)(key), doc = element.ownerDocument || document, win = doc ? doc.defaultView || doc.parentWindow : false; + const key2 = (0,_string_kebab_case__WEBPACK_IMPORTED_MODULE_4__/* .kebabCase */ .G)(key), doc = element.ownerDocument || document, win = doc ? doc.defaultView || doc.parentWindow : false; const currentValue = element.style[key]; let result = ''; if (currentValue !== undefined && currentValue !== '') { @@ -6393,11 +6503,11 @@ function css(element, key, value, onlyStyleMode = false) { else if (win && !onlyStyleMode) { result = win.getComputedStyle(element).getPropertyValue(key2); } - if (numberFieldsReg.test(key) && + if (_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_2__/* .NUMBER_FIELDS_REG.test */ .DO.test(key) && /^[-+]?[0-9.]+px$/.test(result.toString())) { result = parseInt(result.toString(), 10); } - return (0,_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_4__/* .normalizeCssValue */ .Z)(key, result); + return (0,_normalize_normalize_css_value__WEBPACK_IMPORTED_MODULE_2__/* .normalizeCssValue */ .Zh)(key, result); } const clearCenterAlign = (image) => { if (css(image, 'display') === 'block') { @@ -6413,7 +6523,7 @@ const clearCenterAlign = (image) => { /***/ }), -/***/ 7009: +/***/ 2522: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6441,14 +6551,14 @@ const ctrlKey = (e) => { /***/ }), -/***/ 75698: +/***/ 63122: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "q": function() { return /* binding */ dataBind; } /* harmony export */ }); -/* harmony import */ var _checker_is_view_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33679); +/* harmony import */ var _checker_is_view_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96574); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6483,14 +6593,14 @@ const dataBind = (elm, key, value) => { /***/ }), -/***/ 4371: +/***/ 93351: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "X": function() { return /* binding */ defaultLanguage; } /* harmony export */ }); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86129); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24421); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6513,7 +6623,7 @@ const defaultLanguage = (language, defaultLanguage = 'en') => { /***/ }), -/***/ 70843: +/***/ 14582: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6614,7 +6724,7 @@ function isAbort(error) { /***/ }), -/***/ 54739: +/***/ 7935: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6623,7 +6733,7 @@ function isAbort(error) { /* harmony export */ "V8": function() { return /* binding */ fastClone; }, /* harmony export */ "XT": function() { return /* binding */ markAsAtomic; } /* harmony export */ }); -/* harmony import */ var _string_stringify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58753); +/* harmony import */ var _string_stringify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42554); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6648,7 +6758,7 @@ function fastClone(object) { /***/ }), -/***/ 870: +/***/ 87247: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6656,7 +6766,7 @@ function fastClone(object) { /* harmony export */ "g": function() { return /* binding */ getClassName; }, /* harmony export */ "k": function() { return /* binding */ keepNames; } /* harmony export */ }); -/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(87385); +/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42096); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6684,15 +6794,15 @@ const getClassName = (obj) => { /***/ }), -/***/ 56143: +/***/ 69384: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "U": function() { return /* binding */ get; } /* harmony export */ }); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86129); -/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62061); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24421); +/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24021); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6726,7 +6836,7 @@ function get(chain, obj) { /***/ }), -/***/ 24891: +/***/ 6102: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6751,7 +6861,7 @@ const humanSizeToBytes = (human) => { /***/ }), -/***/ 38301: +/***/ 76502: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6815,37 +6925,37 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ "set": function() { return /* reexport safe */ _set__WEBPACK_IMPORTED_MODULE_23__.t; }, /* harmony export */ "val": function() { return /* reexport safe */ _val__WEBPACK_IMPORTED_MODULE_26__.P; } /* harmony export */ }); -/* harmony import */ var _align__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55667); -/* harmony import */ var _append_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23502); +/* harmony import */ var _align__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60303); +/* harmony import */ var _append_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62462); /* harmony import */ var _assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52378); /* harmony import */ var _assert__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_assert__WEBPACK_IMPORTED_MODULE_2__); /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {}; /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _assert__WEBPACK_IMPORTED_MODULE_2__) if(["default","alignElement","clearAlign","hAlignElement","appendScript","appendScriptAsync","appendStyleAsync","loadNext","loadNextStyle"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _assert__WEBPACK_IMPORTED_MODULE_2__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__) /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__); -/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1856); -/* harmony import */ var _build_query__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(95101); -/* harmony import */ var _complete_url__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(39188); -/* harmony import */ var _config_proto__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(48202); -/* harmony import */ var _convert_media_url_to_video_embed__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(93194); -/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(76239); -/* harmony import */ var _ctrl_key__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7009); -/* harmony import */ var _data_bind__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(75698); -/* harmony import */ var _default_language__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(4371); -/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(70843); -/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(54739); -/* harmony import */ var _get__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(56143); -/* harmony import */ var _get_class_name__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(870); -/* harmony import */ var _human_size_to_bytes__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(24891); -/* harmony import */ var _mark_deprecated__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(16385); -/* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(19814); -/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(25846); -/* harmony import */ var _reset__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(943); -/* harmony import */ var _scroll_into_view__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(14475); -/* harmony import */ var _selector__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(73549); -/* harmony import */ var _set__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(55736); -/* harmony import */ var _stack__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(14923); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(32389); -/* harmony import */ var _val__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(2717); +/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37682); +/* harmony import */ var _build_query__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(71567); +/* harmony import */ var _complete_url__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(48240); +/* harmony import */ var _config_proto__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64981); +/* harmony import */ var _convert_media_url_to_video_embed__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42051); +/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26911); +/* harmony import */ var _ctrl_key__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2522); +/* harmony import */ var _data_bind__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(63122); +/* harmony import */ var _default_language__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(93351); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(14582); +/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(7935); +/* harmony import */ var _get__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(69384); +/* harmony import */ var _get_class_name__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(87247); +/* harmony import */ var _human_size_to_bytes__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(6102); +/* harmony import */ var _mark_deprecated__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(47580); +/* harmony import */ var _parse_query__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(67285); +/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(21498); +/* harmony import */ var _reset__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(80861); +/* harmony import */ var _scroll_into_view__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(9005); +/* harmony import */ var _selector__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(54188); +/* harmony import */ var _set__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(21518); +/* harmony import */ var _stack__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(37228); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(67309); +/* harmony import */ var _val__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(22362); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -6882,7 +6992,7 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ 16385: +/***/ 47580: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6907,7 +7017,7 @@ function markDeprecated(method, names = [''], ctx = null) { /***/ }), -/***/ 19814: +/***/ 67285: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6931,18 +7041,18 @@ const parseQuery = (queryString) => { /***/ }), -/***/ 25846: +/***/ 21498: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "$": function() { return /* binding */ previewBox; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86129); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65401); -/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76239); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(32389); -/* harmony import */ var _selector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73549); +/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24421); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24263); +/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26911); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67309); +/* harmony import */ var _selector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(54188); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7090,15 +7200,15 @@ function previewBox(editor, defaultValue, points = 'px', container = null) { /***/ }), -/***/ 943: +/***/ 80861: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "m": function() { return /* binding */ reset; } /* harmony export */ }); -/* harmony import */ var _get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(56143); -/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87385); +/* harmony import */ var _get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69384); +/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42096); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7135,7 +7245,7 @@ const reset = function (key) { /***/ }), -/***/ 14475: +/***/ 9005: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7143,7 +7253,7 @@ const reset = function (key) { /* harmony export */ "j": function() { return /* binding */ inView; }, /* harmony export */ "n": function() { return /* binding */ scrollIntoViewIfNeeded; } /* harmony export */ }); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65401); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24263); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7181,7 +7291,7 @@ function scrollIntoViewIfNeeded(elm, root, doc) { /***/ }), -/***/ 73549: +/***/ 54188: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7192,14 +7302,14 @@ function scrollIntoViewIfNeeded(elm, root, doc) { /* harmony export */ "iN": function() { return /* binding */ cssPath; }, /* harmony export */ "xL": function() { return /* binding */ refs; } /* harmony export */ }); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); -/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(86129); -/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38301); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_helpers_string_camel_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(79417); -/* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58260); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16867); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); +/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24421); +/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76502); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_helpers_string_camel_case__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(26596); +/* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1853); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45113); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7307,17 +7417,17 @@ function resolveElement(element, od) { /***/ }), -/***/ 55736: +/***/ 21518: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "t": function() { return /* binding */ set; } /* harmony export */ }); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86129); -/* harmony import */ var _checker_is_numeric__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37381); -/* harmony import */ var _checker_is_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41515); -/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76856); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24421); +/* harmony import */ var _checker_is_numeric__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57649); +/* harmony import */ var _checker_is_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49781); +/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79736); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7348,7 +7458,7 @@ function set(chain, value, obj) { /***/ }), -/***/ 14923: +/***/ 37228: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7383,7 +7493,7 @@ class LimitedStack { /***/ }), -/***/ 32389: +/***/ 67309: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7397,14 +7507,14 @@ class LimitedStack { /* harmony export */ "qu": function() { return /* binding */ getDataTransfer; }, /* harmony export */ "u3": function() { return /* binding */ memorizeExec; } /* harmony export */ }); -/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87385); -/* harmony import */ var _checker_is_promise__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(15199); -/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(62061); -/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76856); -/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86129); -/* harmony import */ var _data_bind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75698); -/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76239); -/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(72919); +/* harmony import */ var _checker_is_function__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42096); +/* harmony import */ var _checker_is_promise__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(26335); +/* harmony import */ var _checker_is_void__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(24021); +/* harmony import */ var _checker_is_plain_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79736); +/* harmony import */ var _checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24421); +/* harmony import */ var _data_bind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63122); +/* harmony import */ var _css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26911); +/* harmony import */ var _string_kebab_case__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11278); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7527,7 +7637,7 @@ const getDataTransfer = (event) => { /***/ }), -/***/ 2717: +/***/ 22362: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7553,15 +7663,15 @@ const val = (elm, selector, value) => { /***/ }), -/***/ 76454: +/***/ 57549: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "S": function() { return /* reexport safe */ _plugin__WEBPACK_IMPORTED_MODULE_1__.S; } /* harmony export */ }); -/* harmony import */ var _plugin_system__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60154); -/* harmony import */ var _plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(90431); +/* harmony import */ var _plugin_system__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44540); +/* harmony import */ var _plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(85605); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7573,19 +7683,19 @@ const val = (elm, selector, value) => { /***/ }), -/***/ 60154: +/***/ 44540: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "h": function() { return /* binding */ PluginSystem; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43435); -/* harmony import */ var jodit_core_helpers_utils_append_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(23502); -/* harmony import */ var jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(90824); -/* harmony import */ var jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68181); -/* harmony import */ var jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(32389); -/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16672); +/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78411); +/* harmony import */ var jodit_core_helpers_utils_append_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62462); +/* harmony import */ var jodit_core_helpers_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(56888); +/* harmony import */ var jodit_core_helpers_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89170); +/* harmony import */ var jodit_core_helpers_utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67309); +/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(17332); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7787,7 +7897,7 @@ PluginSystem.styles = new Set(); /***/ }), -/***/ 90431: +/***/ 85605: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7795,9 +7905,9 @@ PluginSystem.styles = new Set(); /* harmony export */ "S": function() { return /* binding */ Plugin; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20255); -/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2624); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83370); +/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90549); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40332); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -7808,6 +7918,9 @@ PluginSystem.styles = new Set(); class Plugin extends _component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent */ .Hr { + className() { + return ''; + } constructor(jodit) { super(jodit); this.requires = []; @@ -7828,9 +7941,6 @@ class Plugin extends _component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent */ }) .on('beforeDestruct', this.destruct); } - className() { - return ''; - } init(jodit) { } destruct() { @@ -7856,7 +7966,7 @@ class Plugin extends _component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent */ /***/ }), -/***/ 5887: +/***/ 12709: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7870,11 +7980,11 @@ __webpack_require__.d(__webpack_exports__, { // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js var tslib_es6 = __webpack_require__(20255); // EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); +var config = __webpack_require__(93166); // EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); +var helpers = __webpack_require__(40332); // EXTERNAL MODULE: ./src/core/helpers/utils/error/index.ts + 5 modules -var error = __webpack_require__(70843); +var error = __webpack_require__(14582); ;// CONCATENATED MODULE: ./src/core/request/response.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -7882,15 +7992,15 @@ var error = __webpack_require__(70843); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ class Response { - constructor(request, status, statusText, body) { - this.request = request; + get url() { + return this.request.url; + } + constructor(request, status, statusText, body) { + this.request = request; this.status = status; this.statusText = statusText; this.body = body; } - get url() { - return this.request.url; - } async json() { return JSON.parse(this.body); } @@ -7903,9 +8013,9 @@ class Response { } // EXTERNAL MODULE: ./src/core/async/index.ts + 1 modules -var core_async = __webpack_require__(83735); +var core_async = __webpack_require__(21317); // EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); +var decorators = __webpack_require__(67493); ;// CONCATENATED MODULE: ./src/core/request/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -8103,7 +8213,7 @@ Ajax.log = []; /***/ }), -/***/ 37424: +/***/ 80805: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8115,9 +8225,9 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); +var dom = __webpack_require__(64968); // EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); +var constants = __webpack_require__(86893); ;// CONCATENATED MODULE: ./src/core/selection/helpers/move-node-inside-start.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -8177,1029 +8287,737 @@ function moveTheNodeAlongTheEdgeOutward(node, start, root) { /***/ }), -/***/ 92415: +/***/ 88755: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { - "RP": function() { return /* reexport */ CommitStyle; }, - "Ph": function() { return /* reexport */ Select; } + "Ke": function() { return /* reexport */ Storage; } }); -// UNUSED EXPORTS: CHANGE, INITIAL, REPLACE, UNSET, UNWRAP, WRAP +// UNUSED EXPORTS: LocalStorageProvider, MemoryStorageProvider, StorageKey, canUsePersistentStorage -// EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var utils = __webpack_require__(38301); -// EXTERNAL MODULE: ./src/core/helpers/utils/css.ts -var css = __webpack_require__(76239); -// EXTERNAL MODULE: ./src/core/helpers/utils/data-bind.ts -var data_bind = __webpack_require__(75698); -// EXTERNAL MODULE: ./src/core/helpers/string/kebab-case.ts -var kebab_case = __webpack_require__(72919); -// EXTERNAL MODULE: ./src/core/helpers/normalize/normalize-css-value.ts -var normalize_css_value = __webpack_require__(80686); -// EXTERNAL MODULE: ./src/core/helpers/size/object-size.ts -var object_size = __webpack_require__(74395); -// EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); -// EXTERNAL MODULE: ./src/core/global.ts -var global = __webpack_require__(16672); -;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle/toggle-css.ts +;// CONCATENATED MODULE: ./src/core/storage/engines/local-storage-provider.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ - - - - - - - - - -function toggleCSS(commitStyle, elm, jodit, mode, dry = false) { - const { style, className } = commitStyle.options; - if (style && (0,object_size/* size */.d)(style) > 0) { - Object.keys(style).forEach((rule) => { - const inlineValue = elm.style.getPropertyValue((0,kebab_case/* kebabCase */.G)(rule)); - if (inlineValue === '' && style[rule] == null) { - return; - } - if (getNativeCSSValue(jodit, elm, rule) === - (0,normalize_css_value/* normalizeCssValue */.Z)(rule, style[rule])) { - !dry && (0,css/* css */.i)(elm, rule, null); - mode = UNSET; - mode = removeExtraStyleAttribute(commitStyle, elm, mode); - return; - } - mode = CHANGE; - !dry && (0,css/* css */.i)(elm, rule, style[rule]); - if (!dry) { - mode = removeExtraStyleAttribute(commitStyle, elm, mode); - } - }); - } - if (className) { - if (elm.classList.contains(className)) { - elm.classList.remove(className); - mode = UNSET; +const canUsePersistentStorage = (() => { + const canUse = () => { + const tmpKey = '___Jodit___' + Math.random().toString(); + try { + localStorage.setItem(tmpKey, '1'); + const result = localStorage.getItem(tmpKey) === '1'; + localStorage.removeItem(tmpKey); + return result; } - else { - elm.classList.add(className); - mode = CHANGE; + catch (_a) { } + return false; + }; + let result; + return () => { + if (result === undefined) { + result = canUse(); + } + return result; + }; +})(); +class LocalStorageProvider { + set(key, value) { + try { + const buffer = localStorage.getItem(this.rootKey); + const json = buffer ? JSON.parse(buffer) : {}; + json[key] = value; + localStorage.setItem(this.rootKey, JSON.stringify(json)); } + catch (_a) { } + return this; } - return mode; -} -function removeExtraStyleAttribute(commitStyle, elm, mode) { - if (!(0,utils.attr)(elm, 'style')) { - (0,utils.attr)(elm, 'style', null); - if (elm.tagName.toLowerCase() === commitStyle.defaultTag) { - dom/* Dom.unwrap */.i.unwrap(elm); - mode = UNWRAP; + delete(key) { + try { + localStorage.removeItem(this.rootKey); } + catch (_a) { } + return this; } - return mode; -} -function getShadowRoot(jodit) { - var _a; - if ((0,data_bind/* dataBind */.q)(jodit, 'shadowRoot') !== undefined) { - return (0,data_bind/* dataBind */.q)(jodit, 'shadowRoot'); + get(key) { + try { + const buffer = localStorage.getItem(this.rootKey); + const json = buffer ? JSON.parse(buffer) : {}; + return json[key] !== undefined ? json[key] : null; + } + catch (_a) { } + } + exists(key) { + return this.get(key) != null; + } + constructor(rootKey) { + this.rootKey = rootKey; + } + clear() { + try { + localStorage.removeItem(this.rootKey); + } + catch (_a) { } + return this; } - const container = (0,global/* getContainer */.ZO)(jodit); - const iframe = document.createElement('iframe'); - (0,css/* css */.i)(iframe, { - width: 0, - height: 0, - position: 'absolute', - border: 0 - }); - iframe.src = 'about:blank'; - container.appendChild(iframe); - const doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document; - const shadowRoot = !doc ? jodit.od.body : doc.body; - (0,data_bind/* dataBind */.q)(jodit, 'shadowRoot', shadowRoot); - return shadowRoot; -} -function getNativeCSSValue(jodit, elm, key) { - const newElm = jodit.create.element(elm.tagName.toLowerCase()); - newElm.style.cssText = elm.style.cssText; - const root = getShadowRoot(jodit); - root.appendChild(newElm); - const result = (0,css/* css */.i)(newElm, key); - dom/* Dom.safeRemove */.i.safeRemove(newElm); - return result; } -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/selection/helpers/index.ts + 2 modules -var selection_helpers = __webpack_require__(37424); -;// CONCATENATED MODULE: ./src/core/selection/select.ts +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +;// CONCATENATED MODULE: ./src/core/storage/engines/memory-storage-provider.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ - - - - - - - - -class Select { - constructor(jodit) { - this.jodit = jodit; - jodit.e.on('removeMarkers', () => { - this.removeMarkers(); - }); - } - get j() { - return this.jodit; +class MemoryStorageProvider { + constructor() { + this.data = new Map(); } - errorNode(node) { - if (!dom/* Dom.isNode */.i.isNode(node)) { - throw (0,helpers.error)('Parameter node must be instance of Node'); - } + set(key, value) { + this.data.set(key, value); + return this; } - get area() { - return this.j.editor; + delete(key) { + this.data.delete(key); + return this; } - get win() { - return this.j.ew; + get(key) { + return this.data.get(key); } - get doc() { - return this.j.ed; + exists(key) { + return this.data.has(key); } - get sel() { - if (this.j.o.shadowRoot && - (0,helpers.isFunction)(this.j.o.shadowRoot.getSelection)) { - return this.j.o.shadowRoot.getSelection(); - } - return this.win.getSelection(); + clear() { + this.data.clear(); + return this; } - get range() { - const sel = this.sel; - return sel && sel.rangeCount ? sel.getRangeAt(0) : this.createRange(); +} + +;// CONCATENATED MODULE: ./src/core/storage/storage.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +const StorageKey = 'Jodit_'; +class Storage { + set(key, value) { + this.provider.set((0,helpers.camelCase)(this.prefix + key), value); + return this; } - get isInsideArea() { - const { sel } = this; - const range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel.getRangeAt(0) : null; - return !(!range || !dom/* Dom.isOrContains */.i.isOrContains(this.area, range.startContainer)); + delete(key) { + this.provider.delete((0,helpers.camelCase)(this.prefix + key)); + return this; } - createRange(select = false) { - const range = this.doc.createRange(); - if (select) { - this.selectRange(range); - } - return range; + get(key) { + return this.provider.get((0,helpers.camelCase)(this.prefix + key)); } - remove() { - const sel = this.sel, current = this.current(); - if (sel && current) { - for (let i = 0; i < sel.rangeCount; i += 1) { - sel.getRangeAt(i).deleteContents(); - sel.getRangeAt(i).collapse(true); - } - } + exists(key) { + return this.provider.exists((0,helpers.camelCase)(this.prefix + key)); } clear() { - var _a, _b; - if ((_a = this.sel) === null || _a === void 0 ? void 0 : _a.rangeCount) { - (_b = this.sel) === null || _b === void 0 ? void 0 : _b.removeAllRanges(); + this.provider.clear(); + return this; + } + constructor(provider, suffix) { + this.provider = provider; + this.prefix = StorageKey; + if (suffix) { + this.prefix += suffix; } } - removeNode(node) { - if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, node, true)) { - throw (0,helpers.error)("Selection.removeNode can remove only editor's children"); + static makeStorage(persistent = false, suffix) { + let provider; + if (persistent && canUsePersistentStorage()) { + provider = new LocalStorageProvider(StorageKey + suffix); } - dom/* Dom.safeRemove */.i.safeRemove(node); - this.j.e.fire('afterRemoveNode', node); + if (!provider) { + provider = new MemoryStorageProvider(); + } + return new Storage(provider, suffix); } - insertCursorAtPoint(x, y) { - this.removeMarkers(); - try { - const rng = this.createRange(); - (() => { - if (this.doc.caretPositionFromPoint) { - const caret = this.doc.caretPositionFromPoint(x, y); - if (caret) { - rng.setStart(caret.offsetNode, caret.offset); - return; - } - } - if (this.doc.caretRangeFromPoint) { - const caret = this.doc.caretRangeFromPoint(x, y); - rng.setStart(caret.startContainer, caret.startOffset); - } - })(); - rng.collapse(true); - this.selectRange(rng); - return true; - } - catch (_a) { } - return false; +} + +;// CONCATENATED MODULE: ./src/core/storage/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + +/***/ }), + +/***/ 72452: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "lf": function() { return /* reexport */ Dlgs; }, + "Fx": function() { return /* reexport */ Elms; }, + "$t": function() { return /* reexport */ Mods; } +}); + +// EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts +var to_array = __webpack_require__(1853); +;// CONCATENATED MODULE: ./src/core/traits/elms.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + +class Elms { + getElm(elementName) { + return this.container.querySelector(`.${this.getFullElName(elementName)}`); } - static isMarker(elm) { - return (dom/* Dom.isNode */.i.isNode(elm) && - dom/* Dom.isTag */.i.isTag(elm, 'span') && - elm.hasAttribute('data-' + constants.MARKER_CLASS)); + getElms(elementName) { + return (0,to_array/* toArray */.q)(this.container.querySelectorAll(`.${this.getFullElName(elementName)}`)); } - get hasMarkers() { - return Boolean(this.markers.length); +} + +// EXTERNAL MODULE: ./src/core/helpers/checker/is-void.ts +var is_void = __webpack_require__(24021); +;// CONCATENATED MODULE: ./src/core/traits/mods.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class Mods { + afterSetMod(name, value) { } + setMod(name, value, container) { + name = name.toLowerCase(); + if (this.mods[name] === value) { + return this; + } + const mod = `${this.componentName}_${name}`, cl = (container || this.container).classList; + (0,to_array/* toArray */.q)(cl).forEach(className => { + if (className.indexOf(mod) === 0) { + cl.remove(className); + } + }); + !(0,is_void/* isVoid */.n)(value) && + value !== '' && + cl.add(`${mod}_${value.toString().toLowerCase()}`); + this.mods[name] = value; + this.afterSetMod(name, value); + return this; } - get markers() { - return (0,helpers.$$)('span[data-' + constants.MARKER_CLASS + ']', this.area); + getMod(name) { + var _a; + return (_a = this.mods[name]) !== null && _a !== void 0 ? _a : null; } - removeMarkers() { - dom/* Dom.safeRemove.apply */.i.safeRemove.apply(null, this.markers); +} + +// EXTERNAL MODULE: ./src/modules/index.ts + 41 modules +var modules = __webpack_require__(22705); +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +;// CONCATENATED MODULE: ./src/core/traits/dlgs.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class Dlgs { + dlg(options) { + const dialog = new modules.Dialog({ + language: this.o.language, + shadowRoot: this.o.shadowRoot, + ownerWindow: this.o.ownerWindow, + defaultTimeout: this.o.defaultTimeout, + theme: this.o.theme, + globalFullSize: this.o.globalFullSize, + ...options + }); + (0,helpers.markOwner)(this, dialog.container); + dialog.parent = this; + return dialog.bindDestruct(this); } - marker(atStart = false, range) { - let newRange = null; - if (range) { - newRange = range.cloneRange(); - newRange.collapse(atStart); - } - const marker = this.j.createInside.span(); - marker.id = - constants.MARKER_CLASS + - '_' + - Number(new Date()) + - '_' + - String(Math.random()).slice(2); - marker.style.lineHeight = '0'; - marker.style.display = 'none'; - dom/* Dom.markTemporary */.i.markTemporary(marker); - (0,helpers.attr)(marker, 'data-' + constants.MARKER_CLASS, atStart ? 'start' : 'end'); - marker.appendChild(this.j.createInside.text(constants.INVISIBLE_SPACE)); - if (newRange) { - if (dom/* Dom.isOrContains */.i.isOrContains(this.area, atStart ? newRange.startContainer : newRange.endContainer)) { - newRange.insertNode(marker); - } + confirm(msg, title, callback) { + if ((0,helpers.isString)(title)) { + title = this.i18n(title); } - return marker; + return modules.Confirm.call(this.dlg(), this.i18n(msg), title, callback); } - restore() { - let range = false; - const markAttr = (start) => `span[data-${constants.MARKER_CLASS}=${start ? 'start' : 'end'}]`; - const start = this.area.querySelector(markAttr(true)), end = this.area.querySelector(markAttr(false)); - if (!start) { - return; - } - range = this.createRange(); - if (!end) { - const previousNode = start.previousSibling; - if (dom/* Dom.isText */.i.isText(previousNode)) { - range.setStart(previousNode, previousNode.nodeValue ? previousNode.nodeValue.length : 0); - } - else { - range.setStartBefore(start); - } - dom/* Dom.safeRemove */.i.safeRemove(start); - range.collapse(true); - } - else { - range.setStartAfter(start); - dom/* Dom.safeRemove */.i.safeRemove(start); - range.setEndBefore(end); - dom/* Dom.safeRemove */.i.safeRemove(end); + prompt(msg, title, callback, placeholder, defaultValue) { + if ((0,helpers.isString)(title)) { + title = this.i18n(title); } - if (range) { - this.selectRange(range); + if ((0,helpers.isString)(placeholder)) { + placeholder = this.i18n(placeholder); } + return modules.Prompt.call(this.dlg(), this.i18n(msg), title, callback, placeholder, defaultValue); } - save(silent = false) { - if (this.hasMarkers) { - return []; - } - const sel = this.sel; - if (!sel || !sel.rangeCount) { - return []; - } - const info = [], length = sel.rangeCount, ranges = []; - for (let i = 0; i < length; i += 1) { - ranges[i] = sel.getRangeAt(i); - if (ranges[i].collapsed) { - const start = this.marker(true, ranges[i]); - info[i] = { - startId: start.id, - collapsed: true, - startMarker: start.outerHTML - }; - } - else { - const start = this.marker(true, ranges[i]); - const end = this.marker(false, ranges[i]); - info[i] = { - startId: start.id, - endId: end.id, - collapsed: false, - startMarker: start.outerHTML, - endMarker: end.outerHTML - }; - } + alert(msg, title, callback, className) { + if ((0,helpers.isString)(msg)) { + msg = this.i18n(msg); } - if (!silent) { - sel.removeAllRanges(); - for (let i = length - 1; i >= 0; --i) { - const startElm = this.doc.getElementById(info[i].startId); - if (startElm) { - if (info[i].collapsed) { - ranges[i].setStartAfter(startElm); - ranges[i].collapse(true); - } - else { - ranges[i].setStartBefore(startElm); - if (info[i].endId) { - const endElm = this.doc.getElementById(info[i].endId); - if (endElm) { - ranges[i].setEndAfter(endElm); - } - } - } - } - try { - sel.addRange(ranges[i].cloneRange()); - } - catch (_a) { } - } + if ((0,helpers.isString)(title)) { + title = this.i18n(title); } - return info; + return modules.Alert.call(this.dlg(), msg, title, callback, className); } - focus(options = { - preventScroll: true - }) { - var _a, _b; - if (!this.isFocused()) { - const scrollParent = (0,helpers.getScrollParent)(this.j.container), scrollTop = scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.scrollTop; - if (this.j.iframe) { - if (this.doc.readyState === 'complete') { - this.j.iframe.focus(options); - } - } - this.win.focus(); - this.area.focus(options); - if (scrollTop && (scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.scrollTo)) { - scrollParent.scrollTo(0, scrollTop); - } - const sel = this.sel, range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel === null || sel === void 0 ? void 0 : sel.getRangeAt(0) : null; - if (!range || !dom/* Dom.isOrContains */.i.isOrContains(this.area, range.startContainer)) { - const range = this.createRange(); - range.setStart(this.area, 0); - range.collapse(true); - this.selectRange(range, false); - } - if (!this.j.editorIsActive) { - (_b = (_a = this.j) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.fire('focus'); - } - return true; - } - return false; - } - isCollapsed() { - const sel = this.sel; - for (let r = 0; sel && r < sel.rangeCount; r += 1) { - if (!sel.getRangeAt(r).collapsed) { - return false; - } - } - return true; +} + +;// CONCATENATED MODULE: ./src/core/traits/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + +/***/ }), + +/***/ 96031: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "Yc": function() { return /* binding */ UIButtonState; }, +/* harmony export */ "y3": function() { return /* binding */ UIButton; }, +/* harmony export */ "zx": function() { return /* binding */ Button; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76502); +/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(24421); +/* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42096); +/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77904); +/* harmony import */ var jodit_core_ui_group_list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6442); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(29411); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + + + + + + + +const UIButtonState = () => ({ + size: 'middle', + type: 'button', + name: '', + value: '', + variant: 'initial', + disabled: false, + activated: false, + icon: { + name: 'empty', + fill: '', + iconURL: '' + }, + tooltip: '', + text: '', + tabIndex: undefined +}); +let UIButton = class UIButton extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { + className() { + return 'UIButton'; } - isFocused() { - return (this.doc.hasFocus && - this.doc.hasFocus() && - this.area === this.doc.activeElement); + setState(state) { + Object.assign(this.state, state); + return this; } - current(checkChild = true) { - if (this.j.getRealMode() === constants.MODE_WYSIWYG) { - const sel = this.sel; - if (!sel || sel.rangeCount === 0) { - return null; - } - const range = sel.getRangeAt(0); - let node = range.startContainer, rightMode = false; - const child = (nd) => rightMode ? nd.lastChild : nd.firstChild; - if (dom/* Dom.isTag */.i.isTag(node, 'br') && sel.isCollapsed) { - return node; - } - if (!dom/* Dom.isText */.i.isText(node)) { - node = range.startContainer.childNodes[range.startOffset]; - if (!node) { - node = - range.startContainer.childNodes[range.startOffset - 1]; - rightMode = true; - } - if (node && sel.isCollapsed && !dom/* Dom.isText */.i.isText(node)) { - if (!rightMode && dom/* Dom.isText */.i.isText(node.previousSibling)) { - node = node.previousSibling; - } - else if (checkChild) { - let current = child(node); - while (current) { - if (current && dom/* Dom.isText */.i.isText(current)) { - node = current; - break; - } - current = child(current); - } - } - } - if (node && !sel.isCollapsed && !dom/* Dom.isText */.i.isText(node)) { - let leftChild = node, rightChild = node; - do { - leftChild = leftChild.firstChild; - rightChild = rightChild.lastChild; - } while (leftChild && rightChild && !dom/* Dom.isText */.i.isText(leftChild)); - if (leftChild === rightChild && - leftChild && - dom/* Dom.isText */.i.isText(leftChild)) { - node = leftChild; - } - } - } - if (node && dom/* Dom.isOrContains */.i.isOrContains(this.area, node)) { - return node; - } - } - return null; + onChangeSize() { + this.setMod('size', this.state.size); } - insertNode(node, insertCursorAfter = true, fireChange = true) { - this.errorNode(node); - this.j.e.fire('safeHTML', node); - if (!this.isFocused() && this.j.isEditorMode()) { - this.focus(); - this.restore(); - } - const sel = this.sel; - this.j.history.snapshot.transaction(() => { - var _a; - if (!this.isCollapsed()) { - this.j.execCommand('Delete'); - } - this.j.e.fire('beforeInsertNode', node); - if (sel && sel.rangeCount) { - const range = sel.getRangeAt(0); - if (dom/* Dom.isOrContains */.i.isOrContains(this.area, range.commonAncestorContainer)) { - if (dom/* Dom.isTag */.i.isTag(range.startContainer, constants.INSEPARABLE_TAGS) && - range.collapsed) { - (_a = range.startContainer.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(node, range.startContainer); - } - else { - dom/* Dom.safeInsertNode */.i.safeInsertNode(range, node); - } - } - else { - this.area.appendChild(node); - } - } - else { - this.area.appendChild(node); - } - if (insertCursorAfter) { - if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { - node.lastChild && this.setCursorAfter(node.lastChild); - } - else { - this.setCursorAfter(node); - } - } - }); - if (fireChange && this.j.events) { - this.j.__imdSynchronizeValues(); - } - if (this.j.events) { - this.j.e.fire('afterInsertNode', node); - } + onChangeType() { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'type', this.state.type); } - insertHTML(html, insertCursorAfter = true) { - if (html === '') { + updateSize() { + const pe = this.closest(jodit_core_ui_group_list__WEBPACK_IMPORTED_MODULE_4__/* .UIList */ .b); + if (pe) { + this.state.size = pe.buttonSize; return; } - const node = this.j.createInside.div(), fragment = this.j.createInside.fragment(); - let lastChild; - if (!this.isFocused() && this.j.isEditorMode()) { - this.focus(); - this.restore(); - } - if (!dom/* Dom.isNode */.i.isNode(html)) { - node.innerHTML = html.toString(); - } - else { - node.appendChild(html); - } - if (!this.j.isEditorMode() && - this.j.e.fire('insertHTML', node.innerHTML) === false) { - return; + } + onChangeStatus() { + this.setMod('variant', this.state.variant); + } + onChangeText() { + this.text.textContent = this.jodit.i18n(this.state.text); + } + onChangeTextSetMode() { + this.setMod('text-icons', Boolean(this.state.text.trim().length)); + } + onChangeDisabled() { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'disabled', this.state.disabled || null); + } + onChangeActivated() { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'aria-pressed', this.state.activated); + } + onChangeName() { + this.container.classList.add(`${this.componentName}_${this.clearName(this.state.name)}`); + this.name = this.state.name; + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'data-ref', this.state.name); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'ref', this.state.name); + } + onChangeTooltip() { + if (this.get('j.o.useNativeTooltip')) { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'title', this.state.tooltip); } - lastChild = node.lastChild; - if (!lastChild) { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'aria-label', this.state.tooltip); + } + onChangeTabIndex() { + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'tabindex', this.state.tabIndex); + } + onChangeIcon() { + const textIcons = this.get('j.o.textIcons'); + if (textIcons === true || + ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__/* .isFunction */ .m)(textIcons) && textIcons(this.state.name))) { return; } - while (node.firstChild) { - lastChild = node.firstChild; - fragment.appendChild(node.firstChild); - } - this.insertNode(fragment.firstChild && fragment.firstChild === fragment.lastChild - ? fragment.lastChild - : fragment, false, false); - if (insertCursorAfter) { - if (lastChild) { - this.setCursorAfter(lastChild); - } - else { - this.setCursorIn(fragment); - } - } - this.j.__imdSynchronizeValues(); - } - insertImage(url, styles = null, defaultWidth = null) { - const image = (0,helpers.isString)(url) ? this.j.createInside.element('img') : url; - if ((0,helpers.isString)(url)) { - image.setAttribute('src', url); - } - if (defaultWidth != null) { - let dw = defaultWidth.toString(); - if (dw && - 'auto' !== dw && - String(dw).indexOf('px') < 0 && - String(dw).indexOf('%') < 0) { - dw += 'px'; - } - (0,helpers.call)(this.j.o.resizer.forImageChangeAttributes ? helpers.attr : helpers.css, image, 'width', dw); - } - if (styles && typeof styles === 'object') { - (0,helpers.css)(image, styles); - } - const onload = () => { - if (image.naturalHeight < image.offsetHeight || - image.naturalWidth < image.offsetWidth) { - image.style.width = ''; - image.style.height = ''; - } - image.removeEventListener('load', onload); - }; - this.j.e.on(image, 'load', onload); - if (image.complete) { - onload(); - } - this.insertNode(image); - this.j.e.fire('afterInsertImage', image); - } - eachSelection(callback) { - var _a; - const sel = this.sel; - if (sel && sel.rangeCount) { - const range = sel.getRangeAt(0); - let root = range.commonAncestorContainer; - if (!dom/* Dom.isHTMLElement */.i.isHTMLElement(root)) { - root = root.parentElement; - } - const nodes = [], startOffset = range.startOffset, length = root.childNodes.length, elementOffset = startOffset < length ? startOffset : length - 1; - let start = range.startContainer === this.area - ? root.childNodes[elementOffset] - : range.startContainer, end = range.endContainer === this.area - ? root.childNodes[range.endOffset - 1] - : range.endContainer; - if (dom/* Dom.isText */.i.isText(start) && - start === range.startContainer && - range.startOffset === ((_a = start.nodeValue) === null || _a === void 0 ? void 0 : _a.length) && - start.nextSibling) { - start = start.nextSibling; - } - if (dom/* Dom.isText */.i.isText(end) && - end === range.endContainer && - range.endOffset === 0 && - end.previousSibling) { - end = end.previousSibling; - } - const checkElm = (node) => { - if (node && - node !== root && - !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node) && - !Select.isMarker(node)) { - nodes.push(node); - } - }; - checkElm(start); - if (start !== end && dom/* Dom.isOrContains */.i.isOrContains(root, start, true)) { - dom/* Dom.find */.i.find(start, node => { - checkElm(node); - return (node === end || - (node && node.contains && node.contains(end))); - }, root, true, false); - } - const forEvery = (current) => { - if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, current, true)) { - return; - } - if (current.nodeName.match(/^(UL|OL)$/)) { - return (0,helpers.toArray)(current.childNodes).forEach(forEvery); - } - if (dom/* Dom.isTag */.i.isTag(current, 'li')) { - if (current.firstChild) { - current = current.firstChild; - } - else { - const currentB = this.j.createInside.text(constants.INVISIBLE_SPACE); - current.appendChild(currentB); - current = currentB; - } - } - callback(current); - }; - if (nodes.length === 0 && dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(start)) { - nodes.push(start); - } - if (nodes.length === 0 && start.firstChild) { - nodes.push(start.firstChild); - } - nodes.forEach(forEvery); - } - } - cursorInTheEdge(start, parentBlock) { - var _a, _b; - const end = !start, range = (_a = this.sel) === null || _a === void 0 ? void 0 : _a.getRangeAt(0), current = this.current(false); - if (!range || - !current || - !dom/* Dom.isOrContains */.i.isOrContains(parentBlock, current, true)) { - return null; - } - const container = start ? range.startContainer : range.endContainer; - const offset = start ? range.startOffset : range.endOffset; - const check = (elm) => Boolean(elm && !dom/* Dom.isTag */.i.isTag(elm, 'br') && !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm)); - if (dom/* Dom.isText */.i.isText(container)) { - const text = ((_b = container.nodeValue) === null || _b === void 0 ? void 0 : _b.length) ? container.nodeValue : ''; - if (end && text.replace((0,constants.INVISIBLE_SPACE_REG_EXP_END)(), '').length > offset) { - return false; - } - const inv = (0,constants.INVISIBLE_SPACE_REG_EXP_START)().exec(text); - if (start && - ((inv && inv[0].length < offset) || (!inv && offset > 0))) { - return false; - } - } - else { - const children = (0,helpers.toArray)(container.childNodes); - if (end) { - if (children.slice(offset).some(check)) { - return false; - } - } - else { - if (children.slice(0, offset).some(check)) { - return false; - } - } - } - return !(0,helpers.call)(start ? dom/* Dom.prev */.i.prev : dom/* Dom.next */.i.next, current, check, parentBlock); - } - cursorOnTheLeft(parentBlock) { - return this.cursorInTheEdge(true, parentBlock); + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.detach */ .i.detach(this.icon); + const iconElement = jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon.makeIcon */ .J.makeIcon(this.j, this.state.icon); + iconElement && this.icon.appendChild(iconElement); } - cursorOnTheRight(parentBlock) { - return this.cursorInTheEdge(false, parentBlock); + focus() { + this.container.focus(); } - setCursorAfter(node) { - return this.setCursorNearWith(node, false); + isFocused() { + const { activeElement } = this.od; + return Boolean(activeElement && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isOrContains */ .i.isOrContains(this.container, activeElement)); } - setCursorBefore(node) { - return this.setCursorNearWith(node, true); + createContainer() { + const cn = this.componentName; + const button = this.j.c.element('button', { + class: cn, + type: 'button', + role: 'button', + ariaPressed: false + }); + this.icon = this.j.c.span(cn + '__icon'); + this.text = this.j.c.span(cn + '__text'); + button.appendChild(this.icon); + button.appendChild(this.text); + this.j.e.on(button, 'click', this.onActionFire); + return button; } - setCursorNearWith(node, inStart) { - var _a, _b; - this.errorNode(node); - if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { - throw (0,helpers.error)('Node element must be in editor'); - } - const range = this.createRange(); - let fakeNode = null; - if (!dom/* Dom.isText */.i.isText(node)) { - fakeNode = this.j.createInside.text(constants.INVISIBLE_SPACE); - inStart ? range.setStartBefore(node) : range.setEndAfter(node); - range.collapse(inStart); - dom/* Dom.safeInsertNode */.i.safeInsertNode(range, fakeNode); - range.selectNode(fakeNode); - } - else { - if (inStart) { - range.setStart(node, 0); - } - else { - range.setEnd(node, (_b = (_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0); - } + constructor(jodit, state) { + super(jodit); + this.isButton = true; + this.state = UIButtonState(); + this.actionHandlers = []; + this.updateSize(); + this.onChangeSize(); + this.onChangeStatus(); + if (state) { + this.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_6__/* .STATUSES.ready */ .n.ready, () => { + this.setState(state); + }); } - range.collapse(inStart); - this.selectRange(range); - return fakeNode; } - setCursorIn(node, inStart = false) { - this.errorNode(node); - if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { - throw (0,helpers.error)('Node element must be in editor'); - } - const range = this.createRange(); - let start = node, last = node; - do { - if (dom/* Dom.isText */.i.isText(start)) { - break; - } - last = start; - start = inStart ? start.firstChild : start.lastChild; - } while (start); - if (!start) { - const fakeNode = this.j.createInside.text(constants.INVISIBLE_SPACE); - if (!/^(img|br|input)$/i.test(last.nodeName)) { - last.appendChild(fakeNode); - last = fakeNode; - } - else { - start = last; - } - } - range.selectNodeContents(start || last); - range.collapse(inStart); - this.selectRange(range); - return last; + destruct() { + this.j.e.off(this.container); + return super.destruct(); } - selectRange(range, focus = true) { - const sel = this.sel; - if (focus && !this.isFocused()) { - this.focus(); - } - if (sel) { - sel.removeAllRanges(); - sel.addRange(range); - } - this.j.e.fire('changeSelection'); + onAction(callback) { + this.actionHandlers.push(callback); return this; } - select(node, inward = false) { - this.errorNode(node); - if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { - throw (0,helpers.error)('Node element must be in editor'); - } - const range = this.createRange(); - range[inward ? 'selectNodeContents' : 'selectNode'](node); - return this.selectRange(range); - } - get html() { - const sel = this.sel; - if (sel && sel.rangeCount > 0) { - const range = sel.getRangeAt(0); - const clonedSelection = range.cloneContents(); - const div = this.j.createInside.div(); - div.appendChild(clonedSelection); - return div.innerHTML; - } - return ''; + onActionFire(e) { + e.buffer = { + actionTrigger: this + }; + this.actionHandlers.forEach(callback => callback.call(this, e)); } - *wrapInTagGen() { - if (this.isCollapsed()) { - const font = this.jodit.createInside.element('font', constants.INVISIBLE_SPACE); - this.insertNode(font, false, false); - const [marker] = this.markers; - if (marker) { - font.appendChild(marker); - } - else { - this.setCursorIn(font); - this.save(); - } - yield font; - dom/* Dom.unwrap */.i.unwrap(font); - return; - } - (0,helpers.$$)('*[style*=font-size]', this.area).forEach(elm => (0,helpers.attr)(elm, 'data-font-size', elm.style.fontSize.toString())); - if (!this.isCollapsed()) { - this.j.nativeExecCommand('fontsize', false, '7'); - } - else { - const font = this.j.createInside.element('font'); - (0,helpers.attr)(font, 'size', 7); - this.insertNode(font, false, false); +}; +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.size') +], UIButton.prototype, "onChangeSize", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.type') +], UIButton.prototype, "onChangeType", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('parentElement') +], UIButton.prototype, "updateSize", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.variant') +], UIButton.prototype, "onChangeStatus", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.text') +], UIButton.prototype, "onChangeText", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.text') +], UIButton.prototype, "onChangeTextSetMode", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.disabled') +], UIButton.prototype, "onChangeDisabled", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.activated') +], UIButton.prototype, "onChangeActivated", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.name') +], UIButton.prototype, "onChangeName", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.tooltip') +], UIButton.prototype, "onChangeTooltip", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.tabIndex') +], UIButton.prototype, "onChangeTabIndex", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.icon') +], UIButton.prototype, "onChangeIcon", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind +], UIButton.prototype, "onActionFire", null); +UIButton = (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.component +], UIButton); + +function Button(jodit, stateOrText, text, variant) { + const button = new UIButton(jodit); + button.state.tabIndex = jodit.o.allowTabNavigation ? 0 : -1; + if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_9__/* .isString */ .H)(stateOrText)) { + button.state.icon.name = stateOrText; + button.state.name = stateOrText; + if (variant) { + button.state.variant = variant; } - (0,helpers.$$)('*[data-font-size]', this.area).forEach(elm => { - const fontSize = (0,helpers.attr)(elm, 'data-font-size'); - if (fontSize) { - elm.style.fontSize = fontSize; - (0,helpers.attr)(elm, 'data-font-size', null); - } - }); - const elms = (0,helpers.$$)('font[size="7"]', this.area); - for (const font of elms) { - const { firstChild, lastChild } = font; - if (firstChild && - firstChild === lastChild && - Select.isMarker(firstChild)) { - dom/* Dom.unwrap */.i.unwrap(font); - continue; - } - if (firstChild && Select.isMarker(firstChild)) { - dom/* Dom.before */.i.before(font, firstChild); - } - if (lastChild && Select.isMarker(lastChild)) { - dom/* Dom.after */.i.after(font, lastChild); - } - yield font; - dom/* Dom.unwrap */.i.unwrap(font); + if (text) { + button.state.text = text; } } - wrapInTag(tagOrCallback) { - const result = []; - for (const font of this.wrapInTagGen()) { - try { - if (font.firstChild && - font.firstChild === font.lastChild && - Select.isMarker(font.firstChild)) { - continue; - } - if ((0,helpers.isFunction)(tagOrCallback)) { - tagOrCallback(font); - } - else { - result.push(dom/* Dom.replace */.i.replace(font, tagOrCallback, this.j.createInside)); - } + else { + button.setState(stateOrText); + } + return button; +} + + +/***/ }), + +/***/ 55310: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "zx": function() { return /* reexport */ button_button/* Button */.zx; }, + "y3": function() { return /* reexport */ button_button/* UIButton */.y3; }, + "Yc": function() { return /* reexport */ button_button/* UIButtonState */.Yc; }, + "Ne": function() { return /* reexport */ UITooltip; } +}); + +// UNUSED EXPORTS: UIButtonGroup + +// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts +var button_button = __webpack_require__(96031); +// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js +var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/core/ui/group/group.ts +var group = __webpack_require__(61479); +// EXTERNAL MODULE: ./src/core/decorators/component/component.ts +var component = __webpack_require__(11441); +// EXTERNAL MODULE: external "{assert(){}};" +var external_assert_ = __webpack_require__(52378); +;// CONCATENATED MODULE: ./src/core/ui/button/group/group.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + + +let UIButtonGroup = class UIButtonGroup extends group/* UIGroup */.q { + className() { + return 'UIButtonGroup'; + } + render(options) { + return `
+
~${options.label}~
+
+
`; + } + appendChildToContainer(childContainer) { + const options = this.getElm('options'); + void 0; + options.appendChild(childContainer); + } + constructor(jodit, options = { + radio: true + }) { + var _a, _b; + super(jodit, (_a = options.options) === null || _a === void 0 ? void 0 : _a.map(opt => { + const btn = new button_button/* UIButton */.y3(jodit, { + text: opt.text, + value: opt.value, + variant: 'primary' + }); + btn.onAction(() => { + this.select(opt.value); + }); + return btn; + }), options); + this.options = options; + this.select((_b = options.value) !== null && _b !== void 0 ? _b : 0); + } + select(indexOrValue) { + var _a, _b; + this.elements.forEach((elm, index) => { + if (index === indexOrValue || elm.state.value === indexOrValue) { + elm.state.activated = true; } - finally { - const pn = font.parentNode; - if (pn) { - dom/* Dom.unwrap */.i.unwrap(font); - if (dom/* Dom.isEmpty */.i.isEmpty(pn)) { - dom/* Dom.unwrap */.i.unwrap(pn); - } - } + else if (this.options.radio) { + elm.state.activated = false; } - } - return result; - } - applyStyle(style, options = {}) { - const styleElm = new CommitStyle({ - style, - element: options.element, - className: options.className, - defaultTag: options.defaultTag }); - styleElm.apply(this.j); + const result = this.elements + .filter(elm => elm.state.activated) + .map(elm => ({ + text: elm.state.text, + value: elm.state.value + })); + this.jodit.e.fire(this, 'select', result); + (_b = (_a = this.options).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, result); } - splitSelection(currentBox) { - if (!this.isCollapsed()) { - return null; - } - const leftRange = this.createRange(); - const range = this.range; - leftRange.setStartBefore(currentBox); - const cursorOnTheRight = this.cursorOnTheRight(currentBox); - const cursorOnTheLeft = this.cursorOnTheLeft(currentBox); - const br = this.j.createInside.element('br'), prevFake = this.j.createInside.text(constants.INVISIBLE_SPACE), nextFake = prevFake.cloneNode(); - try { - if (cursorOnTheRight || cursorOnTheLeft) { - dom/* Dom.safeInsertNode */.i.safeInsertNode(range, br); - const clearBR = (start, getNext) => { - let next = getNext(start); - while (next) { - const nextSib = getNext(next); - if (next && - (dom/* Dom.isTag */.i.isTag(next, 'br') || dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(next))) { - dom/* Dom.safeRemove */.i.safeRemove(next); - } - else { - break; - } - next = nextSib; - } - }; - clearBR(br, (n) => n.nextSibling); - clearBR(br, (n) => n.previousSibling); - dom/* Dom.after */.i.after(br, nextFake); - dom/* Dom.before */.i.before(br, prevFake); - if (cursorOnTheRight) { - leftRange.setEndBefore(br); - range.setEndBefore(br); - } - else { - leftRange.setEndAfter(br); - range.setEndAfter(br); - } - } - else { - leftRange.setEnd(range.startContainer, range.startOffset); - } - const fragment = leftRange.extractContents(); - const clearEmpties = (node) => dom/* Dom.each */.i.each(node, node => dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node) && dom/* Dom.safeRemove */.i.safeRemove(node)); - if (currentBox.parentNode) { - try { - clearEmpties(fragment); - clearEmpties(currentBox); - currentBox.parentNode.insertBefore(fragment, currentBox); - if (cursorOnTheRight && (br === null || br === void 0 ? void 0 : br.parentNode)) { - const range = this.createRange(); - range.setStartBefore(br); - this.selectRange(range); - } - } - catch (e) { - if (false) {} - } - } - const fillFakeParent = (fake) => { - var _a, _b, _c; - if (((_a = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === ((_b = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _b === void 0 ? void 0 : _b.lastChild)) { - (_c = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _c === void 0 ? void 0 : _c.appendChild(br.cloneNode()); - } - }; - fillFakeParent(prevFake); - fillFakeParent(nextFake); - } - finally { - dom/* Dom.safeRemove */.i.safeRemove(prevFake); - dom/* Dom.safeRemove */.i.safeRemove(nextFake); - } - return currentBox.previousElementSibling; +}; +UIButtonGroup = (0,tslib_es6/* __decorate */.gn)([ + component/* component */.w +], UIButtonGroup); + + +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +// EXTERNAL MODULE: ./src/core/global.ts +var global = __webpack_require__(17332); +// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules +var decorators = __webpack_require__(67493); +// EXTERNAL MODULE: ./src/core/ui/element.ts +var ui_element = __webpack_require__(53929); +;// CONCATENATED MODULE: ./src/core/ui/button/tooltip/tooltip.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + + +class UITooltip extends ui_element/* UIElement */.u { + className() { + return 'UITooltip'; } - expandSelection() { - if (this.isCollapsed()) { - return this; + constructor(view) { + super(view); + this.__isOpened = false; + this.__useCount = 1; + this.__delayShowTimeout = 0; + (0,global/* getContainer */.ZO)(view, UITooltip).appendChild(this.container); + let timeout = 0; + view.e + .off('.tooltip') + .on('showTooltip.tooltip', (getPoint, content) => { + view.async.clearTimeout(timeout); + this.__open(getPoint, content); + }) + .on('delayShowTooltip.tooltip', this.__delayOpen) + .on('escape.tooltip', this.__close) + .on('hideTooltip.tooltip change.tooltip scroll.tooltip changePlace.tooltip hidePopup.tooltip closeAllPopups.tooltip', () => { + this.j.async.clearTimeout(this.__delayShowTimeout); + timeout = view.async.setTimeout(this.__close, this.j.defaultTimeout); + }); + } + static make(view) { + let instance = (0,helpers.dataBind)(view, 'ui-tooltip'); + if (instance) { + instance.__useCount += 1; + return instance; } - const { range } = this, c = range.cloneRange(); - if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, range.commonAncestorContainer, true)) { - return this; + instance = new UITooltip(view); + (0,helpers.dataBind)(view, 'ui-tooltip', instance); + return instance; + } + __delayOpen(getPoint, content) { + const to = this.j.o.showTooltipDelay || this.j.defaultTimeout; + this.j.async.clearTimeout(this.__delayShowTimeout); + this.__delayShowTimeout = this.j.async.setTimeout(() => this.__open(getPoint, content), { + timeout: to, + label: 'tooltip' + }); + } + __open(getPoint, content) { + this.setMod('visible', true); + this.container.innerHTML = content; + this.__isOpened = true; + this.__setPosition(getPoint); + } + __setPosition(getPoint) { + const point = getPoint(); + (0,helpers.css)(this.container, { + left: point.x, + top: point.y + }); + } + __close() { + this.j.async.clearTimeout(this.__delayShowTimeout); + if (this.__isOpened) { + this.__isOpened = false; + this.setMod('visible', false); + (0,helpers.css)(this.container, { + left: -5000 + }); } - const moveMaxEdgeFake = (start) => { - const fake = this.j.createInside.fake(); - const r = range.cloneRange(); - r.collapse(start); - dom/* Dom.safeInsertNode */.i.safeInsertNode(r, fake); - (0,selection_helpers/* moveTheNodeAlongTheEdgeOutward */.f)(fake, start, this.j.editor); - return fake; - }; - const leftFake = moveMaxEdgeFake(true); - const rightFake = moveMaxEdgeFake(false); - c.setStartAfter(leftFake); - c.setEndBefore(rightFake); - const leftBox = dom/* Dom.findSibling */.i.findSibling(leftFake, false); - const rightBox = dom/* Dom.findSibling */.i.findSibling(rightFake, true); - if (leftBox !== rightBox) { - const rightInsideLeft = dom/* Dom.isElement */.i.isElement(leftBox) && - dom/* Dom.isOrContains */.i.isOrContains(leftBox, rightFake), leftInsideRight = !rightInsideLeft && - dom/* Dom.isElement */.i.isElement(rightBox) && - dom/* Dom.isOrContains */.i.isOrContains(rightBox, leftFake); - if (rightInsideLeft || leftInsideRight) { - let child = (rightInsideLeft ? leftBox : rightBox), container = child; - while (dom/* Dom.isElement */.i.isElement(child)) { - child = rightInsideLeft - ? child.firstElementChild - : child.lastElementChild; - if (child) { - const isInside = rightInsideLeft - ? dom/* Dom.isOrContains */.i.isOrContains(child, rightFake) - : dom/* Dom.isOrContains */.i.isOrContains(child, leftFake); - if (isInside) { - container = child; - } - } - } - if (rightInsideLeft) { - c.setStart(container, 0); - } - else { - c.setEnd(container, container.childNodes.length); - } - } + } + destruct() { + var _a; + this.__useCount--; + if (!this.__useCount) { + (_a = this.j) === null || _a === void 0 ? void 0 : _a.e.off('.tooltip'); + this.__close(); + super.destruct(); } - this.selectRange(c); - dom/* Dom.safeRemove */.i.safeRemove(leftFake, rightFake); - return this; } } (0,tslib_es6/* __decorate */.gn)([ decorators.autobind -], Select.prototype, "createRange", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Select.prototype, "focus", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Select.prototype, "setCursorAfter", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Select.prototype, "setCursorBefore", null); +], UITooltip.prototype, "__delayOpen", null); (0,tslib_es6/* __decorate */.gn)([ decorators.autobind -], Select.prototype, "setCursorIn", null); +], UITooltip.prototype, "__close", null); -;// CONCATENATED MODULE: ./src/core/selection/style/api/extract.ts +;// CONCATENATED MODULE: ./src/core/ui/button/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9208,211 +9026,247 @@ class Select { -function extractSelectedPart(wrapper, font, jodit) { - const range = jodit.s.createRange(); - const leftEdge = Select.isMarker(font.previousSibling) - ? font.previousSibling - : font; - range.setStartBefore(wrapper); - range.setEndBefore(leftEdge); - extractAndMove(wrapper, range, true); - const rightEdge = Select.isMarker(font.nextSibling) - ? font.nextSibling - : font; - range.setStartAfter(rightEdge); - range.setEndAfter(wrapper); - extractAndMove(wrapper, range, false); -} -function extractAndMove(wrapper, range, left) { - const fragment = range.extractContents(); - if ((!fragment.textContent || !(0,helpers.trim)(fragment.textContent).length) && - fragment.firstChild) { - dom/* Dom.unwrap */.i.unwrap(fragment.firstChild); - } - if (wrapper.parentNode) { - (0,helpers.call)(left ? dom/* Dom.before */.i.before : dom/* Dom.after */.i.after, wrapper, fragment); - } -} -;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle/toggle-ordered-list.ts + +/***/ }), + +/***/ 53929: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "u": function() { return /* binding */ UIElement; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90549); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(72452); +/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24421); +/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(77904); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UIElement_1; -function toggleOrderedList(style, li, jodit, mode) { - if (!li) { - return mode; - } - const list = li.parentElement; - if (!list) { - return mode; - } - if (list.tagName.toLowerCase() !== style.element) { - const newList = dom/* Dom.replace */.i.replace(list, style.element, jodit.createInside); - toggleCSS(style, newList, jodit, mode); - return REPLACE; - } - if (toggleCSS(style, li.parentElement, jodit, INITIAL, true) === CHANGE) { - return toggleCSS(style, li.parentElement, jodit, mode); - } - extractSelectedPart(list, li, jodit); - dom/* Dom.unwrap */.i.unwrap(li.parentElement); - dom/* Dom.replace */.i.replace(li, jodit.o.enter, jodit.createInside); - return mode; -} - -// EXTERNAL MODULE: ./src/core/helpers/checker/is-void.ts -var is_void = __webpack_require__(62061); -;// CONCATENATED MODULE: ./src/core/selection/style/api/element-has-same-style.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -function elementHasSameStyle(elm, rules) { - return Boolean(!dom/* Dom.isTag */.i.isTag(elm, 'font') && - dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) && - Object.keys(rules).every(property => { - const value = (0,css/* css */.i)(elm, property, true); - return (!(0,is_void/* isVoid */.n)(value) && - value !== '' && - !(0,is_void/* isVoid */.n)(rules[property]) && - (0,normalize_css_value/* normalizeCssValue */.Z)(property, rules[property]) - .toString() - .toLowerCase() === value.toString().toLowerCase()); - })); -} -function elementHasSameStyleKeys(elm, rules) { - return Boolean(!dom/* Dom.isTag */.i.isTag(elm, 'font') && - dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) && - Object.keys(rules).every(property => !(0,is_void/* isVoid */.n)((0,css/* css */.i)(elm, property, true)))); -} -;// CONCATENATED MODULE: ./src/core/selection/style/api/finite-state-machine.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -class FiniteStateMachine { - constructor(state, transitions) { - this.state = state; - this.transitions = transitions; - this.subState = ''; - this.silent = true; +let UIElement = UIElement_1 = class UIElement extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent */ .Hr { + get parentElement() { + return this.__parentElement; } - setState(state, subState) { - this.state = state; - if (subState != null) { - this.subState = subState; + set parentElement(parentElement) { + this.__parentElement = parentElement; + if (parentElement) { + parentElement.hookStatus('beforeDestruct', () => this.destruct()); } + this.updateParentElement(this); } - getState() { - return this.state; + bubble(callback) { + let parent = this.parentElement; + while (parent) { + callback(parent); + parent = parent.parentElement; + } + return this; } - getSubState() { - return this.subState; + updateParentElement(target) { + var _a; + (_a = this.__parentElement) === null || _a === void 0 ? void 0 : _a.updateParentElement(target); + return this; } - disableSilent() { - this.silent = false; + get(chain, obj) { + return super.get(chain, obj) || this.getElm(chain); } - dispatch(actionName, ...attrs) { - const action = this.transitions[this.state][actionName]; - if (action) { - if (!this.silent) { - console.log('State: ' + this.state, 'Action: ' + actionName); + closest(type) { + const c = typeof type === 'object' + ? (pe) => pe === type + : (pe) => jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .Component.isInstanceOf */ .wA.isInstanceOf(pe, type); + let pe = this.__parentElement; + while (pe) { + if (c(pe)) { + return pe; } - const res = action.call(this, ...attrs); - if (!this.silent) { - console.log('State: ' + this.state); + if (!pe.parentElement && pe.container.parentElement) { + pe = UIElement_1.closestElement(pe.container.parentElement, UIElement_1); + } + else { + pe = pe.parentElement; } - return res; } - if (!this.silent) { - throw new Error('invalid action: ' + this.state + '.' + actionName); + return null; + } + static closestElement(node, type) { + const elm = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.up */ .i.up(node, elm => { + if (elm) { + const { component } = elm; + return component && jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .Component.isInstanceOf */ .wA.isInstanceOf(component, type); + } + return false; + }); + return elm ? elm === null || elm === void 0 ? void 0 : elm.component : null; + } + update() { + } + appendTo(element) { + element.appendChild(this.container); + return this; + } + clearName(name) { + return name.replace(/[^a-zA-Z0-9]/g, '_'); + } + render(options) { + return this.j.c.div(this.componentName); + } + createContainer(options) { + const result = this.render(options); + if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__/* .isString */ .H)(result)) { + const elm = this.parseTemplate(result); + elm.classList.add(this.componentName); + return elm; } - return; + return result; } -} + parseTemplate(result) { + return this.j.c.fromHTML(result + .replace(/\*([^*]+?)\*/g, (_, name) => jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon.get */ .J.get(name) || '') + .replace(/&__/g, this.componentName + '__') + .replace(/~([^~]+?)~/g, (_, s) => this.i18n(s))); + } + constructor(jodit, options) { + super(jodit); + this.name = ''; + this.__parentElement = null; + this.mods = {}; + this.container = this.createContainer(options); + Object.defineProperty(this.container, 'component', { + value: this, + configurable: true + }); + } + destruct() { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeRemove */ .i.safeRemove(this.container); + this.parentElement = null; + return super.destruct(); + } +}; +UIElement = UIElement_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.derive)(jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__/* .Mods */ .$t, jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__/* .Elms */ .Fx) +], UIElement); -;// CONCATENATED MODULE: ./src/core/selection/style/api/is-normal-node.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -function isNormalNode(elm) { - return Boolean(elm && - !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm) && - !dom/* Dom.isTemporary */.i.isTemporary(elm) && - !Select.isMarker(elm)); -} +/***/ }), -;// CONCATENATED MODULE: ./src/core/selection/style/api/is-suit-element.ts +/***/ 80567: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +"use strict"; +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "eC": function() { return /* reexport */ UIBlock; }, + "mA": function() { return /* reexport */ UICheckbox; }, + "x4": function() { return /* reexport */ UIForm; }, + "u3": function() { return /* reexport */ input/* UIInput */.u; }, + "Cj": function() { return /* reexport */ UISelect; }, + "GJ": function() { return /* reexport */ UITextArea; } +}); -function isSuitElement(commitStyle, elm, strict) { - if (!elm) { - return false; - } - const { element, elementIsDefault, options } = commitStyle; - const elmHasSameStyle = Boolean(options.style && elementHasSameStyle(elm, options.style)); - const elmIsSame = elm.nodeName.toLowerCase() === element || - (dom/* Dom.isTag */.i.isTag(elm, ['ul', 'ol']) && commitStyle.elementIsList); - if (((!elementIsDefault || !strict) && elmIsSame) || - (elmHasSameStyle && isNormalNode(elm))) { - return true; - } - return Boolean(!elmIsSame && !strict && elementIsDefault && dom/* Dom.isInlineBlock */.i.isInlineBlock(elm)); -} -function isSameStyleChild(commitStyle, elm) { - const { element, options } = commitStyle; - if (!elm || !isNormalNode(elm)) { - return false; - } - const elmIsSame = elm.nodeName.toLowerCase() === element; - const elmHasSameStyle = Boolean(options.style && elementHasSameStyleKeys(elm, options.style)); - return elmIsSame && elmHasSameStyle; -} +// UNUSED EXPORTS: UIFileInput -;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-child.ts +// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js +var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/core/ui/group/group.ts +var group = __webpack_require__(61479); +// EXTERNAL MODULE: ./src/core/ui/form/inputs/input/input.ts +var input = __webpack_require__(30194); +// EXTERNAL MODULE: ./src/core/helpers/utils/utils.ts +var utils = __webpack_require__(67309); +// EXTERNAL MODULE: ./src/core/decorators/component/component.ts +var component = __webpack_require__(11441); +// EXTERNAL MODULE: ./src/core/ui/form/validators/index.ts + 2 modules +var validators = __webpack_require__(49587); +;// CONCATENATED MODULE: ./src/core/ui/form/inputs/select/select.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UISelect_1; -function getSuitChild(style, font) { - let { firstChild: child } = font; - while (child && !isNormalNode(child)) { - child = child.nextSibling; - if (!child) { - return null; + + + +let UISelect = UISelect_1 = class UISelect extends input/* UIInput */.u { + className() { + return 'UISelect'; + } + createContainer(state) { + var _a; + const container = super.createContainer(state); + const { j } = this, { nativeInput } = this; + const opt = () => j.create.element('option'); + if (state.placeholder !== undefined) { + const option = opt(); + option.value = ''; + option.text = j.i18n(state.placeholder); + nativeInput.add(option); + } + (_a = state.options) === null || _a === void 0 ? void 0 : _a.forEach(element => { + const option = opt(); + option.value = element.value.toString(); + option.text = j.i18n(element.text); + nativeInput.add(option); + }); + if (state.size && state.size > 0) { + (0,utils/* attr */.Lj)(nativeInput, 'size', state.size); + } + if (state.multiple) { + (0,utils/* attr */.Lj)(nativeInput, 'multiple', ''); } + return container; } - if (child && - !dom/* Dom.next */.i.next(child, isNormalNode, font) && - isSuitElement(style, child, false)) { - return child; + createNativeInput() { + return this.j.create.element('select'); } - return null; -} + updateValidators() { + super.updateValidators(); + if (this.state.required) { + this.validators.delete(validators/* inputValidators.required */.g.required); + this.validators.add(validators/* selectValidators.required */.s.C); + } + } + constructor(jodit, state) { + super(jodit, state); + this.state = { ...UISelect_1.defaultState }; + Object.assign(this.state, state); + } +}; +UISelect.defaultState = { + ...input/* UIInput.defaultState */.u.defaultState, + options: [], + size: 1, + multiple: false +}; +UISelect = UISelect_1 = (0,tslib_es6/* __decorate */.gn)([ + component/* component */.w +], UISelect); -;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-parent.ts + +// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts +var helpers_utils = __webpack_require__(76502); +// EXTERNAL MODULE: ./src/core/component/component.ts +var component_component = __webpack_require__(45113); +;// CONCATENATED MODULE: ./src/core/ui/form/form.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9421,192 +9275,190 @@ function getSuitChild(style, font) { -function getSuitParent(style, node, root) { - const { parentNode } = node; - if (parentNode === root || - !dom/* Dom.isHTMLElement */.i.isHTMLElement(parentNode) || - dom/* Dom.next */.i.next(node, isNormalNode, parentNode) || - dom/* Dom.prev */.i.prev(node, isNormalNode, parentNode)) { - return null; - } - if (style.isElementCommit && - style.elementIsBlock && - !dom/* Dom.isBlock */.i.isBlock(parentNode)) { - return getSuitParent(style, parentNode, root); - } - if (isSuitElement(style, parentNode, false) && - (!dom/* Dom.isBlock */.i.isBlock(parentNode) || style.elementIsBlock)) { - return parentNode; - } - if (style.isElementCommit && !dom/* Dom.isBlock */.i.isBlock(parentNode)) { - return getSuitParent(style, parentNode, root); - } - return null; -} -;// CONCATENATED MODULE: ./src/core/selection/style/api/is-inside-invisible-element.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -function isInsideInvisibleElement(font, root) { - return Boolean(dom/* Dom.closest */.i.closest(font, ['style', 'script'], root)); -} -;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle-commit-styles.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -function toggleCommitStyles(commitStyle, elm, jodit) { - if (commitStyle.elementIsBlock || - (dom/* Dom.isTag */.i.isTag(elm, commitStyle.element) && !commitStyle.elementIsDefault)) { - if (elm.getAttribute('style')) { - dom/* Dom.replace */.i.replace(elm, commitStyle.defaultTag, jodit.createInside, true); +let UIForm = class UIForm extends group/* UIGroup */.q { + className() { + return 'UIForm'; + } + submit() { + this.j.e.fire(this.container, 'submit'); + } + validate() { + const inputs = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, input/* UIInput */.u)); + for (const input of inputs) { + if (!input.validate()) { + return false; + } } - else { - dom/* Dom.unwrap */.i.unwrap(elm); + const selects = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, UISelect)); + for (const select of selects) { + if (!select.validate()) { + return false; + } } return true; } - return false; -} + onSubmit(handler) { + this.j.e.on(this.container, 'submit', () => { + const inputs = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, input/* UIInput */.u)); + if (!this.validate()) { + return false; + } + handler(inputs.reduce((res, item) => { + res[item.state.name] = item.value; + return res; + }, {})); + return false; + }); + } + createContainer() { + const form = this.j.c.element('form'); + form.classList.add(this.componentName); + (0,helpers_utils.attr)(form, 'dir', this.j.o.direction || 'auto'); + return form; + } + constructor(...args) { + var _a, _b; + super(...args); + if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.className) { + this.container.classList.add((_b = this.options) === null || _b === void 0 ? void 0 : _b.className); + } + } +}; +UIForm = (0,tslib_es6/* __decorate */.gn)([ + component/* component */.w +], UIForm); -;// CONCATENATED MODULE: ./src/core/selection/style/api/unwrap-children.ts + +;// CONCATENATED MODULE: ./src/core/ui/form/inputs/area/area.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UITextArea_1; -function unwrapChildren(style, font) { - const needUnwrap = []; - const needChangeStyle = []; - let firstElementSuit; - const cssStyle = style.options.style; - if (font.firstChild) { - const gen = dom/* Dom.eachGen */.i.eachGen(font); - let item = gen.next(); - while (!item.done) { - const elm = item.value; - if (isSuitElement(style, elm, true) && - (!cssStyle || elementHasSameStyleKeys(elm, cssStyle))) { - if (firstElementSuit === undefined) { - firstElementSuit = true; - } - needUnwrap.push(elm); - } - else if (cssStyle && isSameStyleChild(style, elm)) { - if (firstElementSuit === undefined) { - firstElementSuit = false; - } - needChangeStyle.push(() => { - (0,helpers.css)(elm, Object.keys(cssStyle).reduce((acc, key) => { - acc[key] = null; - return acc; - }, {})); - if (!(0,helpers.attr)(elm, 'style')) { - (0,helpers.attr)(elm, 'style', null); - } - if (!(0,helpers.attr)(elm, 'style') && - elm.nodeName.toLowerCase() === style.element) { - needUnwrap.push(elm); - } - }); - } - else if (!dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm)) { - if (firstElementSuit === undefined) { - firstElementSuit = false; - } - } - item = gen.next(); +let UITextArea = UITextArea_1 = class UITextArea extends input/* UIInput */.u { + className() { + return 'UITextArea'; + } + createContainer(options) { + this.nativeInput = this.j.create.element('textarea'); + return super.createContainer(options); + } + constructor(jodit, state) { + super(jodit, state); + this.state = { ...UITextArea_1.defaultState }; + Object.assign(this.state, state); + if (this.state.resizable === false) { + this.nativeInput.style.resize = 'none'; } } - needChangeStyle.forEach(clb => clb()); - needUnwrap.forEach(dom/* Dom.unwrap */.i.unwrap); - return Boolean(firstElementSuit); -} +}; +UITextArea.defaultState = { + ...input/* UIInput.defaultState */.u.defaultState, + size: 5, + resizable: true +}; +UITextArea = UITextArea_1 = (0,tslib_es6/* __decorate */.gn)([ + component/* component */.w +], UITextArea); -;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-unwrapped-text.ts + +// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules +var decorators = __webpack_require__(67493); +// EXTERNAL MODULE: ./src/core/dom/dom.ts +var dom = __webpack_require__(24263); +;// CONCATENATED MODULE: ./src/core/ui/form/inputs/checkbox/checkbox.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UICheckbox_1; -function wrapUnwrappedText(style, elm, jodit, getRange) { - const root = jodit.editor, ci = jodit.createInside, edge = (n, key = 'previousSibling') => { - let edgeNode = n, node = n; - while (node) { - if (dom/* Dom.isTag */.i.isTag(node, jodit.o.enter)) { - break; - } - edgeNode = node; - if (node[key]) { - node = node[key]; - } - else { - node = - node.parentNode && - !dom/* Dom.isBlock */.i.isBlock(node.parentNode) && - node.parentNode !== root - ? node.parentNode - : null; - } - if (dom/* Dom.isBlock */.i.isBlock(node)) { - break; + + + + +let UICheckbox = UICheckbox_1 = class UICheckbox extends input/* UIInput */.u { + className() { + return 'UICheckbox'; + } + render() { + return this.j.c.element('label', { + className: this.componentName + }); + } + constructor(jodit, options) { + super(jodit, { ...options, type: 'checkbox' }); + this.state = { ...UICheckbox_1.defaultState }; + Object.assign(this.state, options); + } + onChangeChecked() { + this.value = this.state.checked.toString(); + this.nativeInput.checked = this.state.checked; + this.setMod('checked', this.state.checked); + } + onChangeNativeCheckBox() { + this.state.checked = this.nativeInput.checked; + } + onChangeSwitch() { + this.setMod('switch', this.state.switch); + let slider = this.getElm('switch-slider'); + if (this.state.switch) { + if (!slider) { + slider = this.j.c.div(this.getFullElName('switch-slider')); } + dom/* Dom.after */.i.after(this.nativeInput, slider); } - return edgeNode; - }; - const start = edge(elm), end = edge(elm, 'nextSibling'); - const range = getRange(); - range.setStartBefore(start); - range.setEndAfter(end); - const fragment = range.extractContents(); - const wrapper = ci.element(style.element); - wrapper.appendChild(fragment); - dom/* Dom.safeInsertNode */.i.safeInsertNode(range, wrapper); - if (style.elementIsBlock) { - if (dom/* Dom.isEmpty */.i.isEmpty(wrapper) && - !dom/* Dom.isTag */.i.isTag(wrapper.firstElementChild, 'br')) { - wrapper.appendChild(ci.element('br')); + else { + dom/* Dom.safeRemove */.i.safeRemove(slider); } } - return wrapper; -} +}; +UICheckbox.defaultState = { + ...input/* UIInput.defaultState */.u.defaultState, + checked: false, + switch: false +}; +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.watch)('state.checked'), + (0,decorators.hook)('ready') +], UICheckbox.prototype, "onChangeChecked", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.watch)('nativeInput:change') +], UICheckbox.prototype, "onChangeNativeCheckBox", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.watch)('state.switch'), + (0,decorators.hook)('ready') +], UICheckbox.prototype, "onChangeSwitch", null); +UICheckbox = UICheckbox_1 = (0,tslib_es6/* __decorate */.gn)([ + decorators.component +], UICheckbox); + -;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-ordered-list.ts +// EXTERNAL MODULE: ./src/core/ui/form/inputs/file/file.ts +var file = __webpack_require__(41374); +;// CONCATENATED MODULE: ./src/core/ui/form/inputs/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -function wrapOrderedList(commitStyle, wrapper, jodit) { - const newWrapper = dom/* Dom.replace */.i.replace(wrapper, 'li', jodit.createInside); - let list = newWrapper.previousElementSibling || newWrapper.nextElementSibling; - if (!dom/* Dom.isTag */.i.isTag(list, ['ul', 'ol'])) { - list = jodit.createInside.element(commitStyle.element); - dom/* Dom.before */.i.before(newWrapper, list); - } - if (newWrapper.previousElementSibling === list) { - dom/* Dom.append */.i.append(list, newWrapper); - } - else { - dom/* Dom.prepend */.i.prepend(list, newWrapper); - } - return list; -} -;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-and-commit-style.ts + + + + +;// CONCATENATED MODULE: ./src/core/ui/form/block/block.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9616,37 +9468,31 @@ function wrapOrderedList(commitStyle, wrapper, jodit) { -function wrapAndCommitStyle(commitStyle, font, jodit) { - const wrapper = findOrCreateWrapper(commitStyle, font, jodit); - return commitStyle.elementIsList - ? wrapOrderedList(commitStyle, wrapper, jodit) - : dom/* Dom.replace */.i.replace(wrapper, commitStyle.element, jodit.createInside, true); -} -function findOrCreateWrapper(commitStyle, font, jodit) { - if (commitStyle.elementIsBlock) { - const box = dom/* Dom.up */.i.up(font, node => dom/* Dom.isBlock */.i.isBlock(node) && - !dom/* Dom.isTag */.i.isTag(node, [ - 'td', - 'th', - 'tr', - 'tbody', - 'table', - 'li', - 'ul', - 'ol' - ]), jodit.editor); - if (box) { - return box; - } + +let UIBlock = class UIBlock extends group/* UIGroup */.q { + className() { + return 'UIBlock'; } - if (commitStyle.elementIsBlock) { - return wrapUnwrappedText(commitStyle, font, jodit, jodit.s.createRange); + constructor(jodit, elements, options = { + align: 'left' + }) { + super(jodit, elements); + this.options = options; + this.setMod('align', this.options.align || 'left'); + this.setMod('width', this.options.width || ''); + this.options.mod && this.setMod(this.options.mod, true); + this.options.className && + this.container.classList.add(this.options.className); + (0,helpers_utils.attr)(this.container, 'data-ref', options.ref); + (0,helpers_utils.attr)(this.container, 'ref', options.ref); } - (0,helpers.attr)(font, 'size', null); - return font; -} +}; +UIBlock = (0,tslib_es6/* __decorate */.gn)([ + component/* component */.w +], UIBlock); -;// CONCATENATED MODULE: ./src/core/selection/style/api/index.ts + +;// CONCATENATED MODULE: ./src/core/ui/form/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9657,18 +9503,19 @@ function findOrCreateWrapper(commitStyle, font, jodit) { +/***/ }), +/***/ 41374: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - - - - - - - - - -;// CONCATENATED MODULE: ./src/core/selection/style/apply-style.ts +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "Z": function() { return /* binding */ UIFileInput; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30194); +/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11441); +/* harmony import */ var jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(96031); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -9679,399 +9526,312 @@ function findOrCreateWrapper(commitStyle, font, jodit) { -function ApplyStyle(jodit, cs) { - const { s: sel, editor } = jodit; - const fsm = new FiniteStateMachine('start', { - start: { - start() { - sel.save(); - (0,helpers.normalizeNode)(editor.firstChild); - this.setState('generator'); - } - }, - generator: { - initGenerator() { - return jodit.s.wrapInTagGen(); - }, - nextFont(gen) { - const font = gen.next(); - if (font.done) { - this.setState('end'); - return; - } - if (isInsideInvisibleElement(font.value, editor) || - dom/* Dom.isEmptyContent */.i.isEmptyContent(font.value)) { - return; - } - this.setState('check'); - return font.value; - } - }, - check: { - work(font) { - let elm = getSuitParent(cs, font, jodit.editor) || - getSuitChild(cs, font); - if (elm) { - this.setState('wholeElement'); - return elm; - } - elm = dom/* Dom.closest */.i.closest(font, node => isSuitElement(cs, node, true), jodit.editor); - if (elm) { - if (!cs.elementIsBlock) { - extractSelectedPart(elm, font, jodit); - } - } - if (cs.elementIsList && dom/* Dom.isTag */.i.isTag(elm, ['ul', 'ol'])) { - this.setState('orderList'); - return font; - } - if (elm) { - this.setState('wholeElement'); - return elm; - } - if (unwrapChildren(cs, font)) { - this.setState('endProcess'); - return null; - } - this.setState('wrap'); - return font; - } - }, - wholeElement: { - toggleStyles(toggleElm) { - let mode = INITIAL; - if (toggleCommitStyles(cs, toggleElm, jodit)) { - mode = UNWRAP; - } - else { - mode = toggleCSS(cs, toggleElm, jodit, mode); - } - this.setState('generator', mode); - } - }, - orderList: { - toggleStyles(font) { - let mode = INITIAL; - const li = dom/* Dom.closest */.i.closest(font, 'li', jodit.editor); - if (!li) { - this.setState('generator'); - return; - } - const ul = dom/* Dom.closest */.i.closest(font, ['ul', 'ol'], jodit.editor); - if (!ul) { - this.setState('generator'); - return; - } - mode = toggleOrderedList(cs, li, jodit, mode); - if (mode === REPLACE || mode === UNWRAP || mode === CHANGE) { - this.setState('endWhile'); - return; - } - this.setState('generator'); - } - }, - wrap: { - toggleStyles(font) { - if (this.getSubState() !== 'unwrap') { - const toggleElm = wrapAndCommitStyle(cs, font, jodit); - toggleCSS(cs, toggleElm, jodit, WRAP); - } - this.setState('generator'); - } - }, - endWhile: { - nextFont(gen) { - const font = gen.next(); - if (font.done) { - this.setState('end'); - } - } - }, - endProcess: { - toggleStyles() { - this.setState('generator'); - } - }, - end: { - finalize() { - sel.restore(); +let UIFileInput = class UIFileInput extends jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__/* .UIInput */ .u { + className() { + return 'UIFileInput'; + } + createContainer(options) { + this.button = new jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_1__/* .UIButton */ .y3(this.j, { + icon: { + name: 'plus' } + }); + const { container } = this.button; + if (!this.nativeInput) { + this.nativeInput = this.createNativeInput(options); } - }); - fsm.dispatch('start'); - const gen = fsm.dispatch('initGenerator'); - while (fsm.getState() !== 'end') { - const font = fsm.dispatch('nextFont', gen); - if (font) { - const wrapper = fsm.dispatch('work', font); - fsm.dispatch('toggleStyles', wrapper); - } + const { nativeInput } = this; + nativeInput.classList.add(this.getFullElName('input')); + container.classList.add(this.componentName); + container.appendChild(nativeInput); + return container; } - fsm.dispatch('finalize', gen); -} + createNativeInput(options) { + return this.j.create.fromHTML(``); + } + constructor(jodit, options) { + super(jodit, { + type: 'file', + ...options + }); + this.state = { + ...jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__/* .UIInput.defaultState */ .u.defaultState, + type: 'file', + onlyImages: true + }; + } +}; +UIFileInput = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .gn)([ + jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_3__/* .component */ .w +], UIFileInput); -;// CONCATENATED MODULE: ./src/core/selection/style/commit-style.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -const WRAP = 'wrap'; -const UNWRAP = 'unwrap'; -const CHANGE = 'change'; -const UNSET = 'unset'; -const INITIAL = 'initial'; -const REPLACE = 'replace'; -class CommitStyle { - constructor(options) { - this.options = options; - } - get elementIsList() { - return Boolean(this.options.element && ['ul', 'ol'].includes(this.options.element)); - } - get element() { - return this.options.element || this.defaultTag; - } - get elementIsBlock() { - return Boolean(this.options.element && constants.IS_BLOCK.test(this.options.element)); - } - get isElementCommit() { - return Boolean(this.options.element && - this.options.element !== this.options.defaultTag); - } - get defaultTag() { - if (this.options.defaultTag) { - return this.options.defaultTag; - } - return this.elementIsBlock ? 'p' : 'span'; - } - get elementIsDefault() { - return this.element === this.defaultTag; - } - apply(jodit) { - ApplyStyle(jodit, this); - } -} +/***/ }), -;// CONCATENATED MODULE: ./src/core/selection/index.ts +/***/ 30194: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "u": function() { return /* binding */ UIInput; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76502); +/* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1853); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77904); +/* harmony import */ var jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49587); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UIInput_1; -/***/ }), -/***/ 94707: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -"use strict"; -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "Ke": function() { return /* reexport */ Storage; } -}); -// UNUSED EXPORTS: LocalStorageProvider, MemoryStorageProvider, StorageKey, canUsePersistentStorage -;// CONCATENATED MODULE: ./src/core/storage/engines/local-storage-provider.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -const canUsePersistentStorage = (() => { - const canUse = () => { - const tmpKey = '___Jodit___' + Math.random().toString(); - try { - localStorage.setItem(tmpKey, '1'); - const result = localStorage.getItem(tmpKey) === '1'; - localStorage.removeItem(tmpKey); - return result; - } - catch (_a) { } - return false; - }; - let result; - return () => { - if (result === undefined) { - result = canUse(); - } - return result; - }; -})(); -class LocalStorageProvider { - constructor(rootKey) { - this.rootKey = rootKey; +let UIInput = UIInput_1 = class UIInput extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { + className() { + return 'UIInput'; } - set(key, value) { - try { - const buffer = localStorage.getItem(this.rootKey); - const json = buffer ? JSON.parse(buffer) : {}; - json[key] = value; - localStorage.setItem(this.rootKey, JSON.stringify(json)); + onChangeClear() { + if (this.state.clearButton) { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.after */ .i.after(this.nativeInput, this.clearButton); } - catch (_a) { } - return this; - } - delete(key) { - try { - localStorage.removeItem(this.rootKey); + else { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.clearButton); } - catch (_a) { } - return this; } - get(key) { - try { - const buffer = localStorage.getItem(this.rootKey); - const json = buffer ? JSON.parse(buffer) : {}; - return json[key] !== undefined ? json[key] : null; - } - catch (_a) { } + onChangeClassName(ignore, oldClassName) { + oldClassName && this.container.classList.remove(oldClassName); + this.state.className && + this.container.classList.add(this.state.className); } - exists(key) { - return this.get(key) != null; + onChangeState() { + this.name = this.state.name; + const input = this.nativeInput, { name, icon, type, ref, required, placeholder, autocomplete, label } = this.state; + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'name', name); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'type', type); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'data-ref', ref || name); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'ref', ref || name); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'required', required || null); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'autocomplete', !autocomplete ? 'off' : null); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'placeholder', placeholder ? this.j.i18n(placeholder) : ''); + if (icon && jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.exists */ .J.exists(icon)) { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.before */ .i.before(input, this.icon); + this.icon.innerHTML = jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.get */ .J.get(icon); + } + else { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.icon); + } + if (label) { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.before */ .i.before(this.wrapper, this.label); + this.label.innerText = this.j.i18n(label); + } + else { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.label); + } + this.updateValidators(); } - clear() { - try { - localStorage.removeItem(this.rootKey); + updateValidators() { + var _a; + this.validators.clear(); + if (this.state.required) { + this.validators.add(jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__/* .inputValidators.required */ .g.required); } - catch (_a) { } - return this; + (_a = this.state.validators) === null || _a === void 0 ? void 0 : _a.forEach(name => { + const validator = jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__/* .inputValidators */ .g[name]; + validator && this.validators.add(validator); + }); } -} - -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -;// CONCATENATED MODULE: ./src/core/storage/engines/memory-storage-provider.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -class MemoryStorageProvider { - constructor() { - this.data = new Map(); + set error(value) { + this.setMod('has-error', Boolean(value)); + if (!value) { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.__errorBox); + } + else { + this.__errorBox.innerText = this.j.i18n(value, this.j.i18n(this.state.label || '')); + this.container.appendChild(this.__errorBox); + } } - set(key, value) { - this.data.set(key, value); - return this; + get value() { + return this.nativeInput.value; } - delete(key) { - this.data.delete(key); - return this; + set value(value) { + if (this.value !== value) { + this.nativeInput.value = value; + this.onChangeValue(); + } } - get(key) { - return this.data.get(key); + onChangeStateValue() { + const value = this.state.value.toString(); + if (value !== this.value) { + this.value = value; + } } - exists(key) { - return this.data.has(key); + onChangeValue() { + var _a, _b; + const { value } = this; + if (this.state.value !== value) { + this.state.value = value; + this.j.e.fire(this, 'change', value); + (_b = (_a = this.state).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value); + } } - clear() { - this.data.clear(); - return this; + validate() { + this.error = ''; + return (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .q)(this.validators).every(validator => validator(this)); } -} - -;// CONCATENATED MODULE: ./src/core/storage/storage.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - -const StorageKey = 'Jodit_'; -class Storage { - constructor(provider, suffix) { - this.provider = provider; - this.prefix = StorageKey; - if (suffix) { - this.prefix += suffix; + createContainer(options) { + const container = super.createContainer(); + this.wrapper = this.j.c.div(this.getFullElName('wrapper')); + if (!this.nativeInput) { + this.nativeInput = this.createNativeInput(); } + const { nativeInput } = this; + nativeInput.classList.add(this.getFullElName('input')); + this.wrapper.appendChild(nativeInput); + container.appendChild(this.wrapper); + (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(nativeInput, 'dir', this.j.o.direction || 'auto'); + return container; } - set(key, value) { - this.provider.set((0,helpers.camelCase)(this.prefix + key), value); - return this; - } - delete(key) { - this.provider.delete((0,helpers.camelCase)(this.prefix + key)); - return this; + createNativeInput(options) { + return this.j.create.element('input'); } - get(key) { - return this.provider.get((0,helpers.camelCase)(this.prefix + key)); + constructor(jodit, options) { + super(jodit, options); + this.label = this.j.c.span(this.getFullElName('label')); + this.icon = this.j.c.span(this.getFullElName('icon')); + this.clearButton = this.j.c.span(this.getFullElName('clear'), jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.get */ .J.get('cancel')); + this.state = { ...UIInput_1.defaultState }; + this.__errorBox = this.j.c.span(this.getFullElName('error')); + this.validators = new Set([]); + if ((options === null || options === void 0 ? void 0 : options.value) !== undefined) { + options.value = options.value.toString(); + } + Object.assign(this.state, options); + if (this.state.clearButton !== undefined) { + this.j.e + .on(this.clearButton, 'click', (e) => { + e.preventDefault(); + this.nativeInput.value = ''; + this.j.e.fire(this.nativeInput, 'input'); + this.focus(); + }) + .on(this.nativeInput, 'input', () => { + this.state.clearButton = Boolean(this.value.length); + }); + this.state.clearButton = Boolean(this.value.length); + } + this.j.e + .on(this.nativeInput, 'focus blur', () => { + this.onChangeFocus(); + }) + .on(this.nativeInput, 'input change', this.onChangeValue); + this.onChangeState(); + this.onChangeClassName(); + this.onChangeStateValue(); } - exists(key) { - return this.provider.exists((0,helpers.camelCase)(this.prefix + key)); + focus() { + this.nativeInput.focus(); } - clear() { - this.provider.clear(); - return this; + get isFocused() { + return this.nativeInput === this.j.od.activeElement; } - static makeStorage(persistent = false, suffix) { - let provider; - if (persistent && canUsePersistentStorage()) { - provider = new LocalStorageProvider(StorageKey + suffix); - } - if (!provider) { - provider = new MemoryStorageProvider(); - } - return new Storage(provider, suffix); + onChangeFocus() { + this.setMod('focused', this.isFocused); } -} - -;// CONCATENATED MODULE: ./src/core/storage/index.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - +}; +UIInput.defaultState = { + className: '', + autocomplete: true, + name: '', + value: '', + icon: '', + label: '', + ref: '', + type: 'text', + placeholder: '', + required: false, + validators: [] +}; +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.clearButton') +], UIInput.prototype, "onChangeClear", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.className') +], UIInput.prototype, "onChangeClassName", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)([ + 'state.name', + 'state.type', + 'state.label', + 'state.placeholder', + 'state.autocomplete', + 'state.icon' + ]), + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.debounce)() +], UIInput.prototype, "onChangeState", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.value') +], UIInput.prototype, "onChangeStateValue", null); +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind +], UIInput.prototype, "onChangeValue", null); +UIInput = UIInput_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.component +], UIInput); /***/ }), -/***/ 63711: +/***/ 49587: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { - "lf": function() { return /* reexport */ Dlgs; }, - "Fx": function() { return /* reexport */ Elms; }, - "$t": function() { return /* reexport */ Mods; } + "g": function() { return /* reexport */ input_namespaceObject; }, + "s": function() { return /* reexport */ select_namespaceObject; } }); -// EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts -var to_array = __webpack_require__(58260); -;// CONCATENATED MODULE: ./src/core/traits/elms.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ +// NAMESPACE OBJECT: ./src/core/ui/form/validators/input.ts +var input_namespaceObject = {}; +__webpack_require__.r(input_namespaceObject); +__webpack_require__.d(input_namespaceObject, { + "required": function() { return required; }, + "url": function() { return url; } +}); -class Elms { - getElm(elementName) { - return this.container.querySelector(`.${this.getFullElName(elementName)}`); - } - getElms(elementName) { - return (0,to_array/* toArray */.q)(this.container.querySelectorAll(`.${this.getFullElName(elementName)}`)); - } -} +// NAMESPACE OBJECT: ./src/core/ui/form/validators/select.ts +var select_namespaceObject = {}; +__webpack_require__.r(select_namespaceObject); +__webpack_require__.d(select_namespaceObject, { + "C": function() { return select_required; } +}); -// EXTERNAL MODULE: ./src/core/helpers/checker/is-void.ts -var is_void = __webpack_require__(62061); -;// CONCATENATED MODULE: ./src/core/traits/mods.ts +// EXTERNAL MODULE: ./src/core/helpers/checker/is-url.ts +var is_url = __webpack_require__(64350); +// EXTERNAL MODULE: ./src/core/helpers/string/trim.ts +var trim = __webpack_require__(33941); +;// CONCATENATED MODULE: ./src/core/ui/form/validators/input.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10079,86 +9839,37 @@ var is_void = __webpack_require__(62061); */ -class Mods { - afterSetMod(name, value) { } - setMod(name, value, container) { - name = name.toLowerCase(); - if (this.mods[name] === value) { - return this; - } - const mod = `${this.componentName}_${name}`, cl = (container || this.container).classList; - (0,to_array/* toArray */.q)(cl).forEach(className => { - if (className.indexOf(mod) === 0) { - cl.remove(className); - } - }); - !(0,is_void/* isVoid */.n)(value) && - value !== '' && - cl.add(`${mod}_${value.toString().toLowerCase()}`); - this.mods[name] = value; - this.afterSetMod(name, value); - return this; +const required = function (input) { + if (!(0,trim/* trim */.f)(input.value).length) { + input.error = 'Please fill out this field'; + return false; } - getMod(name) { - var _a; - return (_a = this.mods[name]) !== null && _a !== void 0 ? _a : null; + return true; +}; +const url = function (input) { + if (!(0,is_url/* isURL */.P)((0,trim/* trim */.f)(input.value))) { + input.error = 'Please enter a web address'; + return false; } -} + return true; +}; -// EXTERNAL MODULE: ./src/modules/index.ts + 20 modules -var modules = __webpack_require__(5687); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -;// CONCATENATED MODULE: ./src/core/traits/dlgs.ts +;// CONCATENATED MODULE: ./src/core/ui/form/validators/select.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ - -class Dlgs { - dlg(options) { - const dialog = new modules.Dialog({ - language: this.o.language, - shadowRoot: this.o.shadowRoot, - ownerWindow: this.o.ownerWindow, - defaultTimeout: this.o.defaultTimeout, - theme: this.o.theme, - globalFullSize: this.o.globalFullSize, - ...options - }); - (0,helpers.markOwner)(this, dialog.container); - dialog.parent = this; - return dialog.bindDestruct(this); - } - confirm(msg, title, callback) { - if ((0,helpers.isString)(title)) { - title = this.i18n(title); - } - return modules.Confirm.call(this.dlg(), this.i18n(msg), title, callback); - } - prompt(msg, title, callback, placeholder, defaultValue) { - if ((0,helpers.isString)(title)) { - title = this.i18n(title); - } - if ((0,helpers.isString)(placeholder)) { - placeholder = this.i18n(placeholder); - } - return modules.Prompt.call(this.dlg(), this.i18n(msg), title, callback, placeholder, defaultValue); - } - alert(msg, title, callback, className) { - if ((0,helpers.isString)(msg)) { - msg = this.i18n(msg); - } - if ((0,helpers.isString)(title)) { - title = this.i18n(title); - } - return modules.Alert.call(this.dlg(), msg, title, callback, className); +const select_required = function (select) { + if (!(0,trim/* trim */.f)(select.value).length) { + select.error = 'Please fill out this field'; + return false; } -} + return true; +}; -;// CONCATENATED MODULE: ./src/core/traits/index.ts +;// CONCATENATED MODULE: ./src/core/ui/form/validators/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10169,32 +9880,30 @@ class Dlgs { + /***/ }), -/***/ 6816: +/***/ 61479: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Yc": function() { return /* binding */ UIButtonState; }, -/* harmony export */ "y3": function() { return /* binding */ UIButton; }, -/* harmony export */ "zx": function() { return /* binding */ Button; } +/* harmony export */ "q": function() { return /* binding */ UIGroup; } /* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38301); -/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(86129); -/* harmony import */ var jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(87385); -/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80353); -/* harmony import */ var jodit_core_ui_group_list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27682); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(71685); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20255); +/* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52378); +/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45113); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var UIGroup_1; @@ -10203,229 +9912,124 @@ class Dlgs { - - - -const UIButtonState = () => ({ - size: 'middle', - type: 'button', - name: '', - value: '', - variant: 'initial', - disabled: false, - activated: false, - icon: { - name: 'empty', - fill: '', - iconURL: '' - }, - tooltip: '', - text: '', - tabIndex: undefined -}); -let UIButton = class UIButton extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { - constructor(jodit, state) { - super(jodit); - this.isButton = true; - this.state = UIButtonState(); - this.actionHandlers = []; - this.updateSize(); - this.onChangeSize(); - this.onChangeStatus(); - if (state) { - this.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_6__/* .STATUSES.ready */ .n.ready, () => { - this.setState(state); - }); - } - } +let UIGroup = UIGroup_1 = class UIGroup extends _element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { className() { - return 'UIButton'; + return 'UIGroup'; } - setState(state) { - Object.assign(this.state, state); - return this; + get allChildren() { + const result = []; + const stack = [ + ...this.elements + ]; + while (stack.length) { + const elm = stack.shift(); + if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isArray)(elm)) { + stack.push(...elm); + } + else if (jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(elm, UIGroup_1)) { + stack.push(...elm.elements); + } + else { + elm && result.push(elm); + } + } + return result; } - onChangeSize() { - this.setMod('size', this.state.size); + update() { + this.elements.forEach(elm => elm.update()); + this.setMod('size', this.buttonSize); } - onChangeType() { - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'type', this.state.type); + append(elm, distElement) { + if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isArray)(elm)) { + elm.forEach(item => this.append(item, distElement)); + return this; + } + this.elements.push(elm); + if (elm.name) { + elm.container.classList.add(this.getFullElName(elm.name)); + } + if (distElement) { + const distElm = this.getElm(distElement); + void 0; + distElm.appendChild(elm.container); + } + else { + this.appendChildToContainer(elm.container); + } + elm.parentElement = this; + elm.update(); + return this; } - updateSize() { - const pe = this.closest(jodit_core_ui_group_list__WEBPACK_IMPORTED_MODULE_4__/* .UIList */ .b); - if (pe) { - this.state.size = pe.buttonSize; - return; + afterSetMod(name, value) { + if (this.syncMod) { + this.elements.forEach(elm => elm.setMod(name, value)); } } - onChangeStatus() { - this.setMod('variant', this.state.variant); + appendChildToContainer(childContainer) { + this.container.appendChild(childContainer); } - onChangeText() { - this.text.textContent = this.jodit.i18n(this.state.text); + remove(elm) { + const index = this.elements.indexOf(elm); + if (index !== -1) { + this.elements.splice(index, 1); + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom.safeRemove */ .i.safeRemove(elm.container); + elm.parentElement = null; + } + return this; } - onChangeTextSetMode() { - this.setMod('text-icons', Boolean(this.state.text.trim().length)); + clear() { + this.elements.forEach(elm => elm.destruct()); + this.elements.length = 0; + return this; } - onChangeDisabled() { - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'disabled', this.state.disabled || null); + constructor(jodit, elements, options) { + super(jodit, options); + this.options = options; + this.syncMod = false; + this.elements = []; + this.buttonSize = 'middle'; + elements === null || elements === void 0 ? void 0 : elements.forEach(elm => elm && this.append(elm)); + if (options === null || options === void 0 ? void 0 : options.name) { + this.name = options.name; + } } - onChangeActivated() { - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'aria-pressed', this.state.activated); - } - onChangeName() { - this.container.classList.add(`${this.componentName}_${this.clearName(this.state.name)}`); - this.name = this.state.name; - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'data-ref', this.state.name); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'ref', this.state.name); - } - onChangeTooltip() { - if (this.get('j.o.useNativeTooltip')) { - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'title', this.state.tooltip); - } - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'aria-label', this.state.tooltip); - } - onChangeTabIndex() { - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'tabindex', this.state.tabIndex); - } - onChangeIcon() { - const textIcons = this.get('j.o.textIcons'); - if (textIcons === true || - ((0,jodit_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_7__/* .isFunction */ .m)(textIcons) && textIcons(this.state.name))) { - return; - } - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.detach */ .i.detach(this.icon); - const iconElement = jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon.makeIcon */ .J.makeIcon(this.j, this.state.icon); - iconElement && this.icon.appendChild(iconElement); - } - focus() { - this.container.focus(); - } - isFocused() { - const { activeElement } = this.od; - return Boolean(activeElement && jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.isOrContains */ .i.isOrContains(this.container, activeElement)); - } - createContainer() { - const cn = this.componentName; - const button = this.j.c.element('button', { - class: cn, - type: 'button', - role: 'button', - ariaPressed: false - }); - this.icon = this.j.c.span(cn + '__icon'); - this.text = this.j.c.span(cn + '__text'); - button.appendChild(this.icon); - button.appendChild(this.text); - this.j.e.on(button, 'click', this.onActionFire); - return button; - } - destruct() { - this.j.e.off(this.container); - return super.destruct(); - } - onAction(callback) { - this.actionHandlers.push(callback); - return this; - } - onActionFire(e) { - e.buffer = { - actionTrigger: this - }; - this.actionHandlers.forEach(callback => callback.call(this, e)); + destruct() { + this.clear(); + return super.destruct(); } }; -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.size') -], UIButton.prototype, "onChangeSize", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.type') -], UIButton.prototype, "onChangeType", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('parentElement') -], UIButton.prototype, "updateSize", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.variant') -], UIButton.prototype, "onChangeStatus", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.text') -], UIButton.prototype, "onChangeText", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.text') -], UIButton.prototype, "onChangeTextSetMode", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.disabled') -], UIButton.prototype, "onChangeDisabled", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.activated') -], UIButton.prototype, "onChangeActivated", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.name') -], UIButton.prototype, "onChangeName", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.tooltip') -], UIButton.prototype, "onChangeTooltip", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.tabIndex') -], UIButton.prototype, "onChangeTabIndex", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.watch)('state.icon') -], UIButton.prototype, "onChangeIcon", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind -], UIButton.prototype, "onActionFire", null); -UIButton = (0,tslib__WEBPACK_IMPORTED_MODULE_8__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.component -], UIButton); +(0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('buttonSize') +], UIGroup.prototype, "update", null); +UIGroup = UIGroup_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component +], UIGroup); -function Button(jodit, stateOrText, text, variant) { - const button = new UIButton(jodit); - button.state.tabIndex = jodit.o.allowTabNavigation ? 0 : -1; - if ((0,jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_9__/* .isString */ .H)(stateOrText)) { - button.state.icon.name = stateOrText; - button.state.name = stateOrText; - if (variant) { - button.state.variant = variant; - } - if (text) { - button.state.text = text; - } - } - else { - button.setState(stateOrText); - } - return button; -} /***/ }), -/***/ 81402: +/***/ 6442: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { - "zx": function() { return /* reexport */ button_button/* Button */.zx; }, - "y3": function() { return /* reexport */ button_button/* UIButton */.y3; }, - "Yc": function() { return /* reexport */ button_button/* UIButtonState */.Yc; }, - "Ne": function() { return /* reexport */ UITooltip; } + "b": function() { return /* binding */ UIList; } }); -// UNUSED EXPORTS: UIButtonGroup - -// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts -var button_button = __webpack_require__(6816); // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/core/ui/group/group.ts -var group = __webpack_require__(31454); -// EXTERNAL MODULE: ./src/core/decorators/component/component.ts -var component = __webpack_require__(45466); -// EXTERNAL MODULE: external "{assert(){}};" -var external_assert_ = __webpack_require__(52378); -;// CONCATENATED MODULE: ./src/core/ui/button/group/group.ts +// EXTERNAL MODULE: ./src/core/ui/helpers/get-control-type.ts +var get_control_type = __webpack_require__(38546); +// EXTERNAL MODULE: ./src/config.ts +var config = __webpack_require__(93166); +// EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts +var is_array = __webpack_require__(49781); +// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts +var utils = __webpack_require__(76502); +;// CONCATENATED MODULE: ./src/core/ui/helpers/get-strong-control-types.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10435,74 +10039,33 @@ var external_assert_ = __webpack_require__(52378); - - -let UIButtonGroup = class UIButtonGroup extends group/* UIGroup */.q { - constructor(jodit, options = { - radio: true - }) { - var _a, _b; - super(jodit, (_a = options.options) === null || _a === void 0 ? void 0 : _a.map(opt => { - const btn = new button_button/* UIButton */.y3(jodit, { - text: opt.text, - value: opt.value, - variant: 'primary' - }); - btn.onAction(() => { - this.select(opt.value); - }); - return btn; - }), options); - this.options = options; - this.select((_b = options.value) !== null && _b !== void 0 ? _b : 0); - } - className() { - return 'UIButtonGroup'; - } - render(options) { - return `
-
~${options.label}~
-
-
`; - } - appendChildToContainer(childContainer) { - const options = this.getElm('options'); - options.appendChild(childContainer); - } - select(indexOrValue) { - var _a, _b; - this.elements.forEach((elm, index) => { - if (index === indexOrValue || elm.state.value === indexOrValue) { - elm.state.activated = true; - } - else if (this.options.radio) { - elm.state.activated = false; - } +function getStrongControlTypes(items, controls) { + const elements = (0,is_array/* isArray */.k)(items) + ? items + : (0,utils.keys)(items, false).map(key => { + const value = items[key] || {}; + return (0,utils.ConfigProto)({ name: key }, value); }); - const result = this.elements - .filter(elm => elm.state.activated) - .map(elm => ({ - text: elm.state.text, - value: elm.state.value - })); - this.jodit.e.fire(this, 'select', result); - (_b = (_a = this.options).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, result); - } -}; -UIButtonGroup = (0,tslib_es6/* __decorate */.gn)([ - component/* component */.w -], UIButtonGroup); - + return elements.map(item => (0,get_control_type/* getControlType */.Y)(item, controls || config/* Config.defaultOptions.controls */.D.defaultOptions.controls)); +} -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -// EXTERNAL MODULE: ./src/core/global.ts -var global = __webpack_require__(16672); // EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/ui/element.ts -var ui_element = __webpack_require__(96659); -;// CONCATENATED MODULE: ./src/core/ui/button/tooltip/tooltip.ts +var decorators = __webpack_require__(67493); +// EXTERNAL MODULE: ./src/core/ui/group/group.ts +var group = __webpack_require__(61479); +// EXTERNAL MODULE: ./src/core/ui/group/separator.ts +var separator = __webpack_require__(75018); +// EXTERNAL MODULE: ./src/core/ui/group/spacer.ts +var spacer = __webpack_require__(58495); +// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts +var button_button = __webpack_require__(96031); +// EXTERNAL MODULE: ./src/core/ui/helpers/buttons.ts +var buttons = __webpack_require__(97642); +// EXTERNAL MODULE: ./src/core/helpers/array/split-array.ts +var split_array = __webpack_require__(14556); +// EXTERNAL MODULE: ./src/core/component/component.ts +var component = __webpack_require__(45113); +;// CONCATENATED MODULE: ./src/core/ui/group/list.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10514,89 +10077,135 @@ var ui_element = __webpack_require__(96659); -class UITooltip extends ui_element/* UIElement */.u { - constructor(view) { - super(view); - this.__isOpened = false; - this.__useCount = 1; - this.__delayShowTimeout = 0; - (0,global/* getContainer */.ZO)(view, UITooltip).appendChild(this.container); - let timeout = 0; - view.e - .off('.tooltip') - .on('showTooltip.tooltip', (getPoint, content) => { - view.async.clearTimeout(timeout); - this.__open(getPoint, content); - }) - .on('delayShowTooltip.tooltip', this.__delayOpen) - .on('escape.tooltip', this.__close) - .on('hideTooltip.tooltip change.tooltip scroll.tooltip changePlace.tooltip hidePopup.tooltip closeAllPopups.tooltip', () => { - this.j.async.clearTimeout(this.__delayShowTimeout); - timeout = view.async.setTimeout(this.__close, this.j.defaultTimeout); - }); - } + + + + + + +let UIList = class UIList extends group/* UIGroup */.q { className() { - return 'UITooltip'; + return 'UIList'; } - static make(view) { - let instance = (0,helpers.dataBind)(view, 'ui-tooltip'); - if (instance) { - instance.__useCount += 1; - return instance; - } - instance = new UITooltip(view); - (0,helpers.dataBind)(view, 'ui-tooltip', instance); - return instance; + onChangeMode() { + this.setMod('mode', this.mode); } - __delayOpen(getPoint, content) { - const to = this.j.o.showTooltipDelay || this.j.defaultTimeout; - this.j.async.clearTimeout(this.__delayShowTimeout); - this.__delayShowTimeout = this.j.async.setTimeout(() => this.__open(getPoint, content), { - timeout: to, - label: 'tooltip' - }); + constructor(jodit) { + super(jodit); + this.mode = 'horizontal'; + this.removeButtons = []; + this.onChangeMode(); } - __open(getPoint, content) { - this.setMod('visible', true); - this.container.innerHTML = content; - this.__isOpened = true; - this.__setPosition(getPoint); + makeGroup() { + return new group/* UIGroup */.q(this.jodit); } - __setPosition(getPoint) { - const point = getPoint(); - (0,helpers.css)(this.container, { - left: point.x, - top: point.y - }); + get buttons() { + return this.allChildren.filter(elm => component/* Component.isInstanceOf */.w.isInstanceOf(elm, button_button/* UIButton */.y3)); } - __close() { - this.j.async.clearTimeout(this.__delayShowTimeout); - if (this.__isOpened) { - this.__isOpened = false; - this.setMod('visible', false); - (0,helpers.css)(this.container, { - left: -5000 - }); - } + getButtonsNames() { + return this.buttons + .map(a => (a instanceof button_button/* UIButton */.y3 && a.state.name) || '') + .filter(a => a !== ''); } - destruct() { - var _a; - this.__useCount--; - if (!this.__useCount) { - (_a = this.j) === null || _a === void 0 ? void 0 : _a.e.off('.tooltip'); - this.__close(); - super.destruct(); - } + setRemoveButtons(removeButtons) { + this.removeButtons = removeButtons || []; + return this; } -} -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], UITooltip.prototype, "__delayOpen", null); + build(items, target = null) { + items = (0,split_array/* splitArray */.C)(items); + this.clear(); + let lastBtnSeparator = false; + let line = this.makeGroup(); + this.append(line); + line.setMod('line', true); + let group; + const addButton = (control) => { + let elm = null; + switch (control.name) { + case '\n': + line = this.makeGroup(); + line.setMod('line', true); + group = this.makeGroup(); + line.append(group); + this.append(line); + break; + case '|': + if (!lastBtnSeparator) { + lastBtnSeparator = true; + elm = new separator/* UISeparator */.l(this.j); + } + break; + case '---': { + group.setMod('before-spacer', true); + const space = new spacer/* UISpacer */.W(this.j); + line.append(space); + group = this.makeGroup(); + line.append(group); + lastBtnSeparator = false; + break; + } + default: + lastBtnSeparator = false; + elm = this.makeButton(control, target); + } + if (elm) { + if (!group) { + group = this.makeGroup(); + line.append(group); + } + group.append(elm); + } + }; + const isNotRemoved = (b) => !this.removeButtons.includes(b.name); + items.forEach(item => { + if ((0,buttons/* isButtonGroup */.A)(item)) { + const buttons = item.buttons.filter(b => b); + if (buttons.length) { + group = this.makeGroup(); + group.setMod('separated', true).setMod('group', item.group); + line.append(group); + getStrongControlTypes(buttons, this.j.o.controls) + .filter(isNotRemoved) + .forEach(addButton); + } + } + else { + if (!group) { + group = this.makeGroup(); + line.append(group); + } + const control = (0,get_control_type/* getControlType */.Y)(item, this.j.o.controls); + isNotRemoved(control) && addButton(control); + } + }); + this.update(); + return this; + } + makeButton(control, target) { + return new button_button/* UIButton */.y3(this.j); + } +}; (0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], UITooltip.prototype, "__close", null); + (0,decorators.watch)('mode') +], UIList.prototype, "onChangeMode", null); +UIList = (0,tslib_es6/* __decorate */.gn)([ + decorators.component +], UIList); -;// CONCATENATED MODULE: ./src/core/ui/button/index.ts + + +/***/ }), + +/***/ 75018: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "l": function() { return /* binding */ UISeparator; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11441); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -10605,427 +10214,318 @@ class UITooltip extends ui_element/* UIElement */.u { +let UISeparator = class UISeparator extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { + className() { + return 'UISeparator'; + } +}; +UISeparator = (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__decorate */ .gn)([ + jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__/* .component */ .w +], UISeparator); + /***/ }), -/***/ 96659: +/***/ 58495: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "u": function() { return /* binding */ UIElement; } +/* harmony export */ "W": function() { return /* binding */ UISpacer; } /* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2624); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63711); -/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(86129); -/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80353); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63945); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11441); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -var UIElement_1; +let UISpacer = class UISpacer extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { + className() { + return 'UISpacer'; + } +}; +UISpacer = (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__decorate */ .gn)([ + jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__/* .component */ .w +], UISpacer); +/***/ }), -let UIElement = UIElement_1 = class UIElement extends jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .ViewComponent */ .Hr { - constructor(jodit, options) { - super(jodit); - this.name = ''; - this.__parentElement = null; - this.mods = {}; - this.container = this.createContainer(options); - Object.defineProperty(this.container, 'component', { - value: this, - configurable: true - }); - } - get parentElement() { - return this.__parentElement; - } - set parentElement(parentElement) { - this.__parentElement = parentElement; - if (parentElement) { - parentElement.hookStatus('beforeDestruct', () => this.destruct()); +/***/ 97642: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "A": function() { return /* binding */ isButtonGroup; }, +/* harmony export */ "q": function() { return /* binding */ flatButtonsSet; } +/* harmony export */ }); +/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49781); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + +const isButtonGroup = (item) => { + return (0,jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__/* .isArray */ .k)(item.buttons); +}; +function flatButtonsSet(buttons, jodit) { + const groups = jodit.getRegisteredButtonGroups(); + return new Set(buttons.reduce((acc, item) => { + var _a; + if (isButtonGroup(item)) { + acc = acc.concat([ + ...item.buttons, + ...((_a = groups[item.group]) !== null && _a !== void 0 ? _a : []) + ]); } - this.updateParentElement(this); - } - bubble(callback) { - let parent = this.parentElement; - while (parent) { - callback(parent); - parent = parent.parentElement; + else { + acc.push(item); } - return this; + return acc; + }, [])); +} + + +/***/ }), + +/***/ 38546: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "Y": function() { return /* binding */ getControlType; }, +/* harmony export */ "z": function() { return /* binding */ findControlType; } +/* harmony export */ }); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40332); +/* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93166); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +function getControlType(button, controls) { + let buttonControl; + if (!controls) { + controls = jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config.defaultOptions.controls */ .D.defaultOptions.controls; } - updateParentElement(target) { - var _a; - (_a = this.__parentElement) === null || _a === void 0 ? void 0 : _a.updateParentElement(target); - return this; + if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.isString)(button)) { + buttonControl = { name: 'empty', ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(button) }; + if (controls[buttonControl.name] !== undefined) { + buttonControl = { + ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(controls[buttonControl.name]), + ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(buttonControl) + }; + } } - get(chain, obj) { - return super.get(chain, obj) || this.getElm(chain); + else { + buttonControl = findControlType(button, controls) || { + name: button, + command: button, + tooltip: button + }; } - closest(type) { - const c = typeof type === 'object' - ? (pe) => pe === type - : (pe) => jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .Component.isInstanceOf */ .wA.isInstanceOf(pe, type); - let pe = this.__parentElement; - while (pe) { - if (c(pe)) { - return pe; - } - if (!pe.parentElement && pe.container.parentElement) { - pe = UIElement_1.closestElement(pe.container.parentElement, UIElement_1); - } - else { - pe = pe.parentElement; - } + return buttonControl; +} +function findControlType(path, controls) { + let [namespaceOrKey, key] = path.split(/\./); + let store = controls; + if (key != null) { + if (controls[namespaceOrKey] !== undefined) { + store = controls[namespaceOrKey]; } - return null; } - static closestElement(node, type) { - const elm = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.up */ .i.up(node, elm => { - if (elm) { - const { component } = elm; - return component && jodit_core_component__WEBPACK_IMPORTED_MODULE_0__/* .Component.isInstanceOf */ .wA.isInstanceOf(component, type); - } - return false; - }); - return elm ? elm === null || elm === void 0 ? void 0 : elm.component : null; + else { + key = namespaceOrKey; } - update() { + return store[key] + ? { + name: key, + ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(store[key]) + } + : undefined; +} + + +/***/ }), + +/***/ 77904: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "J": function() { return /* binding */ Icon; } +/* harmony export */ }); +/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26911); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40332); +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class Icon { + static getIcon(name) { + if (/ jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__/* .Icon.get */ .J.get(name) || '') - .replace(/&__/g, this.componentName + '__') - .replace(/~([^~]+?)~/g, (_, s) => this.i18n(s))); - } - destruct() { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_1__/* .Dom.safeRemove */ .i.safeRemove(this.container); - this.parentElement = null; - return super.destruct(); + if (iconElement) { + iconElement.classList.add('jodit-icon'); + iconElement.style.fill = icon.fill; + } + return iconElement; } -}; -UIElement = UIElement_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.derive)(jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__/* .Mods */ .$t, jodit_core_traits__WEBPACK_IMPORTED_MODULE_2__/* .Elms */ .Fx) -], UIElement); - +} +Icon.icons = {}; /***/ }), -/***/ 18839: +/***/ 93801: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { - "eC": function() { return /* reexport */ UIBlock; }, - "mA": function() { return /* reexport */ UICheckbox; }, - "x4": function() { return /* reexport */ UIForm; }, - "u3": function() { return /* reexport */ input/* UIInput */.u; }, - "Cj": function() { return /* reexport */ UISelect; }, - "GJ": function() { return /* reexport */ UITextArea; } + "zx": function() { return /* reexport */ ui_button/* Button */.zx; }, + "JO": function() { return /* reexport */ icon/* Icon */.J; }, + "GI": function() { return /* reexport */ popup/* Popup */.G; }, + "ko": function() { return /* reexport */ ProgressBar; }, + "eC": function() { return /* reexport */ ui_form/* UIBlock */.eC; }, + "y3": function() { return /* reexport */ ui_button/* UIButton */.y3; }, + "mA": function() { return /* reexport */ ui_form/* UICheckbox */.mA; }, + "u1": function() { return /* reexport */ ui_element/* UIElement */.u; }, + "x4": function() { return /* reexport */ ui_form/* UIForm */.x4; }, + "qe": function() { return /* reexport */ group/* UIGroup */.q; }, + "u3": function() { return /* reexport */ ui_form/* UIInput */.u3; }, + "bz": function() { return /* reexport */ list/* UIList */.b; }, + "lU": function() { return /* reexport */ separator/* UISeparator */.l; }, + "GJ": function() { return /* reexport */ ui_form/* UITextArea */.GJ; }, + "Ne": function() { return /* reexport */ ui_button/* UITooltip */.Ne; } }); -// UNUSED EXPORTS: UIFileInput +// UNUSED EXPORTS: UIButtonGroup, UIButtonState, UIFileInput, UISelect, UISpacer -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/core/ui/element.ts +var ui_element = __webpack_require__(53929); +// EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules +var ui_button = __webpack_require__(55310); +// EXTERNAL MODULE: ./src/core/ui/popup/index.ts +var popup = __webpack_require__(35799); // EXTERNAL MODULE: ./src/core/ui/group/group.ts -var group = __webpack_require__(31454); -// EXTERNAL MODULE: ./src/core/ui/form/inputs/input/input.ts -var input = __webpack_require__(97288); -// EXTERNAL MODULE: ./src/core/helpers/utils/utils.ts -var utils = __webpack_require__(32389); -// EXTERNAL MODULE: ./src/core/decorators/component/component.ts -var component = __webpack_require__(45466); -// EXTERNAL MODULE: ./src/core/ui/form/validators/index.ts + 2 modules -var validators = __webpack_require__(83518); -;// CONCATENATED MODULE: ./src/core/ui/form/inputs/select/select.ts +var group = __webpack_require__(61479); +// EXTERNAL MODULE: ./src/core/ui/group/list.ts + 1 modules +var list = __webpack_require__(6442); +// EXTERNAL MODULE: ./src/core/ui/group/separator.ts +var separator = __webpack_require__(75018); +// EXTERNAL MODULE: ./src/core/ui/group/spacer.ts +var spacer = __webpack_require__(58495); +;// CONCATENATED MODULE: ./src/core/ui/group/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -var UISelect_1; +// EXTERNAL MODULE: ./src/core/ui/form/index.ts + 6 modules +var ui_form = __webpack_require__(80567); +// EXTERNAL MODULE: ./src/core/ui/icon.ts +var icon = __webpack_require__(77904); +// EXTERNAL MODULE: ./src/core/dom/dom.ts +var dom = __webpack_require__(24263); +;// CONCATENATED MODULE: ./src/core/ui/progress-bar/progress-bar.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ -let UISelect = UISelect_1 = class UISelect extends input/* UIInput */.u { - constructor(jodit, state) { - super(jodit, state); - this.state = { ...UISelect_1.defaultState }; - Object.assign(this.state, state); - } + + +class ProgressBar extends ui_element/* UIElement */.u { className() { - return 'UISelect'; - } - createContainer(state) { - var _a; - const container = super.createContainer(state); - const { j } = this, { nativeInput } = this; - const opt = () => j.create.element('option'); - if (state.placeholder !== undefined) { - const option = opt(); - option.value = ''; - option.text = j.i18n(state.placeholder); - nativeInput.add(option); - } - (_a = state.options) === null || _a === void 0 ? void 0 : _a.forEach(element => { - const option = opt(); - option.value = element.value.toString(); - option.text = j.i18n(element.text); - nativeInput.add(option); - }); - if (state.size && state.size > 0) { - (0,utils/* attr */.Lj)(nativeInput, 'size', state.size); - } - if (state.multiple) { - (0,utils/* attr */.Lj)(nativeInput, 'multiple', ''); - } - return container; + return 'ProgressBar'; } - createNativeInput() { - return this.j.create.element('select'); + render() { + return '
'; } - updateValidators() { - super.updateValidators(); - if (this.state.required) { - this.validators.delete(validators/* inputValidators.required */.g.required); - this.validators.add(validators/* selectValidators.required */.s.C); - } + show() { + const container = this.j.workplace || this.j.container; + container.appendChild(this.container); + return this; } -}; -UISelect.defaultState = { - ...input/* UIInput.defaultState */.u.defaultState, - options: [], - size: 1, - multiple: false -}; -UISelect = UISelect_1 = (0,tslib_es6/* __decorate */.gn)([ - component/* component */.w -], UISelect); - - -// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var helpers_utils = __webpack_require__(38301); -// EXTERNAL MODULE: ./src/core/component/component.ts -var component_component = __webpack_require__(16867); -;// CONCATENATED MODULE: ./src/core/ui/form/form.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - - -let UIForm = class UIForm extends group/* UIGroup */.q { - constructor(...args) { - var _a, _b; - super(...args); - if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.className) { - this.container.classList.add((_b = this.options) === null || _b === void 0 ? void 0 : _b.className); - } - } - className() { - return 'UIForm'; - } - submit() { - this.j.e.fire(this.container, 'submit'); - } - validate() { - const inputs = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, input/* UIInput */.u)); - for (const input of inputs) { - if (!input.validate()) { - return false; - } - } - const selects = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, UISelect)); - for (const select of selects) { - if (!select.validate()) { - return false; - } - } - return true; - } - onSubmit(handler) { - this.j.e.on(this.container, 'submit', () => { - const inputs = this.allChildren.filter(elm => component_component/* Component.isInstanceOf */.w.isInstanceOf(elm, input/* UIInput */.u)); - if (!this.validate()) { - return false; - } - handler(inputs.reduce((res, item) => { - res[item.state.name] = item.value; - return res; - }, {})); - return false; - }); - } - createContainer() { - const form = this.j.c.element('form'); - form.classList.add(this.componentName); - (0,helpers_utils.attr)(form, 'dir', this.j.o.direction || 'auto'); - return form; - } -}; -UIForm = (0,tslib_es6/* __decorate */.gn)([ - component/* component */.w -], UIForm); - - -;// CONCATENATED MODULE: ./src/core/ui/form/inputs/area/area.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -var UITextArea_1; - - - - -let UITextArea = UITextArea_1 = class UITextArea extends input/* UIInput */.u { - constructor(jodit, state) { - super(jodit, state); - this.state = { ...UITextArea_1.defaultState }; - Object.assign(this.state, state); - if (this.state.resizable === false) { - this.nativeInput.style.resize = 'none'; - } - } - className() { - return 'UITextArea'; - } - createContainer(options) { - this.nativeInput = this.j.create.element('textarea'); - return super.createContainer(options); - } -}; -UITextArea.defaultState = { - ...input/* UIInput.defaultState */.u.defaultState, - size: 5, - resizable: true -}; -UITextArea = UITextArea_1 = (0,tslib_es6/* __decorate */.gn)([ - component/* component */.w -], UITextArea); - - -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom = __webpack_require__(65401); -;// CONCATENATED MODULE: ./src/core/ui/form/inputs/checkbox/checkbox.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -var UICheckbox_1; - - - - - -let UICheckbox = UICheckbox_1 = class UICheckbox extends input/* UIInput */.u { - constructor(jodit, options) { - super(jodit, { ...options, type: 'checkbox' }); - this.state = { ...UICheckbox_1.defaultState }; - Object.assign(this.state, options); - } - className() { - return 'UICheckbox'; - } - render() { - return this.j.c.element('label', { - className: this.componentName - }); - } - onChangeChecked() { - this.value = this.state.checked.toString(); - this.nativeInput.checked = this.state.checked; - this.setMod('checked', this.state.checked); + hide() { + dom/* Dom.safeRemove */.i.safeRemove(this.container); + return this; } - onChangeNativeCheckBox() { - this.state.checked = this.nativeInput.checked; + progress(percentage) { + this.container.style.width = percentage.toFixed(2) + '%'; + return this; } - onChangeSwitch() { - this.setMod('switch', this.state.switch); - let slider = this.getElm('switch-slider'); - if (this.state.switch) { - if (!slider) { - slider = this.j.c.div(this.getFullElName('switch-slider')); - } - dom/* Dom.after */.i.after(this.nativeInput, slider); - } - else { - dom/* Dom.safeRemove */.i.safeRemove(slider); - } + destruct() { + this.hide(); + return super.destruct(); } -}; -UICheckbox.defaultState = { - ...input/* UIInput.defaultState */.u.defaultState, - checked: false, - switch: false -}; -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.watch)('state.checked'), - (0,decorators.hook)('ready') -], UICheckbox.prototype, "onChangeChecked", null); -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.watch)('nativeInput:change') -], UICheckbox.prototype, "onChangeNativeCheckBox", null); -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.watch)('state.switch'), - (0,decorators.hook)('ready') -], UICheckbox.prototype, "onChangeSwitch", null); -UICheckbox = UICheckbox_1 = (0,tslib_es6/* __decorate */.gn)([ - decorators.component -], UICheckbox); - +} -// EXTERNAL MODULE: ./src/core/ui/form/inputs/file/file.ts -var file = __webpack_require__(32460); -;// CONCATENATED MODULE: ./src/core/ui/form/inputs/index.ts +;// CONCATENATED MODULE: ./src/core/ui/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -11037,41 +10537,19 @@ var file = __webpack_require__(32460); -;// CONCATENATED MODULE: ./src/core/ui/form/block/block.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -let UIBlock = class UIBlock extends group/* UIGroup */.q { - constructor(jodit, elements, options = { - align: 'left' - }) { - super(jodit, elements); - this.options = options; - this.setMod('align', this.options.align || 'left'); - this.setMod('width', this.options.width || ''); - this.options.mod && this.setMod(this.options.mod, true); - this.options.className && - this.container.classList.add(this.options.className); - (0,helpers_utils.attr)(this.container, 'data-ref', options.ref); - (0,helpers_utils.attr)(this.container, 'ref', options.ref); - } - className() { - return 'UIBlock'; - } -}; -UIBlock = (0,tslib_es6/* __decorate */.gn)([ - component/* component */.w -], UIBlock); +/***/ }), +/***/ 35799: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -;// CONCATENATED MODULE: ./src/core/ui/form/index.ts +"use strict"; +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "G": function() { return /* reexport safe */ _popup__WEBPACK_IMPORTED_MODULE_0__.G; } +/* harmony export */ }); +/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12680); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -11080,21 +10558,24 @@ UIBlock = (0,tslib_es6/* __decorate */.gn)([ - - /***/ }), -/***/ 32460: +/***/ 12680: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Z": function() { return /* binding */ UIFileInput; } +/* harmony export */ "G": function() { return /* binding */ Popup; } /* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(97288); -/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45466); -/* harmony import */ var jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6816); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24263); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52378); +/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(53929); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45113); +/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(17332); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -11105,312 +10586,306 @@ UIBlock = (0,tslib_es6/* __decorate */.gn)([ -let UIFileInput = class UIFileInput extends jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__/* .UIInput */ .u { - constructor(jodit, options) { - super(jodit, { - type: 'file', - ...options - }); - this.state = { - ...jodit_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_0__/* .UIInput.defaultState */ .u.defaultState, - type: 'file', - onlyImages: true - }; - } - className() { - return 'UIFileInput'; - } - createContainer(options) { - this.button = new jodit_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_1__/* .UIButton */ .y3(this.j, { - icon: { - name: 'plus' - } - }); - const { container } = this.button; - if (!this.nativeInput) { - this.nativeInput = this.createNativeInput(options); - } - const { nativeInput } = this; - nativeInput.classList.add(this.getFullElName('input')); - container.classList.add(this.componentName); - container.appendChild(nativeInput); - return container; - } - createNativeInput(options) { - return this.j.create.fromHTML(``); - } -}; -UIFileInput = (0,tslib__WEBPACK_IMPORTED_MODULE_2__/* .__decorate */ .gn)([ - jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_3__/* .component */ .w -], UIFileInput); - - - -/***/ }), - -/***/ 97288: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "u": function() { return /* binding */ UIInput; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38301); -/* harmony import */ var jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58260); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80353); -/* harmony import */ var jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83518); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -var UIInput_1; - - - - - -let UIInput = UIInput_1 = class UIInput extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { - constructor(jodit, options) { - super(jodit, options); - this.label = this.j.c.span(this.getFullElName('label')); - this.icon = this.j.c.span(this.getFullElName('icon')); - this.clearButton = this.j.c.span(this.getFullElName('clear'), jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.get */ .J.get('cancel')); - this.state = { ...UIInput_1.defaultState }; - this.__errorBox = this.j.c.span(this.getFullElName('error')); - this.validators = new Set([]); - if ((options === null || options === void 0 ? void 0 : options.value) !== undefined) { - options.value = options.value.toString(); - } - Object.assign(this.state, options); - if (this.state.clearButton !== undefined) { - this.j.e - .on(this.clearButton, 'click', (e) => { - e.preventDefault(); - this.nativeInput.value = ''; - this.j.e.fire(this.nativeInput, 'input'); - this.focus(); - }) - .on(this.nativeInput, 'input', () => { - this.state.clearButton = Boolean(this.value.length); - }); - this.state.clearButton = Boolean(this.value.length); - } - this.j.e - .on(this.nativeInput, 'focus blur', () => { - this.onChangeFocus(); - }) - .on(this.nativeInput, 'input change', this.onChangeValue); - this.onChangeState(); - this.onChangeClassName(); - this.onChangeStateValue(); - } +class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u { className() { - return 'UIInput'; + return 'Popup'; } - onChangeClear() { - if (this.state.clearButton) { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.after */ .i.after(this.nativeInput, this.clearButton); - } - else { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.clearButton); + updateParentElement(target) { + if (target !== this && jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(target, Popup)) { + this.childrenPopups.forEach(popup => { + if (!target.closest(popup) && popup.isOpened) { + popup.close(); + } + }); + if (!this.childrenPopups.has(target)) { + this.j.e.on(target, 'beforeClose', () => { + this.childrenPopups.delete(target); + }); + } + this.childrenPopups.add(target); } + return super.updateParentElement(target); } - onChangeClassName(ignore, oldClassName) { - oldClassName && this.container.classList.remove(oldClassName); - this.state.className && - this.container.classList.add(this.state.className); - } - onChangeState() { - this.name = this.state.name; - const input = this.nativeInput, { name, icon, type, ref, required, placeholder, autocomplete, label } = this.state; - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'name', name); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'type', type); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'data-ref', ref || name); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'ref', ref || name); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'required', required || null); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'autocomplete', !autocomplete ? 'off' : null); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(input, 'placeholder', placeholder ? this.j.i18n(placeholder) : ''); - if (icon && jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.exists */ .J.exists(icon)) { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.before */ .i.before(input, this.icon); - this.icon.innerHTML = jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_5__/* .Icon.get */ .J.get(icon); + setContent(content) { + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.detach */ .i.detach(this.container); + const box = this.j.c.div(`${this.componentName}__content`); + let elm; + if (jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(content, jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u)) { + elm = content.container; + content.parentElement = this; + } + else if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(content)) { + elm = this.j.c.fromHTML(content); } else { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.icon); + elm = content; } - if (label) { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.before */ .i.before(this.wrapper, this.label); - this.label.innerText = this.j.i18n(label); + box.appendChild(elm); + this.container.appendChild(box); + this.updatePosition(); + return this; + } + open(getBound, keepPosition = false, parentContainer) { + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.markOwner)(this.jodit, this.container); + this.calculateZIndex(); + this.isOpened = true; + this.addGlobalListeners(); + this.targetBound = !keepPosition + ? getBound + : this.getKeepBound(getBound); + if (parentContainer) { + parentContainer.appendChild(this.container); } else { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.label); + const popupContainer = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .getContainer */ .ZO)(this.jodit, Popup); + if (parentContainer !== this.container.parentElement) { + popupContainer.appendChild(this.container); + } } - this.updateValidators(); + this.updatePosition(); + this.j.e.fire(this, 'afterOpen'); + return this; } - updateValidators() { - var _a; - this.validators.clear(); - if (this.state.required) { - this.validators.add(jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__/* .inputValidators.required */ .g.required); + calculateZIndex() { + if (this.container.style.zIndex) { + return; } - (_a = this.state.validators) === null || _a === void 0 ? void 0 : _a.forEach(name => { - const validator = jodit_core_ui_form_validators__WEBPACK_IMPORTED_MODULE_6__/* .inputValidators */ .g[name]; - validator && this.validators.add(validator); - }); - } - set error(value) { - this.setMod('has-error', Boolean(value)); - if (!value) { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_3__/* .Dom.safeRemove */ .i.safeRemove(this.__errorBox); + const checkView = (view) => { + const zIndex = view.container.style.zIndex || view.o.zIndex; + if (zIndex) { + this.setZIndex(1 + parseInt(zIndex.toString(), 10)); + return true; + } + return false; + }; + const { j } = this; + if (checkView(j)) { + return; } - else { - this.__errorBox.innerText = this.j.i18n(value, this.j.i18n(this.state.label || '')); - this.container.appendChild(this.__errorBox); + let pe = this.parentElement; + while (pe) { + if (checkView(j)) { + return; + } + if (pe.container.style.zIndex) { + this.setZIndex(1 + parseInt(pe.container.style.zIndex.toString(), 10)); + return; + } + if (!pe.parentElement && pe.container.parentElement) { + const elm = jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement.closestElement */ .u.closestElement(pe.container.parentElement, jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u); + if (elm) { + pe = elm; + continue; + } + } + pe = pe.parentElement; } } - get value() { - return this.nativeInput.value; - } - set value(value) { - if (this.value !== value) { - this.nativeInput.value = value; - this.onChangeValue(); + getKeepBound(getBound) { + const oldBound = getBound(); + const elmUnderCursor = this.od.elementFromPoint(oldBound.left, oldBound.top); + if (!elmUnderCursor) { + return getBound; } + const element = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isHTMLElement */ .i.isHTMLElement(elmUnderCursor) + ? elmUnderCursor + : elmUnderCursor.parentElement; + const oldPos = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(element, this.j); + return () => { + const bound = getBound(); + const newPos = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(element, this.j); + return { + ...bound, + top: bound.top + (newPos.top - oldPos.top), + left: bound.left + (newPos.left - oldPos.left) + }; + }; } - onChangeStateValue() { - const value = this.state.value.toString(); - if (value !== this.value) { - this.value = value; + updatePosition() { + if (!this.isOpened) { + return this; } + const [pos, strategy] = this.calculatePosition(this.targetBound(), this.viewBound(), (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(this.container, this.j)); + this.setMod('strategy', strategy); + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.css)(this.container, { + left: pos.left, + top: pos.top + }); + this.childrenPopups.forEach(popup => popup.updatePosition()); + return this; } - onChangeValue() { - var _a, _b; - const { value } = this; - if (this.state.value !== value) { - this.state.value = value; - this.j.e.fire(this, 'change', value); - (_b = (_a = this.state).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value); + throttleUpdatePosition() { + this.updatePosition(); + } + calculatePosition(target, view, container, defaultStrategy = this.strategy) { + const x = { + left: target.left, + right: target.left - (container.width - target.width) + }, y = { + bottom: target.top + target.height, + top: target.top - container.height + }; + const list = Object.keys(x).reduce((keys, xKey) => keys.concat(Object.keys(y).map(yKey => `${xKey}${(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ucfirst)(yKey)}`)), []); + const getPointByStrategy = (strategy) => { + const [xKey, yKey] = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.kebabCase)(strategy).split('-'); + return { + left: x[xKey], + top: y[yKey], + width: container.width, + height: container.height + }; + }; + const getMatchStrategy = (inBox) => { + let strategy = null; + if (Popup.boxInView(getPointByStrategy(defaultStrategy), inBox)) { + strategy = defaultStrategy; + } + else { + strategy = + list.find((key) => { + if (Popup.boxInView(getPointByStrategy(key), inBox)) { + return key; + } + return; + }) || null; + } + return strategy; + }; + let strategy = getMatchStrategy((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(this.j.container, this.j)); + if (!strategy || !Popup.boxInView(getPointByStrategy(strategy), view)) { + strategy = getMatchStrategy(view) || strategy || defaultStrategy; } + return [getPointByStrategy(strategy), strategy]; } - validate() { - this.error = ''; - return (0,jodit_core_helpers_array_to_array__WEBPACK_IMPORTED_MODULE_2__/* .toArray */ .q)(this.validators).every(validator => validator(this)); + static boxInView(box, view) { + const accuracy = 2; + return (box.top - view.top >= -accuracy && + box.left - view.left >= -accuracy && + view.top + view.height - (box.top + box.height) >= -accuracy && + view.left + view.width - (box.left + box.width) >= -accuracy); } - createContainer(options) { - const container = super.createContainer(); - this.wrapper = this.j.c.div(this.getFullElName('wrapper')); - if (!this.nativeInput) { - this.nativeInput = this.createNativeInput(); + close() { + if (!this.isOpened) { + return this; } - const { nativeInput } = this; - nativeInput.classList.add(this.getFullElName('input')); - this.wrapper.appendChild(nativeInput); - container.appendChild(this.wrapper); - (0,jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_1__.attr)(nativeInput, 'dir', this.j.o.direction || 'auto'); - return container; + this.isOpened = false; + this.childrenPopups.forEach(popup => popup.close()); + this.j.e.fire(this, 'beforeClose'); + this.j.e.fire('beforePopupClose', this); + this.removeGlobalListeners(); + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.safeRemove */ .i.safeRemove(this.container); + return this; } - createNativeInput(options) { - return this.j.create.element('input'); + closeOnOutsideClick(e) { + if (!this.isOpened || this.isOwnClick(e)) { + return; + } + this.close(); } - focus() { - this.nativeInput.focus(); + isOwnClick(e) { + if (!e.target) { + return false; + } + const box = jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement.closestElement */ .u.closestElement(e.target, Popup); + return Boolean(box && (this === box || box.closest(this))); } - get isFocused() { - return this.nativeInput === this.j.od.activeElement; + addGlobalListeners() { + const up = this.throttleUpdatePosition, ow = this.ow; + jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.on */ .TB.on('closeAllPopups', this.close); + if (this.smart) { + this.j.e + .on('escape', this.close) + .on('mousedown touchstart', this.closeOnOutsideClick) + .on(ow, 'mousedown touchstart', this.closeOnOutsideClick); + } + this.j.e + .on('closeAllPopups', this.close) + .on('resize', up) + .on(this.container, 'scroll mousewheel', up) + .on(ow, 'scroll', up) + .on(ow, 'resize', up); + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.up */ .i.up(this.j.container, box => { + box && this.j.e.on(box, 'scroll mousewheel', up); + }); } - onChangeFocus() { - this.setMod('focused', this.isFocused); + removeGlobalListeners() { + const up = this.throttleUpdatePosition, ow = this.ow; + jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.off */ .TB.off('closeAllPopups', this.close); + if (this.smart) { + this.j.e + .off('escape', this.close) + .off('mousedown touchstart', this.closeOnOutsideClick) + .off(ow, 'mousedown touchstart', this.closeOnOutsideClick); + } + this.j.e + .off('closeAllPopups', this.close) + .off('resize', up) + .off(this.container, 'scroll mousewheel', up) + .off(ow, 'scroll', up) + .off(ow, 'resize', up); + void 0; + jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.up */ .i.up(this.j.container, box => { + box && this.j.e.off(box, 'scroll mousewheel', up); + }); } -}; -UIInput.defaultState = { - className: '', - autocomplete: true, - name: '', - value: '', - icon: '', - label: '', - ref: '', - type: 'text', - placeholder: '', - required: false, - validators: [] -}; -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.clearButton') -], UIInput.prototype, "onChangeClear", null); + setZIndex(index) { + this.container.style.zIndex = index.toString(); + } + constructor(jodit, smart = true) { + super(jodit); + this.smart = smart; + this.isOpened = false; + this.strategy = 'leftBottom'; + this.viewBound = () => ({ + left: 0, + top: 0, + width: this.ow.innerWidth, + height: this.ow.innerHeight + }); + this.childrenPopups = new Set(); + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(this.container, 'role', 'popup'); + } + destruct() { + this.close(); + return super.destruct(); + } +} (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.className') -], UIInput.prototype, "onChangeClassName", null); + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind +], Popup.prototype, "updatePosition", null); (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)([ - 'state.name', - 'state.type', - 'state.label', - 'state.placeholder', - 'state.autocomplete', - 'state.icon' - ]), - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.debounce)() -], UIInput.prototype, "onChangeState", null); + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.throttle)(10), + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind +], Popup.prototype, "throttleUpdatePosition", null); (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.watch)('state.value') -], UIInput.prototype, "onChangeStateValue", null); + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind +], Popup.prototype, "close", null); (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind -], UIInput.prototype, "onChangeValue", null); -UIInput = UIInput_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.component -], UIInput); - +], Popup.prototype, "closeOnOutsideClick", null); /***/ }), -/***/ 83518: +/***/ 43608: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "g": function() { return /* reexport */ input_namespaceObject; }, - "s": function() { return /* reexport */ select_namespaceObject; } -}); - -// NAMESPACE OBJECT: ./src/core/ui/form/validators/input.ts -var input_namespaceObject = {}; -__webpack_require__.r(input_namespaceObject); -__webpack_require__.d(input_namespaceObject, { - "required": function() { return required; }, - "url": function() { return url; } -}); - -// NAMESPACE OBJECT: ./src/core/ui/form/validators/select.ts -var select_namespaceObject = {}; -__webpack_require__.r(select_namespaceObject); -__webpack_require__.d(select_namespaceObject, { - "C": function() { return select_required; } -}); - -// EXTERNAL MODULE: ./src/core/helpers/checker/is-url.ts -var is_url = __webpack_require__(42139); -// EXTERNAL MODULE: ./src/core/helpers/string/trim.ts -var trim = __webpack_require__(89681); -;// CONCATENATED MODULE: ./src/core/ui/form/validators/input.ts +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "C": function() { return /* binding */ ViewWithToolbar; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); +/* harmony import */ var _view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75902); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64968); +/* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(81438); +/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(90549); +/* harmony import */ var _ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(97642); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -11418,72 +10893,6 @@ var trim = __webpack_require__(89681); */ -const required = function (input) { - if (!(0,trim/* trim */.f)(input.value).length) { - input.error = 'Please fill out this field'; - return false; - } - return true; -}; -const url = function (input) { - if (!(0,is_url/* isURL */.P)((0,trim/* trim */.f)(input.value))) { - input.error = 'Please enter a web address'; - return false; - } - return true; -}; - -;// CONCATENATED MODULE: ./src/core/ui/form/validators/select.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - -const select_required = function (select) { - if (!(0,trim/* trim */.f)(select.value).length) { - select.error = 'Please fill out this field'; - return false; - } - return true; -}; - -;// CONCATENATED MODULE: ./src/core/ui/form/validators/index.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - -/***/ }), - -/***/ 31454: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "q": function() { return /* binding */ UIGroup; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20255); -/* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52378); -/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16867); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -var UIGroup_1; - @@ -11491,164 +10900,133 @@ var UIGroup_1; -let UIGroup = UIGroup_1 = class UIGroup extends _element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { - constructor(jodit, elements, options) { - super(jodit, options); - this.options = options; - this.syncMod = false; - this.elements = []; - this.buttonSize = 'middle'; - elements === null || elements === void 0 ? void 0 : elements.forEach(elm => elm && this.append(elm)); - if (options === null || options === void 0 ? void 0 : options.name) { - this.name = options.name; +class ViewWithToolbar extends _view__WEBPACK_IMPORTED_MODULE_0__/* .View */ .G { + get toolbarContainer() { + if (!this.o.fullsize && + ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(this.o.toolbar) || jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.isHTMLElement */ .i.isHTMLElement(this.o.toolbar))) { + return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.resolveElement)(this.o.toolbar, this.o.shadowRoot || this.od); } + this.o.toolbar && + jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.appendChildFirst */ .i.appendChildFirst(this.container, this.defaultToolbarContainer); + return this.defaultToolbarContainer; } - className() { - return 'UIGroup'; + setPanel(element) { + this.o.toolbar = element; + this.buildToolbar(); } - get allChildren() { - const result = []; - const stack = [ - ...this.elements - ]; - while (stack.length) { - const elm = stack.shift(); - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isArray)(elm)) { - stack.push(...elm); - } - else if (jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(elm, UIGroup_1)) { - stack.push(...elm.elements); - } - else { - elm && result.push(elm); - } + buildToolbar() { + if (!this.o.toolbar) { + return; } - return result; + const buttons = this.o.buttons + ? (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.splitArray)(this.o.buttons) + : []; + this.toolbar + .setRemoveButtons(this.o.removeButtons) + .build(buttons.concat(this.o.extraButtons || [])) + .appendTo(this.toolbarContainer); } - update() { - this.elements.forEach(elm => elm.update()); - this.setMod('size', this.buttonSize); + getRegisteredButtonGroups() { + return this.groupToButtons; } - append(elm, distElement) { - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.isArray)(elm)) { - elm.forEach(item => this.append(item, distElement)); - return this; - } - this.elements.push(elm); - if (elm.name) { - elm.container.classList.add(this.getFullElName(elm.name)); + registerButton(btn) { + var _a; + this.registeredButtons.add(btn); + const group = (_a = btn.group) !== null && _a !== void 0 ? _a : 'other'; + if (!this.groupToButtons[group]) { + this.groupToButtons[group] = []; } - if (distElement) { - const distElm = this.getElm(distElement); - distElm.appendChild(elm.container); + if (btn.position != null) { + this.groupToButtons[group][btn.position] = btn.name; } else { - this.appendChildToContainer(elm.container); + this.groupToButtons[group].push(btn.name); } - elm.parentElement = this; - elm.update(); return this; } - afterSetMod(name, value) { - if (this.syncMod) { - this.elements.forEach(elm => elm.setMod(name, value)); + unregisterButton(btn) { + var _a; + this.registeredButtons.delete(btn); + const groupName = (_a = btn.group) !== null && _a !== void 0 ? _a : 'other', group = this.groupToButtons[groupName]; + if (group) { + const index = group.indexOf(btn.name); + if (index !== -1) { + group.splice(index, 1); + } + if (group.length === 0) { + delete this.groupToButtons[groupName]; + } } + return this; } - appendChildToContainer(childContainer) { - this.container.appendChild(childContainer); - } - remove(elm) { - const index = this.elements.indexOf(elm); - if (index !== -1) { - this.elements.splice(index, 1); - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_4__/* .Dom.safeRemove */ .i.safeRemove(elm.container); - elm.parentElement = null; + beforeToolbarBuild(items) { + if (Object.keys(this.groupToButtons).length) { + return items.map(item => { + if ((0,_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_6__/* .isButtonGroup */ .A)(item) && + item.group && + this.groupToButtons[item.group]) { + return { + group: item.group, + buttons: [ + ...item.buttons, + ...this.groupToButtons[item.group] + ] + }; + } + return item; + }); } - return this; } - clear() { - this.elements.forEach(elm => elm.destruct()); - this.elements.length = 0; - return this; + constructor(options, isJodit = false) { + super(options, isJodit); + this.toolbar = (0,jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_3__/* .makeCollection */ .R)(this); + this.defaultToolbarContainer = this.c.div('jodit-toolbar__box'); + this.registeredButtons = new Set(); + this.groupToButtons = {}; + this.isJodit = false; + this.isJodit = isJodit; + this.e.on('beforeToolbarBuild', this.beforeToolbarBuild); } destruct() { - this.clear(); - return super.destruct(); + if (this.isDestructed) { + return; + } + this.setStatus(_component__WEBPACK_IMPORTED_MODULE_4__/* .STATUSES.beforeDestruct */ .n$.beforeDestruct); + this.e.off('beforeToolbarBuild', this.beforeToolbarBuild); + this.toolbar.destruct(); + super.destruct(); } -}; -(0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.watch)('buttonSize') -], UIGroup.prototype, "update", null); -UIGroup = UIGroup_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__.component -], UIGroup); - +} +(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ + jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind +], ViewWithToolbar.prototype, "beforeToolbarBuild", null); /***/ }), -/***/ 27682: +/***/ 75902: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "b": function() { return /* binding */ UIList; } -}); - -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/core/ui/helpers/get-control-type.ts -var get_control_type = __webpack_require__(58240); -// EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); -// EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts -var is_array = __webpack_require__(41515); -// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var utils = __webpack_require__(38301); -;// CONCATENATED MODULE: ./src/core/ui/helpers/get-strong-control-types.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - -function getStrongControlTypes(items, controls) { - const elements = (0,is_array/* isArray */.k)(items) - ? items - : (0,utils.keys)(items, false).map(key => { - const value = items[key] || {}; - return (0,utils.ConfigProto)({ name: key }, value); - }); - return elements.map(item => (0,get_control_type/* getControlType */.Y)(item, controls || config/* Config.defaultOptions.controls */.D.defaultOptions.controls)); -} - -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/ui/group/group.ts -var group = __webpack_require__(31454); -// EXTERNAL MODULE: ./src/core/ui/group/separator.ts -var separator = __webpack_require__(33250); -// EXTERNAL MODULE: ./src/core/ui/group/spacer.ts -var spacer = __webpack_require__(35756); -// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts -var button_button = __webpack_require__(6816); -// EXTERNAL MODULE: ./src/core/ui/helpers/buttons.ts -var buttons = __webpack_require__(20220); -// EXTERNAL MODULE: ./src/core/helpers/array/split-array.ts -var split_array = __webpack_require__(11986); -// EXTERNAL MODULE: ./src/core/component/component.ts -var component = __webpack_require__(16867); -;// CONCATENATED MODULE: ./src/core/ui/group/list.ts +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "G": function() { return /* binding */ View; } +/* harmony export */ }); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20255); +/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88755); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86893); +/* harmony import */ var jodit_modules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22705); +/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17332); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(72452); +/* harmony import */ var jodit_core_event_emitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4567); +/* harmony import */ var jodit_modules_messages_messages__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(17832); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var View_1; @@ -11659,131 +11037,202 @@ var component = __webpack_require__(16867); - - -let UIList = class UIList extends group/* UIGroup */.q { - constructor(jodit) { - super(jodit); - this.mode = 'horizontal'; - this.removeButtons = []; - this.onChangeMode(); +let View = View_1 = class View extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Component { + get basePath() { + if (this.o.basePath) { + return this.o.basePath; + } + return jodit_core_constants__WEBPACK_IMPORTED_MODULE_2__.BASE_PATH; } - className() { - return 'UIList'; + get defaultTimeout() { + return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isVoid)(this.o.defaultTimeout) ? 100 : this.o.defaultTimeout; } - onChangeMode() { - this.setMod('mode', this.mode); + get c() { + return this.create; } - makeGroup() { - return new group/* UIGroup */.q(this.jodit); + get container() { + return this.__container; } - get buttons() { - return this.allChildren.filter(elm => component/* Component.isInstanceOf */.w.isInstanceOf(elm, button_button/* UIButton */.y3)); + set container(container) { + this.__container = container; } - getButtonsNames() { - return this.buttons - .map(a => (a instanceof button_button/* UIButton */.y3 && a.state.name) || '') - .filter(a => a !== ''); + get e() { + return this.events; } - setRemoveButtons(removeButtons) { - this.removeButtons = removeButtons || []; - return this; + get options() { + return this.__options; } - build(items, target = null) { - items = (0,split_array/* splitArray */.C)(items); - this.clear(); - let lastBtnSeparator = false; - let line = this.makeGroup(); - this.append(line); - line.setMod('line', true); - let group; - const addButton = (control) => { - let elm = null; - switch (control.name) { - case '\n': - line = this.makeGroup(); - line.setMod('line', true); - group = this.makeGroup(); - line.append(group); - this.append(line); - break; - case '|': - if (!lastBtnSeparator) { - lastBtnSeparator = true; - elm = new separator/* UISeparator */.l(this.j); - } - break; - case '---': { - group.setMod('before-spacer', true); - const space = new spacer/* UISpacer */.W(this.j); - line.append(space); - group = this.makeGroup(); - line.append(group); - lastBtnSeparator = false; - break; - } - default: - lastBtnSeparator = false; - elm = this.makeButton(control, target); - } - if (elm) { - if (!group) { - group = this.makeGroup(); - line.append(group); - } - group.append(elm); - } - }; - const isNotRemoved = (b) => !this.removeButtons.includes(b.name); - items.forEach(item => { - if ((0,buttons/* isButtonGroup */.A)(item)) { - const buttons = item.buttons.filter(b => b); - if (buttons.length) { - group = this.makeGroup(); - group.setMod('separated', true).setMod('group', item.group); - line.append(group); - getStrongControlTypes(buttons, this.j.o.controls) - .filter(isNotRemoved) - .forEach(addButton); - } - } - else { - if (!group) { - group = this.makeGroup(); - line.append(group); - } - const control = (0,get_control_type/* getControlType */.Y)(item, this.j.o.controls); - isNotRemoved(control) && addButton(control); + set options(options) { + this.__options = options; + } + get o() { + return this.options; + } + i18n(text, ...params) { + return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.i18n)(text, params, this.options); + } + toggleFullSize(isFullSize) { + if (isFullSize === undefined) { + isFullSize = !this.__isFullSize; + } + if (isFullSize === this.__isFullSize) { + return; + } + this.__isFullSize = isFullSize; + this.e.fire('toggleFullSize', isFullSize); + } + get isLocked() { + return this.__whoLocked !== ''; + } + lock(name = 'any') { + if (!this.isLocked) { + this.__whoLocked = name; + return true; + } + return false; + } + unlock() { + if (this.isLocked) { + this.__whoLocked = ''; + return true; + } + return false; + } + get isFullSize() { + return this.__isFullSize; + } + getVersion() { + return "3.24.1"; + } + static getVersion() { + return "3.24.1"; + } + initOptions(options) { + this.options = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(options || {}, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(this.options || {}, View_1.defaultOptions)); + } + initOwners() { + var _a; + this.ownerWindow = (_a = this.o.ownerWindow) !== null && _a !== void 0 ? _a : window; + } + attachEvents(options) { + if (!options) { + return; + } + const e = options === null || options === void 0 ? void 0 : options.events; + e && Object.keys(e).forEach((key) => this.e.on(key, e[key])); + } + constructor(options, isJodit = false) { + super(); + this.isJodit = isJodit; + this.isView = true; + this.parent = null; + this.mods = {}; + this.components = new Set(); + this.version = "3.24.1"; + this.buffer = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(); + this.storage = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(true, this.componentName); + this.OPTIONS = View_1.defaultOptions; + this.__isFullSize = false; + this.__whoLocked = ''; + this.isLockedNotBy = (name) => this.isLocked && this.__whoLocked !== name; + this.__modulesInstances = new Map(); + this.id = new Date().getTime().toString(); + this.buffer = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(); + this.initOptions(options); + this.initOwners(); + this.events = new jodit_core_event_emitter__WEBPACK_IMPORTED_MODULE_7__/* .EventEmitter */ .vp(this.od); + this.create = new jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Create(this.od); + this.container = this.c.div(`jodit ${this.componentName}`); + this.progressbar = new jodit_modules__WEBPACK_IMPORTED_MODULE_3__.ProgressBar(this); + this.message = new jodit_modules_messages_messages__WEBPACK_IMPORTED_MODULE_8__/* .UIMessages */ .D(this, this.container); + } + getInstance(moduleName, options) { + const instance = this.e.fire((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.camelCase)('getInstance_' + moduleName), options); + if (instance) { + return instance; + } + const module = jodit_core_global__WEBPACK_IMPORTED_MODULE_4__/* .modules */ .qz[moduleName], mi = this.__modulesInstances; + if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(module)) { + throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.error)('Need real module name'); + } + if (!mi.has(moduleName)) { + const instance = module.prototype instanceof jodit_modules__WEBPACK_IMPORTED_MODULE_3__.ViewComponent + ? new module(this, options) + : new module(options); + this.components.add(instance); + mi.set(moduleName, instance); + } + return mi.get(moduleName); + } + addDisclaimer(elm) { + this.container.appendChild(elm); + } + beforeDestruct() { + this.e.fire(jodit_modules__WEBPACK_IMPORTED_MODULE_3__.STATUSES.beforeDestruct, this); + this.components.forEach(component => { + if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isDestructable)(component) && !component.isInDestruct) { + component.destruct(); } }); - this.update(); - return this; + this.components.clear(); } - makeButton(control, target) { - return new button_button/* UIButton */.y3(this.j); + destruct() { + if (this.isDestructed) { + return; + } + this.progressbar.destruct(); + this.message.destruct(); + if (this.async) { + this.async.destruct(); + } + if (this.events) { + this.e.destruct(); + } + if (this.buffer) { + this.buffer.clear(); + } + jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(this.container); + super.destruct(); } }; -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.watch)('mode') -], UIList.prototype, "onChangeMode", null); -UIList = (0,tslib_es6/* __decorate */.gn)([ - decorators.component -], UIList); +View.esNext = true; +(0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.hook)(jodit_modules__WEBPACK_IMPORTED_MODULE_3__.STATUSES.beforeDestruct) +], View.prototype, "beforeDestruct", null); +View = View_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([ + (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.derive)(jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__/* .Mods */ .$t, jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__/* .Elms */ .Fx) +], View); +View.defaultOptions = { + extraButtons: [], + textIcons: false, + namespace: '', + removeButtons: [], + zIndex: 100002, + defaultTimeout: 100, + fullsize: false, + showTooltip: true, + useNativeTooltip: false, + buttons: [], + globalFullSize: true, + language: 'auto' +}; /***/ }), -/***/ 33250: +/***/ 60403: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "l": function() { return /* binding */ UISeparator; } +/* harmony export */ "x": function() { return /* binding */ ContextMenu; } /* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45466); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20255); +/* harmony import */ var jodit_core_ui_popup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35799); +/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55310); +/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78411); +/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11441); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -11792,159 +11241,138 @@ UIList = (0,tslib_es6/* __decorate */.gn)([ -let UISeparator = class UISeparator extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { - className() { - return 'UISeparator'; - } -}; -UISeparator = (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__decorate */ .gn)([ - jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__/* .component */ .w -], UISeparator); - - -/***/ }), -/***/ 35756: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "W": function() { return /* binding */ UISpacer; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45466); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - -let UISpacer = class UISpacer extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_0__/* .UIElement */ .u { +let ContextMenu = class ContextMenu extends jodit_core_ui_popup__WEBPACK_IMPORTED_MODULE_0__/* .Popup */ .G { className() { - return 'UISpacer'; + return 'ContextMenu'; + } + show(x, y, actions) { + const self = this, content = this.j.c.div(this.getFullElName('actions')); + if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isArray */ .kJ)(actions)) { + return; + } + actions.forEach(item => { + if (!item) { + return; + } + const action = (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .zx)(this.jodit, item.icon || 'empty', item.title); + this.jodit && action.setParentView(this.jodit); + action.setMod('context', 'menu'); + action.onAction((e) => { + var _a; + (_a = item.exec) === null || _a === void 0 ? void 0 : _a.call(self, e); + self.close(); + return false; + }); + content.appendChild(action.container); + }); + this.setContent(content).open(() => ({ left: x, top: y, width: 0, height: 0 }), true); } }; -UISpacer = (0,tslib__WEBPACK_IMPORTED_MODULE_1__/* .__decorate */ .gn)([ - jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_2__/* .component */ .w -], UISpacer); +ContextMenu = (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([ + jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_4__/* .component */ .w +], ContextMenu); /***/ }), -/***/ 20220: +/***/ 8649: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "A": function() { return /* binding */ isButtonGroup; }, -/* harmony export */ "q": function() { return /* binding */ flatButtonsSet; } -/* harmony export */ }); -/* harmony import */ var jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41515); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - -const isButtonGroup = (item) => { - return (0,jodit_core_helpers_checker_is_array__WEBPACK_IMPORTED_MODULE_0__/* .isArray */ .k)(item.buttons); -}; -function flatButtonsSet(buttons, jodit) { - const groups = jodit.getRegisteredButtonGroups(); - return new Set(buttons.reduce((acc, item) => { - var _a; - if (isButtonGroup(item)) { - acc = acc.concat([ - ...item.buttons, - ...((_a = groups[item.group]) !== null && _a !== void 0 ? _a : []) - ]); - } - else { - acc.push(item); - } - return acc; - }, [])); -} - -/***/ }), - -/***/ 58240: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "f": function() { return /* reexport */ FileBrowser; }, + "F": function() { return /* reexport */ isFileBrowserFilesItem; } +}); -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "Y": function() { return /* binding */ getControlType; }, -/* harmony export */ "z": function() { return /* binding */ findControlType; } -/* harmony export */ }); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83370); -/* harmony import */ var jodit_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80031); +// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js +var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/config.ts +var config = __webpack_require__(93166); +// EXTERNAL MODULE: ./src/core/constants.ts +var constants = __webpack_require__(86893); +// EXTERNAL MODULE: ./src/core/storage/index.ts + 3 modules +var storage = __webpack_require__(88755); +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +// EXTERNAL MODULE: ./src/core/dom/index.ts +var dom = __webpack_require__(64968); +// EXTERNAL MODULE: ./src/core/request/index.ts + 3 modules +var request = __webpack_require__(12709); +// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules +var decorators = __webpack_require__(67493); +;// CONCATENATED MODULE: ./src/modules/file-browser/builders/item.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ - -function getControlType(button, controls) { - let buttonControl; - if (!controls) { - controls = jodit_config__WEBPACK_IMPORTED_MODULE_1__/* .Config.defaultOptions.controls */ .D.defaultOptions.controls; +class FileBrowserItem { + constructor(data) { + this.data = data; + Object.keys(data).forEach(key => { + this[key] = data[key]; + }); } - if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.isString)(button)) { - buttonControl = { name: 'empty', ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(button) }; - if (controls[buttonControl.name] !== undefined) { - buttonControl = { - ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(controls[buttonControl.name]), - ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(buttonControl) - }; + static create(data) { + if (data instanceof FileBrowserItem) { + return data; } + return new FileBrowserItem(data); } - else { - buttonControl = findControlType(button, controls) || { - name: button, - command: button, - tooltip: button - }; + get path() { + return (0,helpers.normalizePath)(this.data.source.path ? this.data.source.path + '/' : '/'); } - return buttonControl; -} -function findControlType(path, controls) { - let [namespaceOrKey, key] = path.split(/\./); - let store = controls; - if (key != null) { - if (controls[namespaceOrKey] !== undefined) { - store = controls[namespaceOrKey]; + get imageURL() { + const timestamp = this.time || new Date().getTime().toString(), { thumbIsAbsolute, source, thumb, file } = this.data, path = thumb || file; + return thumbIsAbsolute && path + ? path + : (0,helpers.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,helpers.normalizeUrl)(source.baseurl, source.path, name || ''); } - else { - key = namespaceOrKey; + 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; } - return store[key] - ? { - name: key, - ...(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__.ConfigFlatten)(store[key]) - } - : undefined; } - -/***/ }), - -/***/ 80353: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "J": function() { return /* binding */ Icon; } -/* harmony export */ }); -/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76239); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83370); +;// CONCATENATED MODULE: ./src/modules/file-browser/data-provider.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -11952,659 +11380,568 @@ function findControlType(path, controls) { */ -class Icon { - static getIcon(name) { - if (/
'; - } - show() { - const container = this.j.workplace || this.j.container; - container.appendChild(this.container); - return this; - } - hide() { - dom/* Dom.safeRemove */.i.safeRemove(this.container); - return this; - } - progress(percentage) { - this.container.style.width = percentage.toFixed(2) + '%'; - return this; +const DEFAULT_SOURCE_NAME = 'default'; +const possibleRules = (/* unused pure expression or super */ null && ([ + 'allowFiles', + 'allowFileMove', + 'allowFileUpload', + 'allowFileUploadRemote', + 'allowFileRemove', + 'allowFileRename', + 'allowFolders', + 'allowFolderMove', + 'allowFolderCreate', + 'allowFolderRemove', + 'allowFolderRename', + 'allowImageResize', + 'allowImageCrop' +])); +let DataProvider = class DataProvider { + constructor(parent, options) { + this.parent = parent; + this.options = options; + this.__currentPermissions = null; + this.ajaxInstances = new Map(); + this.progressHandler = (ignore) => { }; } - destruct() { - this.hide(); - return super.destruct(); + get o() { + return this.options; } -} - -;// CONCATENATED MODULE: ./src/core/ui/index.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - - - - -/***/ }), - -/***/ 36649: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "G": function() { return /* reexport safe */ _popup__WEBPACK_IMPORTED_MODULE_0__.G; } -/* harmony export */ }); -/* harmony import */ var _popup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78900); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - -/***/ }), - -/***/ 78900: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "G": function() { return /* binding */ Popup; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65401); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52378); -/* harmony import */ var jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jodit_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(96659); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16867); -/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(16672); -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - - - - -class Popup extends jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u { - constructor(jodit, smart = true) { - super(jodit); - this.smart = smart; - this.isOpened = false; - this.strategy = 'leftBottom'; - this.viewBound = () => ({ - left: 0, - top: 0, - width: this.ow.innerWidth, - height: this.ow.innerHeight + get(name) { + const ai = this.ajaxInstances; + if (ai.has(name)) { + const ajax = ai.get(name); + ajax === null || ajax === void 0 ? void 0 : ajax.abort(); + ai.delete(name); + } + const opts = (0,helpers.ConfigProto)(this.options[name] !== undefined + ? this.options[name] + : {}, (0,helpers.ConfigProto)({ + onProgress: this.progressHandler + }, this.o.ajax)); + if (opts.prepareData) { + opts.data = opts.prepareData.call(this, opts.data); + } + const ajax = new request/* Ajax */.t(opts); + ai.set(name, ajax); + const promise = ajax.send(); + promise + .finally(() => { + ajax.destruct(); + ai.delete(name); + this.progressHandler(100); + }) + .catch(() => null); + return promise + .then(resp => resp.json()) + .then(resp => { + if (resp && !this.isSuccess(resp)) { + throw new Error(this.getMessage(resp)); + } + return resp; }); - this.childrenPopups = new Set(); - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.attr)(this.container, 'role', 'popup'); } - className() { - return 'Popup'; + onProgress(callback) { + this.progressHandler = callback; } - updateParentElement(target) { - if (target !== this && jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(target, Popup)) { - this.childrenPopups.forEach(popup => { - if (!target.closest(popup) && popup.isOpened) { - popup.close(); + async permissions(path, source) { + if (!this.o.permissions) { + return null; + } + this.o.permissions.data.path = path; + this.o.permissions.data.source = source; + if (this.o.permissions.url) { + return this.get('permissions').then(resp => { + let process = this.o.permissions.process; + if (!process) { + process = this.o.ajax.process; + } + if (process) { + const respData = process.call(self, resp); + if (respData.data.permissions) { + this.__currentPermissions = respData.data.permissions; + } } + return this.__currentPermissions; }); - if (!this.childrenPopups.has(target)) { - this.j.e.on(target, 'beforeClose', () => { - this.childrenPopups.delete(target); - }); - } - this.childrenPopups.add(target); } - return super.updateParentElement(target); + return null; } - setContent(content) { - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.detach */ .i.detach(this.container); - const box = this.j.c.div(`${this.componentName}__content`); - let elm; - if (jodit_core_component_component__WEBPACK_IMPORTED_MODULE_5__/* .Component.isInstanceOf */ .w.isInstanceOf(content, jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u)) { - elm = content.container; - content.parentElement = this; - } - else if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(content)) { - elm = this.j.c.fromHTML(content); - } - else { - elm = content; - } - box.appendChild(elm); - this.container.appendChild(box); - this.updatePosition(); - return this; + canI(action) { + const rule = 'allow' + action; + if (false) {} + return (this.__currentPermissions == null || + this.__currentPermissions[rule] === undefined || + this.__currentPermissions[rule]); } - open(getBound, keepPosition = false, parentContainer) { - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.markOwner)(this.jodit, this.container); - this.calculateZIndex(); - this.isOpened = true; - this.addGlobalListeners(); - this.targetBound = !keepPosition - ? getBound - : this.getKeepBound(getBound); - if (parentContainer) { - parentContainer.appendChild(this.container); + __items(path, source, mods, onResult) { + const opt = this.options; + if (!opt.items) { + return Promise.reject('Set Items api options'); } - else { - const popupContainer = (0,jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .getContainer */ .ZO)(this.jodit, Popup); - if (parentContainer !== this.container.parentElement) { - popupContainer.appendChild(this.container); + opt.items.data.path = path; + opt.items.data.source = source; + opt.items.data.mods = mods; + return this.get('items').then(resp => { + let process = this.o.items.process; + if (!process) { + process = this.o.ajax.process; } - } - this.updatePosition(); - this.j.e.fire(this, 'afterOpen'); - return this; - } - calculateZIndex() { - if (this.container.style.zIndex) { - return; - } - const checkView = (view) => { - const zIndex = view.container.style.zIndex || view.o.zIndex; - if (zIndex) { - this.setZIndex(1 + parseInt(zIndex.toString(), 10)); - return true; + if (process) { + resp = process.call(self, resp); } - return false; + return onResult(resp); + }); + } + items(path, source, mods = {}) { + return this.__items(path, source, mods, resp => this.generateItemsList(resp.data.sources, mods)); + } + itemsEx(path, source, mods = {}) { + const calcTotal = (sources) => sources.reduce((acc, source) => acc + source.files.length, 0); + return this.__items(path, source, mods, resp => ({ + items: this.generateItemsList(resp.data.sources, mods), + loadedTotal: calcTotal(resp.data.sources) + })); + } + generateItemsList(sources, mods = {}) { + const elements = []; + const canBeFile = (item) => item.type === 'folder' || + !mods.onlyImages || + item.isImage === undefined || + item.isImage; + const inFilter = (item) => { + var _a; + return !((_a = mods.filterWord) === null || _a === void 0 ? void 0 : _a.length) || + this.o.filter === undefined || + this.o.filter(item, mods.filterWord); }; - const { j } = this; - if (checkView(j)) { - return; + sources.forEach(source => { + if (source.files && source.files.length) { + const { sort } = this.o; + if ((0,helpers.isFunction)(sort) && mods.sortBy) { + source.files.sort((a, b) => sort(a, b, mods.sortBy)); + } + source.files.forEach((item) => { + if (inFilter(item) && canBeFile(item)) { + elements.push(FileBrowserItem.create({ + ...item, + sourceName: source.name, + source + })); + } + }); + } + }); + return elements; + } + async tree(path, source) { + path = (0,helpers.normalizeRelativePath)(path); + if (!this.o.folder) { + return Promise.reject('Set Folder Api options'); } - let pe = this.parentElement; - while (pe) { - if (checkView(j)) { - return; + await this.permissions(path, source); + this.o.folder.data.path = path; + this.o.folder.data.source = source; + return this.get('folder').then(resp => { + let process = this.o.folder.process; + if (!process) { + process = this.o.ajax.process; } - if (pe.container.style.zIndex) { - this.setZIndex(1 + parseInt(pe.container.style.zIndex.toString(), 10)); - return; + if (process) { + resp = process.call(self, resp); } - if (!pe.parentElement && pe.container.parentElement) { - const elm = jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement.closestElement */ .u.closestElement(pe.container.parentElement, jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement */ .u); - if (elm) { - pe = elm; - continue; - } + return resp.data.sources; + }); + } + getPathByUrl(url) { + (0,helpers.set)('options.getLocalFileByUrl.data.url', url, this); + return this.get('getLocalFileByUrl').then(resp => { + if (this.isSuccess(resp)) { + return resp.data; } - pe = pe.parentElement; - } + throw (0,helpers.error)(this.getMessage(resp)); + }); } - getKeepBound(getBound) { - const oldBound = getBound(); - const elmUnderCursor = this.od.elementFromPoint(oldBound.left, oldBound.top); - if (!elmUnderCursor) { - return getBound; + createFolder(name, path, source) { + const { create } = this.o; + if (!create) { + throw (0,helpers.error)('Set Create api options'); } - const element = jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.isHTMLElement */ .i.isHTMLElement(elmUnderCursor) - ? elmUnderCursor - : elmUnderCursor.parentElement; - const oldPos = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(element, this.j); - return () => { - const bound = getBound(); - const newPos = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(element, this.j); - return { - ...bound, - top: bound.top + (newPos.top - oldPos.top), - left: bound.left + (newPos.left - oldPos.left) - }; - }; + create.data.source = source; + create.data.path = path; + create.data.name = name; + return this.get('create').then(resp => { + if (this.isSuccess(resp)) { + return true; + } + throw (0,helpers.error)(this.getMessage(resp)); + }); } - updatePosition() { - if (!this.isOpened) { - return this; + move(filepath, path, source, isFile) { + const mode = isFile + ? 'fileMove' + : 'folderMove'; + const option = this.options[mode]; + if (!option) { + throw (0,helpers.error)('Set Move api options'); } - const [pos, strategy] = this.calculatePosition(this.targetBound(), this.viewBound(), (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(this.container, this.j)); - this.setMod('strategy', strategy); - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.css)(this.container, { - left: pos.left, - top: pos.top + option.data.from = filepath; + option.data.path = path; + option.data.source = source; + return this.get(mode).then(resp => { + if (this.isSuccess(resp)) { + return true; + } + throw (0,helpers.error)(this.getMessage(resp)); }); - this.childrenPopups.forEach(popup => popup.updatePosition()); - return this; - } - throttleUpdatePosition() { - this.updatePosition(); } - calculatePosition(target, view, container, defaultStrategy = this.strategy) { - const x = { - left: target.left, - right: target.left - (container.width - target.width) - }, y = { - bottom: target.top + target.height, - top: target.top - container.height - }; - const list = Object.keys(x).reduce((keys, xKey) => keys.concat(Object.keys(y).map(yKey => `${xKey}${(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ucfirst)(yKey)}`)), []); - const getPointByStrategy = (strategy) => { - const [xKey, yKey] = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.kebabCase)(strategy).split('-'); - return { - left: x[xKey], - top: y[yKey], - width: container.width, - height: container.height - }; - }; - const getMatchStrategy = (inBox) => { - let strategy = null; - if (Popup.boxInView(getPointByStrategy(defaultStrategy), inBox)) { - strategy = defaultStrategy; - } - else { - strategy = - list.find((key) => { - if (Popup.boxInView(getPointByStrategy(key), inBox)) { - return key; - } - return; - }) || null; - } - return strategy; - }; - let strategy = getMatchStrategy((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.position)(this.j.container, this.j)); - if (!strategy || !Popup.boxInView(getPointByStrategy(strategy), view)) { - strategy = getMatchStrategy(view) || strategy || defaultStrategy; + remove(action, path, file, source) { + const fr = this.o[action]; + if (!fr) { + throw (0,helpers.error)(`Set "${action}" api options`); } - return [getPointByStrategy(strategy), strategy]; - } - static boxInView(box, view) { - const accuracy = 2; - return (box.top - view.top >= -accuracy && - box.left - view.left >= -accuracy && - view.top + view.height - (box.top + box.height) >= -accuracy && - view.left + view.width - (box.left + box.width) >= -accuracy); + fr.data.path = path; + fr.data.name = file; + fr.data.source = source; + return this.get(action).then(resp => { + if (fr.process) { + resp = fr.process.call(this, resp); + } + return this.getMessage(resp); + }); } - close() { - if (!this.isOpened) { - return this; - } - this.isOpened = false; - this.childrenPopups.forEach(popup => popup.close()); - this.j.e.fire(this, 'beforeClose'); - this.j.e.fire('beforePopupClose', this); - this.removeGlobalListeners(); - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.safeRemove */ .i.safeRemove(this.container); - return this; + fileRemove(path, file, source) { + return this.remove('fileRemove', path, file, source); } - closeOnOutsideClick(e) { - if (!this.isOpened || this.isOwnClick(e)) { - return; - } - this.close(); + folderRemove(path, file, source) { + return this.remove('folderRemove', path, file, source); } - isOwnClick(e) { - if (!e.target) { - return false; + rename(action, path, name, newname, source) { + const fr = this.o[action]; + if (!fr) { + throw (0,helpers.error)(`Set "${action}" api options`); } - const box = jodit_core_ui_element__WEBPACK_IMPORTED_MODULE_3__/* .UIElement.closestElement */ .u.closestElement(e.target, Popup); - return Boolean(box && (this === box || box.closest(this))); - } - addGlobalListeners() { - const up = this.throttleUpdatePosition, ow = this.ow; - jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.on */ .TB.on('closeAllPopups', this.close); - if (this.smart) { - this.j.e - .on('escape', this.close) - .on('mousedown touchstart', this.closeOnOutsideClick) - .on(ow, 'mousedown touchstart', this.closeOnOutsideClick); - } - this.j.e - .on('closeAllPopups', this.close) - .on('resize', up) - .on(this.container, 'scroll mousewheel', up) - .on(ow, 'scroll', up) - .on(ow, 'resize', up); - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.up */ .i.up(this.j.container, box => { - box && this.j.e.on(box, 'scroll mousewheel', up); + fr.data.path = path; + fr.data.name = name; + fr.data.newname = newname; + fr.data.source = source; + return this.get(action).then(resp => { + if (fr.process) { + resp = fr.process.call(self, resp); + } + return this.getMessage(resp); }); } - removeGlobalListeners() { - const up = this.throttleUpdatePosition, ow = this.ow; - jodit_core_global__WEBPACK_IMPORTED_MODULE_6__/* .eventEmitter.off */ .TB.off('closeAllPopups', this.close); - if (this.smart) { - this.j.e - .off('escape', this.close) - .off('mousedown touchstart', this.closeOnOutsideClick) - .off(ow, 'mousedown touchstart', this.closeOnOutsideClick); + folderRename(path, name, newname, source) { + return this.rename('folderRename', path, name, newname, source); + } + fileRename(path, name, newname, source) { + return this.rename('fileRename', path, name, newname, source); + } + changeImage(type, path, source, name, newname, box) { + if (!this.o[type]) { + this.o[type] = { + data: {} + }; } - this.j.e - .off('closeAllPopups', this.close) - .off('resize', up) - .off(this.container, 'scroll mousewheel', up) - .off(ow, 'scroll', up) - .off(ow, 'resize', up); - jodit_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__/* .Dom.up */ .i.up(this.j.container, box => { - box && this.j.e.off(box, 'scroll mousewheel', up); + const query = this.o[type]; + if (query.data === undefined) { + query.data = { + action: type + }; + } + query.data.newname = newname || name; + if (box) { + query.data.box = box; + } + query.data.path = path; + query.data.name = name; + query.data.source = source; + return this.get(type).then(() => { + return true; }); } - setZIndex(index) { - this.container.style.zIndex = index.toString(); + crop(path, source, name, newname, box) { + return this.changeImage('crop', path, source, name, newname, box); + } + resize(path, source, name, newname, box) { + return this.changeImage('resize', path, source, name, newname, box); + } + getMessage(resp) { + return this.options.getMessage(resp); + } + isSuccess(resp) { + return this.options.isSuccess(resp); } destruct() { - this.close(); - return super.destruct(); + this.ajaxInstances.forEach(a => a.destruct()); + this.ajaxInstances.clear(); } -} -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind -], Popup.prototype, "updatePosition", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.throttle)(10), - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind -], Popup.prototype, "throttleUpdatePosition", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind -], Popup.prototype, "close", null); -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__.autobind -], Popup.prototype, "closeOnOutsideClick", null); +}; +DataProvider = (0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], DataProvider); +/* harmony default export */ var data_provider = (DataProvider); +// EXTERNAL MODULE: ./src/modules/context-menu/context-menu.ts +var context_menu = __webpack_require__(60403); +;// CONCATENATED MODULE: ./src/modules/file-browser/factories.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ -/***/ }), -/***/ 67555: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +function makeDataProvider(parent, options) { + return new data_provider(parent, options); +} +function makeContextMenu(parent) { + return new context_menu/* ContextMenu */.x(parent); +} -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "C": function() { return /* binding */ ViewWithToolbar; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20255); -/* harmony import */ var _view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49896); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36516); -/* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5243); -/* harmony import */ var _component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2624); -/* harmony import */ var _ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20220); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63945); +// EXTERNAL MODULE: ./src/core/helpers/normalize/index.ts + 7 modules +var normalize = __webpack_require__(46361); +// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules +var ui = __webpack_require__(93801); +;// CONCATENATED MODULE: ./src/modules/file-browser/builders/elements-map.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +const map = new WeakMap(); +const elementsMap = (view) => { + let result = map.get(view); + if (!result) { + result = {}; + map.set(view, result); + } + return result; +}; + +;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/load-items.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +function loadItems(fb) { + fb.files.setMod('active', true); + fb.files.setMod('loading', true); + return fb.dataProvider + .items(fb.state.currentPath, fb.state.currentSource, { + sortBy: fb.state.sortBy, + onlyImages: fb.state.onlyImages, + filterWord: fb.state.filterWord + }) + .then(resp => { + if (resp) { + fb.state.elements = resp; + fb.state.activeElements = []; + } + }) + .catch(fb.status) + .finally(() => fb.files.setMod('loading', false)); +} +;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/load-tree.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +async function loadTree(fb) { + fb.tree.setMod('active', true); + dom/* Dom.detach */.i.detach(fb.tree.container); + const items = loadItems(fb); + if (fb.o.showFoldersPanel) { + fb.tree.setMod('loading', true); + const tree = fb.dataProvider + .tree(fb.state.currentPath, fb.state.currentSource) + .then(resp => { + fb.state.sources = resp; + }) + .catch(fb.status) + .finally(() => fb.tree.setMod('loading', false)); + return Promise.all([tree, items]); + } + fb.tree.setMod('active', false); + return items; +} +;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/state-listeners.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ -class ViewWithToolbar extends _view__WEBPACK_IMPORTED_MODULE_0__/* .View */ .G { - constructor(options, isJodit = false) { - super(options, isJodit); - this.toolbar = (0,jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_3__/* .makeCollection */ .R)(this); - this.defaultToolbarContainer = this.c.div('jodit-toolbar__box'); - this.registeredButtons = new Set(); - this.groupToButtons = {}; - this.isJodit = false; - this.isJodit = isJodit; - this.e.on('beforeToolbarBuild', this.beforeToolbarBuild); - } - get toolbarContainer() { - if (!this.o.fullsize && - ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isString)(this.o.toolbar) || jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.isHTMLElement */ .i.isHTMLElement(this.o.toolbar))) { - return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.resolveElement)(this.o.toolbar, this.o.shadowRoot || this.od); +const state_listeners_DEFAULT_SOURCE_NAME = 'default'; +function stateListeners() { + const elmMap = elementsMap(this); + const { state, files, create, options } = this, getDomElement = (item) => { + const key = item.uniqueHashKey; + if (elmMap[key]) { + return elmMap[key].elm; } - this.o.toolbar && - jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__/* .Dom.appendChildFirst */ .i.appendChildFirst(this.container, this.defaultToolbarContainer); - return this.defaultToolbarContainer; - } - setPanel(element) { - this.o.toolbar = element; - this.buildToolbar(); - } - buildToolbar() { - if (!this.o.toolbar) { - return; + const elm = create.fromHTML(options.getThumbTemplate.call(this, item, item.source, item.sourceName.toString())); + elm.dataset.key = key; + elmMap[key] = { + item, + elm + }; + return elmMap[key].elm; + }; + state + .on(['change.currentPath', 'change.currentSource'], this.async.debounce(() => { + if (this.o.saveStateInStorage && + this.o.saveStateInStorage.storeLastOpenedFolder) { + this.storage + .set('currentPath', this.state.currentPath) + .set('currentSource', this.state.currentSource); } - const buttons = this.o.buttons - ? (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.splitArray)(this.o.buttons) - : []; - this.toolbar - .setRemoveButtons(this.o.removeButtons) - .build(buttons.concat(this.o.extraButtons || [])) - .appendTo(this.toolbarContainer); - } - getRegisteredButtonGroups() { - return this.groupToButtons; - } - registerButton(btn) { - var _a; - this.registeredButtons.add(btn); - const group = (_a = btn.group) !== null && _a !== void 0 ? _a : 'other'; - if (!this.groupToButtons[group]) { - this.groupToButtons[group] = []; + loadTree(this).catch(this.status); + }, this.defaultTimeout)) + .on('beforeChange.activeElements', () => { + state.activeElements.forEach(item => { + const key = item.uniqueHashKey, { elm } = elmMap[key]; + elm && + elm.classList.remove(files.getFullElName('item', 'active', true)); + }); + }) + .on('change.activeElements', () => { + this.e.fire('changeSelection'); + state.activeElements.forEach(item => { + const key = item.uniqueHashKey, { elm } = elmMap[key]; + elm && + elm.classList.add(files.getFullElName('item', 'active', true)); + }); + }) + .on('change.view', () => { + files.setMod('view', state.view); + if (this.o.saveStateInStorage && + this.o.saveStateInStorage.storeView) { + this.storage.set('view', state.view); } - if (btn.position != null) { - this.groupToButtons[group][btn.position] = btn.name; + }) + .on('change.sortBy', () => { + if (this.o.saveStateInStorage && + this.o.saveStateInStorage.storeSortBy) { + this.storage.set('sortBy', state.sortBy); + } + }) + .on('change.elements', this.async.debounce(() => { + dom/* Dom.detach */.i.detach(files.container); + if (state.elements.length) { + state.elements.forEach(item => { + this.files.container.appendChild(getDomElement(item)); + }); } else { - this.groupToButtons[group].push(btn.name); + files.container.appendChild(create.div(this.componentName + '_no-files_true', this.i18n('There are no files'))); } - return this; - } - unregisterButton(btn) { - var _a; - this.registeredButtons.delete(btn); - const groupName = (_a = btn.group) !== null && _a !== void 0 ? _a : 'other', group = this.groupToButtons[groupName]; - if (group) { - const index = group.indexOf(btn.name); - if (index !== -1) { - group.splice(index, 1); - } - if (group.length === 0) { - delete this.groupToButtons[groupName]; + }, this.defaultTimeout)) + .on('change.sources', this.async.debounce(() => { + dom/* Dom.detach */.i.detach(this.tree.container); + state.sources.forEach(source => { + const sourceName = source.name; + if (sourceName && sourceName !== state_listeners_DEFAULT_SOURCE_NAME) { + this.tree.container.appendChild(create.div(this.tree.getFullElName('source-title'), sourceName)); } - } - return this; - } - beforeToolbarBuild(items) { - if (Object.keys(this.groupToButtons).length) { - return items.map(item => { - if ((0,_ui_helpers_buttons__WEBPACK_IMPORTED_MODULE_6__/* .isButtonGroup */ .A)(item) && - item.group && - this.groupToButtons[item.group]) { - return { - group: item.group, - buttons: [ - ...item.buttons, - ...this.groupToButtons[item.group] - ] - }; + source.folders.forEach((name) => { + const folderElm = create.a(this.tree.getFullElName('item'), { + draggable: 'draggable', + href: '#', + 'data-path': (0,normalize/* normalizePath */.AH)(source.path, name + '/'), + 'data-name': name, + 'data-source': sourceName, + 'data-source-path': source.path + }, create.span(this.tree.getFullElName('item-title'), name)); + const action = (actionName) => (e) => { + this.e.fire(`${actionName}.filebrowser`, { + name, + path: (0,normalize/* normalizePath */.AH)(source.path + '/'), + source: sourceName + }); + e.stopPropagation(); + e.preventDefault(); + }; + this.e.on(folderElm, 'click', action('openFolder')); + this.tree.container.appendChild(folderElm); + if (name === '..' || name === '.') { + return; + } + if (options.renameFolder && + this.dataProvider.canI('FolderRename')) { + const btn = (0,ui/* Button */.zx)(this, { + icon: { name: 'pencil' }, + name: 'rename', + tooltip: 'Rename', + size: 'tiny' + }); + btn.onAction(action('renameFolder')); + folderElm.appendChild(btn.container); + } + if (options.deleteFolder && + this.dataProvider.canI('FolderRemove')) { + const btn = (0,ui/* Button */.zx)(this, { + icon: { name: 'cancel' }, + name: 'remove', + tooltip: 'Delete', + size: 'tiny' + }); + btn.onAction(action('removeFolder')); + folderElm.appendChild(btn.container); } - return item; }); - } - } - destruct() { - if (this.isDestructed) { - return; - } - this.setStatus(_component__WEBPACK_IMPORTED_MODULE_4__/* .STATUSES.beforeDestruct */ .n$.beforeDestruct); - this.e.off('beforeToolbarBuild', this.beforeToolbarBuild); - this.toolbar.destruct(); - super.destruct(); - } + if (options.createNewFolder && + this.dataProvider.canI('FolderCreate')) { + const button = (0,ui/* Button */.zx)(this, 'plus', 'Add folder', 'secondary'); + button.onAction(() => { + this.e.fire('addFolder', { + path: (0,normalize/* normalizePath */.AH)(source.path + '/'), + source: sourceName + }); + }); + this.tree.append(button); + } + }); + }, this.defaultTimeout)); } -(0,tslib__WEBPACK_IMPORTED_MODULE_7__/* .__decorate */ .gn)([ - jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.autobind -], ViewWithToolbar.prototype, "beforeToolbarBuild", null); - - -/***/ }), - -/***/ 49896: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "G": function() { return /* binding */ View; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20255); -/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(94707); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47386); -/* harmony import */ var jodit_modules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5687); -/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16672); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(63711); -/* harmony import */ var jodit_core_event_emitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(18122); -/* harmony import */ var jodit_modules_messages_messages__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(28351); +// EXTERNAL MODULE: ./src/modules/image-editor/image-editor.ts + 2 modules +var image_editor = __webpack_require__(99583); +;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/delete-file.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -var View_1; +function deleteFile(fb, name, source) { + return fb.dataProvider + .fileRemove(fb.state.currentPath, name, source) + .then(message => { + fb.status(message || fb.i18n('File "%s" was deleted', name), true); + }) + .catch(fb.status); +} +;// CONCATENATED MODULE: ./src/modules/file-browser/builders/context-menu.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ @@ -12614,202 +11951,153 @@ var View_1; -let View = View_1 = class View extends jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Component { - constructor(options, isJodit = false) { - super(); - this.isJodit = isJodit; - this.isView = true; - this.parent = null; - this.mods = {}; - this.components = new Set(); - this.version = "3.23.3"; - this.buffer = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(); - this.storage = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(true, this.componentName); - this.OPTIONS = View_1.defaultOptions; - this.__isFullSize = false; - this.__whoLocked = ''; - this.isLockedNotBy = (name) => this.isLocked && this.__whoLocked !== name; - this.__modulesInstances = new Map(); - this.id = new Date().getTime().toString(); - this.buffer = _storage__WEBPACK_IMPORTED_MODULE_0__/* .Storage.makeStorage */ .Ke.makeStorage(); - this.initOptions(options); - this.initOwners(); - this.events = new jodit_core_event_emitter__WEBPACK_IMPORTED_MODULE_7__/* .EventEmitter */ .vp(this.od); - this.create = new jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Create(this.od); - this.container = this.c.div(`jodit ${this.componentName}`); - this.progressbar = new jodit_modules__WEBPACK_IMPORTED_MODULE_3__.ProgressBar(this); - this.message = new jodit_modules_messages_messages__WEBPACK_IMPORTED_MODULE_8__/* .UIMessages */ .D(this); - } - get basePath() { - if (this.o.basePath) { - return this.o.basePath; - } - return jodit_core_constants__WEBPACK_IMPORTED_MODULE_2__.BASE_PATH; - } - get defaultTimeout() { - return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isVoid)(this.o.defaultTimeout) ? 100 : this.o.defaultTimeout; - } - get c() { - return this.create; - } - get container() { - return this.__container; - } - set container(container) { - this.__container = container; - } - get e() { - return this.events; - } - get options() { - return this.__options; - } - set options(options) { - this.__options = options; - } - get o() { - return this.options; - } - i18n(text, ...params) { - return (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.i18n)(text, params, this.options); +const CLASS_PREVIEW = 'jodit-filebrowser-preview', preview_tpl_next = (next = 'next', right = 'right') => `
` + + '' + + ui/* Icon.get */.JO.get('angle-' + right) + + ''; +/* harmony default export */ var builders_context_menu = ((self) => { + if (!self.o.contextMenu) { + return () => { }; } - toggleFullSize(isFullSize) { - if (isFullSize === undefined) { - isFullSize = !this.__isFullSize; - } - if (isFullSize === this.__isFullSize) { + const contextmenu = makeContextMenu(self); + return (e) => { + const a = getItem(e.target, self.container); + if (!a) { return; } - this.__isFullSize = isFullSize; - this.e.fire('toggleFullSize', isFullSize); - } - get isLocked() { - return this.__whoLocked !== ''; - } - lock(name = 'any') { - if (!this.isLocked) { - this.__whoLocked = name; - return true; - } - return false; - } - unlock() { - if (this.isLocked) { - this.__whoLocked = ''; - return true; - } - return false; - } - get isFullSize() { - return this.__isFullSize; - } - getVersion() { - return "3.23.3"; - } - static getVersion() { - return "3.23.3"; - } - initOptions(options) { - this.options = (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(options || {}, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.ConfigProto)(this.options || {}, View_1.defaultOptions)); - } - initOwners() { - var _a; - this.ownerWindow = (_a = this.o.ownerWindow) !== null && _a !== void 0 ? _a : window; - } - attachEvents(options) { - if (!options) { - return; - } - const e = options === null || options === void 0 ? void 0 : options.events; - e && Object.keys(e).forEach((key) => this.e.on(key, e[key])); - } - getInstance(moduleName, options) { - const instance = this.e.fire((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.camelCase)('getInstance_' + moduleName), options); - if (instance) { - return instance; - } - const module = jodit_core_global__WEBPACK_IMPORTED_MODULE_4__/* .modules */ .qz[moduleName], mi = this.__modulesInstances; - if (!(0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isFunction)(module)) { - throw (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.error)('Need real module name'); - } - if (!mi.has(moduleName)) { - const instance = module.prototype instanceof jodit_modules__WEBPACK_IMPORTED_MODULE_3__.ViewComponent - ? new module(this, options) - : new module(options); - this.components.add(instance); - mi.set(moduleName, instance); - } - return mi.get(moduleName); - } - addDisclaimer(elm) { - this.container.appendChild(elm); - } - beforeDestruct() { - this.e.fire(jodit_modules__WEBPACK_IMPORTED_MODULE_3__.STATUSES.beforeDestruct, this); - this.components.forEach(component => { - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_1__.isDestructable)(component) && !component.isInDestruct) { - component.destruct(); + let item = a; + const opt = self.options, ga = (key) => (0,helpers.attr)(item, key) || ''; + self.async.setTimeout(() => { + const selectedItem = elementToItem(a, elementsMap(self)); + if (!selectedItem) { + return; } - }); - this.components.clear(); - } - destruct() { - if (this.isDestructed) { - return; - } - this.progressbar.destruct(); - this.message.destruct(); - if (this.async) { - this.async.destruct(); - } - if (this.events) { - this.e.destruct(); - } - if (this.buffer) { - this.buffer.clear(); - } - jodit_modules__WEBPACK_IMPORTED_MODULE_3__.Dom.safeRemove(this.container); - super.destruct(); - } -}; -View.esNext = true; -(0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.hook)(jodit_modules__WEBPACK_IMPORTED_MODULE_3__.STATUSES.beforeDestruct) -], View.prototype, "beforeDestruct", null); -View = View_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_9__/* .__decorate */ .gn)([ - (0,jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__.derive)(jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__/* .Mods */ .$t, jodit_core_traits__WEBPACK_IMPORTED_MODULE_6__/* .Elms */ .Fx) -], View); - -View.defaultOptions = { - extraButtons: [], - textIcons: false, - namespace: '', - removeButtons: [], - zIndex: 100002, - defaultTimeout: 100, - fullsize: false, - showTooltip: true, - useNativeTooltip: false, - buttons: [], - globalFullSize: true, - language: 'auto' -}; - - -/***/ }), - -/***/ 82616: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + self.state.activeElements = [selectedItem]; + contextmenu.show(e.clientX, e.clientY, [ + ga('data-is-file') !== '1' && + opt.editImage && + (self.dataProvider.canI('ImageResize') || + self.dataProvider.canI('ImageCrop')) + ? { + icon: 'pencil', + title: 'Edit', + exec: () => image_editor/* openImageEditor.call */.r.call(self, ga('href'), ga('data-name'), ga('data-path'), ga('data-source')) + } + : false, + self.dataProvider.canI('FileRename') + ? { + icon: 'italic', + title: 'Rename', + exec: () => { + self.e.fire('fileRename.filebrowser', ga('data-name'), ga('data-path'), ga('data-source')); + } + } + : false, + self.dataProvider.canI('FileRemove') + ? { + icon: 'bin', + title: 'Delete', + exec: async () => { + try { + await deleteFile(self, ga('data-name'), ga('data-source')); + } + catch (e) { + return self.status(e); + } + self.state.activeElements = []; + return loadTree(self).catch(self.status); + } + } + : false, + opt.preview + ? { + icon: 'eye', + title: 'Preview', + exec: () => { + const preview = self.dlg({ + buttons: ['fullsize', 'dialog.close'] + }), temp_content = self.c.div(CLASS_PREVIEW, '
'), preview_box = self.c.div(CLASS_PREVIEW + '__box'), next = self.c.fromHTML(preview_tpl_next()), prev = self.c.fromHTML(preview_tpl_next('prev', 'left')), addLoadHandler = (src) => { + const image = self.c.element('img'); + image.setAttribute('src', src); + const onload = () => { + var _a; + if (self.isInDestruct) { + return; + } + self.e.off(image, 'load'); + dom/* Dom.detach */.i.detach(temp_content); + if (opt.showPreviewNavigation) { + if (dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item'))) { + temp_content.appendChild(prev); + } + if (dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item'))) { + temp_content.appendChild(next); + } + } + temp_content.appendChild(preview_box); + preview_box.appendChild(image); + preview.setPosition(); + (_a = self === null || self === void 0 ? void 0 : self.events) === null || _a === void 0 ? void 0 : _a.fire('previewOpenedAndLoaded'); + }; + self.e.on(image, 'load', onload); + if (image.complete) { + onload(); + } + }; + self.e.on([next, prev], 'click', function () { + if (this === next) { + item = dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item')); + } + else { + item = dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item')); + } + if (!item) { + throw (0,helpers.error)('Need element'); + } + dom/* Dom.detach */.i.detach(temp_content); + dom/* Dom.detach */.i.detach(preview_box); + temp_content.innerHTML = + '
'; + addLoadHandler(ga('href')); + }); + self.e.on('beforeDestruct', () => { + preview.destruct(); + }); + preview.container.classList.add(CLASS_PREVIEW + '__dialog'); + preview.setContent(temp_content); + preview.setPosition(); + preview.open(); + addLoadHandler(ga('href')); + self.events + .on('beforeDestruct', () => { + preview.destruct(); + }) + .fire('previewOpened'); + } + } + : false, + { + icon: 'upload', + title: 'Download', + exec: () => { + const url = ga('href'); + if (url) { + self.ow.open(url); + } + } + } + ]); + }, self.defaultTimeout); + self.e + .on('beforeClose', () => contextmenu.close()) + .on('beforeDestruct', () => contextmenu.destruct()); + e.stopPropagation(); + e.preventDefault(); + return false; + }; +}); -"use strict"; -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "x": function() { return /* binding */ ContextMenu; } -/* harmony export */ }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_popup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36649); -/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(81402); -/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(43435); -/* harmony import */ var jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(45466); +;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/native-listeners.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -12820,136 +12108,91 @@ View.defaultOptions = { - -let ContextMenu = class ContextMenu extends jodit_core_ui_popup__WEBPACK_IMPORTED_MODULE_0__/* .Popup */ .G { - className() { - return 'ContextMenu'; - } - show(x, y, actions) { - const self = this, content = this.j.c.div(this.getFullElName('actions')); - if (!(0,jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_2__/* .isArray */ .kJ)(actions)) { - return; - } - actions.forEach(item => { - if (!item) { - return; - } - const action = (0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_1__/* .Button */ .zx)(this.jodit, item.icon || 'empty', item.title); - this.jodit && action.setParentView(this.jodit); - action.setMod('context', 'menu'); - action.onAction((e) => { - var _a; - (_a = item.exec) === null || _a === void 0 ? void 0 : _a.call(self, e); - self.close(); - return false; - }); - content.appendChild(action.container); - }); - this.setContent(content).open(() => ({ left: x, top: y, width: 0, height: 0 }), true); - } +const getItem = (node, root, tag = 'a') => dom/* Dom.closest */.i.closest(node, elm => dom/* Dom.isTag */.i.isTag(elm, tag), root); +const elementToItem = (elm, elementsMap) => { + const { key } = elm.dataset, { item } = elementsMap[key || '']; + return item; }; -ContextMenu = (0,tslib__WEBPACK_IMPORTED_MODULE_3__/* .__decorate */ .gn)([ - jodit_core_decorators_component_component__WEBPACK_IMPORTED_MODULE_4__/* .component */ .w -], ContextMenu); - - - -/***/ }), - -/***/ 75121: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "f": function() { return /* reexport */ FileBrowser; }, - "F": function() { return /* reexport */ isFileBrowserFilesItem; } -}); - -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); -// EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); -// EXTERNAL MODULE: ./src/core/storage/index.ts + 3 modules -var storage = __webpack_require__(94707); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -// EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); -// EXTERNAL MODULE: ./src/core/request/index.ts + 3 modules -var request = __webpack_require__(5887); -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -;// CONCATENATED MODULE: ./src/modules/file-browser/builders/item.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - -class FileBrowserItem { - constructor(data) { - this.data = data; - Object.keys(data).forEach(key => { - this[key] = data[key]; - }); - } - static create(data) { - if (data instanceof FileBrowserItem) { - return data; +function nativeListeners() { + let dragElement = false; + const elmMap = elementsMap(this); + const self = this; + self.e + .on(self.tree.container, 'dragstart', (e) => { + const a = getItem(e.target, self.container); + if (!a) { + return; } - return new FileBrowserItem(data); - } - get path() { - return (0,helpers.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,helpers.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; + if (self.o.moveFolder) { + dragElement = a; } - return fileIsAbsolute && name - ? name - : (0,helpers.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; - } + }) + .on(self.tree.container, 'drop', (e) => { + if ((self.o.moveFile || self.o.moveFolder) && dragElement) { + let path = (0,helpers.attr)(dragElement, '-path') || ''; + if (!self.o.moveFolder && + dragElement.classList.contains(this.tree.getFullElName('item'))) { + return false; + } + if (dragElement.classList.contains(this.files.getFullElName('item'))) { + path += (0,helpers.attr)(dragElement, '-name'); + if (!self.o.moveFile) { + return false; + } + } + const a = getItem(e.target, self.container); + if (!a) { + return; + } + self.dataProvider + .move(path, (0,helpers.attr)(a, '-path') || '', (0,helpers.attr)(a, '-source') || '', dragElement.classList.contains(this.files.getFullElName('item'))) + .then(() => loadTree(this)) + .catch(self.status); + dragElement = false; + } + }) + .on(self.files.container, 'contextmenu', builders_context_menu(self)) + .on(self.files.container, 'click', (e) => { + if (!(0,helpers.ctrlKey)(e)) { + this.state.activeElements = []; + } + }) + .on(self.files.container, 'click', (e) => { + const a = getItem(e.target, self.container); + if (!a) { + return; + } + const item = elementToItem(a, elmMap); + if (!item) { + return; + } + if (!(0,helpers.ctrlKey)(e)) { + self.state.activeElements = [item]; + } + else { + self.state.activeElements = [ + ...self.state.activeElements, + item + ]; + } + e.stopPropagation(); + return false; + }) + .on(self.files.container, 'dragstart', (e) => { + if (self.o.moveFile) { + const a = getItem(e.target, self.container); + if (!a) { + return; + } + dragElement = a; + } + }) + .on(self.container, 'drop', (e) => e.preventDefault()); } -;// CONCATENATED MODULE: ./src/modules/file-browser/data-provider.ts +// EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 7 modules +var checker = __webpack_require__(78411); +;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/self-listeners.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -12960,298 +12203,478 @@ class FileBrowserItem { -const DEFAULT_SOURCE_NAME = 'default'; -const possibleRules = (/* unused pure expression or super */ null && ([ - 'allowFiles', - 'allowFileMove', - 'allowFileUpload', - 'allowFileUploadRemote', - 'allowFileRemove', - 'allowFileRename', - 'allowFolders', - 'allowFolderMove', - 'allowFolderCreate', - 'allowFolderRemove', - 'allowFolderRename', - 'allowImageResize', - 'allowImageCrop' -])); -let DataProvider = class DataProvider { - constructor(parent, options) { - this.parent = parent; - this.options = options; - this.__currentPermissions = null; - this.ajaxInstances = new Map(); - this.progressHandler = (ignore) => { }; - } - get o() { - return this.options; - } - get(name) { - const ai = this.ajaxInstances; - if (ai.has(name)) { - const ajax = ai.get(name); - ajax === null || ajax === void 0 ? void 0 : ajax.abort(); - ai.delete(name); + + +function selfListeners() { + const state = this.state, dp = this.dataProvider, self = this; + self.e + .on('view.filebrowser', (view) => { + if (view !== state.view) { + state.view = view; } - const opts = (0,helpers.ConfigProto)(this.options[name] !== undefined - ? this.options[name] - : {}, (0,helpers.ConfigProto)({ - onProgress: this.progressHandler - }, this.o.ajax)); - if (opts.prepareData) { - opts.data = opts.prepareData.call(this, opts.data); + }) + .on('sort.filebrowser', (value) => { + if (value !== state.sortBy) { + state.sortBy = value; + loadItems(self); } - const ajax = new request/* Ajax */.t(opts); - ai.set(name, ajax); - const promise = ajax.send(); - promise - .finally(() => { - ajax.destruct(); - ai.delete(name); - this.progressHandler(100); - }) - .catch(() => null); - return promise - .then(resp => resp.json()) - .then(resp => { - if (resp && !this.isSuccess(resp)) { - throw new Error(this.getMessage(resp)); - } - return resp; - }); - } - onProgress(callback) { - this.progressHandler = callback; - } - async permissions(path, source) { - if (!this.o.permissions) { - return null; + }) + .on('filter.filebrowser', (value) => { + if (value !== state.filterWord) { + state.filterWord = value; + loadItems(self); } - this.o.permissions.data.path = path; - this.o.permissions.data.source = source; - if (this.o.permissions.url) { - return this.get('permissions').then(resp => { - let process = this.o.permissions.process; - if (!process) { - process = this.o.ajax.process; - } - if (process) { - const respData = process.call(self, resp); - if (respData.data.permissions) { - this.__currentPermissions = respData.data.permissions; - } + }) + .on('openFolder.filebrowser', (data) => { + let path; + if (data.name === '..') { + path = data.path + .split('/') + .filter((p) => p.length) + .slice(0, -1) + .join('/'); + } + else { + path = (0,helpers.normalizePath)(data.path, data.name); + } + self.state.currentPath = path; + self.state.currentSource = + data.name === '.' ? DEFAULT_SOURCE_NAME : data.source; + }) + .on('removeFolder.filebrowser', (data) => { + self.confirm('Are you sure?', 'Delete', (yes) => { + if (yes) { + dp.folderRemove(data.path, data.name, data.source) + .then(message => { + self.status(message, true); + return loadTree(self); + }) + .catch(self.status); + } + }); + }) + .on('renameFolder.filebrowser', (data) => { + self.prompt('Enter new name', 'Rename', (newName) => { + if (!(0,checker/* isValidName */.r1)(newName)) { + self.status(self.i18n('Enter new name')); + return false; + } + dp.folderRename(data.path, data.name, newName, data.source) + .then(message => { + self.state.activeElements = []; + self.status(message, true); + return loadTree(self); + }) + .catch(self.status); + return; + }, 'type name', data.name); + }) + .on('addFolder.filebrowser', (data) => { + self.prompt('Enter Directory name', 'Create directory', (name) => { + dp.createFolder(name, data.path, data.source) + .then(() => loadTree(self)) + .catch(self.status); + }, 'type name'); + }) + .on('fileRemove.filebrowser', () => { + if (self.state.activeElements.length) { + self.confirm('Are you sure?', '', (yes) => { + if (yes) { + const promises = []; + self.state.activeElements.forEach(item => { + promises.push(deleteFile(self, item.file || item.name || '', item.sourceName)); + }); + self.state.activeElements = []; + Promise.all(promises).then(() => loadTree(self).catch(self.status), self.status); } - return this.__currentPermissions; }); } - return null; + }) + .on('edit.filebrowser', () => { + if (self.state.activeElements.length === 1) { + const [file] = this.state.activeElements; + image_editor/* openImageEditor.call */.r.call(self, file.fileURL, file.file || '', file.path, file.sourceName); + } + }) + .on('fileRename.filebrowser', (name, path, source) => { + if (self.state.activeElements.length === 1) { + self.prompt('Enter new name', 'Rename', (newName) => { + if (!(0,checker/* isValidName */.r1)(newName)) { + self.status(self.i18n('Enter new name')); + return false; + } + dp.fileRename(path, name, newName, source) + .then(message => { + self.state.activeElements = []; + self.status(message, true); + loadItems(self); + }) + .catch(self.status); + return; + }, 'type name', name); + } + }) + .on('update.filebrowser', () => { + loadTree(this).then(this.status, this.status); + }); +} + +;// CONCATENATED MODULE: ./src/modules/file-browser/ui/files/files.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class FileBrowserFiles extends ui/* UIGroup */.qe { + className() { + return 'FilebrowserFiles'; } - canI(action) { - const rule = 'allow' + action; - if (false) {} - return (this.__currentPermissions == null || - this.__currentPermissions[rule] === undefined || - this.__currentPermissions[rule]); +} + +;// CONCATENATED MODULE: ./src/modules/file-browser/ui/tree/tree.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class FileBrowserTree extends ui/* UIGroup */.qe { + className() { + return 'FilebrowserTree'; } - items(path, source, mods = {}) { - const opt = this.options; - if (!opt.items) { - return Promise.reject('Set Items api options'); +} + +;// CONCATENATED MODULE: ./src/modules/file-browser/ui/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +// EXTERNAL MODULE: ./src/core/event-emitter/index.ts + 2 modules +var event_emitter = __webpack_require__(4567); +// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules +var component = __webpack_require__(90549); +// EXTERNAL MODULE: ./src/core/traits/index.ts + 3 modules +var traits = __webpack_require__(72452); +// EXTERNAL MODULE: ./src/core/view/view-with-toolbar.ts +var view_with_toolbar = __webpack_require__(43608); +// EXTERNAL MODULE: ./src/core/ui/form/inputs/file/file.ts +var file = __webpack_require__(41374); +// EXTERNAL MODULE: ./src/core/helpers/utils/human-size-to-bytes.ts +var human_size_to_bytes = __webpack_require__(6102); +;// CONCATENATED MODULE: ./src/modules/file-browser/config.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + +config/* Config.prototype.filebrowser */.D.prototype.filebrowser = { + namespace: '', + extraButtons: [], + filter(item, search) { + search = search.toLowerCase(); + if ((0,checker/* isString */.HD)(item)) { + return item.toLowerCase().indexOf(search) !== -1; } - opt.items.data.path = path; - opt.items.data.source = source; - opt.items.data.mods = mods; - return this.get('items').then(resp => { - let process = this.o.items.process; - if (!process) { - process = this.o.ajax.process; + if ((0,checker/* isString */.HD)(item.name)) { + return item.name.toLowerCase().indexOf(search) !== -1; + } + if ((0,checker/* isString */.HD)(item.file)) { + return item.file.toLowerCase().indexOf(search) !== -1; + } + return true; + }, + sortBy: 'changed-desc', + sort(a, b, sortBy) { + const [sortAttr, arrow] = sortBy.toLowerCase().split('-'), asc = arrow === 'asc'; + const compareStr = (f, s) => { + if (f < s) { + return asc ? -1 : 1; } - if (process) { - resp = process.call(self, resp); + if (f > s) { + return asc ? 1 : -1; } - return this.generateItemsList(resp.data.sources, mods); - }); - } - generateItemsList(sources, mods = {}) { - const elements = []; - const canBeFile = (item) => !mods.onlyImages || item.isImage === undefined || item.isImage, inFilter = (item) => { - var _a; - return !((_a = mods.filterWord) === null || _a === void 0 ? void 0 : _a.length) || - this.o.filter === undefined || - this.o.filter(item, mods.filterWord); + return 0; }; - sources.forEach(source => { - if (source.files && source.files.length) { - const { sort } = this.o; - if ((0,helpers.isFunction)(sort) && mods.sortBy) { - source.files.sort((a, b) => sort(a, b, mods.sortBy)); - } - source.files.forEach((item) => { - if (inFilter(item) && canBeFile(item)) { - elements.push(FileBrowserItem.create({ - ...item, - sourceName: source.name, - source - })); - } - }); - } - }); - return elements; - } - async tree(path, source) { - path = (0,helpers.normalizeRelativePath)(path); - if (!this.o.folder) { - return Promise.reject('Set Folder Api options'); + if ((0,checker/* isString */.HD)(a)) { + return compareStr(a.toLowerCase(), b.toLowerCase()); } - await this.permissions(path, source); - this.o.folder.data.path = path; - this.o.folder.data.source = source; - return this.get('folder').then(resp => { - let process = this.o.folder.process; - if (!process) { - process = this.o.ajax.process; - } - if (process) { - resp = process.call(self, resp); + if (a[sortAttr] === undefined || sortAttr === 'name') { + if ((0,checker/* isString */.HD)(a.name)) { + return compareStr(a.name.toLowerCase(), b.name.toLowerCase()); } - return resp.data.sources; - }); - } - getPathByUrl(url) { - (0,helpers.set)('options.getLocalFileByUrl.data.url', url, this); - return this.get('getLocalFileByUrl').then(resp => { - if (this.isSuccess(resp)) { - return resp.data; - } - throw (0,helpers.error)(this.getMessage(resp)); - }); - } - createFolder(name, path, source) { - const { create } = this.o; - if (!create) { - throw (0,helpers.error)('Set Create api options'); - } - create.data.source = source; - create.data.path = path; - create.data.name = name; - return this.get('create').then(resp => { - if (this.isSuccess(resp)) { - return true; - } - throw (0,helpers.error)(this.getMessage(resp)); - }); - } - move(filepath, path, source, isFile) { - const mode = isFile - ? 'fileMove' - : 'folderMove'; - const option = this.options[mode]; - if (!option) { - throw (0,helpers.error)('Set Move api options'); - } - option.data.from = filepath; - option.data.path = path; - option.data.source = source; - return this.get(mode).then(resp => { - if (this.isSuccess(resp)) { - return true; + if ((0,checker/* isString */.HD)(a.file)) { + return compareStr(a.file.toLowerCase(), b.file.toLowerCase()); } - throw (0,helpers.error)(this.getMessage(resp)); - }); - } - remove(action, path, file, source) { - const fr = this.o[action]; - if (!fr) { - throw (0,helpers.error)(`Set "${action}" api options`); + return 0; } - fr.data.path = path; - fr.data.name = file; - fr.data.source = source; - return this.get(action).then(resp => { - if (fr.process) { - resp = fr.process.call(this, resp); + switch (sortAttr) { + case 'changed': { + const f = new Date(a.changed).getTime(), s = new Date(b.changed).getTime(); + return asc ? f - s : s - f; } - return this.getMessage(resp); - }); - } - fileRemove(path, file, source) { - return this.remove('fileRemove', path, file, source); - } - folderRemove(path, file, source) { - return this.remove('folderRemove', path, file, source); - } - rename(action, path, name, newname, source) { - const fr = this.o[action]; - if (!fr) { - throw (0,helpers.error)(`Set "${action}" api options`); - } - fr.data.path = path; - fr.data.name = name; - fr.data.newname = newname; - fr.data.source = source; - return this.get(action).then(resp => { - if (fr.process) { - resp = fr.process.call(self, resp); + case 'size': { + const f = (0,human_size_to_bytes/* humanSizeToBytes */.w)(a.size), s = (0,human_size_to_bytes/* humanSizeToBytes */.w)(b.size); + return asc ? f - s : s - f; } - return this.getMessage(resp); - }); - } - folderRename(path, name, newname, source) { - return this.rename('folderRename', path, name, newname, source); - } - fileRename(path, name, newname, source) { - return this.rename('fileRename', path, name, newname, source); - } - changeImage(type, path, source, name, newname, box) { - if (!this.o[type]) { - this.o[type] = { - data: {} - }; } - const query = this.o[type]; - if (query.data === undefined) { - query.data = { - action: type - }; + return 0; + }, + editImage: true, + preview: true, + showPreviewNavigation: true, + showSelectButtonInPreview: true, + contextMenu: true, + howLongShowMsg: 3000, + createNewFolder: true, + deleteFolder: true, + renameFolder: true, + moveFolder: true, + moveFile: true, + showFoldersPanel: true, + storeLastOpenedFolder: true, + width: 859, + height: 400, + buttons: [ + 'filebrowser.upload', + 'filebrowser.remove', + 'filebrowser.update', + 'filebrowser.select', + 'filebrowser.edit', + '|', + 'filebrowser.tiles', + 'filebrowser.list', + '|', + 'filebrowser.filter', + '|', + 'filebrowser.sort' + ], + removeButtons: [], + fullsize: false, + showTooltip: true, + view: null, + isSuccess(resp) { + return resp.success; + }, + getMessage(resp) { + return resp.data.messages !== undefined && (0,checker/* isArray */.kJ)(resp.data.messages) + ? resp.data.messages.join(' ') + : ''; + }, + showFileName: true, + showFileSize: true, + showFileChangeTime: true, + saveStateInStorage: { + storeLastOpenedFolder: true, + storeView: true, + storeSortBy: true + }, + pixelOffsetLoadNewChunk: 200, + getThumbTemplate(item, source, source_name) { + const opt = this.options, IC = this.files.getFullElName('item'), showName = opt.showFileName, showSize = opt.showFileSize && item.size, showTime = opt.showFileChangeTime && item.time; + let name = ''; + if (item.file !== undefined) { + name = item.file; } - query.data.newname = newname || name; - if (box) { - query.data.box = box; + const info = `
${showName ? `${name}` : ''}${showSize + ? `${item.size}` + : ''}${showTime + ? `${showTime}` + : ''}
`; + return ` + ${name} + ${showName || showSize || showTime ? info : ''} + `; + }, + ajax: { + ...config/* Config.prototype.defaultAjaxOptions */.D.prototype.defaultAjaxOptions, + url: '', + data: {}, + cache: true, + contentType: 'application/x-www-form-urlencoded; charset=UTF-8', + method: 'POST', + processData: true, + headers: {}, + prepareData(data) { + return data; + }, + process(resp) { + return resp; } - query.data.path = path; - query.data.name = name; - query.data.source = source; - return this.get(type).then(() => { - return true; - }); - } - crop(path, source, name, newname, box) { - return this.changeImage('crop', path, source, name, newname, box); - } - resize(path, source, name, newname, box) { - return this.changeImage('resize', path, source, name, newname, box); + }, + create: { + data: { action: 'folderCreate' } + }, + getLocalFileByUrl: { + data: { action: 'getLocalFileByUrl' } + }, + resize: { + data: { action: 'imageResize' } + }, + crop: { + data: { action: 'imageCrop' } + }, + fileMove: { + data: { action: 'fileMove' } + }, + folderMove: { + data: { action: 'folderMove' } + }, + fileRename: { + data: { action: 'fileRename' } + }, + folderRename: { + data: { action: 'folderRename' } + }, + fileRemove: { + data: { action: 'fileRemove' } + }, + folderRemove: { + data: { action: 'folderRemove' } + }, + items: { + data: { action: 'files' } + }, + folder: { + data: { action: 'folders' } + }, + permissions: { + data: { action: 'permissions' } } - getMessage(resp) { - return this.options.getMessage(resp); - } - isSuccess(resp) { - return this.options.isSuccess(resp); - } - destruct() { - this.ajaxInstances.forEach(a => a.destruct()); - this.ajaxInstances.clear(); +}; +config/* Config.prototype.controls.filebrowser */.D.prototype.controls.filebrowser = { + upload: { + icon: 'plus', + isInput: true, + isDisabled: (browser) => !browser.dataProvider.canI('FileUpload'), + getContent: (filebrowser) => { + const btn = new file/* UIFileInput */.Z(filebrowser, { + onlyImages: filebrowser.state.onlyImages + }); + filebrowser.e.fire('bindUploader.filebrowser', btn.container); + return btn.container; + } + }, + remove: { + icon: 'bin', + isDisabled: (browser) => { + return (!browser.state.activeElements.length || + !browser.dataProvider.canI('FileRemove')); + }, + exec: (editor) => { + editor.e.fire('fileRemove.filebrowser'); + } + }, + update: { + exec: (editor) => { + editor.e.fire('update.filebrowser'); + } + }, + select: { + icon: 'check', + isDisabled: (browser) => !browser.state.activeElements.length, + exec: (editor) => { + editor.e.fire('select.filebrowser'); + } + }, + edit: { + icon: 'pencil', + isDisabled: (browser) => { + const selected = browser.state.activeElements; + return (selected.length !== 1 || + !selected[0].isImage || + !(browser.dataProvider.canI('ImageCrop') || + browser.dataProvider.canI('ImageResize'))); + }, + exec: editor => { + editor.e.fire('edit.filebrowser'); + } + }, + tiles: { + icon: 'th', + isActive: (filebrowser) => filebrowser.state.view === 'tiles', + exec: (filebrowser) => { + filebrowser.e.fire('view.filebrowser', 'tiles'); + } + }, + list: { + icon: 'th-list', + isActive: (filebrowser) => filebrowser.state.view === 'list', + exec: (filebrowser) => { + filebrowser.e.fire('view.filebrowser', 'list'); + } + }, + filter: { + isInput: true, + getContent: (filebrowser, _, b) => { + const oldInput = b.container.querySelector('.jodit-input'); + if (oldInput) { + return oldInput; + } + const input = filebrowser.c.element('input', { + class: 'jodit-input', + placeholder: filebrowser.i18n('Filter') + }); + input.value = filebrowser.state.filterWord; + filebrowser.e.on(input, 'keydown mousedown', filebrowser.async.debounce(() => { + filebrowser.e.fire('filter.filebrowser', input.value); + }, filebrowser.defaultTimeout)); + return input; + } + }, + sort: { + isInput: true, + getContent: (fb) => { + const select = fb.c.fromHTML(''); + select.value = fb.state.sortBy; + fb.e + .on('sort.filebrowser', (value) => { + if (select.value !== value) { + select.value = value; + } + }) + .on(select, 'change', () => { + fb.e.fire('sort.filebrowser', select.value); + }); + return select; + } } }; -DataProvider = (0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], DataProvider); -/* harmony default export */ var data_provider = (DataProvider); -// EXTERNAL MODULE: ./src/modules/context-menu/context-menu.ts -var context_menu = __webpack_require__(82616); -;// CONCATENATED MODULE: ./src/modules/file-browser/factories.ts +;// CONCATENATED MODULE: ./src/modules/file-browser/file-browser.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -13259,408 +12682,256 @@ var context_menu = __webpack_require__(82616); */ -function makeDataProvider(parent, options) { - return new data_provider(parent, options); -} -function makeContextMenu(parent) { - return new context_menu/* ContextMenu */.x(parent); -} -// EXTERNAL MODULE: ./src/core/helpers/normalize/index.ts + 8 modules -var normalize = __webpack_require__(57561); -// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); -;// CONCATENATED MODULE: ./src/modules/file-browser/builders/elements-map.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -const map = new WeakMap(); -const elementsMap = (view) => { - let result = map.get(view); - if (!result) { - result = {}; - map.set(view, result); - } - return result; -}; -;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/load-items.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -function loadItems(fb) { - fb.files.setMod('active', true); - fb.files.setMod('loading', true); - return fb.dataProvider - .items(fb.state.currentPath, fb.state.currentSource, { - sortBy: fb.state.sortBy, - onlyImages: fb.state.onlyImages, - filterWord: fb.state.filterWord - }) - .then(resp => { - if (resp) { - fb.state.elements = resp; - fb.state.activeElements = []; - } - }) - .catch(fb.status) - .finally(() => fb.files.setMod('loading', false)); -} -;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/load-tree.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -async function loadTree(fb) { - fb.tree.setMod('active', true); - dom/* Dom.detach */.i.detach(fb.tree.container); - const items = loadItems(fb); - if (fb.o.showFoldersPanel) { - fb.tree.setMod('loading', true); - const tree = fb.dataProvider - .tree(fb.state.currentPath, fb.state.currentSource) - .then(resp => { - fb.state.sources = resp; - }) - .catch(fb.status) - .finally(() => fb.tree.setMod('loading', false)); - return Promise.all([tree, items]); - } - fb.tree.setMod('active', false); - return items; -} -;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/state-listeners.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -const state_listeners_DEFAULT_SOURCE_NAME = 'default'; -function stateListeners() { - const elmMap = elementsMap(this); - const { state, files, create, options } = this, getDomElement = (item) => { - const key = item.uniqueHashKey; - if (elmMap[key]) { - return elmMap[key].elm; - } - const elm = create.fromHTML(options.getThumbTemplate.call(this, item, item.source, item.sourceName.toString())); - elm.dataset.key = key; - elmMap[key] = { - item, - elm + + + + + + + + +let FileBrowser = class FileBrowser extends view_with_toolbar/* ViewWithToolbar */.C { + className() { + return 'Filebrowser'; + } + onSelect(callback) { + return () => { + if (this.state.activeElements.length) { + const files = []; + const isImages = []; + this.state.activeElements.forEach(elm => { + const url = elm.fileURL; + if (url) { + files.push(url); + isImages.push(elm.isImage || false); + } + }); + this.close(); + const data = { + baseurl: '', + files, + isImages + }; + if ((0,helpers.isFunction)(callback)) { + callback(data); + } + this.close(); + } + return false; }; - return elmMap[key].elm; - }; - state - .on(['change.currentPath', 'change.currentSource'], this.async.debounce(() => { - if (this.o.saveStateInStorage && - this.o.saveStateInStorage.storeLastOpenedFolder) { - this.storage - .set('currentPath', this.state.currentPath) - .set('currentSource', this.state.currentSource); - } - loadTree(this).catch(this.status); - }, this.defaultTimeout)) - .on('beforeChange.activeElements', () => { - state.activeElements.forEach(item => { - const key = item.uniqueHashKey, { elm } = elmMap[key]; - elm && - elm.classList.remove(files.getFullElName('item', 'active', true)); - }); - }) - .on('change.activeElements', () => { - this.e.fire('changeSelection'); - state.activeElements.forEach(item => { - const key = item.uniqueHashKey, { elm } = elmMap[key]; - elm && - elm.classList.add(files.getFullElName('item', 'active', true)); - }); - }) - .on('change.view', () => { - files.setMod('view', state.view); - if (this.o.saveStateInStorage && - this.o.saveStateInStorage.storeView) { - this.storage.set('view', state.view); - } - }) - .on('change.sortBy', () => { - if (this.o.saveStateInStorage && - this.o.saveStateInStorage.storeSortBy) { - this.storage.set('sortBy', state.sortBy); + } + get isOpened() { + return this._dialog.isOpened && this.browser.style.display !== 'none'; + } + status(message, success) { + if (!message || (0,helpers.isAbort)(message)) { + return; } - }) - .on('change.elements', this.async.debounce(() => { - dom/* Dom.detach */.i.detach(files.container); - if (state.elements.length) { - state.elements.forEach(item => { - this.files.container.appendChild(getDomElement(item)); - }); + if (!(0,helpers.isString)(message)) { + message = message.message; } - else { - files.container.appendChild(create.div(this.componentName + '_no-files_true', this.i18n('There are no files'))); + if (!(0,helpers.isString)(message) || !(0,helpers.trim)(message).length) { + return; } - }, this.defaultTimeout)) - .on('change.sources', this.async.debounce(() => { - dom/* Dom.detach */.i.detach(this.tree.container); - state.sources.forEach(source => { - const sourceName = source.name; - if (sourceName && sourceName !== state_listeners_DEFAULT_SOURCE_NAME) { - this.tree.container.appendChild(create.div(this.tree.getFullElName('source-title'), sourceName)); + this.message.message(message, success ? 'success' : 'error', this.o.howLongShowMsg); + } + open(callback = this.o + .defaultCallback, onlyImages = false) { + this.state.onlyImages = onlyImages; + return this.async.promise((resolve, reject) => { + var _a; + if (!this.o.items || !this.o.items.url) { + throw (0,helpers.error)('Need set options.filebrowser.ajax.url'); } - source.folders.forEach((name) => { - const folderElm = create.a(this.tree.getFullElName('item'), { - draggable: 'draggable', - href: '#', - 'data-path': (0,normalize/* normalizePath */.AH)(source.path, name + '/'), - 'data-name': name, - 'data-source': sourceName, - 'data-source-path': source.path - }, create.span(this.tree.getFullElName('item-title'), name)); - const action = (actionName) => (e) => { - this.e.fire(`${actionName}.filebrowser`, { - name, - path: (0,normalize/* normalizePath */.AH)(source.path + '/'), - source: sourceName - }); - e.stopPropagation(); - e.preventDefault(); - }; - this.e.on(folderElm, 'click', action('openFolder')); - this.tree.container.appendChild(folderElm); - if (name === '..' || name === '.') { - return; - } - if (options.renameFolder && - this.dataProvider.canI('FolderRename')) { - const btn = (0,ui/* Button */.zx)(this, { - icon: { name: 'pencil' }, - name: 'rename', - tooltip: 'Rename', - size: 'tiny' - }); - btn.onAction(action('renameFolder')); - folderElm.appendChild(btn.container); - } - if (options.deleteFolder && - this.dataProvider.canI('FolderRemove')) { - const btn = (0,ui/* Button */.zx)(this, { - icon: { name: 'cancel' }, - name: 'remove', - tooltip: 'Delete', - size: 'tiny' - }); - btn.onAction(action('removeFolder')); - folderElm.appendChild(btn.container); + let localTimeout = 0; + this.e + .off(this.files.container, 'dblclick') + .on(this.files.container, 'dblclick', this.onSelect(callback)) + .on(this.files.container, 'touchstart', () => { + const now = new Date().getTime(); + if (now - localTimeout < constants.EMULATE_DBLCLICK_TIMEOUT) { + this.onSelect(callback)(); } - }); - if (options.createNewFolder && - this.dataProvider.canI('FolderCreate')) { - const button = (0,ui/* Button */.zx)(this, 'plus', 'Add folder', 'secondary'); - button.onAction(() => { - this.e.fire('addFolder', { - path: (0,normalize/* normalizePath */.AH)(source.path + '/'), - source: sourceName - }); - }); - this.tree.append(button); - } + localTimeout = now; + }) + .off('select.filebrowser') + .on('select.filebrowser', this.onSelect(callback)); + const header = this.c.div(); + this.toolbar.build((_a = this.o.buttons) !== null && _a !== void 0 ? _a : []).appendTo(header); + this._dialog.open(this.browser, header); + this.e.fire('sort.filebrowser', this.state.sortBy); + loadTree(this).then(resolve, reject); }); - }, this.defaultTimeout)); -} - -// EXTERNAL MODULE: ./src/modules/image-editor/image-editor.ts + 2 modules -var image_editor = __webpack_require__(37113); -;// CONCATENATED MODULE: ./src/modules/file-browser/fetch/delete-file.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -function deleteFile(fb, name, source) { - return fb.dataProvider - .fileRemove(fb.state.currentPath, name, source) - .then(message => { - fb.status(message || fb.i18n('File "%s" was deleted', name), true); - }) - .catch(fb.status); -} - -;// CONCATENATED MODULE: ./src/modules/file-browser/builders/context-menu.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - - - - -const CLASS_PREVIEW = 'jodit-filebrowser-preview', preview_tpl_next = (next = 'next', right = 'right') => `
` + - '' + - ui/* Icon.get */.JO.get('angle-' + right) + - ''; -/* harmony default export */ var builders_context_menu = ((self) => { - if (!self.o.contextMenu) { - return () => { }; } - const contextmenu = makeContextMenu(self); - return (e) => { - const a = getItem(e.target, self.container); - if (!a) { - return; - } - let item = a; - const opt = self.options, ga = (key) => (0,helpers.attr)(item, key) || ''; - self.async.setTimeout(() => { - const selectedItem = elementToItem(a, elementsMap(self)); - if (!selectedItem) { + initUploader(editor) { + var _a; + const self = this, options = (_a = editor === null || editor === void 0 ? void 0 : editor.options) === null || _a === void 0 ? void 0 : _a.uploader, uploaderOptions = (0,helpers.ConfigProto)(options || {}, config/* Config.defaultOptions.uploader */.D.defaultOptions.uploader); + const uploadHandler = () => loadItems(this); + self.uploader = self.getInstance('Uploader', uploaderOptions); + self.uploader + .setPath(self.state.currentPath) + .setSource(self.state.currentSource) + .bind(self.browser, uploadHandler, self.errorHandler); + this.state.on(['change.currentPath', 'change.currentSource'], () => { + this.uploader + .setPath(this.state.currentPath) + .setSource(this.state.currentSource); + }); + self.e.on('bindUploader.filebrowser', (button) => { + self.uploader.bind(button, uploadHandler, self.errorHandler); + }); + } + constructor(options) { + var _a; + super(options); + this.browser = this.c.div(this.componentName); + this.status_line = this.c.div(this.getFullElName('status')); + this.tree = new FileBrowserTree(this); + this.files = new FileBrowserFiles(this); + this.state = (0,event_emitter/* observable */.LO)({ + currentPath: '', + currentSource: DEFAULT_SOURCE_NAME, + currentBaseUrl: '', + activeElements: [], + elements: [], + sources: [], + view: 'tiles', + sortBy: 'changed-desc', + filterWord: '', + onlyImages: false + }); + this.errorHandler = (resp) => { + if ((0,helpers.isAbort)(resp)) { return; } - self.state.activeElements = [selectedItem]; - contextmenu.show(e.clientX, e.clientY, [ - ga('data-is-file') !== '1' && - opt.editImage && - (self.dataProvider.canI('ImageResize') || - self.dataProvider.canI('ImageCrop')) - ? { - icon: 'pencil', - title: 'Edit', - exec: () => image_editor/* openImageEditor.call */.r.call(self, ga('href'), ga('data-name'), ga('data-path'), ga('data-source')) - } - : false, - self.dataProvider.canI('FileRename') - ? { - icon: 'italic', - title: 'Rename', - exec: () => { - self.e.fire('fileRename.filebrowser', ga('data-name'), ga('data-path'), ga('data-source')); - } - } - : false, - self.dataProvider.canI('FileRemove') - ? { - icon: 'bin', - title: 'Delete', - exec: async () => { - try { - await deleteFile(self, ga('data-name'), ga('data-source')); - } - catch (e) { - return self.status(e); - } - self.state.activeElements = []; - return loadTree(self).catch(self.status); - } - } - : false, - opt.preview - ? { - icon: 'eye', - title: 'Preview', - exec: () => { - const preview = self.dlg({ - buttons: ['fullsize', 'dialog.close'] - }), temp_content = self.c.div(CLASS_PREVIEW, '
'), preview_box = self.c.div(CLASS_PREVIEW + '__box'), next = self.c.fromHTML(preview_tpl_next()), prev = self.c.fromHTML(preview_tpl_next('prev', 'left')), addLoadHandler = (src) => { - const image = self.c.element('img'); - image.setAttribute('src', src); - const onload = () => { - var _a; - if (self.isInDestruct) { - return; - } - self.e.off(image, 'load'); - dom/* Dom.detach */.i.detach(temp_content); - if (opt.showPreviewNavigation) { - if (dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item'))) { - temp_content.appendChild(prev); - } - if (dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item'))) { - temp_content.appendChild(next); - } - } - temp_content.appendChild(preview_box); - preview_box.appendChild(image); - preview.setPosition(); - (_a = self === null || self === void 0 ? void 0 : self.events) === null || _a === void 0 ? void 0 : _a.fire('previewOpenedAndLoaded'); - }; - self.e.on(image, 'load', onload); - if (image.complete) { - onload(); - } - }; - self.e.on([next, prev], 'click', function () { - if (this === next) { - item = dom/* Dom.nextWithClass */.i.nextWithClass(item, self.files.getFullElName('item')); - } - else { - item = dom/* Dom.prevWithClass */.i.prevWithClass(item, self.files.getFullElName('item')); - } - if (!item) { - throw (0,helpers.error)('Need element'); - } - dom/* Dom.detach */.i.detach(temp_content); - dom/* Dom.detach */.i.detach(preview_box); - temp_content.innerHTML = - '
'; - addLoadHandler(ga('href')); - }); - self.e.on('beforeDestruct', () => { - preview.destruct(); - }); - preview.container.classList.add(CLASS_PREVIEW + '__dialog'); - preview.setContent(temp_content); - preview.setPosition(); - preview.open(); - addLoadHandler(ga('href')); - self.events - .on('beforeDestruct', () => { - preview.destruct(); - }) - .fire('previewOpened'); - } - } - : false, - { - icon: 'upload', - title: 'Download', - exec: () => { - const url = ga('href'); - if (url) { - self.ow.open(url); - } - } - } - ]); - }, self.defaultTimeout); - self.e - .on('beforeClose', () => contextmenu.close()) - .on('beforeDestruct', () => contextmenu.destruct()); - e.stopPropagation(); - e.preventDefault(); - return false; - }; -}); + if (resp instanceof Error) { + this.status(this.i18n(resp.message)); + } + else { + this.status(this.dataProvider.getMessage(resp)); + } + }; + this.close = () => { + this._dialog.close(); + }; + this.attachEvents(options); + const self = this; + self.options = (0,helpers.ConfigProto)(options || {}, config/* Config.defaultOptions.filebrowser */.D.defaultOptions.filebrowser); + self.storage = storage/* Storage.makeStorage */.Ke.makeStorage(Boolean(this.o.saveStateInStorage), this.componentName); + self.dataProvider = makeDataProvider(self, self.options); + self._dialog = this.dlg({ + minWidth: Math.min(700, screen.width), + minHeight: 300, + buttons: (_a = this.o.headerButtons) !== null && _a !== void 0 ? _a : ['fullsize', 'dialog.close'] + }); + this.proxyDialogEvents(self); + self.browser.component = this; + self.container = self.browser; + if (self.o.showFoldersPanel) { + self.browser.appendChild(self.tree.container); + } + self.browser.appendChild(self.files.container); + self.browser.appendChild(self.status_line); + selfListeners.call(self); + nativeListeners.call(self); + stateListeners.call(self); + self._dialog.setSize(self.o.width, self.o.height); + const keys = [ + 'getLocalFileByUrl', + 'crop', + 'resize', + 'create', + 'fileMove', + 'folderMove', + 'fileRename', + 'folderRename', + 'fileRemove', + 'folderRemove', + 'folder', + 'items', + 'permissions' + ]; + keys.forEach(key => { + if (this.options[key] != null) { + this.options[key] = (0,helpers.ConfigProto)(this.options[key], this.o.ajax); + } + }); + const { storeView, storeSortBy, storeLastOpenedFolder } = this.o + .saveStateInStorage || { + storeLastOpenedFolder: false, + storeView: false, + storeSortBy: false + }; + const view = storeView && this.storage.get('view'); + if (view && this.o.view == null) { + self.state.view = view === 'list' ? 'list' : 'tiles'; + } + else { + self.state.view = self.o.view === 'list' ? 'list' : 'tiles'; + } + self.files.setMod('view', self.state.view); + const sortBy = storeSortBy && self.storage.get('sortBy'); + if (sortBy) { + const parts = sortBy.split('-'); + self.state.sortBy = ['changed', 'name', 'size'].includes(parts[0]) + ? sortBy + : 'changed-desc'; + } + else { + self.state.sortBy = self.o.sortBy || 'changed-desc'; + } + if (storeLastOpenedFolder) { + const currentPath = self.storage.get('currentPath'), currentSource = self.storage.get('currentSource'); + self.state.currentPath = currentPath !== null && currentPath !== void 0 ? currentPath : ''; + self.state.currentSource = currentSource !== null && currentSource !== void 0 ? currentSource : ''; + } + self.initUploader(self); + self.setStatus(component/* STATUSES.ready */.n$.ready); + } + proxyDialogEvents(self) { + ['afterClose', 'beforeOpen'].forEach(proxyEvent => { + self._dialog.events.on(self.dlg, proxyEvent, () => { + this.e.fire(proxyEvent); + }); + }); + } + destruct() { + if (this.isInDestruct) { + return; + } + super.destruct(); + this._dialog.destruct(); + this.events && this.e.off('.filebrowser'); + this.uploader && this.uploader.destruct(); + } +}; +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], FileBrowser.prototype, "status", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], FileBrowser.prototype, "open", null); +FileBrowser = (0,tslib_es6/* __decorate */.gn)([ + (0,decorators.derive)(traits/* Dlgs */.lf) +], FileBrowser); -;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/native-listeners.ts +function isFileBrowserFilesItem(target) { + return (dom/* Dom.isElement */.i.isElement(target) && + target.classList.contains(FileBrowserFiles.prototype.getFullElName('item'))); +} + +;// CONCATENATED MODULE: ./src/modules/file-browser/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -13669,98 +12940,151 @@ const CLASS_PREVIEW = 'jodit-filebrowser-preview', preview_tpl_next = (next = 'n +/***/ }), +/***/ 99583: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -const getItem = (node, root, tag = 'a') => dom/* Dom.closest */.i.closest(node, elm => dom/* Dom.isTag */.i.isTag(elm, tag), root); -const elementToItem = (elm, elementsMap) => { - const { key } = elm.dataset, { item } = elementsMap[key || '']; - return item; -}; -function nativeListeners() { - let dragElement = false; - const elmMap = elementsMap(this); - const self = this; - self.e - .on(self.tree.container, 'dragstart', (e) => { - const a = getItem(e.target, self.container); - if (!a) { - return; - } - if (self.o.moveFolder) { - dragElement = a; - } - }) - .on(self.tree.container, 'drop', (e) => { - if ((self.o.moveFile || self.o.moveFolder) && dragElement) { - let path = (0,helpers.attr)(dragElement, '-path') || ''; - if (!self.o.moveFolder && - dragElement.classList.contains(this.tree.getFullElName('item'))) { - return false; - } - if (dragElement.classList.contains(this.files.getFullElName('item'))) { - path += (0,helpers.attr)(dragElement, '-name'); - if (!self.o.moveFile) { - return false; - } - } - const a = getItem(e.target, self.container); - if (!a) { - return; - } - self.dataProvider - .move(path, (0,helpers.attr)(a, '-path') || '', (0,helpers.attr)(a, '-source') || '', dragElement.classList.contains(this.files.getFullElName('item'))) - .then(() => loadTree(this)) - .catch(self.status); - dragElement = false; - } - }) - .on(self.files.container, 'contextmenu', builders_context_menu(self)) - .on(self.files.container, 'click', (e) => { - if (!(0,helpers.ctrlKey)(e)) { - this.state.activeElements = []; - } - }) - .on(self.files.container, 'click', (e) => { - const a = getItem(e.target, self.container); - if (!a) { - return; - } - const item = elementToItem(a, elmMap); - if (!item) { - return; - } - if (!(0,helpers.ctrlKey)(e)) { - self.state.activeElements = [item]; - } - else { - self.state.activeElements = [ - ...self.state.activeElements, - item - ]; - } - e.stopPropagation(); - return false; - }) - .on(self.files.container, 'dragstart', (e) => { - if (self.o.moveFile) { - const a = getItem(e.target, self.container); - if (!a) { - return; - } - dragElement = a; - } - }) - .on(self.container, 'drop', (e) => e.preventDefault()); -} +"use strict"; -// EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 7 modules -var checker = __webpack_require__(43435); -;// CONCATENATED MODULE: ./src/modules/file-browser/listeners/self-listeners.ts +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "v": function() { return /* binding */ ImageEditor; }, + "r": function() { return /* binding */ openImageEditor; } +}); + +// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js +var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/config.ts +var config = __webpack_require__(93166); +// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules +var component = __webpack_require__(90549); +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +// EXTERNAL MODULE: ./src/core/dom/index.ts +var dom = __webpack_require__(64968); +// EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules +var ui_button = __webpack_require__(55310); +// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules +var ui = __webpack_require__(93801); +;// CONCATENATED MODULE: ./src/modules/image-editor/templates/form.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + +const jie = 'jodit-image-editor'; +const gi = ui/* Icon.get.bind */.JO.get.bind(ui/* Icon */.JO); +const act = (el, className = 'jodti-image-editor_active') => el ? className : ''; +const form_form = (editor, o) => { + const i = editor.i18n.bind(editor); + const switcher = (label, ref, active = true) => `
+ + + +
`; + return editor.create.fromHTML(`
+
+
+ ${o.resize + ? `
+
+
+ +
+
` + : ''} + ${o.crop + ? `
+
+
+ + +
+
+
` + : ''} +
+
+ ${o.resize + ? `
+
+ ${gi('resize')} + ${i('Resize')} +
+
+
+ + +
+
+ + +
+ ${switcher('Keep Aspect Ratio', 'keepAspectRatioResize')} +
+
` + : ''} + ${o.crop + ? `
+
+ ${gi('crop')} + ${i('Crop')} +
+
+ ${switcher('Keep Aspect Ratio', 'keepAspectRatioCrop')} +
+
` + : ''} +
+
+
`); +}; + +// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules +var decorators = __webpack_require__(67493); +// EXTERNAL MODULE: ./src/core/ui/icon.ts +var icon = __webpack_require__(77904); +;// CONCATENATED MODULE: ./src/modules/image-editor/config.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +config/* Config.prototype.imageeditor */.D.prototype.imageeditor = { + min_width: 20, + min_height: 20, + closeAfterSave: false, + width: '85%', + height: '85%', + crop: true, + resize: true, + resizeUseRatio: true, + resizeMinWidth: 20, + resizeMinHeight: 20, + cropUseRatio: true, + cropDefaultWidth: '70%', + cropDefaultHeight: '70%' +}; +icon/* Icon.set */.J.set('crop', __webpack_require__(3610)).set('resize', __webpack_require__(56170)); + +;// CONCATENATED MODULE: ./src/modules/image-editor/image-editor.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +var ImageEditor_1; @@ -13768,488 +13092,633 @@ var checker = __webpack_require__(43435); -function selfListeners() { - const state = this.state, dp = this.dataProvider, self = this; - self.e - .on('view.filebrowser', (view) => { - if (view !== state.view) { - state.view = view; + + + +const image_editor_jie = 'jodit-image-editor'; +const TABS = { + resize: 'resize', + crop: 'crop' +}; +let ImageEditor = ImageEditor_1 = class ImageEditor extends component/* ViewComponent */.Hr { + className() { + return 'ImageEditor'; + } + onTitleModeClick(e) { + const self = this, title = e.target; + const slide = title === null || title === void 0 ? void 0 : title.parentElement; + if (!slide) { + return; } - }) - .on('sort.filebrowser', (value) => { - if (value !== state.sortBy) { - state.sortBy = value; - loadItems(self); + (0,helpers.$$)(`.${image_editor_jie}__slider,.${image_editor_jie}__area`, self.editor).forEach(elm => elm.classList.remove(`${image_editor_jie}_active`)); + slide.classList.add(`${image_editor_jie}_active`); + this.activeTab = (0,helpers.attr)(slide, '-area') || TABS.resize; + const tab = self.editor.querySelector(`.${image_editor_jie}__area.${image_editor_jie}__area_` + self.activeTab); + if (tab) { + tab.classList.add(`${image_editor_jie}_active`); } - }) - .on('filter.filebrowser', (value) => { - if (value !== state.filterWord) { - state.filterWord = value; - loadItems(self); + if (self.activeTab === TABS.crop) { + self.showCrop(); } - }) - .on('openFolder.filebrowser', (data) => { - let path; - if (data.name === '..') { - path = data.path - .split('/') - .filter((p) => p.length) - .slice(0, -1) - .join('/'); + } + onChangeSizeInput(e) { + const self = this, input = e.target, { widthInput, heightInput } = (0,helpers.refs)(this.editor), isWidth = (0,helpers.attr)(input, 'data-ref') === 'widthInput', x = parseInt(input.value, 10), minX = isWidth ? self.o.min_width : self.o.min_height, minY = !isWidth ? self.o.min_width : self.o.min_height; + let y; + if (x > minX) { + (0,helpers.css)(self.image, isWidth ? 'width' : 'height', x); + if (self.resizeUseRatio) { + y = isWidth + ? Math.round(x / self.ratio) + : Math.round(x * self.ratio); + if (y > minY) { + (0,helpers.css)(self.image, !isWidth ? 'width' : 'height', y); + if (isWidth) { + heightInput.value = y.toString(); + } + else { + widthInput.value = y.toString(); + } + } + } + } + this.j.e.fire(self.resizeHandler, 'updatesize'); + } + onResizeHandleMouseDown(e) { + const self = this; + self.target = e.target; + e.preventDefault(); + e.stopImmediatePropagation(); + self.clicked = true; + self.start_x = e.clientX; + self.start_y = e.clientY; + if (self.activeTab === TABS.crop) { + self.top_x = (0,helpers.css)(self.cropHandler, 'left'); + self.top_y = (0,helpers.css)(self.cropHandler, 'top'); + self.width = self.cropHandler.offsetWidth; + self.height = self.cropHandler.offsetHeight; } else { - path = (0,helpers.normalizePath)(data.path, data.name); + self.width = self.image.offsetWidth; + self.height = self.image.offsetHeight; } - self.state.currentPath = path; - self.state.currentSource = - data.name === '.' ? DEFAULT_SOURCE_NAME : data.source; - }) - .on('removeFolder.filebrowser', (data) => { - self.confirm('Are you sure?', 'Delete', (yes) => { - if (yes) { - dp.folderRemove(data.path, data.name, data.source) - .then(message => { - self.status(message, true); - return loadTree(self); - }) - .catch(self.status); - } - }); - }) - .on('renameFolder.filebrowser', (data) => { - self.prompt('Enter new name', 'Rename', (newName) => { - if (!(0,checker/* isValidName */.r1)(newName)) { - self.status(self.i18n('Enter new name')); - return false; - } - dp.folderRename(data.path, data.name, newName, data.source) - .then(message => { - self.state.activeElements = []; - self.status(message, true); - return loadTree(self); - }) - .catch(self.status); - return; - }, 'type name', data.name); - }) - .on('addFolder.filebrowser', (data) => { - self.prompt('Enter Directory name', 'Create directory', (name) => { - dp.createFolder(name, data.path, data.source) - .then(() => loadTree(self)) - .catch(self.status); - }, 'type name'); - }) - .on('fileRemove.filebrowser', () => { - if (self.state.activeElements.length) { - self.confirm('Are you sure?', '', (yes) => { - if (yes) { - const promises = []; - self.state.activeElements.forEach(item => { - promises.push(deleteFile(self, item.file || item.name || '', item.sourceName)); - }); - self.state.activeElements = []; - Promise.all(promises).then(() => loadTree(self).catch(self.status), self.status); - } - }); - } - }) - .on('edit.filebrowser', () => { - if (self.state.activeElements.length === 1) { - const [file] = this.state.activeElements; - image_editor/* openImageEditor.call */.r.call(self, file.fileURL, file.file || '', file.path, file.sourceName); - } - }) - .on('fileRename.filebrowser', (name, path, source) => { - if (self.state.activeElements.length === 1) { - self.prompt('Enter new name', 'Rename', (newName) => { - if (!(0,checker/* isValidName */.r1)(newName)) { - self.status(self.i18n('Enter new name')); - return false; - } - dp.fileRename(path, name, newName, source) - .then(message => { - self.state.activeElements = []; - self.status(message, true); - loadItems(self); - }) - .catch(self.status); - return; - }, 'type name', name); - } - }) - .on('update.filebrowser', () => { - loadTree(this).then(this.status, this.status); - }); -} - -;// CONCATENATED MODULE: ./src/modules/file-browser/ui/files/files.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -class FileBrowserFiles extends ui/* UIGroup */.qe { - className() { - return 'FilebrowserFiles'; - } -} - -;// CONCATENATED MODULE: ./src/modules/file-browser/ui/tree/tree.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -class FileBrowserTree extends ui/* UIGroup */.qe { - className() { - return 'FilebrowserTree'; + self.j.e + .on(this.j.ow, 'mousemove', this.onGlobalMouseMove) + .one(this.j.ow, 'mouseup', this.onGlobalMouseUp); } -} - -;// CONCATENATED MODULE: ./src/modules/file-browser/ui/index.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - -// EXTERNAL MODULE: ./src/core/event-emitter/index.ts + 2 modules -var event_emitter = __webpack_require__(18122); -// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules -var component = __webpack_require__(2624); -// EXTERNAL MODULE: ./src/core/traits/index.ts + 3 modules -var traits = __webpack_require__(63711); -// EXTERNAL MODULE: ./src/core/view/view-with-toolbar.ts -var view_with_toolbar = __webpack_require__(67555); -// EXTERNAL MODULE: ./src/core/ui/form/inputs/file/file.ts -var file = __webpack_require__(32460); -// EXTERNAL MODULE: ./src/core/helpers/utils/human-size-to-bytes.ts -var human_size_to_bytes = __webpack_require__(24891); -;// CONCATENATED MODULE: ./src/modules/file-browser/config.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - -config/* Config.prototype.filebrowser */.D.prototype.filebrowser = { - namespace: '', - extraButtons: [], - filter(item, search) { - search = search.toLowerCase(); - if ((0,checker/* isString */.HD)(item)) { - return item.toLowerCase().indexOf(search) !== -1; - } - if ((0,checker/* isString */.HD)(item.name)) { - return item.name.toLowerCase().indexOf(search) !== -1; + onGlobalMouseUp(e) { + if (this.clicked) { + this.clicked = false; + e.stopImmediatePropagation(); + this.j.e.off(this.j.ow, 'mousemove', this.onGlobalMouseMove); } - if ((0,checker/* isString */.HD)(item.file)) { - return item.file.toLowerCase().indexOf(search) !== -1; + } + onGlobalMouseMove(e) { + const self = this; + if (!self.clicked) { + return; } - return true; - }, - sortBy: 'changed-desc', - sort(a, b, sortBy) { - const [sortAttr, arrow] = sortBy.toLowerCase().split('-'), asc = arrow === 'asc'; - const compareStr = (f, s) => { - if (f < s) { - return asc ? -1 : 1; + const { widthInput, heightInput } = (0,helpers.refs)(this.editor); + self.diff_x = e.clientX - self.start_x; + self.diff_y = e.clientY - self.start_y; + if ((self.activeTab === TABS.resize && self.resizeUseRatio) || + (self.activeTab === TABS.crop && self.cropUseRatio)) { + if (self.diff_x) { + self.new_w = self.width + self.diff_x; + self.new_h = Math.round(self.new_w / self.ratio); } - if (f > s) { - return asc ? 1 : -1; + else { + self.new_h = self.height + self.diff_y; + self.new_w = Math.round(self.new_h * self.ratio); } - return 0; - }; - if ((0,checker/* isString */.HD)(a)) { - return compareStr(a.toLowerCase(), b.toLowerCase()); } - if (a[sortAttr] === undefined || sortAttr === 'name') { - if ((0,checker/* isString */.HD)(a.name)) { - return compareStr(a.name.toLowerCase(), b.name.toLowerCase()); + else { + self.new_w = self.width + self.diff_x; + self.new_h = self.height + self.diff_y; + } + if (self.activeTab === TABS.resize) { + if (self.new_w > self.o.resizeMinWidth) { + (0,helpers.css)(self.image, 'width', self.new_w + 'px'); + widthInput.value = self.new_w.toString(); } - if ((0,checker/* isString */.HD)(a.file)) { - return compareStr(a.file.toLowerCase(), b.file.toLowerCase()); + if (self.new_h > self.o.resizeMinHeight) { + (0,helpers.css)(self.image, 'height', self.new_h + 'px'); + heightInput.value = self.new_h.toString(); } - return 0; + this.j.e.fire(self.resizeHandler, 'updatesize'); } - switch (sortAttr) { - case 'changed': { - const f = new Date(a.changed).getTime(), s = new Date(b.changed).getTime(); - return asc ? f - s : s - f; + else { + if (self.target !== self.cropHandler) { + if (self.top_x + self.new_w > self.cropImage.offsetWidth) { + self.new_w = self.cropImage.offsetWidth - self.top_x; + } + if (self.top_y + self.new_h > self.cropImage.offsetHeight) { + self.new_h = self.cropImage.offsetHeight - self.top_y; + } + (0,helpers.css)(self.cropHandler, { + width: self.new_w, + height: self.new_h + }); } - case 'size': { - const f = (0,human_size_to_bytes/* humanSizeToBytes */.w)(a.size), s = (0,human_size_to_bytes/* humanSizeToBytes */.w)(b.size); - return asc ? f - s : s - f; + else { + if (self.top_x + self.diff_x + self.cropHandler.offsetWidth > + self.cropImage.offsetWidth) { + self.diff_x = + self.cropImage.offsetWidth - + self.top_x - + self.cropHandler.offsetWidth; + } + (0,helpers.css)(self.cropHandler, 'left', self.top_x + self.diff_x); + if (self.top_y + self.diff_y + self.cropHandler.offsetHeight > + self.cropImage.offsetHeight) { + self.diff_y = + self.cropImage.offsetHeight - + self.top_y - + self.cropHandler.offsetHeight; + } + (0,helpers.css)(self.cropHandler, 'top', self.top_y + self.diff_y); } + this.j.e.fire(self.cropHandler, 'updatesize'); } - return 0; - }, - editImage: true, - preview: true, - showPreviewNavigation: true, - showSelectButtonInPreview: true, - contextMenu: true, - howLongShowMsg: 3000, - createNewFolder: true, - deleteFolder: true, - renameFolder: true, - moveFolder: true, - moveFile: true, - showFoldersPanel: true, - storeLastOpenedFolder: true, - width: 859, - height: 400, - buttons: [ - 'filebrowser.upload', - 'filebrowser.remove', - 'filebrowser.update', - 'filebrowser.select', - 'filebrowser.edit', - '|', - 'filebrowser.tiles', - 'filebrowser.list', - '|', - 'filebrowser.filter', - '|', - 'filebrowser.sort' - ], - removeButtons: [], - fullsize: false, - showTooltip: true, - view: null, - isSuccess(resp) { - return resp.success; - }, - getMessage(resp) { - return resp.data.messages !== undefined && (0,checker/* isArray */.kJ)(resp.data.messages) - ? resp.data.messages.join(' ') - : ''; - }, - showFileName: true, - showFileSize: true, - showFileChangeTime: true, - saveStateInStorage: { - storeLastOpenedFolder: true, - storeView: true, - storeSortBy: true - }, - pixelOffsetLoadNewChunk: 200, - getThumbTemplate(item, source, source_name) { - const opt = this.options, IC = this.files.getFullElName('item'), showName = opt.showFileName, showSize = opt.showFileSize && item.size, showTime = opt.showFileChangeTime && item.time; - let name = ''; - if (item.file !== undefined) { - name = item.file; - } - const info = `
${showName ? `${name}` : ''}${showSize - ? `${item.size}` - : ''}${showTime - ? `${showTime}` - : ''}
`; - return ` - ${name} - ${showName || showSize || showTime ? info : ''} - `; - }, - ajax: { - ...config/* Config.prototype.defaultAjaxOptions */.D.prototype.defaultAjaxOptions, - url: '', - data: {}, - cache: true, - contentType: 'application/x-www-form-urlencoded; charset=UTF-8', - method: 'POST', - processData: true, - headers: {}, - prepareData(data) { - return data; - }, - process(resp) { - return resp; - } - }, - create: { - data: { action: 'folderCreate' } - }, - getLocalFileByUrl: { - data: { action: 'getLocalFileByUrl' } - }, - resize: { - data: { action: 'imageResize' } - }, - crop: { - data: { action: 'imageCrop' } - }, - fileMove: { - data: { action: 'fileMove' } - }, - folderMove: { - data: { action: 'folderMove' } - }, - fileRename: { - data: { action: 'fileRename' } - }, - folderRename: { - data: { action: 'folderRename' } - }, - fileRemove: { - data: { action: 'fileRemove' } - }, - folderRemove: { - data: { action: 'folderRemove' } - }, - items: { - data: { action: 'files' } - }, - folder: { - data: { action: 'folders' } - }, - permissions: { - data: { action: 'permissions' } } -}; -config/* Config.prototype.controls.filebrowser */.D.prototype.controls.filebrowser = { - upload: { - icon: 'plus', - isInput: true, - isDisabled: (browser) => !browser.dataProvider.canI('FileUpload'), - getContent: (filebrowser) => { - const btn = new file/* UIFileInput */.Z(filebrowser, { - onlyImages: filebrowser.state.onlyImages + get o() { + return this.options; + } + hide() { + this._dialog.close(); + } + open(url, save) { + return this.j.async.promise((resolve) => { + const timestamp = new Date().getTime(); + this.image = this.j.c.element('img'); + (0,helpers.$$)('img,.jodit-icon_loader', this.resize_box).forEach(dom/* Dom.safeRemove */.i.safeRemove); + (0,helpers.$$)('img,.jodit-icon_loader', this.crop_box).forEach(dom/* Dom.safeRemove */.i.safeRemove); + (0,helpers.css)(this.cropHandler, 'background', 'transparent'); + this.onSave = save; + this.resize_box.appendChild(this.j.c.element('i', { class: 'jodit-icon_loader' })); + this.crop_box.appendChild(this.j.c.element('i', { class: 'jodit-icon_loader' })); + if (/\?/.test(url)) { + url += '&_tst=' + timestamp; + } + else { + url += '?_tst=' + timestamp; + } + this.image.setAttribute('src', url); + this._dialog.open(); + const { widthInput, heightInput } = (0,helpers.refs)(this.editor); + const onload = () => { + if (this.isDestructed) { + return; + } + this.image.removeEventListener('load', onload); + this.naturalWidth = this.image.naturalWidth; + this.naturalHeight = this.image.naturalHeight; + widthInput.value = this.naturalWidth.toString(); + heightInput.value = this.naturalHeight.toString(); + this.ratio = this.naturalWidth / this.naturalHeight; + this.resize_box.appendChild(this.image); + this.cropImage = this.image.cloneNode(true); + this.crop_box.appendChild(this.cropImage); + dom/* Dom.safeRemove.apply */.i.safeRemove.apply(null, (0,helpers.$$)('.jodit-icon_loader', this.editor)); + if (this.activeTab === TABS.crop) { + this.showCrop(); + } + this.j.e.fire(this.resizeHandler, 'updatesize'); + this.j.e.fire(this.cropHandler, 'updatesize'); + this._dialog.setPosition(); + this.j.e.fire('afterImageEditor'); + resolve(this._dialog); + }; + this.image.addEventListener('load', onload); + if (this.image.complete) { + onload(); + } + }); + } + constructor(editor) { + super(editor); + this.resizeUseRatio = true; + this.cropUseRatio = true; + this.clicked = false; + this.start_x = 0; + this.start_y = 0; + this.top_x = 0; + this.top_y = 0; + this.width = 0; + this.height = 0; + this.activeTab = TABS.resize; + this.naturalWidth = 0; + this.naturalHeight = 0; + this.ratio = 0; + this.new_h = 0; + this.new_w = 0; + this.diff_x = 0; + this.diff_y = 0; + this.cropBox = { + x: 0, + y: 0, + w: 0, + h: 0 + }; + this.resizeBox = { + w: 0, + h: 0 + }; + this.calcCropBox = () => { + const node = this.crop_box.parentNode, w = node.offsetWidth * 0.8, h = node.offsetHeight * 0.8; + let wn = w, hn = h; + const { naturalWidth: nw, naturalHeight: nh } = this; + if (w > nw && h > nh) { + wn = nw; + hn = nh; + } + else if (this.ratio > w / h) { + wn = w; + hn = nh * (w / nw); + } + else { + wn = nw * (h / nh); + hn = h; + } + (0,helpers.css)(this.crop_box, { + width: wn, + height: hn }); - filebrowser.e.fire('bindUploader.filebrowser', btn.container); - return btn.container; - } - }, - remove: { - icon: 'bin', - isDisabled: (browser) => { - return (!browser.state.activeElements.length || - !browser.dataProvider.canI('FileRemove')); - }, - exec: (editor) => { - editor.e.fire('fileRemove.filebrowser'); - } - }, - update: { - exec: (editor) => { - editor.e.fire('update.filebrowser'); - } - }, - select: { - icon: 'check', - isDisabled: (browser) => !browser.state.activeElements.length, - exec: (editor) => { - editor.e.fire('select.filebrowser'); - } - }, - edit: { - icon: 'pencil', - isDisabled: (browser) => { - const selected = browser.state.activeElements; - return (selected.length !== 1 || - !selected[0].isImage || - !(browser.dataProvider.canI('ImageCrop') || - browser.dataProvider.canI('ImageResize'))); - }, - exec: editor => { - editor.e.fire('edit.filebrowser'); - } - }, - tiles: { - icon: 'th', - isActive: (filebrowser) => filebrowser.state.view === 'tiles', - exec: (filebrowser) => { - filebrowser.e.fire('view.filebrowser', 'tiles'); - } - }, - list: { - icon: 'th-list', - isActive: (filebrowser) => filebrowser.state.view === 'list', - exec: (filebrowser) => { - filebrowser.e.fire('view.filebrowser', 'list'); - } - }, - filter: { - isInput: true, - getContent: (filebrowser, _, b) => { - const oldInput = b.container.querySelector('.jodit-input'); - if (oldInput) { - return oldInput; + }; + this.showCrop = () => { + if (!this.cropImage) { + return; + } + this.calcCropBox(); + const w = this.cropImage.offsetWidth || + this.image.offsetWidth || + this.image.naturalWidth; + this.new_w = ImageEditor_1.calcValueByPercent(w, this.o.cropDefaultWidth); + const h = this.cropImage.offsetHeight || + this.image.offsetHeight || + this.image.naturalHeight; + if (this.cropUseRatio) { + this.new_h = this.new_w / this.ratio; } - const input = filebrowser.c.element('input', { - class: 'jodit-input', - placeholder: filebrowser.i18n('Filter') + else { + this.new_h = ImageEditor_1.calcValueByPercent(h, this.o.cropDefaultHeight); + } + (0,helpers.css)(this.cropHandler, { + backgroundImage: 'url(' + (0,helpers.attr)(this.cropImage, 'src') + ')', + width: this.new_w, + height: this.new_h, + left: w / 2 - this.new_w / 2, + top: h / 2 - this.new_h / 2 }); - input.value = filebrowser.state.filterWord; - filebrowser.e.on(input, 'keydown mousedown', filebrowser.async.debounce(() => { - filebrowser.e.fire('filter.filebrowser', input.value); - }, filebrowser.defaultTimeout)); - return input; - } - }, - sort: { - isInput: true, - getContent: (fb) => { - const select = fb.c.fromHTML(''); - select.value = fb.state.sortBy; - fb.e - .on('sort.filebrowser', (value) => { - if (select.value !== value) { - select.value = value; - } + this.j.e.fire(this.cropHandler, 'updatesize'); + }; + this.updateCropBox = () => { + if (!this.cropImage) { + return; + } + const ratioX = this.cropImage.offsetWidth / this.naturalWidth, ratioY = this.cropImage.offsetHeight / this.naturalHeight; + this.cropBox.x = (0,helpers.css)(this.cropHandler, 'left') / ratioX; + this.cropBox.y = (0,helpers.css)(this.cropHandler, 'top') / ratioY; + this.cropBox.w = this.cropHandler.offsetWidth / ratioX; + this.cropBox.h = this.cropHandler.offsetHeight / ratioY; + this.sizes.textContent = + this.cropBox.w.toFixed(0) + 'x' + this.cropBox.h.toFixed(0); + }; + this.updateResizeBox = () => { + this.resizeBox.w = this.image.offsetWidth || this.naturalWidth; + this.resizeBox.h = this.image.offsetHeight || this.naturalHeight; + }; + this.setHandlers = () => { + const self = this; + const { widthInput, heightInput } = (0,helpers.refs)(this.editor); + self.j.e + .on([ + self.editor.querySelector('.jodit_bottomright'), + self.cropHandler + ], `mousedown.${image_editor_jie}`, this.onResizeHandleMouseDown) + .on(this.j.ow, `resize.${image_editor_jie}`, () => { + this.j.e.fire(self.resizeHandler, 'updatesize'); + self.showCrop(); + this.j.e.fire(self.cropHandler, 'updatesize'); + }); + self.j.e + .on((0,helpers.toArray)(this.editor.querySelectorAll(`.${image_editor_jie}__slider-title`)), 'click', this.onTitleModeClick) + .on([widthInput, heightInput], 'input', this.onChangeSizeInput); + const { keepAspectRatioResize, keepAspectRatioCrop } = (0,helpers.refs)(this.editor); + if (keepAspectRatioResize) { + keepAspectRatioResize.addEventListener('change', () => { + this.resizeUseRatio = keepAspectRatioResize.checked; + }); + } + if (keepAspectRatioCrop) { + keepAspectRatioCrop.addEventListener('change', () => { + this.cropUseRatio = keepAspectRatioCrop.checked; + }); + } + self.j.e + .on(self.resizeHandler, 'updatesize', () => { + (0,helpers.css)(self.resizeHandler, { + top: 0, + left: 0, + width: self.image.offsetWidth || self.naturalWidth, + height: self.image.offsetHeight || self.naturalHeight + }); + this.updateResizeBox(); }) - .on(select, 'change', () => { - fb.e.fire('sort.filebrowser', select.value); + .on(self.cropHandler, 'updatesize', () => { + if (!self.cropImage) { + return; + } + let new_x = (0,helpers.css)(self.cropHandler, 'left'), new_y = (0,helpers.css)(self.cropHandler, 'top'), new_width = self.cropHandler.offsetWidth, new_height = self.cropHandler.offsetHeight; + if (new_x < 0) { + new_x = 0; + } + if (new_y < 0) { + new_y = 0; + } + if (new_x + new_width > self.cropImage.offsetWidth) { + new_width = self.cropImage.offsetWidth - new_x; + if (self.cropUseRatio) { + new_height = new_width / self.ratio; + } + } + if (new_y + new_height > self.cropImage.offsetHeight) { + new_height = self.cropImage.offsetHeight - new_y; + if (self.cropUseRatio) { + new_width = new_height * self.ratio; + } + } + (0,helpers.css)(self.cropHandler, { + width: new_width, + height: new_height, + left: new_x, + top: new_y, + backgroundPosition: -new_x - 1 + 'px ' + (-new_y - 1) + 'px', + backgroundSize: self.cropImage.offsetWidth + + 'px ' + + self.cropImage.offsetHeight + + 'px' + }); + self.updateCropBox(); }); - return select; + Object.values(self.buttons).forEach(button => { + button.onAction(() => { + const data = { + action: self.activeTab, + box: self.activeTab === TABS.resize + ? self.resizeBox + : self.cropBox + }; + switch (button) { + case self.buttons.saveas: + self.j.prompt('Enter new name', 'Save in new file', (name) => { + if (!(0,helpers.trim)(name)) { + self.j.alert('The name should not be empty'); + return false; + } + self.onSave(name, data, self.hide, (e) => { + self.j.alert(e.message); + }); + }); + break; + case self.buttons.save: + self.onSave(undefined, data, self.hide, (e) => { + self.j.alert(e.message); + }); + break; + case self.buttons.reset: + if (self.activeTab === TABS.resize) { + (0,helpers.css)(self.image, { + width: null, + height: null + }); + widthInput.value = self.naturalWidth.toString(); + heightInput.value = self.naturalHeight.toString(); + self.j.e.fire(self.resizeHandler, 'updatesize'); + } + else { + self.showCrop(); + } + break; + } + }); + }); + }; + this.options = + editor && editor.o && editor.o.imageeditor + ? editor.o.imageeditor + : config/* Config.defaultOptions.imageeditor */.D.defaultOptions.imageeditor; + const o = this.options; + this.resizeUseRatio = o.resizeUseRatio; + this.cropUseRatio = o.cropUseRatio; + this.buttons = { + reset: (0,ui_button/* Button */.zx)(this.j, 'update', 'Reset'), + save: (0,ui_button/* Button */.zx)(this.j, 'save', 'Save'), + saveas: (0,ui_button/* Button */.zx)(this.j, 'save', 'Save as ...') + }; + this.activeTab = o.resize ? TABS.resize : TABS.crop; + this.editor = form_form(this.j, this.options); + const { resizeBox, cropBox } = (0,helpers.refs)(this.editor); + this.resize_box = resizeBox; + this.crop_box = cropBox; + this.sizes = this.editor.querySelector(`.${image_editor_jie}__area.${image_editor_jie}__area_crop .jodit-image-editor__sizes`); + this.resizeHandler = this.editor.querySelector(`.${image_editor_jie}__resizer`); + this.cropHandler = this.editor.querySelector(`.${image_editor_jie}__croper`); + this._dialog = this.j.dlg({ + buttons: ['fullsize', 'dialog.close'] + }); + this._dialog.setContent(this.editor); + this._dialog.setSize(this.o.width, this.o.height); + this._dialog.setHeader([ + this.buttons.reset, + this.buttons.save, + this.buttons.saveas + ]); + this.setHandlers(); + } + destruct() { + if (this.isDestructed) { + return; + } + if (this._dialog && !this._dialog.isInDestruct) { + this._dialog.destruct(); + } + dom/* Dom.safeRemove */.i.safeRemove(this.editor); + if (this.j.e) { + this.j.e + .off(this.j.ow, 'mousemove', this.onGlobalMouseMove) + .off(this.j.ow, 'mouseup', this.onGlobalMouseUp) + .off(this.ow, `.${image_editor_jie}`) + .off(`.${image_editor_jie}`); } + super.destruct(); } }; +ImageEditor.calcValueByPercent = (value, percent) => { + const percentStr = percent.toString(); + const valueNbr = parseFloat(value.toString()); + let match; + match = /^[-+]?[0-9]+(px)?$/.exec(percentStr); + if (match) { + return parseInt(percentStr, 10); + } + match = /^([-+]?[0-9.]+)%$/.exec(percentStr); + if (match) { + return Math.round(valueNbr * (parseFloat(match[1]) / 100)); + } + return valueNbr || 0; +}; +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], ImageEditor.prototype, "onTitleModeClick", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.debounce)(), + decorators.autobind +], ImageEditor.prototype, "onChangeSizeInput", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], ImageEditor.prototype, "onResizeHandleMouseDown", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], ImageEditor.prototype, "onGlobalMouseUp", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.throttle)(10) +], ImageEditor.prototype, "onGlobalMouseMove", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], ImageEditor.prototype, "hide", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], ImageEditor.prototype, "open", null); +ImageEditor = ImageEditor_1 = (0,tslib_es6/* __decorate */.gn)([ + decorators.component +], ImageEditor); -;// CONCATENATED MODULE: ./src/modules/file-browser/file-browser.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - +function openImageEditor(href, name, path, source, onSuccess, onFailed) { + return this.getInstance('ImageEditor', this.o).open(href, (newname, box, success, failed) => (0,helpers.call)(box.action === 'resize' + ? this.dataProvider.resize + : this.dataProvider.crop, path, source, name, newname, box.box) + .then(ok => { + if (ok) { + success(); + if (onSuccess) { + onSuccess(); + } + } + }) + .catch(error => { + failed(error); + if (onFailed) { + onFailed(error); + } + })); +} +/***/ }), +/***/ 22705: +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "Ajax": function() { return /* reexport */ core_request/* Ajax */.t; }, + "Alert": function() { return /* reexport */ Alert; }, + "Async": function() { return /* reexport */ core_async/* Async */.e; }, + "CommitStyle": function() { return /* reexport */ CommitStyle; }, + "Component": function() { return /* reexport */ component/* Component */.wA; }, + "Confirm": function() { return /* reexport */ Confirm; }, + "ContextMenu": function() { return /* reexport */ context_menu/* ContextMenu */.x; }, + "Create": function() { return /* reexport */ Create; }, + "Dialog": function() { return /* reexport */ Dialog; }, + "Dom": function() { return /* reexport */ dom/* Dom */.i; }, + "EventEmitter": function() { return /* reexport */ event_emitter/* EventEmitter */.vp; }, + "EventHandlersStore": function() { return /* reexport */ event_emitter/* EventHandlersStore */.DG; }, + "Eventify": function() { return /* reexport */ event_emitter/* Eventify */.aN; }, + "FileBrowser": function() { return /* reexport */ file_browser/* FileBrowser */.f; }, + "Helpers": function() { return /* reexport */ helpers; }, + "History": function() { return /* reexport */ History; }, + "Icon": function() { return /* reexport */ ui/* Icon */.JO; }, + "ImageEditor": function() { return /* reexport */ image_editor/* ImageEditor */.v; }, + "LazyWalker": function() { return /* reexport */ dom/* LazyWalker */.b; }, + "Plugin": function() { return /* reexport */ core_plugin/* Plugin */.S; }, + "PluginSystem": function() { return /* reexport */ plugin_system/* PluginSystem */.h; }, + "Popup": function() { return /* reexport */ ui/* Popup */.GI; }, + "ProgressBar": function() { return /* reexport */ ui/* ProgressBar */.ko; }, + "Prompt": function() { return /* reexport */ Prompt; }, + "Response": function() { return /* reexport */ core_request/* Response */.H; }, + "STATUSES": function() { return /* reexport */ component/* STATUSES */.n$; }, + "Select": function() { return /* reexport */ Select; }, + "Snapshot": function() { return /* reexport */ Snapshot; }, + "StatusBar": function() { return /* reexport */ StatusBar; }, + "Table": function() { return /* reexport */ table/* Table */.i; }, + "ToolbarButton": function() { return /* reexport */ toolbar_button_button/* ToolbarButton */.h; }, + "ToolbarCollection": function() { return /* reexport */ collection/* ToolbarCollection */.n; }, + "ToolbarContent": function() { return /* reexport */ content/* ToolbarContent */.c; }, + "ToolbarEditorCollection": function() { return /* reexport */ editor_collection/* ToolbarEditorCollection */.N; }, + "UIBlock": function() { return /* reexport */ ui/* UIBlock */.eC; }, + "UIButton": function() { return /* reexport */ ui/* UIButton */.y3; }, + "UICheckbox": function() { return /* reexport */ ui/* UICheckbox */.mA; }, + "UIElement": function() { return /* reexport */ ui/* UIElement */.u1; }, + "UIForm": function() { return /* reexport */ ui/* UIForm */.x4; }, + "UIGroup": function() { return /* reexport */ ui/* UIGroup */.qe; }, + "UIInput": function() { return /* reexport */ ui/* UIInput */.u3; }, + "UIList": function() { return /* reexport */ ui/* UIList */.bz; }, + "UIMessages": function() { return /* reexport */ messages/* UIMessages */.D; }, + "UISeparator": function() { return /* reexport */ ui/* UISeparator */.lU; }, + "UITextArea": function() { return /* reexport */ ui/* UITextArea */.GJ; }, + "Uploader": function() { return /* reexport */ Uploader; }, + "View": function() { return /* reexport */ view/* View */.G; }, + "ViewComponent": function() { return /* reexport */ component/* ViewComponent */.Hr; }, + "ViewWithToolbar": function() { return /* reexport */ view_with_toolbar/* ViewWithToolbar */.C; }, + "defaultNameSpace": function() { return /* reexport */ event_emitter/* defaultNameSpace */.rO; }, + "isFileBrowserFilesItem": function() { return /* reexport */ file_browser/* isFileBrowserFilesItem */.F; }, + "observable": function() { return /* reexport */ event_emitter/* observable */.LO; } +}); +// EXTERNAL MODULE: ./src/core/event-emitter/index.ts + 2 modules +var event_emitter = __webpack_require__(4567); +// EXTERNAL MODULE: ./src/core/async/index.ts + 1 modules +var core_async = __webpack_require__(21317); +// EXTERNAL MODULE: ./src/core/request/index.ts + 3 modules +var core_request = __webpack_require__(12709); +// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules +var component = __webpack_require__(90549); +// EXTERNAL MODULE: ./src/modules/context-menu/context-menu.ts +var context_menu = __webpack_require__(60403); +// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js +var tslib_es6 = __webpack_require__(20255); +// EXTERNAL MODULE: ./src/config.ts +var config = __webpack_require__(93166); +// EXTERNAL MODULE: ./src/core/constants.ts +var constants = __webpack_require__(86893); +// EXTERNAL MODULE: ./src/core/helpers/index.ts +var helpers = __webpack_require__(40332); +// EXTERNAL MODULE: external "{assert(){}};" +var external_assert_ = __webpack_require__(52378); +// EXTERNAL MODULE: ./src/core/view/view-with-toolbar.ts +var view_with_toolbar = __webpack_require__(43608); +// EXTERNAL MODULE: ./src/core/dom/index.ts +var dom = __webpack_require__(64968); +// EXTERNAL MODULE: ./src/core/global.ts +var global = __webpack_require__(17332); +// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules +var decorators = __webpack_require__(67493); +// EXTERNAL MODULE: ./src/core/view/view.ts +var view = __webpack_require__(75902); +// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules +var ui = __webpack_require__(93801); +// EXTERNAL MODULE: ./src/modules/messages/messages.ts + 1 modules +var messages = __webpack_require__(17832); +;// CONCATENATED MODULE: ./src/modules/dialog/dialog.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ @@ -14264,238 +13733,430 @@ config/* Config.prototype.controls.filebrowser */.D.prototype.controls.filebrows -let FileBrowser = class FileBrowser extends view_with_toolbar/* ViewWithToolbar */.C { - constructor(options) { +config/* Config.prototype.dialog */.D.prototype.dialog = { + namespace: '', + extraButtons: [], + resizable: true, + draggable: true, + buttons: ['dialog.close'], + removeButtons: [], + toolbarButtonSize: 'middle', + zIndex: 'inherit' +}; +config/* Config.prototype.controls.dialog */.D.prototype.controls.dialog = { + close: { + icon: 'cancel', + exec: dialog => { + dialog.close(); + } + } +}; +let Dialog = class Dialog extends view_with_toolbar/* ViewWithToolbar */.C { + className() { + return 'Dialog'; + } + get destination() { var _a; - super(options); - this.browser = this.c.div(this.componentName); - this.status_line = this.c.div(this.getFullElName('status')); - this.tree = new FileBrowserTree(this); - this.files = new FileBrowserFiles(this); - this.state = (0,event_emitter/* observable */.LO)({ - currentPath: '', - currentSource: DEFAULT_SOURCE_NAME, - currentBaseUrl: '', - activeElements: [], - elements: [], - messages: [], - sources: [], - view: 'tiles', - sortBy: 'changed-desc', - filterWord: '', - onlyImages: false - }); - this.errorHandler = (resp) => { - if ((0,helpers.isAbort)(resp)) { - return; + return ((_a = this.o.shadowRoot) !== null && _a !== void 0 ? _a : this.od.body); + } + setElements(root, elements) { + const elements_list = []; + (0,helpers.asArray)(elements).forEach((elm) => { + if ((0,helpers.isArray)(elm)) { + const div = this.c.div(this.getFullElName('column')); + elements_list.push(div); + root.appendChild(div); + return this.setElements(div, elm); } - if (resp instanceof Error) { - this.status(this.i18n(resp.message)); + let element; + if ((0,helpers.isString)(elm)) { + element = this.c.fromHTML(elm); } else { - this.status(this.dataProvider.getMessage(resp)); + element = (0,helpers.hasContainer)(elm) ? elm.container : elm; + } + elements_list.push(element); + if (element.parentNode !== root) { + root.appendChild(element); } - }; - this.close = () => { - this._dialog.close(); - }; - this.attachEvents(options); - const self = this; - self.options = (0,helpers.ConfigProto)(options || {}, config/* Config.defaultOptions.filebrowser */.D.defaultOptions.filebrowser); - self.storage = storage/* Storage.makeStorage */.Ke.makeStorage(Boolean(this.o.saveStateInStorage), this.componentName); - self.dataProvider = makeDataProvider(self, self.options); - self._dialog = this.dlg({ - minWidth: Math.min(700, screen.width), - minHeight: 300, - buttons: (_a = this.o.headerButtons) !== null && _a !== void 0 ? _a : ['fullsize', 'dialog.close'] }); - this.proxyDialogEvents(self); - self.browser.component = this; - self.container = self.browser; - if (self.o.showFoldersPanel) { - self.browser.appendChild(self.tree.container); - } - self.browser.appendChild(self.files.container); - self.browser.appendChild(self.status_line); - selfListeners.call(self); - nativeListeners.call(self); - stateListeners.call(self); - self._dialog.setSize(self.o.width, self.o.height); - const keys = [ - 'getLocalFileByUrl', - 'crop', - 'resize', - 'create', - 'fileMove', - 'folderMove', - 'fileRename', - 'folderRename', - 'fileRemove', - 'folderRemove', - 'folder', - 'items', - 'permissions' - ]; - keys.forEach(key => { - if (this.options[key] != null) { - this.options[key] = (0,helpers.ConfigProto)(this.options[key], this.o.ajax); + (0,helpers.toArray)(root.childNodes).forEach((elm) => { + if (elements_list.indexOf(elm) === -1) { + root.removeChild(elm); } }); - const { storeView, storeSortBy, storeLastOpenedFolder } = this.o - .saveStateInStorage || { - storeLastOpenedFolder: false, - storeView: false, - storeSortBy: false - }; - const view = storeView && this.storage.get('view'); - if (view && this.o.view == null) { - self.state.view = view === 'list' ? 'list' : 'tiles'; - } - else { - self.state.view = self.o.view === 'list' ? 'list' : 'tiles'; + } + onMouseUp() { + if (this.draggable || this.resizable) { + this.removeGlobalResizeListeners(); + this.draggable = false; + this.resizable = false; + this.unlockSelect(); + if (this.e) { + this.removeGlobalResizeListeners(); + this.e.fire(this, 'endResize endMove'); + } } - self.files.setMod('view', self.state.view); - const sortBy = storeSortBy && self.storage.get('sortBy'); - if (sortBy) { - const parts = sortBy.split('-'); - self.state.sortBy = ['changed', 'name', 'size'].includes(parts[0]) - ? sortBy - : 'changed-desc'; + } + onHeaderMouseDown(e) { + const target = e.target; + if (!this.o.draggable || + (target && target.nodeName.match(/^(INPUT|SELECT)$/))) { + return; } - else { - self.state.sortBy = self.o.sortBy || 'changed-desc'; + this.draggable = true; + this.startX = e.clientX; + this.startY = e.clientY; + this.startPoint.x = (0,helpers.css)(this.dialog, 'left'); + this.startPoint.y = (0,helpers.css)(this.dialog, 'top'); + this.setMaxZIndex(); + if (e.cancelable) { + e.preventDefault(); } - if (storeLastOpenedFolder) { - const currentPath = self.storage.get('currentPath'), currentSource = self.storage.get('currentSource'); - self.state.currentPath = currentPath !== null && currentPath !== void 0 ? currentPath : ''; - self.state.currentSource = currentSource !== null && currentSource !== void 0 ? currentSource : ''; + this.lockSelect(); + this.addGlobalResizeListeners(); + if (this.e) { + this.e.fire(this, 'startMove'); } - self.initUploader(self); - self.setStatus(component/* STATUSES.ready */.n$.ready); } - className() { - return 'Filebrowser'; + onMouseMove(e) { + if (this.draggable && this.o.draggable) { + this.setPosition(this.startPoint.x + e.clientX - this.startX, this.startPoint.y + e.clientY - this.startY); + if (this.e) { + this.e.fire(this, 'move', e.clientX - this.startX, e.clientY - this.startY); + } + e.stopImmediatePropagation(); + } + if (this.resizable && this.o.resizable) { + this.setSize(this.startPoint.w + e.clientX - this.startX, this.startPoint.h + e.clientY - this.startY); + if (this.e) { + this.e.fire(this, 'resizeDialog', e.clientX - this.startX, e.clientY - this.startY); + } + } } - onSelect(callback) { - return () => { - if (this.state.activeElements.length) { - const files = []; - const isImages = []; - this.state.activeElements.forEach(elm => { - const url = elm.fileURL; - if (url) { - files.push(url); - isImages.push(elm.isImage || false); - } - }); - this.close(); - const data = { - baseurl: '', - files, - isImages - }; - if ((0,helpers.isFunction)(callback)) { - callback(data); - } + onEsc(e) { + if (this.isOpened && + e.key === constants.KEY_ESC && + this.getMod('static') !== true) { + const me = this.getMaxZIndexDialog(); + if (me) { + me.close(); + } + else { this.close(); } - return false; - }; + e.stopImmediatePropagation(); + } } - get isOpened() { - return this._dialog.isOpened && this.browser.style.display !== 'none'; + onResizerMouseDown(e) { + this.resizable = true; + this.startX = e.clientX; + this.startY = e.clientY; + this.startPoint.w = this.dialog.offsetWidth; + this.startPoint.h = this.dialog.offsetHeight; + this.lockSelect(); + this.addGlobalResizeListeners(); + if (this.e) { + this.e.fire(this, 'startResize'); + } } - status(message, success) { - if (!message || (0,helpers.isAbort)(message)) { - return; + addGlobalResizeListeners() { + const self = this; + self.e + .on(self.ow, 'pointermove touchmove', self.onMouseMove) + .on(self.ow, 'pointerup touchend', self.onMouseUp); + } + removeGlobalResizeListeners() { + const self = this; + self.e + .off(self.ow, 'mousemove pointermove', self.onMouseMove) + .off(self.ow, 'mouseup pointerup', self.onMouseUp); + } + setSize(w, h) { + if (w == null) { + w = this.dialog.offsetWidth; } - if (!(0,helpers.isString)(message)) { - message = message.message; + if (h == null) { + h = this.dialog.offsetHeight; } - if (!(0,helpers.isString)(message) || !(0,helpers.trim)(message).length) { - return; + (0,helpers.css)(this.dialog, { + width: w, + height: h + }); + return this; + } + calcAutoSize() { + this.setSize('auto', 'auto'); + this.setSize(); + return this; + } + setPosition(x, y) { + const w = this.ow.innerWidth, h = this.ow.innerHeight; + let left = w / 2 - this.dialog.offsetWidth / 2, top = h / 2 - this.dialog.offsetHeight / 2; + if (left < 0) { + left = 0; } - this.message.message(message, success ? 'success' : 'error', this.o.howLongShowMsg); + if (top < 0) { + top = 0; + } + if (x !== undefined && y !== undefined) { + this.offsetX = x; + this.offsetY = y; + this.moved = Math.abs(x - left) > 100 || Math.abs(y - top) > 100; + } + this.dialog.style.left = (x || left) + 'px'; + this.dialog.style.top = (y || top) + 'px'; + return this; } - open(callback = this.o - .defaultCallback, onlyImages = false) { - this.state.onlyImages = onlyImages; - return this.async.promise((resolve, reject) => { - var _a; - if (!this.o.items || !this.o.items.url) { - throw (0,helpers.error)('Need set options.filebrowser.ajax.url'); + setHeader(content) { + this.setElements(this.dialogbox_header, content); + return this; + } + setContent(content) { + this.setElements(this.dialogbox_content, content); + return this; + } + setFooter(content) { + this.setElements(this.dialogbox_footer, content); + this.setMod('footer', Boolean(content)); + return this; + } + getZIndex() { + return parseInt((0,helpers.css)(this.container, 'zIndex'), 10) || 0; + } + getMaxZIndexDialog() { + let maxZi = 0, dlg, zIndex, res = this; + (0,helpers.$$)('.jodit-dialog', this.destination).forEach((dialog) => { + dlg = dialog.component; + zIndex = parseInt((0,helpers.css)(dialog, 'zIndex'), 10); + if (dlg.isOpened && !isNaN(zIndex) && zIndex > maxZi) { + res = dlg; + maxZi = zIndex; } - let localTimeout = 0; - this.e - .off(this.files.container, 'dblclick') - .on(this.files.container, 'dblclick', this.onSelect(callback)) - .on(this.files.container, 'touchstart', () => { - const now = new Date().getTime(); - if (now - localTimeout < constants.EMULATE_DBLCLICK_TIMEOUT) { - this.onSelect(callback)(); - } - localTimeout = now; - }) - .off('select.filebrowser') - .on('select.filebrowser', this.onSelect(callback)); - const header = this.c.div(); - this.toolbar.build((_a = this.o.buttons) !== null && _a !== void 0 ? _a : []).appendTo(header); - this._dialog.open(this.browser, header); - this.e.fire('sort.filebrowser', this.state.sortBy); - loadTree(this).then(resolve, reject); }); + return res; + } + setMaxZIndex() { + if (this.getMod('static')) + return; + let maxZIndex = 20000004, zIndex = 0; + (0,helpers.$$)('.jodit-dialog', this.destination).forEach(dialog => { + zIndex = parseInt((0,helpers.css)(dialog, 'zIndex'), 10); + maxZIndex = Math.max(isNaN(zIndex) ? 0 : zIndex, maxZIndex); + }); + this.container.style.zIndex = (maxZIndex + 1).toString(); + } + toggleFullSize(isFullSize) { + if ((0,helpers.isVoid)(isFullSize)) { + isFullSize = !this.getMod('fullsize'); + } + this.setMod('fullsize', isFullSize); + super.toggleFullSize(isFullSize); + } + open(contentOrClose, titleOrModal, destroyAfterClose, modal) { + global/* eventEmitter.fire */.TB.fire('closeAllPopups hideHelpers'); + if (this.e.fire(this, 'beforeOpen') === false) { + return this; + } + if ((0,helpers.isBoolean)(contentOrClose)) { + destroyAfterClose = contentOrClose; + } + if ((0,helpers.isBoolean)(titleOrModal)) { + modal = titleOrModal; + } + this.destroyAfterClose = destroyAfterClose === true; + const content = (0,helpers.isBoolean)(contentOrClose) ? undefined : contentOrClose; + const title = (0,helpers.isBoolean)(titleOrModal) ? undefined : titleOrModal; + if (title !== undefined) { + this.setHeader(title); + } + if (content) { + this.setContent(content); + } + this.setMod('active', true); + this.isOpened = true; + this.setModal(modal); + this.destination.appendChild(this.container); + if (this.getMod('static') !== true) { + this.setPosition(this.offsetX, this.offsetY); + this.setMaxZIndex(); + } + else { + this.container.style.removeProperty('z-index'); + } + if (this.o.fullsize) { + this.toggleFullSize(true); + } + this.e.fire('afterOpen', this); + return this; + } + setModal(modal) { + this.isModal = Boolean(modal); + this.setMod('modal', this.isModal); + return this; + } + close() { + if (this.isDestructed || + !this.isOpened || + this.getMod('static') === true) { + return this; + } + if (this.e.fire('beforeClose', this) === false) { + return this; + } + this.setMod('active', false); + this.isOpened = false; + if (this.isFullSize) { + this.toggleFullSize(false); + } + dom/* Dom.safeRemove */.i.safeRemove(this.container); + this.removeGlobalResizeListeners(); + if (this.destroyAfterClose) { + this.destruct(); + } + this.e.fire(this, 'afterClose'); + this.e.fire(this.ow, 'joditCloseDialog'); + return this; } - initUploader(editor) { - var _a; - const self = this, options = (_a = editor === null || editor === void 0 ? void 0 : editor.options) === null || _a === void 0 ? void 0 : _a.uploader, uploaderOptions = (0,helpers.ConfigProto)(options || {}, config/* Config.defaultOptions.uploader */.D.defaultOptions.uploader); - const uploadHandler = () => loadItems(this); - self.uploader = self.getInstance('Uploader', uploaderOptions); - self.uploader - .setPath(self.state.currentPath) - .setSource(self.state.currentSource) - .bind(self.browser, uploadHandler, self.errorHandler); - this.state.on(['change.currentPath', 'change.currentSource'], () => { - this.uploader - .setPath(this.state.currentPath) - .setSource(this.state.currentSource); + constructor(options = {}) { + super(options); + this.destroyAfterClose = false; + this.moved = false; + this.resizable = false; + this.draggable = false; + this.startX = 0; + this.startY = 0; + this.startPoint = { x: 0, y: 0, w: 0, h: 0 }; + this.lockSelect = () => { + this.setMod('moved', true); + }; + this.unlockSelect = () => { + this.setMod('moved', false); + }; + this.onResize = () => { + if (this.options && + this.o.resizable && + !this.moved && + this.isOpened && + !this.offsetX && + !this.offsetY) { + this.setPosition(); + } + }; + this.isModal = false; + this.isOpened = false; + const self = this; + self.options = (0,helpers.ConfigProto)(options, (0,helpers.ConfigProto)(config/* Config.prototype.dialog */.D.prototype.dialog, view/* View.defaultOptions */.G.defaultOptions)); + dom/* Dom.safeRemove */.i.safeRemove(self.container); + const n = this.getFullElName.bind(this); + self.container = this.c.fromHTML(`
+
+
+
+
+
+
+
+
+
${ui/* Icon.get */.JO.get('resize_handler')}
+
+
`); + if (this.o.zIndex) { + this.container.style.zIndex = this.o.zIndex.toString(); + } + (0,helpers.attr)(self.container, 'role', 'dialog'); + Object.defineProperty(self.container, 'component', { + value: this }); - self.e.on('bindUploader.filebrowser', (button) => { - self.uploader.bind(button, uploadHandler, self.errorHandler); + self.setMod('theme', self.o.theme || 'default').setMod('resizable', Boolean(self.o.resizable)); + const dialog = self.getElm('panel'); + void 0; + const resizer = self.getElm('resizer'); + void 0; + const dialogbox_header = self.getElm('header-title'); + void 0; + const dialogbox_content = self.getElm('content'); + void 0; + const dialogbox_footer = self.getElm('footer'); + void 0; + const dialogbox_toolbar = self.getElm('header-toolbar'); + void 0; + this.message.destruct(); + this.message = new messages/* UIMessages */.D(this, dialog); + this.dialog = dialog; + this.resizer = resizer; + this.dialogbox_header = dialogbox_header; + this.dialogbox_content = dialogbox_content; + this.dialogbox_footer = dialogbox_footer; + this.dialogbox_toolbar = dialogbox_toolbar; + (0,helpers.css)(self.dialog, { + maxWidth: self.options.maxWidth, + minHeight: self.options.minHeight, + minWidth: self.options.minWidth }); + const headerBox = self.getElm('header'); + headerBox && + self.e.on(headerBox, 'pointerdown touchstart', self.onHeaderMouseDown); + self.e.on(self.resizer, 'mousedown touchstart', self.onResizerMouseDown); + const fullSize = global/* pluginSystem.get */.pw.get('fullsize'); + (0,helpers.isFunction)(fullSize) && fullSize(self); + this.e + .on(self.container, 'close_dialog', self.close) + .on(this.ow, 'keydown', this.onEsc) + .on(this.ow, 'resize', this.onResize); } - proxyDialogEvents(self) { - ['afterClose', 'beforeOpen'].forEach(proxyEvent => { - self._dialog.events.on(self.dlg, proxyEvent, () => { - this.e.fire(proxyEvent); - }); - }); + buildToolbar() { + this.o.buttons && + this.toolbar + .build((0,helpers.splitArray)(this.o.buttons)) + .setMod('mode', 'header') + .appendTo(this.dialogbox_toolbar); } destruct() { if (this.isInDestruct) { return; } + this.setStatus(component/* STATUSES.beforeDestruct */.n$.beforeDestruct); + if (this.isOpened) { + this.close(); + } + if (this.events) { + this.removeGlobalResizeListeners(); + this.events + .off(this.container, 'close_dialog', self.close) + .off(this.ow, 'keydown', this.onEsc) + .off(this.ow, 'resize', this.onResize); + } super.destruct(); - this._dialog.destruct(); - this.events && this.e.off('.filebrowser'); - this.uploader && this.uploader.destruct(); } }; (0,tslib_es6/* __decorate */.gn)([ decorators.autobind -], FileBrowser.prototype, "status", null); +], Dialog.prototype, "onMouseUp", null); (0,tslib_es6/* __decorate */.gn)([ decorators.autobind -], FileBrowser.prototype, "open", null); -FileBrowser = (0,tslib_es6/* __decorate */.gn)([ - (0,decorators.derive)(traits/* Dlgs */.lf) -], FileBrowser); +], Dialog.prototype, "onHeaderMouseDown", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Dialog.prototype, "onMouseMove", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Dialog.prototype, "onEsc", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Dialog.prototype, "onResizerMouseDown", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Dialog.prototype, "close", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.hook)('ready') +], Dialog.prototype, "buildToolbar", null); +Dialog = (0,tslib_es6/* __decorate */.gn)([ + decorators.component +], Dialog); -function isFileBrowserFilesItem(target) { - return (dom/* Dom.isElement */.i.isElement(target) && - target.classList.contains(FileBrowserFiles.prototype.getFullElName('item'))); -} -;// CONCATENATED MODULE: ./src/modules/file-browser/index.ts +;// CONCATENATED MODULE: ./src/modules/dialog/alert.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -14504,120 +14165,28 @@ function isFileBrowserFilesItem(target) { -/***/ }), - -/***/ 37113: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "v": function() { return /* binding */ ImageEditor; }, - "r": function() { return /* binding */ openImageEditor; } -}); - -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); -// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules -var component = __webpack_require__(2624); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -// EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); -// EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules -var ui_button = __webpack_require__(81402); -// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); -;// CONCATENATED MODULE: ./src/modules/image-editor/templates/form.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - -const jie = 'jodit-image-editor'; -const gi = ui/* Icon.get.bind */.JO.get.bind(ui/* Icon */.JO); -const act = (el, className = 'jodti-image-editor_active') => el ? className : ''; -const form_form = (editor, o) => { - const i = editor.i18n.bind(editor); - const switcher = (label, ref, active = true) => `
- - - -
`; - return editor.create.fromHTML(`
-
-
- ${o.resize - ? `
-
-
- -
-
` - : ''} - ${o.crop - ? `
-
-
- - -
-
-
` - : ''} -
-
- ${o.resize - ? `
-
- ${gi('resize')} - ${i('Resize')} -
-
-
- - -
-
- - -
- ${switcher('Keep Aspect Ratio', 'keepAspectRatioResize')} -
-
` - : ''} - ${o.crop - ? `
-
- ${gi('crop')} - ${i('Crop')} -
-
- ${switcher('Keep Aspect Ratio', 'keepAspectRatioCrop')} -
-
` - : ''} -
-
-
`); -}; -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/ui/icon.ts -var icon = __webpack_require__(80353); -;// CONCATENATED MODULE: ./src/modules/image-editor/config.ts +function Alert(msg, title, callback, className = 'jodit-dialog_alert') { + if ((0,helpers.isFunction)(title)) { + callback = title; + title = undefined; + } + const dialog = this instanceof Dialog ? this : new Dialog(), container = dialog.c.div(className), okButton = (0,ui/* Button */.zx)(dialog, 'ok', 'Ok'); + (0,helpers.asArray)(msg).forEach(oneMessage => { + container.appendChild(dom/* Dom.isNode */.i.isNode(oneMessage) ? oneMessage : dialog.c.fromHTML(oneMessage)); + }); + okButton.onAction(() => { + if (!callback || !(0,helpers.isFunction)(callback) || callback(dialog) !== false) { + dialog.close(); + } + }); + dialog.setFooter([okButton]); + dialog.open(container, title || ' ', true, true); + okButton.focus(); + return dialog; +} + +;// CONCATENATED MODULE: ./src/modules/dialog/prompt.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -14625,663 +14194,480 @@ var icon = __webpack_require__(80353); */ -config/* Config.prototype.imageeditor */.D.prototype.imageeditor = { - min_width: 20, - min_height: 20, - closeAfterSave: false, - width: '85%', - height: '85%', - crop: true, - resize: true, - resizeUseRatio: true, - resizeMinWidth: 20, - resizeMinHeight: 20, - cropUseRatio: true, - cropDefaultWidth: '70%', - cropDefaultHeight: '70%' -}; -icon/* Icon.set */.J.set('crop', __webpack_require__(3610)).set('resize', __webpack_require__(56170)); -;// CONCATENATED MODULE: ./src/modules/image-editor/image-editor.ts +function Prompt(msg, title, callback, placeholder, defaultValue) { + const dialog = this instanceof Dialog ? this : new Dialog(), cancelButton = (0,ui/* Button */.zx)(dialog, 'cancel', 'Cancel'), okButton = (0,ui/* Button */.zx)(dialog, 'ok', 'Ok'), form = dialog.c.element('form', { + class: 'jodit-dialog_prompt' + }), inputElement = dialog.c.element('input', { + autofocus: true, + class: 'jodit-input' + }), labelElement = dialog.c.element('label'); + if ((0,helpers.isFunction)(title)) { + callback = title; + title = undefined; + } + if (placeholder) { + (0,helpers.attr)(inputElement, 'placeholder', placeholder); + } + labelElement.appendChild(dialog.c.text(msg)); + form.appendChild(labelElement); + form.appendChild(inputElement); + cancelButton.onAction(dialog.close); + const onclick = () => { + if (!callback || + !(0,helpers.isFunction)(callback) || + callback(inputElement.value) !== false) { + dialog.close(); + } + }; + okButton.onAction(onclick); + dialog.e.on(form, 'submit', () => { + onclick(); + return false; + }); + dialog.setFooter([okButton, cancelButton]); + dialog.open(form, title || ' ', true, true); + inputElement.focus(); + if (defaultValue !== undefined && defaultValue.length) { + inputElement.value = defaultValue; + inputElement.select(); + } + return dialog; +} + +// EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts +var is_function = __webpack_require__(42096); +// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts +var button_button = __webpack_require__(96031); +;// CONCATENATED MODULE: ./src/modules/dialog/confirm.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -var ImageEditor_1; +function Confirm(msg, title, callback) { + const dialog = this instanceof Dialog ? this : new Dialog(), $div = dialog.c.fromHTML('
'), $label = dialog.c.element('label'); + if ((0,is_function/* isFunction */.m)(title)) { + callback = title; + title = undefined; + } + $label.appendChild(dialog.c.fromHTML(msg)); + $div.appendChild($label); + const action = (yes) => () => { + if (!callback || callback(yes) !== false) { + dialog.close(); + } + }; + const $cancel = (0,button_button/* Button */.zx)(dialog, 'cancel', 'Cancel'); + const $ok = (0,button_button/* Button */.zx)(dialog, 'ok', 'Yes'); + $cancel.onAction(action(false)); + $ok.onAction(action(true)); + dialog.e.on($div, 'submit', () => { + action(true)(); + return false; + }); + dialog.setFooter([$ok, $cancel]); + dialog.open($div, title || ' ', true, true); + $ok.focus(); + return dialog; +} +;// CONCATENATED MODULE: ./src/modules/dialog/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +// EXTERNAL MODULE: ./src/core/plugin/index.ts +var core_plugin = __webpack_require__(57549); +;// CONCATENATED MODULE: ./src/core/create/create.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ -const image_editor_jie = 'jodit-image-editor'; -const TABS = { - resize: 'resize', - crop: 'crop' -}; -let ImageEditor = ImageEditor_1 = class ImageEditor extends component/* ViewComponent */.Hr { - constructor(editor) { - super(editor); - this.resizeUseRatio = true; - this.cropUseRatio = true; - this.clicked = false; - this.start_x = 0; - this.start_y = 0; - this.top_x = 0; - this.top_y = 0; - this.width = 0; - this.height = 0; - this.activeTab = TABS.resize; - this.naturalWidth = 0; - this.naturalHeight = 0; - this.ratio = 0; - this.new_h = 0; - this.new_w = 0; - this.diff_x = 0; - this.diff_y = 0; - this.cropBox = { - x: 0, - y: 0, - w: 0, - h: 0 - }; - this.resizeBox = { - w: 0, - h: 0 - }; - this.calcCropBox = () => { - const node = this.crop_box.parentNode, w = node.offsetWidth * 0.8, h = node.offsetHeight * 0.8; - let wn = w, hn = h; - const { naturalWidth: nw, naturalHeight: nh } = this; - if (w > nw && h > nh) { - wn = nw; - hn = nh; - } - else if (this.ratio > w / h) { - wn = w; - hn = nh * (w / nw); - } - else { - wn = nw * (h / nh); - hn = h; - } - (0,helpers.css)(this.crop_box, { - width: wn, - height: hn - }); - }; - this.showCrop = () => { - if (!this.cropImage) { - return; - } - this.calcCropBox(); - const w = this.cropImage.offsetWidth || - this.image.offsetWidth || - this.image.naturalWidth; - this.new_w = ImageEditor_1.calcValueByPercent(w, this.o.cropDefaultWidth); - const h = this.cropImage.offsetHeight || - this.image.offsetHeight || - this.image.naturalHeight; - if (this.cropUseRatio) { - this.new_h = this.new_w / this.ratio; - } - else { - this.new_h = ImageEditor_1.calcValueByPercent(h, this.o.cropDefaultHeight); - } - (0,helpers.css)(this.cropHandler, { - backgroundImage: 'url(' + (0,helpers.attr)(this.cropImage, 'src') + ')', - width: this.new_w, - height: this.new_h, - left: w / 2 - this.new_w / 2, - top: h / 2 - this.new_h / 2 - }); - this.j.e.fire(this.cropHandler, 'updatesize'); - }; - this.updateCropBox = () => { - if (!this.cropImage) { - return; - } - const ratioX = this.cropImage.offsetWidth / this.naturalWidth, ratioY = this.cropImage.offsetHeight / this.naturalHeight; - this.cropBox.x = (0,helpers.css)(this.cropHandler, 'left') / ratioX; - this.cropBox.y = (0,helpers.css)(this.cropHandler, 'top') / ratioY; - this.cropBox.w = this.cropHandler.offsetWidth / ratioX; - this.cropBox.h = this.cropHandler.offsetHeight / ratioY; - this.sizes.textContent = - this.cropBox.w.toFixed(0) + 'x' + this.cropBox.h.toFixed(0); - }; - this.updateResizeBox = () => { - this.resizeBox.w = this.image.offsetWidth || this.naturalWidth; - this.resizeBox.h = this.image.offsetHeight || this.naturalHeight; - }; - this.setHandlers = () => { - const self = this; - const { widthInput, heightInput } = (0,helpers.refs)(this.editor); - self.j.e - .on([ - self.editor.querySelector('.jodit_bottomright'), - self.cropHandler - ], `mousedown.${image_editor_jie}`, this.onResizeHandleMouseDown) - .on(this.j.ow, `resize.${image_editor_jie}`, () => { - this.j.e.fire(self.resizeHandler, 'updatesize'); - self.showCrop(); - this.j.e.fire(self.cropHandler, 'updatesize'); - }); - self.j.e - .on((0,helpers.toArray)(this.editor.querySelectorAll(`.${image_editor_jie}__slider-title`)), 'click', this.onTitleModeClick) - .on([widthInput, heightInput], 'input', this.onChangeSizeInput); - const { keepAspectRatioResize, keepAspectRatioCrop } = (0,helpers.refs)(this.editor); - if (keepAspectRatioResize) { - keepAspectRatioResize.addEventListener('change', () => { - this.resizeUseRatio = keepAspectRatioResize.checked; - }); + + + +class Create { + get doc() { + return (0,helpers.isFunction)(this.document) ? this.document() : this.document; + } + constructor(document, createAttributes) { + this.document = document; + this.createAttributes = createAttributes; + } + element(tagName, childrenOrAttributes, children) { + const elm = this.doc.createElement(tagName.toLowerCase()); + this.applyCreateAttributes(elm); + if (childrenOrAttributes) { + if ((0,helpers.isPlainObject)(childrenOrAttributes)) { + (0,helpers.attr)(elm, childrenOrAttributes); } - if (keepAspectRatioCrop) { - keepAspectRatioCrop.addEventListener('change', () => { - this.cropUseRatio = keepAspectRatioCrop.checked; - }); + else { + children = childrenOrAttributes; } - self.j.e - .on(self.resizeHandler, 'updatesize', () => { - (0,helpers.css)(self.resizeHandler, { - top: 0, - left: 0, - width: self.image.offsetWidth || self.naturalWidth, - height: self.image.offsetHeight || self.naturalHeight - }); - this.updateResizeBox(); - }) - .on(self.cropHandler, 'updatesize', () => { - if (!self.cropImage) { - return; - } - let new_x = (0,helpers.css)(self.cropHandler, 'left'), new_y = (0,helpers.css)(self.cropHandler, 'top'), new_width = self.cropHandler.offsetWidth, new_height = self.cropHandler.offsetHeight; - if (new_x < 0) { - new_x = 0; - } - if (new_y < 0) { - new_y = 0; - } - if (new_x + new_width > self.cropImage.offsetWidth) { - new_width = self.cropImage.offsetWidth - new_x; - if (self.cropUseRatio) { - new_height = new_width / self.ratio; - } - } - if (new_y + new_height > self.cropImage.offsetHeight) { - new_height = self.cropImage.offsetHeight - new_y; - if (self.cropUseRatio) { - new_width = new_height * self.ratio; - } - } - (0,helpers.css)(self.cropHandler, { - width: new_width, - height: new_height, - left: new_x, - top: new_y, - backgroundPosition: -new_x - 1 + 'px ' + (-new_y - 1) + 'px', - backgroundSize: self.cropImage.offsetWidth + - 'px ' + - self.cropImage.offsetHeight + - 'px' - }); - self.updateCropBox(); - }); - Object.values(self.buttons).forEach(button => { - button.onAction(() => { - const data = { - action: self.activeTab, - box: self.activeTab === TABS.resize - ? self.resizeBox - : self.cropBox - }; - switch (button) { - case self.buttons.saveas: - self.j.prompt('Enter new name', 'Save in new file', (name) => { - if (!(0,helpers.trim)(name)) { - self.j.alert('The name should not be empty'); - return false; - } - self.onSave(name, data, self.hide, (e) => { - self.j.alert(e.message); - }); - }); - break; - case self.buttons.save: - self.onSave(undefined, data, self.hide, (e) => { - self.j.alert(e.message); - }); - break; - case self.buttons.reset: - if (self.activeTab === TABS.resize) { - (0,helpers.css)(self.image, { - width: null, - height: null - }); - widthInput.value = self.naturalWidth.toString(); - heightInput.value = self.naturalHeight.toString(); - self.j.e.fire(self.resizeHandler, 'updatesize'); - } - else { - self.showCrop(); - } - break; - } - }); - }); - }; - this.options = - editor && editor.o && editor.o.imageeditor - ? editor.o.imageeditor - : config/* Config.defaultOptions.imageeditor */.D.defaultOptions.imageeditor; - const o = this.options; - this.resizeUseRatio = o.resizeUseRatio; - this.cropUseRatio = o.cropUseRatio; - this.buttons = { - reset: (0,ui_button/* Button */.zx)(this.j, 'update', 'Reset'), - save: (0,ui_button/* Button */.zx)(this.j, 'save', 'Save'), - saveas: (0,ui_button/* Button */.zx)(this.j, 'save', 'Save as ...') - }; - this.activeTab = o.resize ? TABS.resize : TABS.crop; - this.editor = form_form(this.j, this.options); - const { resizeBox, cropBox } = (0,helpers.refs)(this.editor); - this.resize_box = resizeBox; - this.crop_box = cropBox; - this.sizes = this.editor.querySelector(`.${image_editor_jie}__area.${image_editor_jie}__area_crop .jodit-image-editor__sizes`); - this.resizeHandler = this.editor.querySelector(`.${image_editor_jie}__resizer`); - this.cropHandler = this.editor.querySelector(`.${image_editor_jie}__croper`); - this._dialog = this.j.dlg({ - buttons: ['fullsize', 'dialog.close'] - }); - this._dialog.setContent(this.editor); - this._dialog.setSize(this.o.width, this.o.height); - this._dialog.setHeader([ - this.buttons.reset, - this.buttons.save, - this.buttons.saveas - ]); - this.setHandlers(); + } + if (children) { + (0,helpers.asArray)(children).forEach((child) => elm.appendChild((0,helpers.isString)(child) ? this.fromHTML(child) : child)); + } + return elm; } - className() { - return 'ImageEditor'; + div(className, childrenOrAttributes, children) { + const div = this.element('div', childrenOrAttributes, children); + if (className) { + div.className = className; + } + return div; } - onTitleModeClick(e) { - const self = this, title = e.target; - const slide = title === null || title === void 0 ? void 0 : title.parentElement; - if (!slide) { - return; + sandbox() { + var _a; + const iframe = this.element('iframe', { sandbox: 'allow-same-origin' }); + this.doc.body.appendChild(iframe); + const doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document; + void 0; + if (!doc) { + throw Error('Iframe error'); } - (0,helpers.$$)(`.${image_editor_jie}__slider,.${image_editor_jie}__area`, self.editor).forEach(elm => elm.classList.remove(`${image_editor_jie}_active`)); - slide.classList.add(`${image_editor_jie}_active`); - this.activeTab = (0,helpers.attr)(slide, '-area') || TABS.resize; - const tab = self.editor.querySelector(`.${image_editor_jie}__area.${image_editor_jie}__area_` + self.activeTab); - if (tab) { - tab.classList.add(`${image_editor_jie}_active`); + doc.open(); + doc.write(''); + doc.close(); + return doc.body; + } + span(className, childrenOrAttributes, children) { + const span = this.element('span', childrenOrAttributes, children); + if (className) { + span.className = className; } - if (self.activeTab === TABS.crop) { - self.showCrop(); + return span; + } + a(className, childrenOrAttributes, children) { + const a = this.element('a', childrenOrAttributes, children); + if (className) { + a.className = className; } + return a; } - onChangeSizeInput(e) { - const self = this, input = e.target, { widthInput, heightInput } = (0,helpers.refs)(this.editor), isWidth = (0,helpers.attr)(input, 'data-ref') === 'widthInput', x = parseInt(input.value, 10), minX = isWidth ? self.o.min_width : self.o.min_height, minY = !isWidth ? self.o.min_width : self.o.min_height; - let y; - if (x > minX) { - (0,helpers.css)(self.image, isWidth ? 'width' : 'height', x); - if (self.resizeUseRatio) { - y = isWidth - ? Math.round(x / self.ratio) - : Math.round(x * self.ratio); - if (y > minY) { - (0,helpers.css)(self.image, !isWidth ? 'width' : 'height', y); - if (isWidth) { - heightInput.value = y.toString(); - } - else { - widthInput.value = y.toString(); - } + text(value) { + return this.doc.createTextNode(value); + } + fake() { + return this.text(constants.INVISIBLE_SPACE); + } + fragment() { + return this.doc.createDocumentFragment(); + } + fromHTML(html, refsToggleElement) { + const div = this.div(); + div.innerHTML = html.toString(); + const child = div.firstChild !== div.lastChild || !div.firstChild + ? div + : div.firstChild; + dom/* Dom.safeRemove */.i.safeRemove(child); + if (refsToggleElement) { + const refElements = (0,helpers.refs)(child); + Object.keys(refsToggleElement).forEach(key => { + const elm = refElements[key]; + if (elm && refsToggleElement[key] === false) { + dom/* Dom.hide */.i.hide(elm); + } + }); + } + return child; + } + applyCreateAttributes(elm) { + if (this.createAttributes) { + const ca = this.createAttributes; + if (ca && ca[elm.tagName.toLowerCase()]) { + const attrsOpt = ca[elm.tagName.toLowerCase()]; + if ((0,helpers.isFunction)(attrsOpt)) { + attrsOpt(elm); + } + else if ((0,helpers.isPlainObject)(attrsOpt)) { + (0,helpers.attr)(elm, attrsOpt); } } } - this.j.e.fire(self.resizeHandler, 'updatesize'); } - onResizeHandleMouseDown(e) { - const self = this; - self.target = e.target; - e.preventDefault(); - e.stopImmediatePropagation(); - self.clicked = true; - self.start_x = e.clientX; - self.start_y = e.clientY; - if (self.activeTab === TABS.crop) { - self.top_x = (0,helpers.css)(self.cropHandler, 'left'); - self.top_y = (0,helpers.css)(self.cropHandler, 'top'); - self.width = self.cropHandler.offsetWidth; - self.height = self.cropHandler.offsetHeight; - } - else { - self.width = self.image.offsetWidth; - self.height = self.image.offsetHeight; - } - self.j.e - .on(this.j.ow, 'mousemove', this.onGlobalMouseMove) - .one(this.j.ow, 'mouseup', this.onGlobalMouseUp); +} + +;// CONCATENATED MODULE: ./src/core/create/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +// EXTERNAL MODULE: ./src/modules/file-browser/index.ts + 16 modules +var file_browser = __webpack_require__(8649); +// EXTERNAL MODULE: ./src/modules/image-editor/image-editor.ts + 2 modules +var image_editor = __webpack_require__(99583); +;// CONCATENATED MODULE: ./src/modules/history/snapshot.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +class Snapshot extends component/* ViewComponent */.Hr { + constructor() { + super(...arguments); + this.__isBlocked = false; + } + className() { + return 'Snapshot'; } - onGlobalMouseUp(e) { - if (this.clicked) { - this.clicked = false; - e.stopImmediatePropagation(); - this.j.e.off(this.j.ow, 'mousemove', this.onGlobalMouseMove); - } + static equal(first, second) { + return (first.html === second.html && + JSON.stringify(first.range) === JSON.stringify(second.range)); } - onGlobalMouseMove(e) { - const self = this; - if (!self.clicked) { - return; + static countNodesBeforeInParent(elm) { + if (!elm.parentNode) { + return 0; } - const { widthInput, heightInput } = (0,helpers.refs)(this.editor); - self.diff_x = e.clientX - self.start_x; - self.diff_y = e.clientY - self.start_y; - if ((self.activeTab === TABS.resize && self.resizeUseRatio) || - (self.activeTab === TABS.crop && self.cropUseRatio)) { - if (self.diff_x) { - self.new_w = self.width + self.diff_x; - self.new_h = Math.round(self.new_w / self.ratio); + const elms = elm.parentNode.childNodes; + let count = 0, previous = null; + for (let j = 0; j < elms.length; j += 1) { + if (previous && + !this.isIgnoredNode(elms[j]) && + !(dom/* Dom.isText */.i.isText(previous) && dom/* Dom.isText */.i.isText(elms[j]))) { + count += 1; } - else { - self.new_h = self.height + self.diff_y; - self.new_w = Math.round(self.new_h * self.ratio); + if (elms[j] === elm) { + return count; } + previous = elms[j]; } - else { - self.new_w = self.width + self.diff_x; - self.new_h = self.height + self.diff_y; - } - if (self.activeTab === TABS.resize) { - if (self.new_w > self.o.resizeMinWidth) { - (0,helpers.css)(self.image, 'width', self.new_w + 'px'); - widthInput.value = self.new_w.toString(); - } - if (self.new_h > self.o.resizeMinHeight) { - (0,helpers.css)(self.image, 'height', self.new_h + 'px'); - heightInput.value = self.new_h.toString(); + return 0; + } + static strokeOffset(elm, offset) { + while (dom/* Dom.isText */.i.isText(elm)) { + elm = elm.previousSibling; + if (dom/* Dom.isText */.i.isText(elm) && elm.nodeValue) { + offset += elm.nodeValue.length; } - this.j.e.fire(self.resizeHandler, 'updatesize'); } - else { - if (self.target !== self.cropHandler) { - if (self.top_x + self.new_w > self.cropImage.offsetWidth) { - self.new_w = self.cropImage.offsetWidth - self.top_x; - } - if (self.top_y + self.new_h > self.cropImage.offsetHeight) { - self.new_h = self.cropImage.offsetHeight - self.top_y; - } - (0,helpers.css)(self.cropHandler, { - width: self.new_w, - height: self.new_h - }); - } - else { - if (self.top_x + self.diff_x + self.cropHandler.offsetWidth > - self.cropImage.offsetWidth) { - self.diff_x = - self.cropImage.offsetWidth - - self.top_x - - self.cropHandler.offsetWidth; - } - (0,helpers.css)(self.cropHandler, 'left', self.top_x + self.diff_x); - if (self.top_y + self.diff_y + self.cropHandler.offsetHeight > - self.cropImage.offsetHeight) { - self.diff_y = - self.cropImage.offsetHeight - - self.top_y - - self.cropHandler.offsetHeight; - } - (0,helpers.css)(self.cropHandler, 'top', self.top_y + self.diff_y); + return offset; + } + calcHierarchyLadder(elm) { + const counts = []; + if (!elm || !elm.parentNode || !dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, elm)) { + return []; + } + while (elm && elm !== this.j.editor) { + if (elm && !Snapshot.isIgnoredNode(elm)) { + counts.push(Snapshot.countNodesBeforeInParent(elm)); } - this.j.e.fire(self.cropHandler, 'updatesize'); + elm = elm.parentNode; + } + return counts.reverse(); + } + getElementByLadder(ladder) { + let n = this.j.editor, i; + for (i = 0; n && i < ladder.length; i += 1) { + n = n.childNodes[ladder[i]]; } + return n; } - get o() { - return this.options; + get isBlocked() { + return this.__isBlocked; } - hide() { - this._dialog.close(); + __block(enable) { + this.__isBlocked = enable; } - open(url, save) { - return this.j.async.promise((resolve) => { - const timestamp = new Date().getTime(); - this.image = this.j.c.element('img'); - (0,helpers.$$)('img,.jodit-icon_loader', this.resize_box).forEach(dom/* Dom.safeRemove */.i.safeRemove); - (0,helpers.$$)('img,.jodit-icon_loader', this.crop_box).forEach(dom/* Dom.safeRemove */.i.safeRemove); - (0,helpers.css)(this.cropHandler, 'background', 'transparent'); - this.onSave = save; - this.resize_box.appendChild(this.j.c.element('i', { class: 'jodit-icon_loader' })); - this.crop_box.appendChild(this.j.c.element('i', { class: 'jodit-icon_loader' })); - if (/\?/.test(url)) { - url += '&_tst=' + timestamp; + transaction(changes) { + this.__block(true); + try { + changes(); + } + catch (e) { + false && 0; + } + this.__block(false); + } + make() { + const snapshot = { + html: '', + range: { + startContainer: [], + startOffset: 0, + endContainer: [], + endOffset: 0 } - else { - url += '?_tst=' + timestamp; + }; + snapshot.html = this.removeJoditSelection(this.j.editor); + const sel = this.j.s.sel; + if (sel && sel.rangeCount) { + const range = sel.getRangeAt(0), startContainer = this.calcHierarchyLadder(range.startContainer), endContainer = this.calcHierarchyLadder(range.endContainer); + let startOffset = Snapshot.strokeOffset(range.startContainer, range.startOffset), endOffset = Snapshot.strokeOffset(range.endContainer, range.endOffset); + if (!startContainer.length && + range.startContainer !== this.j.editor) { + startOffset = 0; } - this.image.setAttribute('src', url); - this._dialog.open(); - const { widthInput, heightInput } = (0,helpers.refs)(this.editor); - const onload = () => { - if (this.isDestructed) { - return; - } - this.image.removeEventListener('load', onload); - this.naturalWidth = this.image.naturalWidth; - this.naturalHeight = this.image.naturalHeight; - widthInput.value = this.naturalWidth.toString(); - heightInput.value = this.naturalHeight.toString(); - this.ratio = this.naturalWidth / this.naturalHeight; - this.resize_box.appendChild(this.image); - this.cropImage = this.image.cloneNode(true); - this.crop_box.appendChild(this.cropImage); - dom/* Dom.safeRemove.apply */.i.safeRemove.apply(null, (0,helpers.$$)('.jodit-icon_loader', this.editor)); - if (this.activeTab === TABS.crop) { - this.showCrop(); - } - this.j.e.fire(this.resizeHandler, 'updatesize'); - this.j.e.fire(this.cropHandler, 'updatesize'); - this._dialog.setPosition(); - this.j.e.fire('afterImageEditor'); - resolve(this._dialog); + if (!endContainer.length && range.endContainer !== this.j.editor) { + endOffset = 0; + } + snapshot.range = { + startContainer, + startOffset, + endContainer, + endOffset }; - this.image.addEventListener('load', onload); - if (this.image.complete) { - onload(); + } + return snapshot; + } + restore(snapshot) { + this.transaction(() => { + const scroll = this.storeScrollState(); + const value = this.j.getNativeEditorValue(); + if (value !== snapshot.html) { + this.j.value = snapshot.html; } + this.restoreOnlySelection(snapshot); + this.restoreScrollState(scroll); }); } - destruct() { - if (this.isDestructed) { - return; - } - if (this._dialog && !this._dialog.isInDestruct) { - this._dialog.destruct(); - } - dom/* Dom.safeRemove */.i.safeRemove(this.editor); - if (this.j.e) { - this.j.e - .off(this.j.ow, 'mousemove', this.onGlobalMouseMove) - .off(this.j.ow, 'mouseup', this.onGlobalMouseUp) - .off(this.ow, `.${image_editor_jie}`) - .off(`.${image_editor_jie}`); + storeScrollState() { + return [this.j.ow.scrollY, this.j.editor.scrollTop]; + } + restoreScrollState(scrolls) { + const { j } = this, { ow } = j; + ow.scrollTo(ow.scrollX, scrolls[0]); + j.editor.scrollTop = scrolls[1]; + } + restoreOnlySelection(snapshot) { + try { + if (snapshot.range) { + const range = this.j.ed.createRange(); + range.setStart(this.getElementByLadder(snapshot.range.startContainer), snapshot.range.startOffset); + range.setEnd(this.getElementByLadder(snapshot.range.endContainer), snapshot.range.endOffset); + this.j.s.selectRange(range); + } + } + catch (__ignore) { + this.j.editor.lastChild && + this.j.s.setCursorAfter(this.j.editor.lastChild); + if (false) {} } + } + destruct() { + this.__block(false); super.destruct(); } -}; -ImageEditor.calcValueByPercent = (value, percent) => { - const percentStr = percent.toString(); - const valueNbr = parseFloat(value.toString()); - let match; - match = /^[-+]?[0-9]+(px)?$/.exec(percentStr); - if (match) { - return parseInt(percentStr, 10); + static isIgnoredNode(node) { + return (dom/* Dom.isText */.i.isText(node) && !node.nodeValue) || dom/* Dom.isTemporary */.i.isTemporary(node); } - match = /^([-+]?[0-9.]+)%$/.exec(percentStr); - if (match) { - return Math.round(valueNbr * (parseFloat(match[1]) / 100)); + removeJoditSelection(node) { + const clone = node.cloneNode(true); + clone.querySelectorAll(`[${constants.TEMP_ATTR}]`).forEach(dom/* Dom.unwrap */.i.unwrap); + return clone.innerHTML; } - return valueNbr || 0; -}; -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], ImageEditor.prototype, "onTitleModeClick", null); -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.debounce)(), - decorators.autobind -], ImageEditor.prototype, "onChangeSizeInput", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], ImageEditor.prototype, "onResizeHandleMouseDown", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], ImageEditor.prototype, "onGlobalMouseUp", null); -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.throttle)(10) -], ImageEditor.prototype, "onGlobalMouseMove", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], ImageEditor.prototype, "hide", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], ImageEditor.prototype, "open", null); -ImageEditor = ImageEditor_1 = (0,tslib_es6/* __decorate */.gn)([ - decorators.component -], ImageEditor); +} -function openImageEditor(href, name, path, source, onSuccess, onFailed) { - return this.getInstance('ImageEditor', this.o).open(href, (newname, box, success, failed) => (0,helpers.call)(box.action === 'resize' - ? this.dataProvider.resize - : this.dataProvider.crop, path, source, name, newname, box.box) - .then(ok => { - if (ok) { - success(); - if (onSuccess) { - onSuccess(); +;// CONCATENATED MODULE: ./src/modules/history/stack.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +class Stack { + constructor(size) { + this.size = size; + this.commands = []; + this.stackPosition = -1; + } + get length() { + return this.commands.length; + } + clearRedo() { + this.commands.length = this.stackPosition + 1; + } + clear() { + this.commands.length = 0; + this.stackPosition = -1; + } + push(command) { + this.clearRedo(); + this.commands.push(command); + this.stackPosition += 1; + if (this.commands.length > this.size) { + this.commands.shift(); + this.stackPosition -= 1; + } + } + replace(command) { + this.commands[this.stackPosition] = command; + } + current() { + return this.commands[this.stackPosition]; + } + undo() { + if (this.canUndo()) { + if (this.commands[this.stackPosition]) { + this.commands[this.stackPosition].undo(); } + this.stackPosition -= 1; + return true; } - }) - .catch(error => { - failed(error); - if (onFailed) { - onFailed(error); + return false; + } + redo() { + if (this.canRedo()) { + this.stackPosition += 1; + if (this.commands[this.stackPosition]) { + this.commands[this.stackPosition].redo(); + } + return true; } - })); + return false; + } + canUndo() { + return this.stackPosition >= 0; + } + canRedo() { + return this.stackPosition < this.commands.length - 1; + } } - -/***/ }), - -/***/ 5687: -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { - -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "Ajax": function() { return /* reexport */ core_request/* Ajax */.t; }, - "Alert": function() { return /* reexport */ Alert; }, - "Async": function() { return /* reexport */ core_async/* Async */.e; }, - "CommitStyle": function() { return /* reexport */ selection/* CommitStyle */.RP; }, - "Component": function() { return /* reexport */ component/* Component */.wA; }, - "Confirm": function() { return /* reexport */ Confirm; }, - "ContextMenu": function() { return /* reexport */ context_menu/* ContextMenu */.x; }, - "Create": function() { return /* reexport */ Create; }, - "Dialog": function() { return /* reexport */ Dialog; }, - "Dom": function() { return /* reexport */ dom/* Dom */.i; }, - "EventEmitter": function() { return /* reexport */ event_emitter/* EventEmitter */.vp; }, - "EventHandlersStore": function() { return /* reexport */ event_emitter/* EventHandlersStore */.DG; }, - "Eventify": function() { return /* reexport */ event_emitter/* Eventify */.aN; }, - "FileBrowser": function() { return /* reexport */ file_browser/* FileBrowser */.f; }, - "Helpers": function() { return /* reexport */ helpers; }, - "History": function() { return /* reexport */ History; }, - "Icon": function() { return /* reexport */ ui/* Icon */.JO; }, - "ImageEditor": function() { return /* reexport */ image_editor/* ImageEditor */.v; }, - "LazyWalker": function() { return /* reexport */ dom/* LazyWalker */.b; }, - "Plugin": function() { return /* reexport */ core_plugin/* Plugin */.S; }, - "PluginSystem": function() { return /* reexport */ plugin_system/* PluginSystem */.h; }, - "Popup": function() { return /* reexport */ ui/* Popup */.GI; }, - "ProgressBar": function() { return /* reexport */ ui/* ProgressBar */.ko; }, - "Prompt": function() { return /* reexport */ Prompt; }, - "Response": function() { return /* reexport */ core_request/* Response */.H; }, - "STATUSES": function() { return /* reexport */ component/* STATUSES */.n$; }, - "Select": function() { return /* reexport */ selection/* Select */.Ph; }, - "Snapshot": function() { return /* reexport */ Snapshot; }, - "StatusBar": function() { return /* reexport */ StatusBar; }, - "Table": function() { return /* reexport */ table/* Table */.i; }, - "ToolbarButton": function() { return /* reexport */ toolbar_button_button/* ToolbarButton */.h; }, - "ToolbarCollection": function() { return /* reexport */ collection/* ToolbarCollection */.n; }, - "ToolbarContent": function() { return /* reexport */ content/* ToolbarContent */.c; }, - "ToolbarEditorCollection": function() { return /* reexport */ editor_collection/* ToolbarEditorCollection */.N; }, - "UIBlock": function() { return /* reexport */ ui/* UIBlock */.eC; }, - "UIButton": function() { return /* reexport */ ui/* UIButton */.y3; }, - "UICheckbox": function() { return /* reexport */ ui/* UICheckbox */.mA; }, - "UIElement": function() { return /* reexport */ ui/* UIElement */.u1; }, - "UIForm": function() { return /* reexport */ ui/* UIForm */.x4; }, - "UIGroup": function() { return /* reexport */ ui/* UIGroup */.qe; }, - "UIInput": function() { return /* reexport */ ui/* UIInput */.u3; }, - "UIList": function() { return /* reexport */ ui/* UIList */.bz; }, - "UIMessages": function() { return /* reexport */ messages/* UIMessages */.D; }, - "UISeparator": function() { return /* reexport */ ui/* UISeparator */.lU; }, - "UITextArea": function() { return /* reexport */ ui/* UITextArea */.GJ; }, - "Uploader": function() { return /* reexport */ Uploader; }, - "View": function() { return /* reexport */ view/* View */.G; }, - "ViewComponent": function() { return /* reexport */ component/* ViewComponent */.Hr; }, - "ViewWithToolbar": function() { return /* reexport */ view_with_toolbar/* ViewWithToolbar */.C; }, - "defaultNameSpace": function() { return /* reexport */ event_emitter/* defaultNameSpace */.rO; }, - "isFileBrowserFilesItem": function() { return /* reexport */ file_browser/* isFileBrowserFilesItem */.F; }, - "observable": function() { return /* reexport */ event_emitter/* observable */.LO; } -}); - -// EXTERNAL MODULE: ./src/core/event-emitter/index.ts + 2 modules -var event_emitter = __webpack_require__(18122); -// EXTERNAL MODULE: ./src/core/async/index.ts + 1 modules -var core_async = __webpack_require__(83735); -// EXTERNAL MODULE: ./src/core/request/index.ts + 3 modules -var core_request = __webpack_require__(5887); -// EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules -var component = __webpack_require__(2624); -// EXTERNAL MODULE: ./src/modules/context-menu/context-menu.ts -var context_menu = __webpack_require__(82616); -// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js -var tslib_es6 = __webpack_require__(20255); -// EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); -// EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); -// EXTERNAL MODULE: external "{assert(){}};" -var external_assert_ = __webpack_require__(52378); -// EXTERNAL MODULE: ./src/core/view/view-with-toolbar.ts -var view_with_toolbar = __webpack_require__(67555); -// EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); -// EXTERNAL MODULE: ./src/core/global.ts -var global = __webpack_require__(16672); -// EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); -// EXTERNAL MODULE: ./src/core/view/view.ts -var view = __webpack_require__(49896); -// EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); -;// CONCATENATED MODULE: ./src/modules/dialog/dialog.ts +;// CONCATENATED MODULE: ./src/modules/history/command.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ +class Command { + undo() { + this.history.snapshot.restore(this.oldValue); + } + redo() { + this.history.snapshot.restore(this.newValue); + } + constructor(oldValue, newValue, history, tick) { + this.oldValue = oldValue; + this.newValue = newValue; + this.history = history; + this.tick = tick; + } +} +;// CONCATENATED MODULE: ./src/modules/history/history.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ @@ -15289,417 +14675,776 @@ var ui = __webpack_require__(55865); - - - - - -config/* Config.prototype.dialog */.D.prototype.dialog = { - namespace: '', - extraButtons: [], - resizable: true, - draggable: true, - buttons: ['dialog.close'], - removeButtons: [] +config/* Config.prototype.history */.D.prototype.history = { + enable: true, + maxHistoryLength: Infinity, + timeout: 1000 }; -config/* Config.prototype.controls.dialog */.D.prototype.controls.dialog = { - close: { - icon: 'cancel', - exec: dialog => { - dialog.close(); +config/* Config.prototype.observer */.D.prototype.observer = config/* Config.prototype.history */.D.prototype.history; +class History extends component/* ViewComponent */.Hr { + className() { + return 'History'; + } + get startValue() { + return this.__startValue; + } + set startValue(value) { + this.__startValue = value; + } + constructor(editor, stack = new Stack(editor.o.history.maxHistoryLength), snapshot = new Snapshot(editor)) { + super(editor); + this.updateTick = 0; + this.__stack = stack; + this.snapshot = snapshot; + if (editor.o.history.enable) { + editor.e.on('afterAddPlace.history', () => { + if (this.isInDestruct) { + return; + } + this.startValue = this.snapshot.make(); + editor.events + .on('internalChange internalUpdate', () => { + this.startValue = this.snapshot.make(); + }) + .on(editor.editor, [ + 'changeSelection', + 'selectionstart', + 'selectionchange', + 'mousedown', + 'mouseup', + 'keydown', + 'keyup' + ] + .map(f => f + '.history') + .join(' '), () => { + if (this.startValue.html === + this.j.getNativeEditorValue()) { + this.startValue = this.snapshot.make(); + } + }) + .on(this, 'change.history', this.onChange); + }); } } -}; -let Dialog = class Dialog extends view_with_toolbar/* ViewWithToolbar */.C { - constructor(options) { - super(options); - this.destroyAfterClose = false; - this.moved = false; - this.resizable = false; - this.draggable = false; - this.startX = 0; - this.startY = 0; - this.startPoint = { x: 0, y: 0, w: 0, h: 0 }; - this.lockSelect = () => { - this.setMod('moved', true); - }; - this.unlockSelect = () => { - this.setMod('moved', false); - }; - this.onResize = () => { - if (this.options && - this.o.resizable && - !this.moved && - this.isOpened && - !this.offsetX && - !this.offsetY) { - this.setPosition(); - } - }; - this.isModal = false; - this.isOpened = false; - const self = this; - self.options = (0,helpers.ConfigProto)(options !== null && options !== void 0 ? options : {}, (0,helpers.ConfigProto)({ - toolbarButtonSize: 'middle' - }, (0,helpers.ConfigProto)(config/* Config.prototype.dialog */.D.prototype.dialog, view/* View.defaultOptions */.G.defaultOptions))); - dom/* Dom.safeRemove */.i.safeRemove(self.container); - const n = this.getFullElName.bind(this); - self.container = this.c.fromHTML(`
-
-
-
-
-
-
-
-
-
${ui/* Icon.get */.JO.get('resize_handler')}
-
-
`); - (0,helpers.attr)(self.container, 'role', 'dialog'); - Object.defineProperty(self.container, 'component', { - value: this - }); - self.setMod('theme', self.o.theme || 'default').setMod('resizable', Boolean(self.o.resizable)); - const dialog = self.getElm('panel'); - const resizer = self.getElm('resizer'); - const dialogbox_header = self.getElm('header-title'); - const dialogbox_content = self.getElm('content'); - const dialogbox_footer = self.getElm('footer'); - const dialogbox_toolbar = self.getElm('header-toolbar'); - this.dialog = dialog; - this.resizer = resizer; - this.dialogbox_header = dialogbox_header; - this.dialogbox_content = dialogbox_content; - this.dialogbox_footer = dialogbox_footer; - this.dialogbox_toolbar = dialogbox_toolbar; - (0,helpers.css)(self.dialog, { - maxWidth: self.options.maxWidth, - minHeight: self.options.minHeight, - minWidth: self.options.minWidth - }); - const headerBox = self.getElm('header'); - headerBox && - self.e.on(headerBox, 'pointerdown touchstart', self.onHeaderMouseDown); - self.e.on(self.resizer, 'mousedown touchstart', self.onResizerMouseDown); - const fullSize = global/* pluginSystem.get */.pw.get('fullsize'); - (0,helpers.isFunction)(fullSize) && fullSize(self); - this.e - .on(self.container, 'close_dialog', self.close) - .on(this.ow, 'keydown', this.onEsc) - .on(this.ow, 'resize', this.onResize); + __upTick() { + this.updateTick += 1; } - className() { - return 'Dialog'; + onChange() { + this.__processChanges(); } - get destination() { - var _a; - return ((_a = this.o.shadowRoot) !== null && _a !== void 0 ? _a : this.od.body); + __processChanges() { + if (this.snapshot.isBlocked || !this.j.o.history.enable) { + return; + } + this.updateStack(); } - setElements(root, elements) { - const elements_list = []; - (0,helpers.asArray)(elements).forEach((elm) => { - if ((0,helpers.isArray)(elm)) { - const div = this.c.div(this.getFullElName('column')); - elements_list.push(div); - root.appendChild(div); - return this.setElements(div, elm); - } - let element; - if ((0,helpers.isString)(elm)) { - element = this.c.fromHTML(elm); + updateStack(replace = false) { + const newValue = this.snapshot.make(); + if (!Snapshot.equal(newValue, this.startValue)) { + const newCommand = new Command(this.startValue, newValue, this, this.updateTick); + if (replace) { + const command = this.__stack.current(); + if (command && this.updateTick === command.tick) { + this.__stack.replace(newCommand); + } } else { - element = (0,helpers.hasContainer)(elm) ? elm.container : elm; - } - elements_list.push(element); - if (element.parentNode !== root) { - root.appendChild(element); - } - }); - (0,helpers.toArray)(root.childNodes).forEach((elm) => { - if (elements_list.indexOf(elm) === -1) { - root.removeChild(elm); + this.__stack.push(newCommand); } - }); + this.startValue = newValue; + this.fireChangeStack(); + } } - onMouseUp() { - if (this.draggable || this.resizable) { - this.removeGlobalResizeListeners(); - this.draggable = false; - this.resizable = false; - this.unlockSelect(); - if (this.e) { - this.removeGlobalResizeListeners(); - this.e.fire(this, 'endResize endMove'); - } + redo() { + if (this.__stack.redo()) { + this.startValue = this.snapshot.make(); + this.fireChangeStack(); } } - onHeaderMouseDown(e) { - const target = e.target; - if (!this.o.draggable || - (target && target.nodeName.match(/^(INPUT|SELECT)$/))) { - return; + canRedo() { + return this.__stack.canRedo(); + } + undo() { + if (this.__stack.undo()) { + this.startValue = this.snapshot.make(); + this.fireChangeStack(); } - this.draggable = true; - this.startX = e.clientX; - this.startY = e.clientY; - this.startPoint.x = (0,helpers.css)(this.dialog, 'left'); - this.startPoint.y = (0,helpers.css)(this.dialog, 'top'); - this.setMaxZIndex(); - if (e.cancelable) { - e.preventDefault(); + } + canUndo() { + return this.__stack.canUndo(); + } + clear() { + this.startValue = this.snapshot.make(); + this.__stack.clear(); + this.fireChangeStack(); + } + get length() { + return this.__stack.length; + } + fireChangeStack() { + var _a; + this.j && !this.j.isInDestruct && ((_a = this.j.events) === null || _a === void 0 ? void 0 : _a.fire('changeStack')); + } + destruct() { + if (this.isInDestruct) { + return; } - this.lockSelect(); - this.addGlobalResizeListeners(); - if (this.e) { - this.e.fire(this, 'startMove'); + if (this.j.events) { + this.j.e.off('.history'); } + this.snapshot.destruct(); + super.destruct(); + } +} +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.debounce)() +], History.prototype, "onChange", null); + +// EXTERNAL MODULE: ./src/core/helpers/string/camel-case.ts +var camel_case = __webpack_require__(26596); +// EXTERNAL MODULE: ./src/core/helpers/normalize/normalize-node.ts +var normalize_node = __webpack_require__(74504); +// EXTERNAL MODULE: ./src/core/helpers/utils/index.ts +var utils = __webpack_require__(76502); +// EXTERNAL MODULE: ./src/core/helpers/utils/css.ts +var css = __webpack_require__(26911); +// EXTERNAL MODULE: ./src/core/helpers/utils/data-bind.ts +var data_bind = __webpack_require__(63122); +// EXTERNAL MODULE: ./src/core/helpers/string/kebab-case.ts +var kebab_case = __webpack_require__(11278); +// EXTERNAL MODULE: ./src/core/helpers/normalize/normalize-css-value.ts +var normalize_css_value = __webpack_require__(49353); +// EXTERNAL MODULE: ./src/core/helpers/size/object-size.ts +var object_size = __webpack_require__(16492); +// EXTERNAL MODULE: ./src/core/dom/dom.ts +var dom_dom = __webpack_require__(24263); +// EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 7 modules +var checker = __webpack_require__(78411); +;// CONCATENATED MODULE: ./src/core/selection/style/api/toggle-attributes.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + + + + + + +const tak = 'toggleAttributes'; +function toggleAttributes(commitStyle, elm, jodit, mode, dry = false) { + if (!dry && commitStyle.isApplied(elm, tak)) { + return mode; } - onMouseMove(e) { - if (this.draggable && this.o.draggable) { - this.setPosition(this.startPoint.x + e.clientX - this.startX, this.startPoint.y + e.clientY - this.startY); - if (this.e) { - this.e.fire(this, 'move', e.clientX - this.startX, e.clientY - this.startY); + !dry && commitStyle.setApplied(elm, tak); + const { attributes } = commitStyle.options; + if (attributes && (0,object_size/* size */.d)(attributes) > 0) { + Object.keys(attributes).forEach((key) => { + const value = attributes[key]; + switch (key) { + case 'style': { + mode = toggleStyle(commitStyle, jodit, value, elm, dry, mode); + break; + } + case 'class': + mode = toggleClass(jodit, value, elm, mode, dry); + break; + default: + mode = toggleAttribute(jodit, value, elm, key, dry, mode); } - e.stopImmediatePropagation(); + }); + } + return mode; +} +function toggleStyle(commitStyle, jodit, style, elm, dry, mode) { + void 0; + Object.keys(style).forEach((rule) => { + const inlineValue = elm.style.getPropertyValue((0,kebab_case/* kebabCase */.G)(rule)); + const newValue = style[rule]; + if (inlineValue === '' && newValue == null) { + return; } - if (this.resizable && this.o.resizable) { - this.setSize(this.startPoint.w + e.clientX - this.startX, this.startPoint.h + e.clientY - this.startY); - if (this.e) { - this.e.fire(this, 'resizeDialog', e.clientX - this.startX, e.clientY - this.startY); + if (getNativeCSSValue(jodit, elm, rule) === + (0,normalize_css_value/* normalizeCssValue */.Zh)(rule, newValue)) { + if (!inlineValue) { + return; } + !dry && (0,css/* css */.i)(elm, rule, null); + mode = UNSET; + mode = removeExtraStyleAttribute(commitStyle, elm, mode); + return; } - } - onEsc(e) { - if (this.isOpened && - e.key === constants.KEY_ESC && - this.getMod('static') !== true) { - const me = this.getMaxZIndexDialog(); - if (me) { - me.close(); - } - else { - this.close(); + mode = CHANGE; + if (!dry) { + (0,css/* css */.i)(elm, rule, newValue); + mode = removeExtraStyleAttribute(commitStyle, elm, mode); + } + }); + return mode; +} +function toggleClass(jodit, value, elm, mode, dry) { + void 0; + const hook = jodit.e.fire.bind(jodit.e, `${_PREFIX}AfterToggleAttribute`); + if (elm.classList.contains(value.toString())) { + mode = UNSET; + if (!dry) { + elm.classList.remove(value); + if (elm.classList.length === 0) { + (0,utils.attr)(elm, 'class', null); + hook(mode, elm, 'class', null); } - e.stopImmediatePropagation(); } } - onResizerMouseDown(e) { - this.resizable = true; - this.startX = e.clientX; - this.startY = e.clientY; - this.startPoint.w = this.dialog.offsetWidth; - this.startPoint.h = this.dialog.offsetHeight; - this.lockSelect(); - this.addGlobalResizeListeners(); - if (this.e) { - this.e.fire(this, 'startResize'); + else { + mode = CHANGE; + if (!dry) { + elm.classList.add(value); + hook(mode, elm, 'class', value); } } - addGlobalResizeListeners() { - const self = this; - self.e - .on(self.ow, 'pointermove touchmove', self.onMouseMove) - .on(self.ow, 'pointerup touchend', self.onMouseUp); + return mode; +} +function toggleAttribute(jodit, value, elm, key, dry, mode) { + void 0; + const hook = jodit.e.fire.bind(jodit.e, `${_PREFIX}AfterToggleAttribute`); + if ((0,utils.attr)(elm, key) === value) { + !dry && (0,utils.attr)(elm, key, null); + mode = UNSET; + !dry && hook(mode, elm, key, value); + return mode; } - removeGlobalResizeListeners() { - const self = this; - self.e - .off(self.ow, 'mousemove pointermove', self.onMouseMove) - .off(self.ow, 'mouseup pointerup', self.onMouseUp); + mode = CHANGE; + if (!dry) { + (0,utils.attr)(elm, key, value); + hook(mode, elm, key, value); } - setSize(w, h) { - if (w == null) { - w = this.dialog.offsetWidth; - } - if (h == null) { - h = this.dialog.offsetHeight; + return mode; +} +function removeExtraStyleAttribute(commitStyle, elm, mode) { + if (!(0,utils.attr)(elm, 'style')) { + (0,utils.attr)(elm, 'style', null); + if (elm.tagName.toLowerCase() === commitStyle.defaultTag) { + dom_dom/* Dom.unwrap */.i.unwrap(elm); + mode = UNWRAP; } - (0,helpers.css)(this.dialog, { - width: w, - height: h - }); - return this; } - calcAutoSize() { - this.setSize('auto', 'auto'); - this.setSize(); - return this; + return mode; +} +function getShadowRoot(jodit) { + var _a; + if ((0,data_bind/* dataBind */.q)(jodit, 'shadowRoot') !== undefined) { + return (0,data_bind/* dataBind */.q)(jodit, 'shadowRoot'); } - setPosition(x, y) { - const w = this.ow.innerWidth, h = this.ow.innerHeight; - let left = w / 2 - this.dialog.offsetWidth / 2, top = h / 2 - this.dialog.offsetHeight / 2; - if (left < 0) { - left = 0; - } - if (top < 0) { - top = 0; + const container = (0,global/* getContainer */.ZO)(jodit); + const iframe = document.createElement('iframe'); + (0,css/* css */.i)(iframe, { + width: 0, + height: 0, + position: 'absolute', + border: 0 + }); + iframe.src = 'about:blank'; + container.appendChild(iframe); + const doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document; + const shadowRoot = !doc ? jodit.od.body : doc.body; + (0,data_bind/* dataBind */.q)(jodit, 'shadowRoot', shadowRoot); + return shadowRoot; +} +function getNativeCSSValue(jodit, elm, key) { + const newElm = jodit.create.element(elm.tagName.toLowerCase()); + newElm.style.cssText = elm.style.cssText; + const root = getShadowRoot(jodit); + root.appendChild(newElm); + const result = (0,css/* css */.i)(newElm, key); + dom_dom/* Dom.safeRemove */.i.safeRemove(newElm); + return result; +} + +// EXTERNAL MODULE: ./src/core/helpers/utils/utils.ts +var utils_utils = __webpack_require__(67309); +// EXTERNAL MODULE: ./src/core/helpers/string/trim.ts +var trim = __webpack_require__(33941); +// EXTERNAL MODULE: ./src/core/helpers/checker/is-marker.ts +var is_marker = __webpack_require__(37204); +;// CONCATENATED MODULE: ./src/core/selection/style/api/extract.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + +function extractSelectedPart(wrapper, font, jodit) { + const range = jodit.s.createRange(); + const leftEdge = (0,is_marker/* isMarker */._)(font.previousSibling) + ? font.previousSibling + : font; + range.setStartBefore(wrapper); + range.setEndBefore(leftEdge); + extractAndMove(wrapper, range, true); + const rightEdge = (0,is_marker/* isMarker */._)(font.nextSibling) ? font.nextSibling : font; + range.setStartAfter(rightEdge); + range.setEndAfter(wrapper); + extractAndMove(wrapper, range, false); +} +function extractAndMove(wrapper, range, left) { + const fragment = range.extractContents(); + if ((!fragment.textContent || !(0,trim/* trim */.f)(fragment.textContent).length) && + fragment.firstChild) { + dom_dom/* Dom.unwrap */.i.unwrap(fragment.firstChild); + } + if (wrapper.parentNode) { + (0,utils_utils/* call */.RE)(left ? dom_dom/* Dom.before */.i.before : dom_dom/* Dom.after */.i.after, wrapper, fragment); + } +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/list/toggle-ordered-list.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + + +function toggleOrderedList(commitStyle, li, jodit, mode) { + if (!li) { + return mode; + } + const list = li.parentElement; + if (!list) { + return mode; + } + const result = jodit.e.fire(`${_PREFIX}BeforeToggleList`, mode, commitStyle, list); + if (result !== undefined) { + return result; + } + const hook = jodit.e.fire.bind(jodit.e, `${_PREFIX}AfterToggleList`); + if (mode !== UNWRAP) { + const isChangeMode = toggleAttributes(commitStyle, li.parentElement, jodit, INITIAL, true) === CHANGE; + if (mode === REPLACE || + isChangeMode || + list.tagName.toLowerCase() !== commitStyle.element) { + const wrapper = unwrapList(REPLACE, list, li, jodit, commitStyle); + const newList = wrapList(commitStyle, wrapper, jodit); + hook(REPLACE, newList, commitStyle); + return REPLACE; } - if (x !== undefined && y !== undefined) { - this.offsetX = x; - this.offsetY = y; - this.moved = Math.abs(x - left) > 100 || Math.abs(y - top) > 100; + } + const wrapper = unwrapList(UNWRAP, list, li, jodit, commitStyle); + hook(UNWRAP, wrapper, commitStyle); + return UNWRAP; +} +function unwrapList(mode, list, li, jodit, cs) { + const result = jodit.e.fire(`${_PREFIX}BeforeUnwrapList`, mode, list, cs); + if (result) { + void 0; + return result; + } + extractSelectedPart(list, li, jodit); + void 0; + dom_dom/* Dom.unwrap */.i.unwrap(li.parentElement); + return dom_dom/* Dom.replace */.i.replace(li, jodit.o.enter, jodit.createInside); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/list/wrap-list.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +function wrapList(commitStyle, wrapper, jodit) { + const result = jodit.e.fire(`${_PREFIX}BeforeWrapList`, REPLACE, wrapper, commitStyle); + const newWrapper = result !== null && result !== void 0 ? result : dom/* Dom.replace */.i.replace(wrapper, 'li', jodit.createInside); + const prev = newWrapper.previousElementSibling; + const next = newWrapper.nextElementSibling; + let list = dom/* Dom.isTag */.i.isTag(prev, commitStyle.element) ? prev : null; + list !== null && list !== void 0 ? list : (list = dom/* Dom.isTag */.i.isTag(next, commitStyle.element) ? next : null); + if (!dom/* Dom.isTag */.i.isTag(list, ['ul', 'ol']) || + !isSameAttributes(list, commitStyle.options.attributes)) { + list = jodit.createInside.element(commitStyle.element); + toggleAttributes(commitStyle, list, jodit, INITIAL); + dom/* Dom.before */.i.before(newWrapper, list); + } + if (prev === list) { + dom/* Dom.append */.i.append(list, newWrapper); + } + else { + dom/* Dom.prepend */.i.prepend(list, newWrapper); + } + if (dom/* Dom.isTag */.i.isTag(list.nextElementSibling, commitStyle.element) && + elementsEqualAttributes(list, list.nextElementSibling)) { + dom/* Dom.append */.i.append(list, Array.from(list.nextElementSibling.childNodes)); + dom/* Dom.safeRemove */.i.safeRemove(list.nextElementSibling); + } + jodit.e.fire(`${_PREFIX}AfterWrapList`, WRAP, list, commitStyle); + return list; +} + +// EXTERNAL MODULE: ./src/core/helpers/checker/is-void.ts +var is_void = __webpack_require__(24021); +;// CONCATENATED MODULE: ./src/core/selection/style/api/has-same-style.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + +function hasSameStyle(elm, rules) { + return Boolean(!dom_dom/* Dom.isTag */.i.isTag(elm, 'font') && + dom_dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) && + Object.keys(rules).every(property => { + const value = (0,css/* css */.i)(elm, property, true); + if (value === '' && + (rules[property] === '' || rules[property] == null)) { + return true; + } + return (!(0,is_void/* isVoid */.n)(value) && + value !== '' && + !(0,is_void/* isVoid */.n)(rules[property]) && + (0,normalize_css_value/* normalizeCssValue */.Zh)(property, rules[property]) + .toString() + .toLowerCase() === value.toString().toLowerCase()); + })); +} +const elm = document.createElement('div'); +elm.style.color = 'red'; +void 0; +void 0; +void 0; +function hasSameStyleKeys(elm, rules) { + return Boolean(!dom_dom/* Dom.isTag */.i.isTag(elm, 'font') && + dom_dom/* Dom.isHTMLElement */.i.isHTMLElement(elm) && + Object.keys(rules).every(property => { + const value = (0,css/* css */.i)(elm, property, true); + return !(0,is_void/* isVoid */.n)(value); + })); +} +void 0; +void 0; + +// EXTERNAL MODULE: ./src/core/helpers/utils/assert.ts +var assert = __webpack_require__(603); +;// CONCATENATED MODULE: ./src/core/selection/style/api/finite-state-machine.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +class FiniteStateMachine { + setState(state) { + void 0; + this.__previewsStates.add(state); + this.__state = state; + } + getState() { + return this.__state; + } + disableSilent() { + this.silent = false; + } + constructor(state, transitions) { + this.transitions = transitions; + this.silent = true; + this.__previewsStates = new Set(); + this.setState(state); + } + dispatch(actionName, value) { + const action = this.transitions[this.getState()][actionName]; + if (action) { + const res = action.call(this, value); + void 0; + void 0; + void 0; + this.setState(res.next); + if (false) {} + return res; } - this.dialog.style.left = (x || left) + 'px'; - this.dialog.style.top = (y || top) + 'px'; - return this; + throw new Error(`invalid action: ${this.getState()}.${actionName.toString()}`); } - setHeader(content) { - this.setElements(this.dialogbox_header, content); - return this; +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/is-normal-node.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +function isNormalNode(elm) { + return Boolean(elm && + !dom_dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm) && + !dom_dom/* Dom.isTemporary */.i.isTemporary(elm) && + !(0,is_marker/* isMarker */._)(elm)); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/is-suit-element.ts + + + +function isSuitElement(commitStyle, elm, strict) { + var _a; + if (!elm) { + return false; } - setContent(content) { - this.setElements(this.dialogbox_content, content); - return this; + const { element, elementIsDefault, options } = commitStyle; + const elmHasSameStyle = Boolean(((_a = options.attributes) === null || _a === void 0 ? void 0 : _a.style) && + hasSameStyle(elm, options.attributes.style)); + const elmIsSame = elm.nodeName.toLowerCase() === element || + (dom_dom/* Dom.isTag */.i.isTag(elm, ['ul', 'ol']) && commitStyle.elementIsList); + if (((!elementIsDefault || !strict) && elmIsSame) || + (elmHasSameStyle && isNormalNode(elm) && !commitStyle.elementIsList)) { + return true; } - setFooter(content) { - this.setElements(this.dialogbox_footer, content); - this.setMod('footer', Boolean(content)); - return this; + return Boolean(!elmIsSame && !strict && elementIsDefault && dom_dom/* Dom.isInlineBlock */.i.isInlineBlock(elm)); +} +function findSuitClosest(commitStyle, element, root) { + return dom_dom/* Dom.closest */.i.closest(element, node => isSuitElement(commitStyle, node, true), root); +} +function isSameStyleChild(commitStyle, elm) { + var _a, _b; + const { element, options } = commitStyle; + if (!elm || !isNormalNode(elm)) { + return false; } - getZIndex() { - return parseInt((0,helpers.css)(this.container, 'zIndex'), 10) || 0; + const elmIsSame = elm.nodeName.toLowerCase() === element; + const elmHasSameStyle = Boolean(((_a = options.attributes) === null || _a === void 0 ? void 0 : _a.style) && + hasSameStyleKeys(elm, (_b = options.attributes) === null || _b === void 0 ? void 0 : _b.style)); + return elmIsSame && elmHasSameStyle; +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-child.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +function getSuitChild(style, font) { + let { firstChild: child } = font; + while (child && !isNormalNode(child)) { + child = child.nextSibling; + if (!child) { + return null; + } } - getMaxZIndexDialog() { - let maxZi = 0, dlg, zIndex, res = this; - (0,helpers.$$)('.jodit-dialog', this.destination).forEach((dialog) => { - dlg = dialog.component; - zIndex = parseInt((0,helpers.css)(dialog, 'zIndex'), 10); - if (dlg.isOpened && !isNaN(zIndex) && zIndex > maxZi) { - res = dlg; - maxZi = zIndex; - } - }); - return res; + if (child && + !dom_dom/* Dom.next */.i.next(child, isNormalNode, font) && + isSuitElement(style, child, false)) { + return child; } - setMaxZIndex() { - let maxZIndex = 20000004, zIndex = 0; - (0,helpers.$$)('.jodit-dialog', this.destination).forEach(dialog => { - zIndex = parseInt((0,helpers.css)(dialog, 'zIndex'), 10); - maxZIndex = Math.max(isNaN(zIndex) ? 0 : zIndex, maxZIndex); - }); - this.container.style.zIndex = (maxZIndex + 1).toString(); + return null; +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/get-suit-parent.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + +function getSuitParent(style, node, root) { + const { parentNode } = node; + if (parentNode === root || + !dom_dom/* Dom.isHTMLElement */.i.isHTMLElement(parentNode) || + dom_dom/* Dom.next */.i.next(node, isNormalNode, parentNode) || + dom_dom/* Dom.prev */.i.prev(node, isNormalNode, parentNode)) { + return null; } - toggleFullSize(isFullSize) { - if ((0,helpers.isVoid)(isFullSize)) { - isFullSize = !this.getMod('fullsize'); - } - this.setMod('fullsize', isFullSize); - super.toggleFullSize(isFullSize); + if (style.isElementCommit && + style.elementIsBlock && + !dom_dom/* Dom.isBlock */.i.isBlock(parentNode)) { + return getSuitParent(style, parentNode, root); } - open(contentOrClose, titleOrModal, destroyAfterClose, modal) { - global/* eventEmitter.fire */.TB.fire('closeAllPopups hideHelpers'); - if (this.e.fire(this, 'beforeOpen') === false) { - return this; - } - if ((0,helpers.isBoolean)(contentOrClose)) { - destroyAfterClose = contentOrClose; - } - if ((0,helpers.isBoolean)(titleOrModal)) { - modal = titleOrModal; - } - this.destroyAfterClose = destroyAfterClose === true; - const content = (0,helpers.isBoolean)(contentOrClose) ? undefined : contentOrClose; - const title = (0,helpers.isBoolean)(titleOrModal) ? undefined : titleOrModal; - if (title !== undefined) { - this.setHeader(title); - } - if (content) { - this.setContent(content); - } - this.setMod('active', true); - this.isOpened = true; - this.setModal(modal); - this.destination.appendChild(this.container); - this.setPosition(this.offsetX, this.offsetY); - this.setMaxZIndex(); - if (this.o.fullsize) { - this.toggleFullSize(true); - } - this.e.fire('afterOpen', this); - return this; + if (isSuitElement(style, parentNode, false) && + (!dom_dom/* Dom.isBlock */.i.isBlock(parentNode) || style.elementIsBlock)) { + return parentNode; } - setModal(modal) { - this.isModal = Boolean(modal); - this.setMod('modal', this.isModal); - return this; + if (style.isElementCommit && !dom_dom/* Dom.isBlock */.i.isBlock(parentNode)) { + return getSuitParent(style, parentNode, root); } - close() { - if (this.isDestructed || - !this.isOpened || - this.getMod('static') === true) { - return this; - } - if (this.e.fire('beforeClose', this) === false) { - return this; - } - this.setMod('active', false); - this.isOpened = false; - if (this.isFullSize) { - this.toggleFullSize(false); - } - dom/* Dom.safeRemove */.i.safeRemove(this.container); - this.removeGlobalResizeListeners(); - if (this.destroyAfterClose) { - this.destruct(); - } - this.e.fire(this, 'afterClose'); - this.e.fire(this.ow, 'joditCloseDialog'); - return this; + return null; +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/is-inside-invisible-element.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + +function isInsideInvisibleElement(font, root) { + return Boolean(dom_dom/* Dom.closest */.i.closest(font, ['style', 'script'], root)); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/is-same-attributes.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + +function isSameAttributes(elm, attrs) { + if (!elm.attributes.length && !(0,object_size/* size */.d)(attrs)) { + return true; } - buildToolbar() { - this.o.buttons && - this.toolbar - .build((0,helpers.splitArray)(this.o.buttons)) - .setMod('mode', 'header') - .appendTo(this.dialogbox_toolbar); + if (!(0,object_size/* size */.d)(attrs)) { + return true; } - destruct() { - if (this.isInDestruct) { - return; + void 0; + return Object.keys(attrs).every(key => { + if (key === 'class') { + return elm.classList.contains(attrs[key]); + } + if (key === 'style') { + return hasSameStyle(elm, attrs[key]); + } + return (0,utils.attr)(elm, key) === attrs[key]; + }); +} +function elementsEqualAttributes(elm1, elm2) { + return (elm1.attributes.length === elm2.attributes.length && + Array.from(elm1.attributes).every(attr => elm2.hasAttribute(attr.name) && + elm2.getAttribute(attr.name) === attr.value)); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/unwrap-children.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + +function unwrapChildren(style, font) { + var _a; + const needUnwrap = []; + const needChangeStyle = []; + let firstElementSuit; + const cssStyle = (_a = style.options.attributes) === null || _a === void 0 ? void 0 : _a.style; + if (font.firstChild) { + const gen = dom_dom/* Dom.eachGen */.i.eachGen(font); + let item = gen.next(); + while (!item.done) { + const elm = item.value; + if (isSuitElement(style, elm, true) && + (!cssStyle || hasSameStyleKeys(elm, cssStyle))) { + if (firstElementSuit === undefined) { + firstElementSuit = true; + } + needUnwrap.push(elm); + } + else if (cssStyle && isSameStyleChild(style, elm)) { + if (firstElementSuit === undefined) { + firstElementSuit = false; + } + needChangeStyle.push(() => { + (0,helpers.css)(elm, Object.keys(cssStyle).reduce((acc, key) => { + acc[key] = null; + return acc; + }, {})); + if (!(0,helpers.attr)(elm, 'style')) { + (0,helpers.attr)(elm, 'style', null); + } + if (!(0,helpers.attr)(elm, 'style') && + elm.nodeName.toLowerCase() === style.element) { + needUnwrap.push(elm); + } + }); + } + else if (!dom_dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm)) { + if (firstElementSuit === undefined) { + firstElementSuit = false; + } + } + item = gen.next(); } - this.setStatus(component/* STATUSES.beforeDestruct */.n$.beforeDestruct); - if (this.isOpened) { - this.close(); + } + needChangeStyle.forEach(clb => clb()); + needUnwrap.forEach(dom_dom/* Dom.unwrap */.i.unwrap); + return Boolean(firstElementSuit); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap-unwrapped-text.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +function wrapUnwrappedText(style, elm, jodit) { + const root = jodit.editor, ci = jodit.createInside, edge = (n, key = 'previousSibling') => { + let edgeNode = n, node = n; + while (node && !(0,is_marker/* isMarker */._)(node)) { + if (dom_dom/* Dom.isTag */.i.isTag(node, jodit.o.enter)) { + break; + } + edgeNode = node; + if (node[key]) { + node = node[key]; + } + else { + node = + node.parentNode && + !dom_dom/* Dom.isBlock */.i.isBlock(node.parentNode) && + node.parentNode !== root + ? node.parentNode + : null; + } + if (dom_dom/* Dom.isBlock */.i.isBlock(node)) { + break; + } } - if (this.events) { - this.removeGlobalResizeListeners(); - this.events - .off(this.container, 'close_dialog', self.close) - .off(this.ow, 'keydown', this.onEsc) - .off(this.ow, 'resize', this.onResize); + return edgeNode; + }; + const start = edge(elm), end = edge(elm, 'nextSibling'); + const range = jodit.s.createRange(); + range.setStartBefore(start); + range.setEndAfter(end); + const fragment = range.extractContents(); + const wrapper = ci.element(style.element); + wrapper.appendChild(fragment); + dom_dom/* Dom.safeInsertNode */.i.safeInsertNode(range, wrapper); + if (style.elementIsBlock) { + if (dom_dom/* Dom.isEmpty */.i.isEmpty(wrapper) && + !dom_dom/* Dom.isTag */.i.isTag(wrapper.firstElementChild, 'br')) { + wrapper.appendChild(ci.element('br')); } - super.destruct(); } -}; -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "onMouseUp", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "onHeaderMouseDown", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "onMouseMove", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "onEsc", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "onResizerMouseDown", null); -(0,tslib_es6/* __decorate */.gn)([ - decorators.autobind -], Dialog.prototype, "close", null); -(0,tslib_es6/* __decorate */.gn)([ - (0,decorators.hook)('ready') -], Dialog.prototype, "buildToolbar", null); -Dialog = (0,tslib_es6/* __decorate */.gn)([ - decorators.component -], Dialog); - + return wrapper; +} -;// CONCATENATED MODULE: ./src/modules/dialog/alert.ts +;// CONCATENATED MODULE: ./src/core/selection/style/api/wrap.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -15709,27 +15454,35 @@ Dialog = (0,tslib_es6/* __decorate */.gn)([ -function Alert(msg, title, callback, className = 'jodit-dialog_alert') { - if ((0,helpers.isFunction)(title)) { - callback = title; - title = undefined; - } - const dialog = this instanceof Dialog ? this : new Dialog(), container = dialog.c.div(className), okButton = (0,ui/* Button */.zx)(dialog, 'ok', 'Ok'); - (0,helpers.asArray)(msg).forEach(oneMessage => { - container.appendChild(dom/* Dom.isNode */.i.isNode(oneMessage) ? oneMessage : dialog.c.fromHTML(oneMessage)); - }); - okButton.onAction(() => { - if (!callback || !(0,helpers.isFunction)(callback) || callback(dialog) !== false) { - dialog.close(); +function wrap(commitStyle, font, jodit) { + const wrapper = findOrCreateWrapper(commitStyle, font, jodit); + return commitStyle.elementIsList + ? wrapList(commitStyle, wrapper, jodit) + : dom/* Dom.replace */.i.replace(wrapper, commitStyle.element, jodit.createInside, true); +} +function findOrCreateWrapper(commitStyle, font, jodit) { + if (commitStyle.elementIsBlock) { + const box = dom/* Dom.up */.i.up(font, node => dom/* Dom.isBlock */.i.isBlock(node) && + !dom/* Dom.isTag */.i.isTag(node, [ + 'td', + 'th', + 'tr', + 'tbody', + 'table', + 'li', + 'ul', + 'ol' + ]), jodit.editor); + if (box) { + return box; } - }); - dialog.setFooter([okButton]); - dialog.open(container, title || ' ', true, true); - okButton.focus(); - return dialog; + return wrapUnwrappedText(commitStyle, font, jodit); + } + (0,utils_utils/* attr */.Lj)(font, 'size', null); + return font; } -;// CONCATENATED MODULE: ./src/modules/dialog/prompt.ts +;// CONCATENATED MODULE: ./src/core/selection/style/api/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -15738,51 +15491,225 @@ function Alert(msg, title, callback, className = 'jodit-dialog_alert') { -function Prompt(msg, title, callback, placeholder, defaultValue) { - const dialog = this instanceof Dialog ? this : new Dialog(), cancelButton = (0,ui/* Button */.zx)(dialog, 'cancel', 'Cancel'), okButton = (0,ui/* Button */.zx)(dialog, 'ok', 'Ok'), form = dialog.c.element('form', { - class: 'jodit-dialog_prompt' - }), inputElement = dialog.c.element('input', { - autofocus: true, - class: 'jodit-input' - }), labelElement = dialog.c.element('label'); - if ((0,helpers.isFunction)(title)) { - callback = title; - title = undefined; - } - if (placeholder) { - (0,helpers.attr)(inputElement, 'placeholder', placeholder); - } - labelElement.appendChild(dialog.c.text(msg)); - form.appendChild(labelElement); - form.appendChild(inputElement); - cancelButton.onAction(dialog.close); - const onclick = () => { - if (!callback || - !(0,helpers.isFunction)(callback) || - callback(inputElement.value) !== false) { - dialog.close(); + + + + + + + + + + + + + +;// CONCATENATED MODULE: ./src/core/selection/style/transactions.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + + +const states = { + START: 'START', + ELEMENT: 'ELEMENT', + UNWRAP: 'UNWRAP', + UNWRAP_CHILDREN: 'UNWRAP_CHILDREN', + CHANGE: 'CHANGE', + REPLACE_DEFAULT: 'REPLACE_DEFAULT', + LIST: 'LIST', + TOGGLE_LIST: 'TOGGLE_LIST', + WRAP: 'WRAP', + EXTRACT: 'EXTRACT', + END: 'END' +}; +const transactions = { + [states.START]: { + exec(value) { + const { element, jodit, style, mode } = value; + if (isInsideInvisibleElement(element, jodit.editor) || + dom/* Dom.isEmptyContent */.i.isEmptyContent(element)) { + return { ...value, next: states.END }; + } + const elm = getSuitParent(style, element, jodit.editor) || + getSuitChild(style, element); + if (elm) { + return { ...value, next: states.ELEMENT, element: elm }; + } + const suit = findSuitClosest(style, element, jodit.editor); + if (style.elementIsList && dom/* Dom.isTag */.i.isTag(suit, ['ul', 'ol'])) { + return { ...value, next: states.LIST }; + } + if (suit) { + return { + ...value, + next: states.EXTRACT + }; + } + return { + ...value, + next: mode !== UNWRAP ? states.UNWRAP_CHILDREN : states.END + }; + } + }, + [states.LIST]: { + exec(value) { + const { element, jodit, mode } = value; + if (mode !== INITIAL && mode !== UNWRAP && mode !== REPLACE) { + return { ...value, next: states.END }; + } + const li = dom/* Dom.closest */.i.closest(element, 'li', jodit.editor); + if (!li) { + return { ...value, next: states.END }; + } + const list = dom/* Dom.closest */.i.closest(element, ['ul', 'ol'], jodit.editor); + if (list) { + return { ...value, element: li, next: states.TOGGLE_LIST }; + } + return { + ...value, + next: states.END + }; + } + }, + [states.TOGGLE_LIST]: { + exec(value) { + return { + ...value, + mode: toggleOrderedList(value.style, value.element, value.jodit, value.mode), + next: states.END + }; + } + }, + [states.EXTRACT]: { + exec(value) { + const { element, jodit, style } = value; + const suit = findSuitClosest(style, element, jodit.editor); + void 0; + if (!style.elementIsBlock) { + extractSelectedPart(suit, element, jodit); + } + return { + ...value, + element: suit, + next: states.ELEMENT + }; + } + }, + [states.UNWRAP_CHILDREN]: { + exec(value) { + const { element, style } = value; + if (!unwrapChildren(style, element)) { + return { + ...value, + next: states.WRAP + }; + } + return { + ...value, + mode: UNWRAP, + next: states.END + }; + } + }, + [states.WRAP]: { + exec(value) { + const { element, jodit, style } = value; + const wrapper = wrap(style, element, jodit); + return { + ...value, + next: style.elementIsList ? states.END : states.CHANGE, + mode: WRAP, + element: wrapper + }; + } + }, + [states.ELEMENT]: { + exec(value) { + const { style, element, jodit } = value; + if (toggleAttributes(style, element, jodit, INITIAL, true) !== + INITIAL) { + return { ...value, next: states.CHANGE }; + } + return { ...value, next: states.UNWRAP }; + } + }, + [states.CHANGE]: { + exec(value) { + const { style, element, jodit, mode } = value; + const newMode = toggleAttributes(style, element, jodit, value.mode); + if (mode !== WRAP && + newMode === UNSET && + !element.attributes.length && + dom/* Dom.isTag */.i.isTag(element, style.element)) { + return { ...value, next: states.UNWRAP }; + } + return { ...value, mode: newMode, next: states.END }; + } + }, + [states.UNWRAP]: { + exec(value) { + if (value.element.attributes.length && + dom/* Dom.isTag */.i.isTag(value.element, value.style.element)) { + return { ...value, next: states.REPLACE_DEFAULT }; + } + dom/* Dom.unwrap */.i.unwrap(value.element); + return { ...value, mode: UNWRAP, next: states.END }; + } + }, + [states.REPLACE_DEFAULT]: { + exec(value) { + dom/* Dom.replace */.i.replace(value.element, value.style.defaultTag, value.jodit.createInside, true); + return { ...value, mode: REPLACE, next: states.END }; + } + }, + [states.END]: { + exec(value) { + return value; } - }; - okButton.onAction(onclick); - dialog.e.on(form, 'submit', () => { - onclick(); - return false; - }); - dialog.setFooter([okButton, cancelButton]); - dialog.open(form, title || ' ', true, true); - inputElement.focus(); - if (defaultValue !== undefined && defaultValue.length) { - inputElement.value = defaultValue; - inputElement.select(); } - return dialog; -} +}; -// EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts -var is_function = __webpack_require__(87385); -// EXTERNAL MODULE: ./src/core/ui/button/button/button.ts -var button_button = __webpack_require__(6816); -;// CONCATENATED MODULE: ./src/modules/dialog/confirm.ts +;// CONCATENATED MODULE: ./src/core/selection/style/apply-style.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + + + +function ApplyStyle(jodit, cs) { + const { s: sel, editor } = jodit; + sel.save(); + (0,normalize_node/* normalizeNode */.T)(editor.firstChild); + const gen = jodit.s.wrapInTagGen(); + let font = gen.next(); + let state = { + mode: INITIAL, + element: font.value, + next: states.START, + jodit, + style: cs + }; + while (font && !font.done) { + const machine = new FiniteStateMachine(states.START, transactions); + state.element = font.value; + while (machine.getState() !== states.END) { + state = machine.dispatch('exec', state); + } + font = gen.next(); + } + sel.restore(); +} + +;// CONCATENATED MODULE: ./src/core/selection/style/commit-style.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -15791,34 +15718,98 @@ var button_button = __webpack_require__(6816); -function Confirm(msg, title, callback) { - const dialog = this instanceof Dialog ? this : new Dialog(), $div = dialog.c.fromHTML('
'), $label = dialog.c.element('label'); - if ((0,is_function/* isFunction */.m)(title)) { - callback = title; - title = undefined; +const WRAP = 'wrap'; +const UNWRAP = 'unwrap'; +const CHANGE = 'change'; +const UNSET = 'unset'; +const INITIAL = 'initial'; +const REPLACE = 'replace'; +const _PREFIX = 'commitStyle'; +class CommitStyle { + isApplied(elm, key) { + const data = this.__applyMap.get(elm); + if (!data) { + return false; + } + return data[key]; } - $label.appendChild(dialog.c.fromHTML(msg)); - $div.appendChild($label); - const action = (yes) => () => { - if (!callback || callback(yes) !== false) { - dialog.close(); + setApplied(elm, key) { + var _a; + const data = (_a = this.__applyMap.get(elm)) !== null && _a !== void 0 ? _a : {}; + data[key] = true; + this.__applyMap.set(elm, data); + } + get elementIsList() { + return Boolean(this.options.element && ['ul', 'ol'].includes(this.options.element)); + } + get element() { + return this.options.element || this.defaultTag; + } + get elementIsBlock() { + return Boolean(this.options.element && constants.IS_BLOCK.test(this.options.element)); + } + get isElementCommit() { + return Boolean(this.options.element && + this.options.element !== this.options.defaultTag); + } + get defaultTag() { + if (this.options.defaultTag) { + return this.options.defaultTag; } - }; - const $cancel = (0,button_button/* Button */.zx)(dialog, 'cancel', 'Cancel'); - const $ok = (0,button_button/* Button */.zx)(dialog, 'ok', 'Yes'); - $cancel.onAction(action(false)); - $ok.onAction(action(true)); - dialog.e.on($div, 'submit', () => { - action(true)(); - return false; - }); - dialog.setFooter([$ok, $cancel]); - dialog.open($div, title || ' ', true, true); - $ok.focus(); - return dialog; + return this.elementIsBlock ? 'p' : 'span'; + } + get elementIsDefault() { + return this.element === this.defaultTag; + } + constructor(options) { + this.options = options; + this.__applyMap = new WeakMap(); + options.attributes = deprecatedUsing(this, options.attributes); + } + apply(jodit) { + const { hooks } = this.options; + try { + hooks && + Object.keys(hooks).forEach(key => { + jodit.e.on((0,camel_case/* camelCase */.e)(_PREFIX + '_' + key), hooks[key]); + }); + ApplyStyle(jodit, this); + } + finally { + hooks && + Object.keys(hooks).forEach(key => { + jodit.e.off((0,camel_case/* camelCase */.e)(_PREFIX + '_' + key), hooks[key]); + }); + this.__applyMap = new WeakMap(); + } + } +} +function deprecatedUsing(commitStyle, attributes) { + const { style, className } = commitStyle.options; + if (style) { + if (attributes) { + attributes.style = style; + } + else { + attributes = { style }; + } + delete commitStyle.options.style; + } + if (className) { + if (attributes) { + attributes['class'] = className; + } + else { + attributes = { class: className }; + } + delete commitStyle.options.className; + } + return attributes; } -;// CONCATENATED MODULE: ./src/modules/dialog/index.ts +// EXTERNAL MODULE: ./src/core/selection/helpers/index.ts + 2 modules +var selection_helpers = __webpack_require__(80805); +;// CONCATENATED MODULE: ./src/core/selection/select.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -15829,523 +15820,917 @@ function Confirm(msg, title, callback) { -// EXTERNAL MODULE: ./src/core/plugin/index.ts -var core_plugin = __webpack_require__(76454); -;// CONCATENATED MODULE: ./src/core/create/create.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -class Create { - constructor(document, createAttributes) { - this.document = document; - this.createAttributes = createAttributes; + + +class Select { + constructor(jodit) { + this.jodit = jodit; + jodit.e.on('removeMarkers', () => { + this.removeMarkers(); + }); + } + get j() { + return this.jodit; + } + errorNode(node) { + if (!dom/* Dom.isNode */.i.isNode(node)) { + throw (0,helpers.error)('Parameter node must be instance of Node'); + } + } + get area() { + return this.j.editor; + } + get win() { + return this.j.ew; } get doc() { - return (0,helpers.isFunction)(this.document) ? this.document() : this.document; + return this.j.ed; } - element(tagName, childrenOrAttributes, children) { - const elm = this.doc.createElement(tagName.toLowerCase()); - this.applyCreateAttributes(elm); - if (childrenOrAttributes) { - if ((0,helpers.isPlainObject)(childrenOrAttributes)) { - (0,helpers.attr)(elm, childrenOrAttributes); + get sel() { + if (this.j.o.shadowRoot && + (0,checker/* isFunction */.mf)(this.j.o.shadowRoot.getSelection)) { + return this.j.o.shadowRoot.getSelection(); + } + return this.win.getSelection(); + } + get range() { + const sel = this.sel; + return sel && sel.rangeCount ? sel.getRangeAt(0) : this.createRange(); + } + get isInsideArea() { + const { sel } = this; + const range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel.getRangeAt(0) : null; + return !(!range || !dom/* Dom.isOrContains */.i.isOrContains(this.area, range.startContainer)); + } + createRange(select = false) { + const range = this.doc.createRange(); + if (select) { + this.selectRange(range); + } + return range; + } + remove() { + const sel = this.sel, current = this.current(); + if (sel && current) { + for (let i = 0; i < sel.rangeCount; i += 1) { + sel.getRangeAt(i).deleteContents(); + sel.getRangeAt(i).collapse(true); + } + } + } + clear() { + var _a, _b; + if ((_a = this.sel) === null || _a === void 0 ? void 0 : _a.rangeCount) { + (_b = this.sel) === null || _b === void 0 ? void 0 : _b.removeAllRanges(); + } + } + removeNode(node) { + if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, node, true)) { + throw (0,helpers.error)("Selection.removeNode can remove only editor's children"); + } + dom/* Dom.safeRemove */.i.safeRemove(node); + this.j.e.fire('afterRemoveNode', node); + } + insertCursorAtPoint(x, y) { + this.removeMarkers(); + try { + const rng = this.createRange(); + (() => { + if (this.doc.caretPositionFromPoint) { + const caret = this.doc.caretPositionFromPoint(x, y); + if (caret) { + rng.setStart(caret.offsetNode, caret.offset); + return; + } + } + if (this.doc.caretRangeFromPoint) { + const caret = this.doc.caretRangeFromPoint(x, y); + rng.setStart(caret.startContainer, caret.startOffset); + } + })(); + rng.collapse(true); + this.selectRange(rng); + return true; + } + catch (_a) { } + return false; + } + get hasMarkers() { + return Boolean(this.markers.length); + } + get markers() { + return (0,helpers.$$)('span[data-' + constants.MARKER_CLASS + ']', this.area); + } + removeMarkers() { + dom/* Dom.safeRemove.apply */.i.safeRemove.apply(null, this.markers); + } + marker(atStart = false, range) { + let newRange = null; + if (range) { + newRange = range.cloneRange(); + newRange.collapse(atStart); + } + const marker = this.j.createInside.span(); + marker.id = + constants.MARKER_CLASS + + '_' + + Number(new Date()) + + '_' + + String(Math.random()).slice(2); + marker.style.lineHeight = '0'; + marker.style.display = 'none'; + dom/* Dom.markTemporary */.i.markTemporary(marker); + (0,helpers.attr)(marker, 'data-' + constants.MARKER_CLASS, atStart ? 'start' : 'end'); + marker.appendChild(this.j.createInside.text(constants.INVISIBLE_SPACE)); + if (newRange) { + if (dom/* Dom.isOrContains */.i.isOrContains(this.area, atStart ? newRange.startContainer : newRange.endContainer)) { + newRange.insertNode(marker); + } + } + return marker; + } + restore() { + let range = false; + const markAttr = (start) => `span[data-${constants.MARKER_CLASS}=${start ? 'start' : 'end'}]`; + const start = this.area.querySelector(markAttr(true)), end = this.area.querySelector(markAttr(false)); + if (!start) { + return; + } + range = this.createRange(); + if (!end) { + const previousNode = start.previousSibling; + if (dom/* Dom.isText */.i.isText(previousNode)) { + range.setStart(previousNode, previousNode.nodeValue ? previousNode.nodeValue.length : 0); + } + else { + range.setStartBefore(start); + } + dom/* Dom.safeRemove */.i.safeRemove(start); + range.collapse(true); + } + else { + range.setStartAfter(start); + dom/* Dom.safeRemove */.i.safeRemove(start); + range.setEndBefore(end); + dom/* Dom.safeRemove */.i.safeRemove(end); + } + if (range) { + this.selectRange(range); + } + } + save(silent = false) { + if (this.hasMarkers) { + return []; + } + const sel = this.sel; + if (!sel || !sel.rangeCount) { + return []; + } + const info = [], length = sel.rangeCount, ranges = []; + for (let i = 0; i < length; i += 1) { + ranges[i] = sel.getRangeAt(i); + if (ranges[i].collapsed) { + const start = this.marker(true, ranges[i]); + info[i] = { + startId: start.id, + collapsed: true, + startMarker: start.outerHTML + }; } else { - children = childrenOrAttributes; + const start = this.marker(true, ranges[i]); + const end = this.marker(false, ranges[i]); + info[i] = { + startId: start.id, + endId: end.id, + collapsed: false, + startMarker: start.outerHTML, + endMarker: end.outerHTML + }; } } - if (children) { - (0,helpers.asArray)(children).forEach((child) => elm.appendChild((0,helpers.isString)(child) ? this.fromHTML(child) : child)); - } - return elm; - } - div(className, childrenOrAttributes, children) { - const div = this.element('div', childrenOrAttributes, children); - if (className) { - div.className = className; - } - return div; - } - sandbox() { - var _a; - const iframe = this.element('iframe', { sandbox: 'allow-same-origin' }); - this.doc.body.appendChild(iframe); - const doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document; - if (!doc) { - throw Error('Iframe error'); + if (!silent) { + sel.removeAllRanges(); + for (let i = length - 1; i >= 0; --i) { + const startElm = this.doc.getElementById(info[i].startId); + if (startElm) { + if (info[i].collapsed) { + ranges[i].setStartAfter(startElm); + ranges[i].collapse(true); + } + else { + ranges[i].setStartBefore(startElm); + if (info[i].endId) { + const endElm = this.doc.getElementById(info[i].endId); + if (endElm) { + ranges[i].setEndAfter(endElm); + } + } + } + } + try { + sel.addRange(ranges[i].cloneRange()); + } + catch (_a) { } + } } - doc.open(); - doc.write(''); - doc.close(); - return doc.body; + return info; } - span(className, childrenOrAttributes, children) { - const span = this.element('span', childrenOrAttributes, children); - if (className) { - span.className = className; + focus(options = { + preventScroll: true + }) { + var _a, _b; + if (!this.isFocused()) { + const scrollParent = (0,helpers.getScrollParent)(this.j.container), scrollTop = scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.scrollTop; + if (this.j.iframe) { + if (this.doc.readyState === 'complete') { + this.j.iframe.focus(options); + } + } + this.win.focus(); + this.area.focus(options); + if (scrollTop && (scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.scrollTo)) { + scrollParent.scrollTo(0, scrollTop); + } + const sel = this.sel, range = (sel === null || sel === void 0 ? void 0 : sel.rangeCount) ? sel === null || sel === void 0 ? void 0 : sel.getRangeAt(0) : null; + if (!range || !dom/* Dom.isOrContains */.i.isOrContains(this.area, range.startContainer)) { + const range = this.createRange(); + range.setStart(this.area, 0); + range.collapse(true); + this.selectRange(range, false); + } + if (!this.j.editorIsActive) { + (_b = (_a = this.j) === null || _a === void 0 ? void 0 : _a.events) === null || _b === void 0 ? void 0 : _b.fire('focus'); + } + return true; } - return span; + return false; } - a(className, childrenOrAttributes, children) { - const a = this.element('a', childrenOrAttributes, children); - if (className) { - a.className = className; + isCollapsed() { + const sel = this.sel; + for (let r = 0; sel && r < sel.rangeCount; r += 1) { + if (!sel.getRangeAt(r).collapsed) { + return false; + } } - return a; - } - text(value) { - return this.doc.createTextNode(value); - } - fake() { - return this.text(constants.INVISIBLE_SPACE); + return true; } - fragment() { - return this.doc.createDocumentFragment(); + isFocused() { + return (this.doc.hasFocus && + this.doc.hasFocus() && + this.area === this.doc.activeElement); } - fromHTML(html, refsToggleElement) { - const div = this.div(); - div.innerHTML = html.toString(); - const child = div.firstChild !== div.lastChild || !div.firstChild - ? div - : div.firstChild; - dom/* Dom.safeRemove */.i.safeRemove(child); - if (refsToggleElement) { - const refElements = (0,helpers.refs)(child); - Object.keys(refsToggleElement).forEach(key => { - const elm = refElements[key]; - if (elm && refsToggleElement[key] === false) { - dom/* Dom.hide */.i.hide(elm); + current(checkChild = true) { + if (this.j.getRealMode() === constants.MODE_WYSIWYG) { + const sel = this.sel; + if (!sel || sel.rangeCount === 0) { + return null; + } + const range = sel.getRangeAt(0); + let node = range.startContainer, rightMode = false; + const child = (nd) => rightMode ? nd.lastChild : nd.firstChild; + if (dom/* Dom.isTag */.i.isTag(node, 'br') && sel.isCollapsed) { + return node; + } + if (!dom/* Dom.isText */.i.isText(node)) { + node = range.startContainer.childNodes[range.startOffset]; + if (!node) { + node = + range.startContainer.childNodes[range.startOffset - 1]; + rightMode = true; } - }); - } - return child; - } - applyCreateAttributes(elm) { - if (this.createAttributes) { - const ca = this.createAttributes; - if (ca && ca[elm.tagName.toLowerCase()]) { - const attrsOpt = ca[elm.tagName.toLowerCase()]; - if ((0,helpers.isFunction)(attrsOpt)) { - attrsOpt(elm); + if (node && sel.isCollapsed && !dom/* Dom.isText */.i.isText(node)) { + if (!rightMode && dom/* Dom.isText */.i.isText(node.previousSibling)) { + node = node.previousSibling; + } + else if (checkChild) { + let current = child(node); + while (current) { + if (current && dom/* Dom.isText */.i.isText(current)) { + node = current; + break; + } + current = child(current); + } + } } - else if ((0,helpers.isPlainObject)(attrsOpt)) { - (0,helpers.attr)(elm, attrsOpt); + if (node && !sel.isCollapsed && !dom/* Dom.isText */.i.isText(node)) { + let leftChild = node, rightChild = node; + do { + leftChild = leftChild.firstChild; + rightChild = rightChild.lastChild; + } while (leftChild && rightChild && !dom/* Dom.isText */.i.isText(leftChild)); + if (leftChild === rightChild && + leftChild && + dom/* Dom.isText */.i.isText(leftChild)) { + node = leftChild; + } } } + if (node && dom/* Dom.isOrContains */.i.isOrContains(this.area, node)) { + return node; + } } + return null; } -} - -;// CONCATENATED MODULE: ./src/core/create/index.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - -// EXTERNAL MODULE: ./src/modules/file-browser/index.ts + 16 modules -var file_browser = __webpack_require__(75121); -// EXTERNAL MODULE: ./src/modules/image-editor/image-editor.ts + 2 modules -var image_editor = __webpack_require__(37113); -;// CONCATENATED MODULE: ./src/modules/history/snapshot.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - -class Snapshot extends component/* ViewComponent */.Hr { - constructor() { - super(...arguments); - this.__isBlocked = false; - } - className() { - return 'Snapshot'; - } - static equal(first, second) { - return (first.html === second.html && - JSON.stringify(first.range) === JSON.stringify(second.range)); - } - static countNodesBeforeInParent(elm) { - if (!elm.parentNode) { - return 0; + insertNode(node, insertCursorAfter = true, fireChange = true) { + this.errorNode(node); + this.j.e.fire('safeHTML', node); + if (!this.isFocused() && this.j.isEditorMode()) { + this.focus(); + this.restore(); } - const elms = elm.parentNode.childNodes; - let count = 0, previous = null; - for (let j = 0; j < elms.length; j += 1) { - if (previous && - !this.isIgnoredNode(elms[j]) && - !(dom/* Dom.isText */.i.isText(previous) && dom/* Dom.isText */.i.isText(elms[j]))) { - count += 1; + const sel = this.sel; + this.j.history.snapshot.transaction(() => { + var _a; + if (!this.isCollapsed()) { + this.j.execCommand('Delete'); } - if (elms[j] === elm) { - return count; + this.j.e.fire('beforeInsertNode', node); + if (sel && sel.rangeCount) { + const range = sel.getRangeAt(0); + if (dom/* Dom.isOrContains */.i.isOrContains(this.area, range.commonAncestorContainer)) { + if (dom/* Dom.isTag */.i.isTag(range.startContainer, constants.INSEPARABLE_TAGS) && + range.collapsed) { + (_a = range.startContainer.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(node, range.startContainer); + } + else { + dom/* Dom.safeInsertNode */.i.safeInsertNode(range, node); + } + } + else { + this.area.appendChild(node); + } } - previous = elms[j]; - } - return 0; - } - static strokeOffset(elm, offset) { - while (dom/* Dom.isText */.i.isText(elm)) { - elm = elm.previousSibling; - if (dom/* Dom.isText */.i.isText(elm) && elm.nodeValue) { - offset += elm.nodeValue.length; + else { + this.area.appendChild(node); + } + if (insertCursorAfter) { + if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { + node.lastChild && this.setCursorAfter(node.lastChild); + } + else { + this.setCursorAfter(node); + } } + }); + if (fireChange && this.j.events) { + this.j.__imdSynchronizeValues(); + } + if (this.j.events) { + this.j.e.fire('afterInsertNode', node); } - return offset; } - calcHierarchyLadder(elm) { - const counts = []; - if (!elm || !elm.parentNode || !dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, elm)) { - return []; + insertHTML(html, insertCursorAfter = true) { + if (html === '') { + return; } - while (elm && elm !== this.j.editor) { - if (elm && !Snapshot.isIgnoredNode(elm)) { - counts.push(Snapshot.countNodesBeforeInParent(elm)); + const node = this.j.createInside.div(), fragment = this.j.createInside.fragment(); + let lastChild; + if (!this.isFocused() && this.j.isEditorMode()) { + this.focus(); + this.restore(); + } + if (!dom/* Dom.isNode */.i.isNode(html)) { + node.innerHTML = html.toString(); + } + else { + node.appendChild(html); + } + if (!this.j.isEditorMode() && + this.j.e.fire('insertHTML', node.innerHTML) === false) { + return; + } + lastChild = node.lastChild; + if (!lastChild) { + return; + } + while (node.firstChild) { + lastChild = node.firstChild; + fragment.appendChild(node.firstChild); + } + this.insertNode(fragment.firstChild && fragment.firstChild === fragment.lastChild + ? fragment.lastChild + : fragment, false, false); + if (insertCursorAfter) { + if (lastChild) { + this.setCursorAfter(lastChild); + } + else { + this.setCursorIn(fragment); } - elm = elm.parentNode; } - return counts.reverse(); + this.j.__imdSynchronizeValues(); } - getElementByLadder(ladder) { - let n = this.j.editor, i; - for (i = 0; n && i < ladder.length; i += 1) { - n = n.childNodes[ladder[i]]; + insertImage(url, styles = null, defaultWidth = null) { + const image = (0,checker/* isString */.HD)(url) ? this.j.createInside.element('img') : url; + if ((0,checker/* isString */.HD)(url)) { + image.setAttribute('src', url); } - return n; - } - get isBlocked() { - return this.__isBlocked; - } - __block(enable) { - this.__isBlocked = enable; - } - transaction(changes) { - this.__block(true); - try { - changes(); + if (defaultWidth != null) { + let dw = defaultWidth.toString(); + if (dw && + 'auto' !== dw && + String(dw).indexOf('px') < 0 && + String(dw).indexOf('%') < 0) { + dw += 'px'; + } + (0,helpers.call)(this.j.o.resizer.forImageChangeAttributes ? helpers.attr : helpers.css, image, 'width', dw); } - catch (e) { - false && 0; + if (styles && typeof styles === 'object') { + (0,helpers.css)(image, styles); } - this.__block(false); - } - make() { - const snapshot = { - html: '', - range: { - startContainer: [], - startOffset: 0, - endContainer: [], - endOffset: 0 + const onload = () => { + if (image.naturalHeight < image.offsetHeight || + image.naturalWidth < image.offsetWidth) { + image.style.width = ''; + image.style.height = ''; } + image.removeEventListener('load', onload); }; - snapshot.html = this.removeJoditSelection(this.j.editor); - const sel = this.j.s.sel; + this.j.e.on(image, 'load', onload); + if (image.complete) { + onload(); + } + this.insertNode(image); + this.j.e.fire('afterInsertImage', image); + } + eachSelection(callback) { + var _a; + const sel = this.sel; if (sel && sel.rangeCount) { - const range = sel.getRangeAt(0), startContainer = this.calcHierarchyLadder(range.startContainer), endContainer = this.calcHierarchyLadder(range.endContainer); - let startOffset = Snapshot.strokeOffset(range.startContainer, range.startOffset), endOffset = Snapshot.strokeOffset(range.endContainer, range.endOffset); - if (!startContainer.length && - range.startContainer !== this.j.editor) { - startOffset = 0; + const range = sel.getRangeAt(0); + let root = range.commonAncestorContainer; + if (!dom/* Dom.isHTMLElement */.i.isHTMLElement(root)) { + root = root.parentElement; } - if (!endContainer.length && range.endContainer !== this.j.editor) { - endOffset = 0; + const nodes = [], startOffset = range.startOffset, length = root.childNodes.length, elementOffset = startOffset < length ? startOffset : length - 1; + let start = range.startContainer === this.area + ? root.childNodes[elementOffset] + : range.startContainer, end = range.endContainer === this.area + ? root.childNodes[range.endOffset - 1] + : range.endContainer; + if (dom/* Dom.isText */.i.isText(start) && + start === range.startContainer && + range.startOffset === ((_a = start.nodeValue) === null || _a === void 0 ? void 0 : _a.length) && + start.nextSibling) { + start = start.nextSibling; } - snapshot.range = { - startContainer, - startOffset, - endContainer, - endOffset + if (dom/* Dom.isText */.i.isText(end) && + end === range.endContainer && + range.endOffset === 0 && + end.previousSibling) { + end = end.previousSibling; + } + const checkElm = (node) => { + if (node && + node !== root && + !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node) && + !(0,checker/* isMarker */._V)(node)) { + nodes.push(node); + } + }; + checkElm(start); + if (start !== end && dom/* Dom.isOrContains */.i.isOrContains(root, start, true)) { + dom/* Dom.find */.i.find(start, node => { + checkElm(node); + return (node === end || + (node && node.contains && node.contains(end))); + }, root, true, false); + } + const forEvery = (current) => { + if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, current, true)) { + return; + } + if (current.nodeName.match(/^(UL|OL)$/)) { + return (0,helpers.toArray)(current.childNodes).forEach(forEvery); + } + if (dom/* Dom.isTag */.i.isTag(current, 'li')) { + if (current.firstChild) { + current = current.firstChild; + } + else { + const currentB = this.j.createInside.text(constants.INVISIBLE_SPACE); + current.appendChild(currentB); + current = currentB; + } + } + callback(current); }; + if (nodes.length === 0 && dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(start)) { + nodes.push(start); + } + if (nodes.length === 0 && start.firstChild) { + nodes.push(start.firstChild); + } + nodes.forEach(forEvery); } - return snapshot; } - restore(snapshot) { - this.transaction(() => { - const scroll = this.storeScrollState(); - const value = this.j.getNativeEditorValue(); - if (value !== snapshot.html) { - this.j.value = snapshot.html; + cursorInTheEdge(start, parentBlock) { + var _a, _b; + const end = !start, range = (_a = this.sel) === null || _a === void 0 ? void 0 : _a.getRangeAt(0), current = this.current(false); + if (!range || + !current || + !dom/* Dom.isOrContains */.i.isOrContains(parentBlock, current, true)) { + return null; + } + const container = start ? range.startContainer : range.endContainer; + const offset = start ? range.startOffset : range.endOffset; + const isSignificant = (elm) => Boolean(elm && + !dom/* Dom.isTag */.i.isTag(elm, 'br') && + !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(elm) && + !dom/* Dom.isTemporary */.i.isTemporary(elm) && + !(dom/* Dom.isElement */.i.isElement(elm) && + this.j.e.fire('isInvisibleForCursor', elm) === true)); + if (dom/* Dom.isText */.i.isText(container)) { + const text = ((_b = container.nodeValue) === null || _b === void 0 ? void 0 : _b.length) ? container.nodeValue : ''; + if (end && text.replace((0,constants.INVISIBLE_SPACE_REG_EXP_END)(), '').length > offset) { + return false; + } + const inv = (0,constants.INVISIBLE_SPACE_REG_EXP_START)().exec(text); + if (start && + ((inv && inv[0].length < offset) || (!inv && offset > 0))) { + return false; + } + } + else { + const children = (0,helpers.toArray)(container.childNodes); + if (end) { + if (children.slice(offset).some(isSignificant)) { + return false; + } } - this.restoreOnlySelection(snapshot); - this.restoreScrollState(scroll); - }); - } - storeScrollState() { - return [this.j.ow.scrollY, this.j.editor.scrollTop]; - } - restoreScrollState(scrolls) { - const { j } = this, { ow } = j; - ow.scrollTo(ow.scrollX, scrolls[0]); - j.editor.scrollTop = scrolls[1]; - } - restoreOnlySelection(snapshot) { - try { - if (snapshot.range) { - const range = this.j.ed.createRange(); - range.setStart(this.getElementByLadder(snapshot.range.startContainer), snapshot.range.startOffset); - range.setEnd(this.getElementByLadder(snapshot.range.endContainer), snapshot.range.endOffset); - this.j.s.selectRange(range); + else { + if (children.slice(0, offset).some(isSignificant)) { + return false; + } } } - catch (__ignore) { - this.j.editor.lastChild && - this.j.s.setCursorAfter(this.j.editor.lastChild); - if (false) {} + let next = current; + while (next && next !== parentBlock) { + const nextOne = dom/* Dom.sibling */.i.sibling(next, start); + if (!nextOne) { + next = next.parentNode; + continue; + } + next = nextOne; + if (next && isSignificant(next)) { + return false; + } } + return true; } - destruct() { - this.__block(false); - super.destruct(); - } - static isIgnoredNode(node) { - return (dom/* Dom.isText */.i.isText(node) && !node.nodeValue) || dom/* Dom.isTemporary */.i.isTemporary(node); - } - removeJoditSelection(node) { - const clone = node.cloneNode(true); - clone.querySelectorAll(`[${constants.TEMP_ATTR}]`).forEach(dom/* Dom.unwrap */.i.unwrap); - return clone.innerHTML; - } -} - -;// CONCATENATED MODULE: ./src/modules/history/stack.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -class Stack { - constructor(size) { - this.size = size; - this.commands = []; - this.stackPosition = -1; + cursorOnTheLeft(parentBlock) { + return this.cursorInTheEdge(true, parentBlock); } - get length() { - return this.commands.length; + cursorOnTheRight(parentBlock) { + return this.cursorInTheEdge(false, parentBlock); } - clearRedo() { - this.commands.length = this.stackPosition + 1; + setCursorAfter(node) { + return this.setCursorNearWith(node, false); } - clear() { - this.commands.length = 0; - this.stackPosition = -1; + setCursorBefore(node) { + return this.setCursorNearWith(node, true); } - push(command) { - this.clearRedo(); - this.commands.push(command); - this.stackPosition += 1; - if (this.commands.length > this.size) { - this.commands.shift(); - this.stackPosition -= 1; + setCursorNearWith(node, inStart) { + var _a, _b; + this.errorNode(node); + if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { + throw (0,helpers.error)('Node element must be in editor'); } - } - replace(command) { - this.commands[this.stackPosition] = command; - } - current() { - return this.commands[this.stackPosition]; - } - undo() { - if (this.canUndo()) { - if (this.commands[this.stackPosition]) { - this.commands[this.stackPosition].undo(); + const range = this.createRange(); + let fakeNode = null; + if (!dom/* Dom.isText */.i.isText(node)) { + fakeNode = this.j.createInside.text(constants.INVISIBLE_SPACE); + inStart ? range.setStartBefore(node) : range.setEndAfter(node); + range.collapse(inStart); + dom/* Dom.safeInsertNode */.i.safeInsertNode(range, fakeNode); + range.selectNode(fakeNode); + } + else { + if (inStart) { + range.setStart(node, 0); + } + else { + range.setEnd(node, (_b = (_a = node.nodeValue) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0); } - this.stackPosition -= 1; - return true; } - return false; + range.collapse(inStart); + this.selectRange(range); + return fakeNode; } - redo() { - if (this.canRedo()) { - this.stackPosition += 1; - if (this.commands[this.stackPosition]) { - this.commands[this.stackPosition].redo(); + setCursorIn(node, inStart = false) { + this.errorNode(node); + if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { + throw (0,helpers.error)('Node element must be in editor'); + } + const range = this.createRange(); + let start = node, last = node; + do { + if (dom/* Dom.isText */.i.isText(start)) { + break; + } + last = start; + start = inStart ? start.firstChild : start.lastChild; + } while (start); + if (!start) { + const fakeNode = this.j.createInside.text(constants.INVISIBLE_SPACE); + if (!/^(img|br|input)$/i.test(last.nodeName)) { + last.appendChild(fakeNode); + last = fakeNode; + } + else { + start = last; } - return true; } - return false; - } - canUndo() { - return this.stackPosition >= 0; - } - canRedo() { - return this.stackPosition < this.commands.length - 1; - } -} - -;// CONCATENATED MODULE: ./src/modules/history/command.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -class Command { - constructor(oldValue, newValue, history, tick) { - this.oldValue = oldValue; - this.newValue = newValue; - this.history = history; - this.tick = tick; - } - undo() { - this.history.snapshot.restore(this.oldValue); - } - redo() { - this.history.snapshot.restore(this.newValue); + range.selectNodeContents(start || last); + range.collapse(inStart); + this.selectRange(range); + return last; } -} - -;// CONCATENATED MODULE: ./src/modules/history/history.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - - - - - - - -config/* Config.prototype.history */.D.prototype.history = { - enable: true, - maxHistoryLength: Infinity, - timeout: 1000 -}; -config/* Config.prototype.observer */.D.prototype.observer = config/* Config.prototype.history */.D.prototype.history; -class History extends component/* ViewComponent */.Hr { - constructor(editor, stack = new Stack(editor.o.history.maxHistoryLength), snapshot = new Snapshot(editor)) { - super(editor); - this.updateTick = 0; - this.__stack = stack; - this.snapshot = snapshot; - if (editor.o.history.enable) { - editor.e.on('afterAddPlace.history', () => { - if (this.isInDestruct) { - return; - } - this.startValue = this.snapshot.make(); - editor.events - .on('internalChange internalUpdate', () => { - this.startValue = this.snapshot.make(); - }) - .on(editor.editor, [ - 'changeSelection', - 'selectionstart', - 'selectionchange', - 'mousedown', - 'mouseup', - 'keydown', - 'keyup' - ] - .map(f => f + '.history') - .join(' '), () => { - if (this.startValue.html === - this.j.getNativeEditorValue()) { - this.startValue = this.snapshot.make(); - } - }) - .on(this, 'change.history', this.onChange); - }); + selectRange(range, focus = true) { + const sel = this.sel; + if (focus && !this.isFocused()) { + this.focus(); } + if (sel) { + sel.removeAllRanges(); + sel.addRange(range); + } + this.j.e.fire('changeSelection'); + return this; } - className() { - return 'History'; - } - get startValue() { - return this.__startValue; - } - set startValue(value) { - this.__startValue = value; - } - __upTick() { - this.updateTick += 1; - } - onChange() { - this.__processChanges(); + select(node, inward = false) { + this.errorNode(node); + if (!dom/* Dom.up */.i.up(node, (elm) => elm === this.area || (elm && elm.parentNode === this.area), this.area)) { + throw (0,helpers.error)('Node element must be in editor'); + } + const range = this.createRange(); + range[inward ? 'selectNodeContents' : 'selectNode'](node); + return this.selectRange(range); } - __processChanges() { - if (this.snapshot.isBlocked || !this.j.o.history.enable) { - return; + get html() { + const sel = this.sel; + if (sel && sel.rangeCount > 0) { + const range = sel.getRangeAt(0); + const clonedSelection = range.cloneContents(); + const div = this.j.createInside.div(); + div.appendChild(clonedSelection); + return div.innerHTML; } - this.updateStack(); + return ''; } - updateStack(replace = false) { - const newValue = this.snapshot.make(); - if (!Snapshot.equal(newValue, this.startValue)) { - const newCommand = new Command(this.startValue, newValue, this, this.updateTick); - if (replace) { - const command = this.__stack.current(); - if (command && this.updateTick === command.tick) { - this.__stack.replace(newCommand); - } + *wrapInTagGen() { + if (this.isCollapsed()) { + const font = this.jodit.createInside.element('font', constants.INVISIBLE_SPACE); + this.insertNode(font, false, false); + const [marker] = this.markers; + if (marker) { + font.appendChild(marker); } else { - this.__stack.push(newCommand); + this.setCursorIn(font); + this.save(); } - this.startValue = newValue; - this.fireChangeStack(); + yield font; + dom/* Dom.unwrap */.i.unwrap(font); + return; } - } - redo() { - if (this.__stack.redo()) { - this.startValue = this.snapshot.make(); - this.fireChangeStack(); + (0,helpers.$$)('*[style*=font-size]', this.area).forEach(elm => (0,helpers.attr)(elm, 'data-font-size', elm.style.fontSize.toString())); + if (!this.isCollapsed()) { + this.j.nativeExecCommand('fontsize', false, '7'); } - } - canRedo() { - return this.__stack.canRedo(); - } - undo() { - if (this.__stack.undo()) { - this.startValue = this.snapshot.make(); - this.fireChangeStack(); + else { + const font = this.j.createInside.element('font'); + (0,helpers.attr)(font, 'size', 7); + this.insertNode(font, false, false); + } + (0,helpers.$$)('*[data-font-size]', this.area).forEach(elm => { + const fontSize = (0,helpers.attr)(elm, 'data-font-size'); + if (fontSize) { + elm.style.fontSize = fontSize; + (0,helpers.attr)(elm, 'data-font-size', null); + } + }); + const elms = (0,helpers.$$)('font[size="7"]', this.area); + for (const font of elms) { + const { firstChild, lastChild } = font; + if (firstChild && + firstChild === lastChild && + (0,checker/* isMarker */._V)(firstChild)) { + dom/* Dom.unwrap */.i.unwrap(font); + continue; + } + if (firstChild && (0,checker/* isMarker */._V)(firstChild)) { + dom/* Dom.before */.i.before(font, firstChild); + } + if (lastChild && (0,checker/* isMarker */._V)(lastChild)) { + dom/* Dom.after */.i.after(font, lastChild); + } + yield font; + dom/* Dom.unwrap */.i.unwrap(font); } } - canUndo() { - return this.__stack.canUndo(); + wrapInTag(tagOrCallback) { + const result = []; + for (const font of this.wrapInTagGen()) { + try { + if (font.firstChild && + font.firstChild === font.lastChild && + (0,checker/* isMarker */._V)(font.firstChild)) { + continue; + } + if ((0,checker/* isFunction */.mf)(tagOrCallback)) { + tagOrCallback(font); + } + else { + result.push(dom/* Dom.replace */.i.replace(font, tagOrCallback, this.j.createInside)); + } + } + finally { + const pn = font.parentNode; + if (pn) { + dom/* Dom.unwrap */.i.unwrap(font); + if (dom/* Dom.isEmpty */.i.isEmpty(pn)) { + dom/* Dom.unwrap */.i.unwrap(pn); + } + } + } + } + return result; } - clear() { - this.startValue = this.snapshot.make(); - this.__stack.clear(); - this.fireChangeStack(); + commitStyle(options) { + void 0; + const styleElm = new CommitStyle(options); + styleElm.apply(this.j); } - get length() { - return this.__stack.length; + applyStyle(style, options = {}) { + this.commitStyle({ + style, + ...options + }); } - fireChangeStack() { - var _a; - this.j && !this.j.isInDestruct && ((_a = this.j.events) === null || _a === void 0 ? void 0 : _a.fire('changeStack')); + splitSelection(currentBox) { + if (!this.isCollapsed()) { + return null; + } + const leftRange = this.createRange(); + const range = this.range; + leftRange.setStartBefore(currentBox); + const cursorOnTheRight = this.cursorOnTheRight(currentBox); + const cursorOnTheLeft = this.cursorOnTheLeft(currentBox); + const br = this.j.createInside.element('br'), prevFake = this.j.createInside.text(constants.INVISIBLE_SPACE), nextFake = prevFake.cloneNode(); + try { + if (cursorOnTheRight || cursorOnTheLeft) { + dom/* Dom.safeInsertNode */.i.safeInsertNode(range, br); + const clearBR = (start, getNext) => { + let next = getNext(start); + while (next) { + const nextSib = getNext(next); + if (next && + (dom/* Dom.isTag */.i.isTag(next, 'br') || dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(next))) { + dom/* Dom.safeRemove */.i.safeRemove(next); + } + else { + break; + } + next = nextSib; + } + }; + clearBR(br, (n) => n.nextSibling); + clearBR(br, (n) => n.previousSibling); + dom/* Dom.after */.i.after(br, nextFake); + dom/* Dom.before */.i.before(br, prevFake); + if (cursorOnTheRight) { + leftRange.setEndBefore(br); + range.setEndBefore(br); + } + else { + leftRange.setEndAfter(br); + range.setEndAfter(br); + } + } + else { + leftRange.setEnd(range.startContainer, range.startOffset); + } + const fragment = leftRange.extractContents(); + const clearEmpties = (node) => dom/* Dom.each */.i.each(node, node => dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node) && dom/* Dom.safeRemove */.i.safeRemove(node)); + if (currentBox.parentNode) { + try { + clearEmpties(fragment); + clearEmpties(currentBox); + currentBox.parentNode.insertBefore(fragment, currentBox); + if (cursorOnTheRight && (br === null || br === void 0 ? void 0 : br.parentNode)) { + const range = this.createRange(); + range.setStartBefore(br); + this.selectRange(range); + } + } + catch (e) { + if (false) {} + } + } + const fillFakeParent = (fake) => { + var _a, _b, _c; + if (((_a = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _a === void 0 ? void 0 : _a.firstChild) === ((_b = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _b === void 0 ? void 0 : _b.lastChild)) { + (_c = fake === null || fake === void 0 ? void 0 : fake.parentNode) === null || _c === void 0 ? void 0 : _c.appendChild(br.cloneNode()); + } + }; + fillFakeParent(prevFake); + fillFakeParent(nextFake); + } + finally { + dom/* Dom.safeRemove */.i.safeRemove(prevFake); + dom/* Dom.safeRemove */.i.safeRemove(nextFake); + } + return currentBox.previousElementSibling; } - destruct() { - if (this.isInDestruct) { - return; + expandSelection() { + if (this.isCollapsed()) { + return this; } - if (this.j.events) { - this.j.e.off('.history'); + const { range } = this, c = range.cloneRange(); + if (!dom/* Dom.isOrContains */.i.isOrContains(this.j.editor, range.commonAncestorContainer, true)) { + return this; } - this.snapshot.destruct(); - super.destruct(); + const moveMaxEdgeFake = (start) => { + const fake = this.j.createInside.fake(); + const r = range.cloneRange(); + r.collapse(start); + dom/* Dom.safeInsertNode */.i.safeInsertNode(r, fake); + (0,selection_helpers/* moveTheNodeAlongTheEdgeOutward */.f)(fake, start, this.j.editor); + return fake; + }; + const leftFake = moveMaxEdgeFake(true); + const rightFake = moveMaxEdgeFake(false); + c.setStartAfter(leftFake); + c.setEndBefore(rightFake); + const leftBox = dom/* Dom.findSibling */.i.findSibling(leftFake, false); + const rightBox = dom/* Dom.findSibling */.i.findSibling(rightFake, true); + if (leftBox !== rightBox) { + const rightInsideLeft = dom/* Dom.isElement */.i.isElement(leftBox) && + dom/* Dom.isOrContains */.i.isOrContains(leftBox, rightFake), leftInsideRight = !rightInsideLeft && + dom/* Dom.isElement */.i.isElement(rightBox) && + dom/* Dom.isOrContains */.i.isOrContains(rightBox, leftFake); + if (rightInsideLeft || leftInsideRight) { + let child = (rightInsideLeft ? leftBox : rightBox), container = child; + while (dom/* Dom.isElement */.i.isElement(child)) { + child = rightInsideLeft + ? child.firstElementChild + : child.lastElementChild; + if (child) { + const isInside = rightInsideLeft + ? dom/* Dom.isOrContains */.i.isOrContains(child, rightFake) + : dom/* Dom.isOrContains */.i.isOrContains(child, leftFake); + if (isInside) { + container = child; + } + } + } + if (rightInsideLeft) { + c.setStart(container, 0); + } + else { + c.setEnd(container, container.childNodes.length); + } + } + } + this.selectRange(c); + dom/* Dom.safeRemove */.i.safeRemove(leftFake, rightFake); + return this; } } (0,tslib_es6/* __decorate */.gn)([ - (0,decorators.debounce)() -], History.prototype, "onChange", null); + decorators.autobind +], Select.prototype, "createRange", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Select.prototype, "focus", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Select.prototype, "setCursorAfter", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Select.prototype, "setCursorBefore", null); +(0,tslib_es6/* __decorate */.gn)([ + decorators.autobind +], Select.prototype, "setCursorIn", null); + +;// CONCATENATED MODULE: ./src/core/selection/index.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + -// EXTERNAL MODULE: ./src/core/selection/index.ts + 19 modules -var selection = __webpack_require__(92415); // EXTERNAL MODULE: ./src/core/traits/index.ts + 3 modules -var traits = __webpack_require__(63711); +var traits = __webpack_require__(72452); ;// CONCATENATED MODULE: ./src/modules/status-bar/status-bar.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -16359,14 +16744,6 @@ var traits = __webpack_require__(63711); let StatusBar = class StatusBar extends component/* ViewComponent */.Hr { - constructor(jodit, target) { - super(jodit); - this.target = target; - this.mods = {}; - this.container = jodit.c.div('jodit-status-bar'); - target.appendChild(this.container); - this.hide(); - } className() { return 'StatusBar'; } @@ -16406,6 +16783,14 @@ let StatusBar = class StatusBar extends component/* ViewComponent */.Hr { } this.j.e.fire('resize'); } + constructor(jodit, target) { + super(jodit); + this.target = target; + this.mods = {}; + this.container = jodit.c.div('jodit-status-bar'); + target.appendChild(this.container); + this.hide(); + } destruct() { if (this.isInDestruct) { return; @@ -16422,15 +16807,15 @@ StatusBar = (0,tslib_es6/* __decorate */.gn)([ // EXTERNAL MODULE: ./src/modules/table/table.ts -var table = __webpack_require__(70218); +var table = __webpack_require__(25120); // EXTERNAL MODULE: ./src/modules/toolbar/collection/editor-collection.ts -var editor_collection = __webpack_require__(98714); +var editor_collection = __webpack_require__(81698); // EXTERNAL MODULE: ./src/modules/toolbar/collection/collection.ts -var collection = __webpack_require__(50); +var collection = __webpack_require__(72719); // EXTERNAL MODULE: ./src/modules/toolbar/button/button.ts -var toolbar_button_button = __webpack_require__(95169); +var toolbar_button_button = __webpack_require__(48197); // EXTERNAL MODULE: ./src/modules/toolbar/button/content.ts -var content = __webpack_require__(3973); +var content = __webpack_require__(34375); ;// CONCATENATED MODULE: ./src/modules/toolbar/button/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -16702,9 +17087,9 @@ function hasItems(data) { } // EXTERNAL MODULE: ./src/core/helpers/checker/is-array.ts -var is_array = __webpack_require__(41515); +var is_array = __webpack_require__(49781); // EXTERNAL MODULE: ./src/core/helpers/checker/is-jodit-object.ts -var is_jodit_object = __webpack_require__(12866); +var is_jodit_object = __webpack_require__(77892); ;// CONCATENATED MODULE: ./src/modules/uploader/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -16800,12 +17185,6 @@ config/* Config.prototype.uploader */.D.prototype.uploader = { class Uploader extends component/* ViewComponent */.Hr { - constructor(editor, options) { - super(editor); - this.path = ''; - this.source = 'default'; - this.options = (0,helpers.ConfigProto)(options || {}, (0,helpers.ConfigProto)(config/* Config.defaultOptions.uploader */.D.defaultOptions.uploader, (0,helpers.isJoditObject)(editor) ? editor.o.uploader : {})); - } get j() { return this.jodit; } @@ -16931,6 +17310,12 @@ class Uploader extends component/* ViewComponent */.Hr { }) .catch(e => handlerE.call(uploader, e)); } + constructor(editor, options) { + super(editor); + this.path = ''; + this.source = 'default'; + this.options = (0,helpers.ConfigProto)(options || {}, (0,helpers.ConfigProto)(config/* Config.defaultOptions.uploader */.D.defaultOptions.uploader, (0,helpers.isJoditObject)(editor) ? editor.o.uploader : {})); + } destruct() { this.setStatus(component/* STATUSES.beforeDestruct */.n$.beforeDestruct); const instances = ajaxInstances.get(this); @@ -16947,10 +17332,8 @@ class Uploader extends component/* ViewComponent */.Hr { } } -// EXTERNAL MODULE: ./src/modules/messages/messages.ts + 1 modules -var messages = __webpack_require__(28351); // EXTERNAL MODULE: ./src/core/plugin/plugin-system.ts -var plugin_system = __webpack_require__(60154); +var plugin_system = __webpack_require__(44540); ;// CONCATENATED MODULE: ./src/modules/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -16988,7 +17371,7 @@ var plugin_system = __webpack_require__(60154); /***/ }), -/***/ 28351: +/***/ 17832: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -17001,17 +17384,15 @@ __webpack_require__.d(__webpack_exports__, { // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js var tslib_es6 = __webpack_require__(20255); // EXTERNAL MODULE: ./src/core/helpers/utils/css.ts -var css = __webpack_require__(76239); +var css = __webpack_require__(26911); // EXTERNAL MODULE: ./src/core/ui/group/group.ts -var group = __webpack_require__(31454); +var group = __webpack_require__(61479); // EXTERNAL MODULE: ./src/core/decorators/component/component.ts -var component = __webpack_require__(45466); +var component = __webpack_require__(11441); // EXTERNAL MODULE: ./src/core/decorators/watch/watch.ts -var watch = __webpack_require__(30192); -// EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); +var watch = __webpack_require__(46163); // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); +var ui = __webpack_require__(93801); ;// CONCATENATED MODULE: ./src/modules/messages/message.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -17050,19 +17431,19 @@ UIMessage = (0,tslib_es6/* __decorate */.gn)([ - let UIMessages = class UIMessages extends group/* UIGroup */.q { - constructor(jodit, options = { + className() { + return 'UIMessages'; + } + constructor(jodit, __box, options = { defaultTimeout: 3000, defaultOffset: 5 }) { super(jodit); + this.__box = __box; this.options = options; this.__messages = new Set(); } - className() { - return 'UIMessages'; - } info(text, timeout) { this.__message(text, 'info', timeout); } @@ -17081,13 +17462,7 @@ let UIMessages = class UIMessages extends group/* UIGroup */.q { this.async.updateTimeout(key, timeout || this.options.defaultTimeout); return; } - const jodit = this.j; - if ((0,helpers.isJoditObject)(jodit)) { - jodit.workplace.appendChild(this.container); - } - else { - jodit.container.appendChild(this.container); - } + this.__box.appendChild(this.container); const msg = new UIMessage(this.j, { text, variant }); this.append(msg); this.__calcOffsets(); @@ -17136,7 +17511,7 @@ UIMessages = (0,tslib_es6/* __decorate */.gn)([ /***/ }), -/***/ 70218: +/***/ 25120: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -17144,12 +17519,12 @@ UIMessages = (0,tslib_es6/* __decorate */.gn)([ /* harmony export */ "i": function() { return /* binding */ Table; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47386); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36516); -/* harmony import */ var jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2624); -/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16672); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63945); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86893); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64968); +/* harmony import */ var jodit_core_helpers___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(90549); +/* harmony import */ var jodit_core_global__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17332); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -17733,7 +18108,7 @@ const instance = (j) => j.getInstance('Table', j.o); /***/ }), -/***/ 95169: +/***/ 48197: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -17741,16 +18116,16 @@ const instance = (j) => j.getInstance('Table', j.o); /* harmony export */ "h": function() { return /* binding */ ToolbarButton; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81402); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63945); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36516); -/* harmony import */ var jodit_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(78900); -/* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5243); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80353); -/* harmony import */ var jodit_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50); -/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(71685); -/* harmony import */ var jodit_core_ui_helpers_get_control_type__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(58240); +/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55310); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67493); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64968); +/* harmony import */ var jodit_core_ui_popup_popup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12680); +/* harmony import */ var jodit_modules_toolbar_factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(81438); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_ui_icon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77904); +/* harmony import */ var jodit_modules_toolbar_collection_collection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(72719); +/* harmony import */ var jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(29411); +/* harmony import */ var jodit_core_ui_helpers_get_control_type__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(38546); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -17769,30 +18144,6 @@ const instance = (j) => j.getInstance('Table', j.o); let ToolbarButton = class ToolbarButton extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButton */ .y3 { - constructor(jodit, control, target = null) { - super(jodit); - this.control = control; - this.target = target; - this.state = { - ...(0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButtonState */ .Yc)(), - theme: 'toolbar', - currentValue: '', - hasTrigger: false - }; - this.openedPopup = null; - jodit.e.on([this.button, this.trigger], 'mousedown', (e) => e.preventDefault()); - this.onAction(this.onClick); - this.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_8__/* .STATUSES.ready */ .n.ready, () => { - this.initFromControl(); - this.initTooltip(); - this.update(); - }); - if (control.mods) { - Object.keys(control.mods).forEach(mod => { - control.mods && this.setMod(mod, control.mods[mod]); - }); - } - } className() { return 'ToolbarButton'; } @@ -17909,6 +18260,30 @@ let ToolbarButton = class ToolbarButton extends jodit_core_ui_button__WEBPACK_IM }); } } + constructor(jodit, control, target = null) { + super(jodit); + this.control = control; + this.target = target; + this.state = { + ...(0,jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButtonState */ .Yc)(), + theme: 'toolbar', + currentValue: '', + hasTrigger: false + }; + this.openedPopup = null; + jodit.e.on([this.button, this.trigger], 'mousedown', (e) => e.preventDefault()); + this.onAction(this.onClick); + this.hookStatus(jodit_core_component_statuses__WEBPACK_IMPORTED_MODULE_8__/* .STATUSES.ready */ .n.ready, () => { + this.initFromControl(); + this.initTooltip(); + this.update(); + }); + if (control.mods) { + Object.keys(control.mods).forEach(mod => { + control.mods && this.setMod(mod, control.mods[mod]); + }); + } + } initFromControl() { var _a; const { control: ctr, state } = this; @@ -18123,7 +18498,7 @@ ToolbarButton = (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([ /***/ }), -/***/ 3973: +/***/ 34375: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18131,10 +18506,10 @@ ToolbarButton = (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([ /* harmony export */ "c": function() { return /* binding */ ToolbarContent; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81402); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36516); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63945); +/* harmony import */ var jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55310); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64968); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18147,13 +18522,6 @@ ToolbarButton = (0,tslib__WEBPACK_IMPORTED_MODULE_10__/* .__decorate */ .gn)([ let ToolbarContent = class ToolbarContent extends jodit_core_ui_button__WEBPACK_IMPORTED_MODULE_0__/* .UIButton */ .y3 { - constructor(jodit, control, target = null) { - super(jodit); - this.control = control; - this.target = target; - this.container.classList.add(`${this.componentName}_${this.clearName(control.name)}`); - (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'role', 'content'); - } className() { return 'ToolbarContent'; } @@ -18168,6 +18536,13 @@ let ToolbarContent = class ToolbarContent extends jodit_core_ui_button__WEBPACK_ createContainer() { return this.j.c.span(this.componentName); } + constructor(jodit, control, target = null) { + super(jodit); + this.control = control; + this.target = target; + this.container.classList.add(`${this.componentName}_${this.clearName(control.name)}`); + (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_2__.attr)(this.container, 'role', 'content'); + } }; ToolbarContent = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([ jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__.component @@ -18177,7 +18552,7 @@ ToolbarContent = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([ /***/ }), -/***/ 50: +/***/ 72719: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18185,10 +18560,10 @@ ToolbarContent = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([ /* harmony export */ "n": function() { return /* binding */ ToolbarCollection; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20255); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55865); -/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5243); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63945); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93801); +/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81438); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18201,15 +18576,6 @@ ToolbarContent = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)([ let ToolbarCollection = class ToolbarCollection extends jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__/* .UIList */ .bz { - constructor(jodit) { - super(jodit); - this.listenEvents = 'updateToolbar changeStack mousedown mouseup keydown change afterInit readonly afterResize ' + - 'selectionchange changeSelection focus afterSetMode touchstart focus blur'; - this.update = this.j.async.debounce(this.immediateUpdate, () => this.j.defaultTimeout); - this.__tooltip = null; - this.initEvents(); - this.__tooltip = jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__/* .UITooltip.make */ .Ne.make(jodit); - } className() { return 'ToolbarCollection'; } @@ -18240,6 +18606,15 @@ let ToolbarCollection = class ToolbarCollection extends jodit_core_ui__WEBPACK_I this.container.style.direction = direction; this.container.setAttribute('dir', direction); } + constructor(jodit) { + super(jodit); + this.listenEvents = 'updateToolbar changeStack mousedown mouseup keydown change afterInit readonly afterResize ' + + 'selectionchange changeSelection focus afterSetMode touchstart focus blur'; + this.update = this.j.async.debounce(this.immediateUpdate, () => this.j.defaultTimeout); + this.__tooltip = null; + this.initEvents(); + this.__tooltip = jodit_core_ui__WEBPACK_IMPORTED_MODULE_1__/* .UITooltip.make */ .Ne.make(jodit); + } initEvents() { this.j.e .on(this.listenEvents, this.update) @@ -18285,7 +18660,7 @@ ToolbarCollection = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)( /***/ }), -/***/ 98714: +/***/ 81698: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18293,11 +18668,11 @@ ToolbarCollection = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)( /* harmony export */ "N": function() { return /* binding */ ToolbarEditorCollection; } /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20255); -/* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50); -/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(47386); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36516); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83370); -/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63945); +/* harmony import */ var _collection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(72719); +/* harmony import */ var jodit_core_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86893); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64968); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(40332); +/* harmony import */ var jodit_core_decorators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(67493); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18310,28 +18685,6 @@ ToolbarCollection = (0,tslib__WEBPACK_IMPORTED_MODULE_4__/* .__decorate */ .gn)( let ToolbarEditorCollection = class ToolbarEditorCollection extends _collection__WEBPACK_IMPORTED_MODULE_0__/* .ToolbarCollection */ .n { - constructor(jodit) { - super(jodit); - this.checkActiveStatus = (cssObject, node) => { - let matches = 0, total = 0; - Object.keys(cssObject).forEach((cssProperty) => { - const cssValue = cssObject[cssProperty]; - if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isFunction)(cssValue)) { - if (cssValue(this.j, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.css)(node, cssProperty).toString())) { - matches += 1; - } - } - else { - if (cssValue.indexOf((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.css)(node, cssProperty).toString()) !== -1) { - matches += 1; - } - } - total += 1; - }); - return total === matches; - }; - this.prependInvisibleInput(this.container); - } className() { return 'ToolbarEditorCollection'; } @@ -18383,6 +18736,28 @@ let ToolbarEditorCollection = class ToolbarEditorCollection extends _collection_ getTarget(button) { return button.target || this.j.s.current() || null; } + constructor(jodit) { + super(jodit); + this.checkActiveStatus = (cssObject, node) => { + let matches = 0, total = 0; + Object.keys(cssObject).forEach((cssProperty) => { + const cssValue = cssObject[cssProperty]; + if ((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.isFunction)(cssValue)) { + if (cssValue(this.j, (0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.css)(node, cssProperty).toString())) { + matches += 1; + } + } + else { + if (cssValue.indexOf((0,jodit_core_helpers__WEBPACK_IMPORTED_MODULE_3__.css)(node, cssProperty).toString()) !== -1) { + matches += 1; + } + } + total += 1; + }); + return total === matches; + }; + this.prependInvisibleInput(this.container); + } prependInvisibleInput(container) { const input = this.j.create.element('input', { tabIndex: -1, @@ -18412,7 +18787,7 @@ ToolbarEditorCollection = (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ /***/ }), -/***/ 5243: +/***/ 81438: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18420,11 +18795,11 @@ ToolbarEditorCollection = (0,tslib__WEBPACK_IMPORTED_MODULE_5__/* .__decorate */ /* harmony export */ "R": function() { return /* binding */ makeCollection; }, /* harmony export */ "g": function() { return /* binding */ makeButton; } /* harmony export */ }); -/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(83370); -/* harmony import */ var _collection_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50); -/* harmony import */ var _collection_editor_collection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(98714); -/* harmony import */ var _button_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(95169); -/* harmony import */ var _button_content__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3973); +/* harmony import */ var jodit_core_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40332); +/* harmony import */ var _collection_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72719); +/* harmony import */ var _collection_editor_collection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81698); +/* harmony import */ var _button_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48197); +/* harmony import */ var _button_content__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(34375); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18462,7 +18837,7 @@ function makeButton(jodit, control, target = null) { /***/ }), -/***/ 51308: +/***/ 74331: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18475,11 +18850,11 @@ __webpack_require__.d(__webpack_exports__, { }); // EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); +var helpers = __webpack_require__(40332); // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); +var ui = __webpack_require__(93801); // EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); +var dom = __webpack_require__(64968); ;// CONCATENATED MODULE: ./src/modules/widget/color-picker/color-picker.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -18555,11 +18930,11 @@ const ColorPickerWidget = (editor, callback, coldColor) => { }; // EXTERNAL MODULE: ./src/core/helpers/checker/is-function.ts -var is_function = __webpack_require__(87385); +var is_function = __webpack_require__(42096); // EXTERNAL MODULE: ./src/core/component/index.ts + 1 modules -var component = __webpack_require__(2624); +var component = __webpack_require__(90549); // EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom_dom = __webpack_require__(65401); +var dom_dom = __webpack_require__(24263); ;// CONCATENATED MODULE: ./src/modules/widget/tabs/tabs.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -18764,7 +19139,7 @@ const FileSelectorWidget = (editor, callbacks, elm, close, isImage = true) => { /***/ }), -/***/ 28255: +/***/ 9188: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -18819,11 +19194,11 @@ const zh_tw = __webpack_require__(28765); /***/ }), -/***/ 60953: +/***/ 27487: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38301); +/* harmony import */ var jodit_core_helpers_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76502); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18854,13 +19229,13 @@ const zh_tw = __webpack_require__(28765); /***/ }), -/***/ 76306: +/***/ 59500: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43435); -/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(76239); -/* harmony import */ var jodit_modules_widget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(51308); +/* harmony import */ var jodit_core_helpers_checker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78411); +/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26911); +/* harmony import */ var jodit_modules_widget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(74331); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -18990,11 +19365,11 @@ const cmd = (control) => control.args && (0,jodit_core_helpers_checker__WEBPACK_ /***/ }), -/***/ 94695: +/***/ 66686: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var _img__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(45687); +/* harmony import */ var _img__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(97425); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -19015,17 +19390,17 @@ const cmd = (control) => control.args && (0,jodit_core_helpers_checker__WEBPACK_ /***/ }), -/***/ 45687: +/***/ 97425: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "A": function() { return /* binding */ align; } /* harmony export */ }); -/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36516); -/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86129); -/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(76239); -/* harmony import */ var jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55667); +/* harmony import */ var jodit_core_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64968); +/* harmony import */ var jodit_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(24421); +/* harmony import */ var jodit_core_helpers_utils_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26911); +/* harmony import */ var jodit_core_helpers_utils_align__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(60303); /*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. @@ -19101,7 +19476,7 @@ const align = { /***/ }), -/***/ 57503: +/***/ 55350: /***/ (function(__unused_webpack_module, __webpack_exports__) { "use strict"; @@ -19141,7 +19516,7 @@ const align = { /***/ }), -/***/ 78124: +/***/ 26752: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -19196,7 +19571,7 @@ const zh_tw = __webpack_require__(58214); /***/ }), -/***/ 37942: +/***/ 87882: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -19251,7 +19626,7 @@ const zh_tw = __webpack_require__(98364); /***/ }), -/***/ 52546: +/***/ 21236: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -20699,6 +21074,7 @@ __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { + "CommitMode": function() { return /* binding */ CommitMode; }, "Jodit": function() { return /* reexport */ Jodit; } }); @@ -20765,23 +21141,23 @@ __webpack_require__.d(after_insert_namespaceObject, { // EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.js var tslib_es6 = __webpack_require__(20255); // EXTERNAL MODULE: ./src/config.ts -var config = __webpack_require__(80031); +var config = __webpack_require__(93166); // EXTERNAL MODULE: ./src/core/constants.ts -var constants = __webpack_require__(47386); -// EXTERNAL MODULE: ./src/modules/index.ts + 20 modules -var modules = __webpack_require__(5687); +var constants = __webpack_require__(86893); +// EXTERNAL MODULE: ./src/modules/index.ts + 41 modules +var modules = __webpack_require__(22705); // EXTERNAL MODULE: ./src/core/helpers/index.ts -var helpers = __webpack_require__(83370); +var helpers = __webpack_require__(40332); // EXTERNAL MODULE: ./src/core/storage/index.ts + 3 modules -var storage = __webpack_require__(94707); +var storage = __webpack_require__(88755); // EXTERNAL MODULE: ./src/core/global.ts -var global = __webpack_require__(16672); +var global = __webpack_require__(17332); // EXTERNAL MODULE: ./src/core/decorators/index.ts + 8 modules -var decorators = __webpack_require__(63945); +var decorators = __webpack_require__(67493); // EXTERNAL MODULE: ./src/core/traits/index.ts + 3 modules -var traits = __webpack_require__(63711); +var traits = __webpack_require__(72452); // EXTERNAL MODULE: ./src/core/request/index.ts + 3 modules -var request = __webpack_require__(5887); +var request = __webpack_require__(12709); ;// CONCATENATED MODULE: ./src/jodit.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -20803,67 +21179,6 @@ var Jodit_1; const __defaultStyleDisplayKey = 'data-jodit-default-style-display'; const __defaultClassesKey = 'data-jodit-default-classes'; let Jodit = Jodit_1 = class Jodit extends modules.ViewWithToolbar { - constructor(element, options) { - super(options, true); - this.isJodit = true; - this.commands = new Map(); - this.__selectionLocked = null; - this.__wasReadOnly = false; - this.createInside = new modules.Create(() => this.ed, this.o.createAttributes); - this.editorIsActive = false; - this.__mode = constants.MODE_WYSIWYG; - this.__callChangeCount = 0; - this.__isSilentChange = false; - this.__elementToPlace = new Map(); - try { - const elementSource = (0,helpers.resolveElement)(element, this.o.shadowRoot || this.od); - if (Jodit_1.isJoditAssigned(elementSource)) { - return elementSource.component; - } - } - catch (e) { - this.destruct(); - throw e; - } - this.setStatus(modules.STATUSES.beforeInit); - this.id = - (0,helpers.attr)((0,helpers.resolveElement)(element, this.o.shadowRoot || this.od), 'id') || - new Date().getTime().toString(); - global/* instances */.as[this.id] = this; - this.storage = storage/* Storage.makeStorage */.Ke.makeStorage(true, this.id); - this.attachEvents(options); - this.e.on(this.ow, 'resize', () => { - if (this.e) { - this.e.fire('resize'); - } - }); - this.e.on('prepareWYSIWYGEditor', this.__prepareWYSIWYGEditor); - this.selection = new modules.Select(this); - const beforeInitHookResult = this.beforeInitHook(); - (0,helpers.callPromise)(beforeInitHookResult, () => { - this.e.fire('beforeInit', this); - const initPluginsResult = global/* pluginSystem.init */.pw.init(this); - (0,helpers.callPromise)(initPluginsResult, () => { - this.e.fire('afterPluginSystemInit', this); - this.e.on('changePlace', () => { - this.setReadOnly(this.o.readonly); - this.setDisabled(this.o.disabled); - }); - this.places.length = 0; - const addPlaceResult = this.addPlace(element, options); - global/* instances */.as[this.id] = this; - const init = () => { - if (this.e) { - this.e.fire('afterInit', this); - } - this.afterInitHook(); - this.setStatus(modules.STATUSES.ready); - this.e.fire('afterConstructor', this); - }; - (0,helpers.callPromise)(addPlaceResult, init); - }); - }); - } className() { return 'Jodit'; } @@ -21363,6 +21678,67 @@ let Jodit = Jodit_1 = class Jodit extends modules.ViewWithToolbar { this.editorWindow = this.o.ownerWindow; this.ownerWindow = this.o.ownerWindow; } + constructor(element, options) { + super(options, true); + this.isJodit = true; + this.commands = new Map(); + this.__selectionLocked = null; + this.__wasReadOnly = false; + this.createInside = new modules.Create(() => this.ed, this.o.createAttributes); + this.editorIsActive = false; + this.__mode = constants.MODE_WYSIWYG; + this.__callChangeCount = 0; + this.__isSilentChange = false; + this.__elementToPlace = new Map(); + try { + const elementSource = (0,helpers.resolveElement)(element, this.o.shadowRoot || this.od); + if (Jodit_1.isJoditAssigned(elementSource)) { + return elementSource.component; + } + } + catch (e) { + this.destruct(); + throw e; + } + this.setStatus(modules.STATUSES.beforeInit); + this.id = + (0,helpers.attr)((0,helpers.resolveElement)(element, this.o.shadowRoot || this.od), 'id') || + new Date().getTime().toString(); + global/* instances */.as[this.id] = this; + this.storage = storage/* Storage.makeStorage */.Ke.makeStorage(true, this.id); + this.attachEvents(options); + this.e.on(this.ow, 'resize', () => { + if (this.e) { + this.e.fire('resize'); + } + }); + this.e.on('prepareWYSIWYGEditor', this.__prepareWYSIWYGEditor); + this.selection = new modules.Select(this); + const beforeInitHookResult = this.beforeInitHook(); + (0,helpers.callPromise)(beforeInitHookResult, () => { + this.e.fire('beforeInit', this); + const initPluginsResult = global/* pluginSystem.init */.pw.init(this); + (0,helpers.callPromise)(initPluginsResult, () => { + this.e.fire('afterPluginSystemInit', this); + this.e.on('changePlace', () => { + this.setReadOnly(this.o.readonly); + this.setDisabled(this.o.disabled); + }); + this.places.length = 0; + const addPlaceResult = this.addPlace(element, options); + global/* instances */.as[this.id] = this; + const init = () => { + if (this.e) { + this.e.fire('afterInit', this); + } + this.afterInitHook(); + this.setStatus(modules.STATUSES.ready); + this.e.fire('afterConstructor', this); + }; + (0,helpers.callPromise)(addPlaceResult, init); + }); + }); + } addPlace(source, options) { const element = (0,helpers.resolveElement)(source, this.o.shadowRoot || this.od); this.attachEvents(options); @@ -21417,6 +21793,8 @@ let Jodit = Jodit_1 = class Jodit extends modules.ViewWithToolbar { contenteditable: false }); container.appendChild(workplace); + this.message.destruct(); + this.message = new modules.UIMessages(this, workplace); if (element.parentNode && element !== container) { element.parentNode.insertBefore(container, element); } @@ -21714,7 +22092,7 @@ function addClassNames(className, elm) { } // EXTERNAL MODULE: ./src/core/helpers/checker/index.ts + 7 modules -var checker = __webpack_require__(43435); +var checker = __webpack_require__(78411); ;// CONCATENATED MODULE: ./src/langs/index.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -21876,7 +22254,7 @@ var valign = __webpack_require__(2304); // EXTERNAL MODULE: ./src/core/ui/icon.ts -var icon = __webpack_require__(80353); +var icon = __webpack_require__(77904); ;// CONCATENATED MODULE: ./src/plugins/about/about.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -21928,7 +22306,7 @@ global/* pluginSystem.add */.pw.add('about', about); icon/* Icon.set */.J.set('about', __webpack_require__(84279)); // EXTERNAL MODULE: ./src/core/ui/index.ts + 2 modules -var ui = __webpack_require__(55865); +var ui = __webpack_require__(93801); ;// CONCATENATED MODULE: ./src/plugins/add-new-line/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -22164,15 +22542,44 @@ class addNewLine extends modules.Plugin { global/* pluginSystem.add */.pw.add('addNewLine', addNewLine); // EXTERNAL MODULE: ./src/core/plugin/index.ts -var core_plugin = __webpack_require__(76454); +var core_plugin = __webpack_require__(57549); // EXTERNAL MODULE: ./src/core/dom/index.ts -var dom = __webpack_require__(36516); +var dom = __webpack_require__(64968); // EXTERNAL MODULE: ./src/core/selection/helpers/index.ts + 2 modules -var selection_helpers = __webpack_require__(37424); +var selection_helpers = __webpack_require__(80805); // EXTERNAL MODULE: ./src/core/dom/dom.ts -var dom_dom = __webpack_require__(65401); +var dom_dom = __webpack_require__(24263); // EXTERNAL MODULE: ./src/core/helpers/utils/utils.ts -var utils = __webpack_require__(32389); +var utils = __webpack_require__(67309); +;// CONCATENATED MODULE: ./src/plugins/backspace/helpers.ts +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + +function findMostNestedNeighbor(node, right, root, onlyInlide = false) { + const nextChild = (node) => right ? node.firstChild : node.lastChild; + let next = dom/* Dom.findNotEmptyNeighbor */.i.findNotEmptyNeighbor(node, !right, root); + if (onlyInlide && dom/* Dom.isElement */.i.isElement(next) && !dom/* Dom.isInlineBlock */.i.isInlineBlock(next)) { + return null; + } + if (next) { + do { + if (nextChild(next)) { + next = nextChild(next); + } + else { + return next; + } + } while (next); + } + return null; +} +function getMoveFilter(jodit) { + return (node) => jodit.e.fire('backSpaceIsMovedIgnore', node) !== true; +} + ;// CONCATENATED MODULE: ./src/plugins/backspace/cases/check-join-two-lists.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -22181,6 +22588,7 @@ var utils = __webpack_require__(32389); */ + function checkJoinTwoLists(jodit, fakeNode, backspace) { const next = dom_dom/* Dom.findSibling */.i.findSibling(fakeNode, backspace), prev = dom_dom/* Dom.findSibling */.i.findSibling(fakeNode, !backspace); if (!dom_dom/* Dom.closest */.i.closest(fakeNode, dom_dom/* Dom.isElement */.i.isElement, jodit.editor) && @@ -22191,7 +22599,7 @@ function checkJoinTwoLists(jodit, fakeNode, backspace) { const { setCursorBefore, setCursorAfter } = jodit.s; const target = next.lastElementChild, second = prev.firstElementChild; (0,utils/* call */.RE)(!backspace ? dom_dom/* Dom.append */.i.append : dom_dom/* Dom.prepend */.i.prepend, second, fakeNode); - dom_dom/* Dom.moveContent */.i.moveContent(prev, next, !backspace); + dom_dom/* Dom.moveContent */.i.moveContent(prev, next, !backspace, getMoveFilter(jodit)); dom_dom/* Dom.safeRemove */.i.safeRemove(prev); (0,utils/* call */.RE)(backspace ? dom_dom/* Dom.append */.i.append : dom_dom/* Dom.prepend */.i.prepend, target, fakeNode); (0,utils/* call */.RE)(backspace ? setCursorBefore : setCursorAfter, fakeNode); @@ -22297,32 +22705,6 @@ function checkRemoveContentNotEditable(jodit, fakeNode, backspace) { return false; } -;// CONCATENATED MODULE: ./src/plugins/backspace/helpers.ts -/*! - * Jodit Editor (https://xdsoft.net/jodit/) - * Released under MIT see LICENSE.txt in the project root for license information. - * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ - -function findMostNestedNeighbor(node, right, root, onlyInlide = false) { - const nextChild = (node) => right ? node.firstChild : node.lastChild; - let next = dom/* Dom.findNotEmptyNeighbor */.i.findNotEmptyNeighbor(node, !right, root); - if (onlyInlide && dom/* Dom.isElement */.i.isElement(next) && !dom/* Dom.isInlineBlock */.i.isInlineBlock(next)) { - return null; - } - if (next) { - do { - if (nextChild(next)) { - next = nextChild(next); - } - else { - return next; - } - } while (next); - } - return null; -} - ;// CONCATENATED MODULE: ./src/plugins/backspace/cases/check-remove-char.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -22492,6 +22874,7 @@ function checkRemoveEmptyNeighbor(jodit, fakeNode, backspace) { * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ + function checkJoinNeighbors(jodit, fakeNode, backspace) { let nextBox = fakeNode, mainClosestBox = nextBox; while (nextBox && @@ -22528,7 +22911,7 @@ function checkMoveListContent(jodit, mainClosestBox, sibling, backspace) { } function moveContentAndRemoveEmpty(jodit, mainClosestBox, sibling, backspace) { if (mainClosestBox && dom_dom/* Dom.isElement */.i.isElement(sibling)) { - dom_dom/* Dom.moveContent */.i.moveContent(mainClosestBox, sibling, !backspace); + dom_dom/* Dom.moveContent */.i.moveContent(mainClosestBox, sibling, !backspace, getMoveFilter(jodit)); let remove = mainClosestBox; while (remove && remove !== jodit.editor && dom_dom/* Dom.isEmpty */.i.isEmpty(remove)) { const parent = remove.parentElement; @@ -22541,7 +22924,7 @@ function moveContentAndRemoveEmpty(jodit, mainClosestBox, sibling, backspace) { } // EXTERNAL MODULE: ./src/core/helpers/utils/index.ts -var helpers_utils = __webpack_require__(38301); +var helpers_utils = __webpack_require__(76502); ;// CONCATENATED MODULE: ./src/plugins/backspace/cases/check-unwrap-first-list-item.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -22719,6 +23102,9 @@ class backspace extends core_plugin/* Plugin */.S { if (!dom/* Dom.isOrContains */.i.isOrContains(jodit.editor, fakeNode)) { return; } + if (jodit.e.fire('backSpaceBeforeCases', backspace, fakeNode)) { + return false; + } (0,selection_helpers/* moveNodeInsideStart */.F)(jodit, fakeNode, backspace); if (cases.some((func) => { if ((0,helpers.isFunction)(func) && @@ -22735,6 +23121,7 @@ class backspace extends core_plugin/* Plugin */.S { throw e; } finally { + jodit.e.fire('backSpaceAfterDelete', backspace, fakeNode); this.safeRemoveEmptyNode(fakeNode); } return false; @@ -22969,15 +23356,15 @@ global/* pluginSystem.add */.pw.add('classSpan', classSpan); ui/* Icon.set */.JO.set('class-span', __webpack_require__(20026)); // EXTERNAL MODULE: ./src/core/helpers/html/safe-html.ts -var safe_html = __webpack_require__(46860); +var safe_html = __webpack_require__(67128); // EXTERNAL MODULE: ./src/core/plugin/plugin.ts -var plugin_plugin = __webpack_require__(90431); +var plugin_plugin = __webpack_require__(85605); // EXTERNAL MODULE: ./src/core/dom/lazy-walker.ts -var lazy_walker = __webpack_require__(20847); +var lazy_walker = __webpack_require__(33841); // EXTERNAL MODULE: ./src/core/helpers/string/trim.ts -var trim = __webpack_require__(89681); +var trim = __webpack_require__(33941); // EXTERNAL MODULE: ./src/core/helpers/checker/is-string.ts -var is_string = __webpack_require__(86129); +var is_string = __webpack_require__(24421); ;// CONCATENATED MODULE: ./src/plugins/clean-html/helpers/get-hash.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -23177,10 +23564,11 @@ function allowAttributes(jodit, nodeElm, hadEffect, allow) { * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ + function fillEmptyParagraph(jodit, nodeElm, hadEffect) { if (jodit.o.cleanHTML.fillEmptyParagraph && dom_dom/* Dom.isBlock */.i.isBlock(nodeElm) && - dom_dom/* Dom.isEmpty */.i.isEmpty(nodeElm, /^(img|svg|canvas|input|textarea|form|br)$/)) { + dom_dom/* Dom.isEmpty */.i.isEmpty(nodeElm, constants.INSEPARABLE_TAGS)) { const br = jodit.createInside.element('br'); nodeElm.appendChild(br); return true; @@ -23558,7 +23946,7 @@ class clipboard { global/* pluginSystem.add */.pw.add('clipboard', clipboard); // EXTERNAL MODULE: ./src/modules/widget/index.ts + 3 modules -var widget = __webpack_require__(51308); +var widget = __webpack_require__(74331); ;// CONCATENATED MODULE: ./src/plugins/color/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -23716,7 +24104,7 @@ function color(editor) { global/* pluginSystem.add */.pw.add('color', color); // EXTERNAL MODULE: ./src/core/helpers/utils/css.ts -var css = __webpack_require__(76239); +var css = __webpack_require__(26911); ;// CONCATENATED MODULE: ./src/plugins/copy-format/copy-format.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -23816,13 +24204,13 @@ function copyFormat(editor) { name: 'copyformat', group: 'clipboard' }); - (0,global/* extendLang */.xl)(__webpack_require__(28255)); + (0,global/* extendLang */.xl)(__webpack_require__(9188)); } global/* pluginSystem.add */.pw.add('copyformat', copyFormat); icon/* Icon.set */.J.set('copyformat', __webpack_require__(83301)); // EXTERNAL MODULE: ./src/modules/file-browser/index.ts + 16 modules -var file_browser = __webpack_require__(75121); +var file_browser = __webpack_require__(8649); ;// CONCATENATED MODULE: ./src/plugins/drag-and-drop/drag-and-drop.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -24171,8 +24559,10 @@ class dragAndDropElement extends core_plugin/* Plugin */.S { ], dragAndDropElement.prototype, "onDrop", null); global/* pluginSystem.add */.pw.add('dragAndDropElement', dragAndDropElement); +// EXTERNAL MODULE: ./src/core/helpers/checker/is-boolean.ts +var is_boolean = __webpack_require__(67749); // EXTERNAL MODULE: ./src/core/helpers/utils/scroll-into-view.ts -var scroll_into_view = __webpack_require__(14475); +var scroll_into_view = __webpack_require__(9005); ;// CONCATENATED MODULE: ./src/plugins/enter/helpers/check-br.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -24222,7 +24612,7 @@ function checkUnsplittableBox(jodit, currentBox) { } // EXTERNAL MODULE: ./src/core/helpers/utils/selector.ts -var selector = __webpack_require__(73549); +var selector = __webpack_require__(54188); ;// CONCATENATED MODULE: ./src/plugins/enter/helpers/insert-paragraph.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -24436,6 +24826,8 @@ function moveCursorOutFromSpecialTags(jodit, current, tags) { + + class enter extends plugin_plugin/* Plugin */.S { afterInit(editor) { const defaultTag = editor.o.enter.toLowerCase(); @@ -24459,6 +24851,7 @@ class enter extends plugin_plugin/* Plugin */.S { } editor.s.focus(); this.onEnter(event); + editor.e.fire('afterEnter', event); editor.synchronizeValues(); return false; } @@ -24483,12 +24876,16 @@ class enter extends plugin_plugin/* Plugin */.S { if (!checkUnsplittableBox(jodit, currentBox)) { return false; } - if (isLi && dom_dom/* Dom.isEmpty */.i.isEmpty(currentBox)) { + if (isLi && this.__isEmptyListLeaf(currentBox)) { processEmptyLILeaf(jodit, currentBox); return false; } splitFragment(jodit, currentBox); } + __isEmptyListLeaf(li) { + const result = this.j.e.fire('enterIsEmptyListLeaf', li); + return (0,is_boolean/* isBoolean */.j)(result) ? result : dom_dom/* Dom.isEmpty */.i.isEmpty(li); + } getCurrentOrFillEmpty(editor) { const { s } = editor; let current = s.current(false); @@ -24856,7 +25253,7 @@ function formatBlock(editor) { global/* pluginSystem.add */.pw.add('formatBlock', formatBlock); // EXTERNAL MODULE: ./src/core/helpers/checker/is-jodit-object.ts -var is_jodit_object = __webpack_require__(12866); +var is_jodit_object = __webpack_require__(77892); ;// CONCATENATED MODULE: ./src/plugins/fullsize/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -25437,7 +25834,7 @@ global/* pluginSystem.add */.pw.add('iframe', iframe); icon/* Icon.set */.J.set('image', __webpack_require__(53477)); config/* Config.prototype.controls.image */.D.prototype.controls.image = { - popup: (editor, current, self, close) => { + popup: (editor, current, ignore, close) => { let sourceImage = null; if (current && !dom/* Dom.isText */.i.isText(current) && @@ -25603,9 +26000,9 @@ function dataURItoBlob(dataURI) { global/* pluginSystem.add */.pw.add('imageProcessor', imageProcessor); // EXTERNAL MODULE: ./src/core/ui/button/index.ts + 2 modules -var ui_button = __webpack_require__(81402); +var ui_button = __webpack_require__(55310); // EXTERNAL MODULE: ./src/modules/image-editor/image-editor.ts + 2 modules -var image_editor = __webpack_require__(37113); +var image_editor = __webpack_require__(99583); ;// CONCATENATED MODULE: ./src/plugins/image-properties/templates/form.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -26323,9 +26720,9 @@ function indent(editor) { global/* pluginSystem.add */.pw.add('indent', indent); // EXTERNAL MODULE: ./src/modules/toolbar/factory.ts -var factory = __webpack_require__(5243); +var factory = __webpack_require__(81438); // EXTERNAL MODULE: ./src/core/ui/popup/index.ts -var popup = __webpack_require__(36649); +var popup = __webpack_require__(35799); ;// CONCATENATED MODULE: ./src/plugins/inline-popup/config/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -26344,15 +26741,15 @@ icon/* Icon.set */.J.set('addcolumn', __webpack_require__(78321)) .set('th', __webpack_require__(52242)) .set('splitg', __webpack_require__(44563)) .set('splitv', __webpack_require__(53183)) - .set('th-list', __webpack_require__(6102)); + .set('th-list', __webpack_require__(18548)); config/* Config.prototype.popup */.D.prototype.popup = { - a: (__webpack_require__(60953)/* ["default"] */ .Z), - img: (__webpack_require__(45687)/* ["default"] */ .Z), - cells: (__webpack_require__(76306)/* ["default"] */ .Z), - toolbar: (__webpack_require__(57503)/* ["default"] */ .Z), - jodit: (__webpack_require__(94695)/* ["default"] */ .Z), - iframe: (__webpack_require__(94695)/* ["default"] */ .Z), - 'jodit-media': (__webpack_require__(94695)/* ["default"] */ .Z), + a: (__webpack_require__(27487)/* ["default"] */ .Z), + img: (__webpack_require__(97425)/* ["default"] */ .Z), + cells: (__webpack_require__(59500)/* ["default"] */ .Z), + toolbar: (__webpack_require__(55350)/* ["default"] */ .Z), + jodit: (__webpack_require__(66686)/* ["default"] */ .Z), + iframe: (__webpack_require__(66686)/* ["default"] */ .Z), + 'jodit-media': (__webpack_require__(66686)/* ["default"] */ .Z), selection: [ 'bold', 'underline', @@ -26593,7 +26990,7 @@ class inlinePopup extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('inlinePopup', inlinePopup); // EXTERNAL MODULE: ./src/core/helpers/utils/align.ts -var align = __webpack_require__(55667); +var align = __webpack_require__(60303); ;// CONCATENATED MODULE: ./src/plugins/justify/justify.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -26879,7 +27276,7 @@ class lineHeight extends core_plugin/* Plugin */.S { group: 'font' } ]; - (0,global/* extendLang */.xl)(__webpack_require__(78124)); + (0,global/* extendLang */.xl)(__webpack_require__(26752)); } afterInit(jodit) { (0,helpers.css)(jodit.editor, { @@ -26932,7 +27329,7 @@ class lineHeight extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('lineHeight', lineHeight); // EXTERNAL MODULE: ./src/core/ui/form/index.ts + 6 modules -var ui_form = __webpack_require__(18839); +var ui_form = __webpack_require__(80567); ;// CONCATENATED MODULE: ./src/plugins/link/template.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -27096,13 +27493,13 @@ class link_link extends core_plugin/* Plugin */.S { if (jodit.o.link.processPastedLink) { jodit.e.on('processPaste.link', this.onProcessPasteLink); } - jodit.e.on('generateLinkForm.link', this.generateForm); + jodit.e.on('generateLinkForm.link', this.__generateForm); jodit.registerCommand('openLinkDialog', { exec: () => { const dialog = jodit.dlg({ resizable: false }); - const htmlForm = this.generateForm(jodit.s.current(), () => { + const htmlForm = this.__generateForm(jodit.s.current(), () => { dialog.close(); }); htmlForm.container.classList.add('jodit-dialog_alert'); @@ -27128,23 +27525,32 @@ class link_link extends core_plugin/* Plugin */.S { } onProcessPasteLink(ignore, html) { const { jodit } = this; - if ((0,helpers.isURL)(html)) { - if (jodit.o.link.processVideoLink) { - const embed = (0,helpers.convertMediaUrlToVideoEmbed)(html); - if (embed !== html) { - jodit.e.stopPropagation('processPaste'); - return jodit.createInside.fromHTML(embed); - } + if (!(0,helpers.isURL)(html) || !jodit.o.link.processPastedLink) { + return; + } + jodit.e.stopPropagation('processPaste'); + if (jodit.o.link.processVideoLink) { + const embed = (0,helpers.convertMediaUrlToVideoEmbed)(html); + if (embed !== html) { + return jodit.createInside.fromHTML(embed); } + } + if (jodit.s.isCollapsed()) { const a = jodit.createInside.element('a'); a.setAttribute('href', html); a.textContent = html; - jodit.e.stopPropagation('processPaste'); jodit.e.fire('applyLink', jodit, a, null); return a; } + jodit.s.applyStyle(undefined, { + element: 'a', + attributes: { + href: html + } + }); + return true; } - generateForm(current, close) { + __generateForm(current, close) { const { jodit } = this; const i18n = jodit.i18n.bind(jodit), { openInNewTabCheckbox, noFollowCheckbox, formTemplate, formClassName, modeClassName } = jodit.o.link; const html = formTemplate(jodit), form = (0,helpers.isString)(html) @@ -27339,7 +27745,7 @@ class link_link extends core_plugin/* Plugin */.S { } beforeDestruct(jodit) { jodit.e - .off('generateLinkForm.link', this.generateForm) + .off('generateLinkForm.link', this.__generateForm) .off('dblclick.link', this.onDblClickOnLink) .off('processPaste.link', this.onProcessPasteLink); } @@ -27352,7 +27758,7 @@ class link_link extends core_plugin/* Plugin */.S { ], link_link.prototype, "onProcessPasteLink", null); (0,tslib_es6/* __decorate */.gn)([ decorators.autobind -], link_link.prototype, "generateForm", null); +], link_link.prototype, "__generateForm", null); global/* pluginSystem.add */.pw.add('link', link_link); ;// CONCATENATED MODULE: ./src/plugins/media/config.ts @@ -27434,9 +27840,9 @@ function media(editor) { global/* pluginSystem.add */.pw.add('media', media); // EXTERNAL MODULE: ./src/core/ui/helpers/buttons.ts -var helpers_buttons = __webpack_require__(20220); +var helpers_buttons = __webpack_require__(97642); // EXTERNAL MODULE: ./src/modules/toolbar/collection/collection.ts -var collection = __webpack_require__(50); +var collection = __webpack_require__(72719); ;// CONCATENATED MODULE: ./src/plugins/mobile/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -27548,7 +27954,7 @@ function mobile(editor) { global/* pluginSystem.add */.pw.add('mobile', mobile); // EXTERNAL MODULE: ./src/core/helpers/utils/data-bind.ts -var data_bind = __webpack_require__(75698); +var data_bind = __webpack_require__(63122); ;// CONCATENATED MODULE: ./src/plugins/ordered-list/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -27640,7 +28046,7 @@ class orderedList extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('orderedList', orderedList); // EXTERNAL MODULE: ./src/core/ui/button/button/button.ts -var button_button = __webpack_require__(6816); +var button_button = __webpack_require__(96031); ;// CONCATENATED MODULE: ./src/plugins/paste/helpers.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -28193,8 +28599,8 @@ class pasteStorage extends plugin_plugin/* Plugin */.S { } global/* pluginSystem.add */.pw.add('pasteStorage', pasteStorage); -// EXTERNAL MODULE: ./src/core/selection/index.ts + 19 modules -var selection = __webpack_require__(92415); +// EXTERNAL MODULE: ./src/core/helpers/checker/is-marker.ts +var is_marker = __webpack_require__(37204); ;// CONCATENATED MODULE: ./src/plugins/placeholder/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -28223,22 +28629,24 @@ config/* Config.prototype.useInputsPlaceholder */.D.prototype.useInputsPlacehold + function isEditorEmpty(root) { + var _a; if (!root.firstChild) { return true; } const first = root.firstChild; - if (constants.MAY_BE_REMOVED_WITH_KEY.test(first.nodeName) || + if (constants.INSEPARABLE_TAGS.has((_a = first.nodeName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || /^(TABLE)$/i.test(first.nodeName)) { return false; } - const next = dom/* Dom.next */.i.next(first, node => node && !dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node), root); - if (dom/* Dom.isText */.i.isText(first) && !next) { - return dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(first); + const next = dom_dom/* Dom.next */.i.next(first, node => node && !dom_dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(node), root); + if (dom_dom/* Dom.isText */.i.isText(first) && !next) { + return dom_dom/* Dom.isEmptyTextNode */.i.isEmptyTextNode(first); } return (!next && - dom/* Dom.each */.i.each(first, elm => !dom/* Dom.isTag */.i.isTag(elm, ['ul', 'li', 'ol']) && - (dom/* Dom.isEmpty */.i.isEmpty(elm) || dom/* Dom.isTag */.i.isTag(elm, 'br')))); + dom_dom/* Dom.each */.i.each(first, elm => !dom_dom/* Dom.isTag */.i.isTag(elm, ['ul', 'li', 'ol']) && + (dom_dom/* Dom.isEmpty */.i.isEmpty(elm) || dom_dom/* Dom.isTag */.i.isTag(elm, 'br')))); } class placeholder extends plugin_plugin/* Plugin */.S { constructor() { @@ -28253,7 +28661,7 @@ class placeholder extends plugin_plugin/* Plugin */.S { if (editor.o.useInputsPlaceholder && editor.element.hasAttribute('placeholder')) { this.placeholderElm.innerHTML = - (0,helpers.attr)(editor.element, 'placeholder') || ''; + (0,utils/* attr */.Lj)(editor.element, 'placeholder') || ''; } editor.e.fire('placeholder', this.placeholderElm.innerHTML); editor.e @@ -28293,13 +28701,13 @@ class placeholder extends plugin_plugin/* Plugin */.S { return; } let marginTop = 0, marginLeft = 0; - const current = editor.s.current(), wrapper = (current && dom/* Dom.closest */.i.closest(current, dom/* Dom.isBlock */.i.isBlock, editor.editor)) || + const current = editor.s.current(), wrapper = (current && dom_dom/* Dom.closest */.i.closest(current, dom_dom/* Dom.isBlock */.i.isBlock, editor.editor)) || editor.editor; const style = editor.ew.getComputedStyle(wrapper); const styleEditor = editor.ew.getComputedStyle(editor.editor); editor.workplace.appendChild(this.placeholderElm); const { firstChild } = editor.editor; - if (dom/* Dom.isElement */.i.isElement(firstChild) && !selection/* Select.isMarker */.Ph.isMarker(firstChild)) { + if (dom_dom/* Dom.isElement */.i.isElement(firstChild) && !(0,is_marker/* isMarker */._)(firstChild)) { const style2 = editor.ew.getComputedStyle(firstChild); marginTop = parseInt(style2.getPropertyValue('margin-top'), 10); marginLeft = parseInt(style2.getPropertyValue('margin-left'), 10); @@ -28314,7 +28722,7 @@ class placeholder extends plugin_plugin/* Plugin */.S { this.placeholderElm.style.lineHeight = style.getPropertyValue('line-height'); } - (0,helpers.css)(this.placeholderElm, { + (0,css/* css */.i)(this.placeholderElm, { display: 'block', textAlign: style.getPropertyValue('text-align'), paddingTop: parseInt(styleEditor.paddingTop, 10) + 'px', @@ -28325,7 +28733,7 @@ class placeholder extends plugin_plugin/* Plugin */.S { }); } hide() { - dom/* Dom.safeRemove */.i.safeRemove(this.placeholderElm); + dom_dom/* Dom.safeRemove */.i.safeRemove(this.placeholderElm); } toggle() { const editor = this.j; @@ -28382,7 +28790,7 @@ function poweredByJodit(jodit) { global/* pluginSystem.add */.pw.add('poweredByJodit', poweredByJodit); // EXTERNAL MODULE: ./src/core/helpers/utils/print.ts -var print = __webpack_require__(25846); +var print = __webpack_require__(21498); ;// CONCATENATED MODULE: ./src/plugins/preview/preview.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -28416,9 +28824,9 @@ function preview(editor) { global/* pluginSystem.add */.pw.add('preview', preview); // EXTERNAL MODULE: ./src/core/helpers/utils/default-language.ts -var default_language = __webpack_require__(4371); +var default_language = __webpack_require__(93351); // EXTERNAL MODULE: ./src/core/helpers/array/to-array.ts -var to_array = __webpack_require__(58260); +var to_array = __webpack_require__(1853); ;// CONCATENATED MODULE: ./src/plugins/print/lib/generate-critical-css.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -29471,6 +29879,46 @@ global/* pluginSystem.add */.pw.add('resizer', resizer); let UISearch = class UISearch extends ui/* UIElement */.u1 { + className() { + return 'UISearch'; + } + render() { + return `
+
+
+ + +
+
+ + 0/0 + +
+
+ + + + +
+
+
`; + } + get currentIndex() { + return this._currentIndex; + } + set currentIndex(value) { + this._currentIndex = value; + this.currentBox.innerText = value.toString(); + } + set count(value) { + this.countBox.innerText = value.toString(); + } + get query() { + return this.queryInput.value; + } + get replace() { + return this.replaceInput.value; + } constructor(jodit) { super(jodit); this.selInfo = null; @@ -29527,46 +29975,6 @@ let UISearch = class UISearch extends ui/* UIElement */.u1 { } }, this.j.defaultTimeout)); } - className() { - return 'UISearch'; - } - render() { - return `
-
-
- - -
-
- - 0/0 - -
-
- - - - -
-
-
`; - } - get currentIndex() { - return this._currentIndex; - } - set currentIndex(value) { - this._currentIndex = value; - this.currentBox.innerText = value.toString(); - } - set count(value) { - this.countBox.innerText = value.toString(); - } - get query() { - return this.queryInput.value; - } - get replace() { - return this.replaceInput.value; - } onEditorKeyDown(e) { if (!this.isOpened) { return; @@ -29657,7 +30065,7 @@ UISearch = (0,tslib_es6/* __decorate */.gn)([ // EXTERNAL MODULE: ./src/core/helpers/string/fuzzy-search-index.ts -var fuzzy_search_index = __webpack_require__(83212); +var fuzzy_search_index = __webpack_require__(93163); ;// CONCATENATED MODULE: ./src/plugins/search/helpers/sentence-finder.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -30184,7 +30592,7 @@ class search extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('search', search); // EXTERNAL MODULE: ./src/core/helpers/string/camel-case.ts -var camel_case = __webpack_require__(79417); +var camel_case = __webpack_require__(26596); ;// CONCATENATED MODULE: ./src/plugins/select/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -31499,7 +31907,7 @@ class spellcheck extends core_plugin/* Plugin */.S { name: 'spellcheck' } ]; - (0,global/* extendLang */.xl)(__webpack_require__(37942)); + (0,global/* extendLang */.xl)(__webpack_require__(87882)); } afterInit(jodit) { jodit.e.on('afterInit afterAddPlace prepareWYSIWYGEditor', this.toggleSpellcheck); @@ -31960,7 +32368,7 @@ class symbols extends plugin_plugin/* Plugin */.S { } ]; this.countInRow = 17; - (0,global/* extendLang */.xl)(__webpack_require__(52546)); + (0,global/* extendLang */.xl)(__webpack_require__(21236)); } afterInit(jodit) { jodit.e.on('generateSpecialCharactersTable.symbols', () => { @@ -32061,6 +32469,8 @@ class symbols extends plugin_plugin/* Plugin */.S { } global/* pluginSystem.add */.pw.add('symbols', symbols); +// EXTERNAL MODULE: ./src/core/helpers/utils/assert.ts +var assert = __webpack_require__(603); ;// CONCATENATED MODULE: ./src/plugins/tab/cases/on-tab-inside-li.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -32068,30 +32478,100 @@ global/* pluginSystem.add */.pw.add('symbols', symbols); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ -function onTabInsideLi(jodit) { - if (!jodit.o.tab.tabInsideLiInsertNewList || !jodit.s.isCollapsed()) { + +function onTabInsideLi(jodit, shift = false) { + if (!jodit.o.tab.tabInsideLiInsertNewList) { return false; } - const fake = jodit.createInside.fake(); - jodit.s.insertNode(fake); - const li = dom_dom/* Dom.closest */.i.closest(fake, 'li', jodit.editor); - if (li && - jodit.s.cursorOnTheLeft(li) && - dom_dom/* Dom.isTag */.i.isTag(li.previousElementSibling, 'li')) { + const [fake, fake2] = fakeCursors(jodit); + try { + const li = getParentLeaf(jodit, fake, shift); + if (!li) { + return false; + } + if (!isSameLeftCursorPosition(li, jodit, fake)) { + return false; + } const list = dom_dom/* Dom.closest */.i.closest(li, ['ol', 'ul'], jodit.editor); - if (list) { - const newList = jodit.createInside.element(list.tagName); - const previousLi = li.previousElementSibling; - newList.appendChild(li); - previousLi.appendChild(newList); - jodit.s.setCursorAfter(fake); - dom_dom/* Dom.safeRemove */.i.safeRemove(fake); - return true; + if (!list || (shift && !dom_dom/* Dom.closest */.i.closest(list, 'li', jodit.editor))) { + return false; + } + if (!shift) { + appendNestedList(jodit, list, li); + } + else { + removeNestedList(jodit, list, li); } + return true; + } + finally { + const range = jodit.s.createRange(); + range.setStartAfter(fake); + range.setEndBefore(fake2); + jodit.s.selectRange(range); + dom_dom/* Dom.safeRemove */.i.safeRemove(fake); + dom_dom/* Dom.safeRemove */.i.safeRemove(fake2); } - dom_dom/* Dom.safeRemove */.i.safeRemove(fake); return false; } +function fakeCursors(jodit) { + const fake = jodit.createInside.fake(); + const fake2 = jodit.createInside.fake(); + const r = jodit.s.range.cloneRange(); + r.collapse(true); + r.insertNode(fake); + const r2 = jodit.s.range.cloneRange(); + r2.collapse(false); + r2.insertNode(fake2); + return [fake, fake2]; +} +function getParentLeaf(jodit, fake, shift) { + const li = dom_dom/* Dom.closest */.i.closest(fake, 'li', jodit.editor); + if (!li) { + return false; + } + if (!shift && !dom_dom/* Dom.isTag */.i.isTag(li.previousElementSibling, 'li')) { + return false; + } + if (shift && !dom_dom/* Dom.closest */.i.closest(li, 'li', jodit.editor)) { + return false; + } + return li; +} +function isSameLeftCursorPosition(li, jodit, fake) { + const li2 = dom_dom/* Dom.closest */.i.closest(fake, 'li', jodit.editor); + return !(!li2 || (li2 !== li && !li.contains(li2))); +} +function appendNestedList(jodit, list, li) { + const previousLi = li.previousElementSibling; + void 0; + const lastElm = previousLi.lastElementChild; + const newList = dom_dom/* Dom.isTag */.i.isTag(lastElm, list.tagName) + ? lastElm + : jodit.createInside.element(list.tagName, Array.from(list.attributes).reduce((acc, attr) => { + acc[attr.name] = attr.value; + return acc; + }, {})); + newList.appendChild(li); + lastElm !== newList && previousLi.appendChild(newList); +} +function removeNestedList(jodit, list, li) { + const parentLi = dom_dom/* Dom.closest */.i.closest(list, 'li', jodit.editor); + void 0; + const items = Array.from(list.children).filter(t => dom_dom/* Dom.isTag */.i.isTag(t, 'li')); + dom_dom/* Dom.after */.i.after(parentLi, li); + const index = items.indexOf(li); + if (index === 0 || items.length === 1) { + dom_dom/* Dom.safeRemove */.i.safeRemove(list); + } + if (index !== items.length - 1) { + const clone = list.cloneNode(); + dom_dom/* Dom.append */.i.append(li, clone); + for (let i = index + 1; i < items.length; i += 1) { + dom_dom/* Dom.append */.i.append(clone, items[i]); + } + } +} ;// CONCATENATED MODULE: ./src/plugins/tab/cases/index.ts /*! @@ -32127,16 +32607,32 @@ config/* Config.prototype.tab */.D.prototype.tab = { class tab extends core_plugin/* Plugin */.S { afterInit(jodit) { } - onTab(event) { - if (event.key === constants.KEY_TAB && onTabInsideLi(this.j)) { + __onTab(event) { + if (event.key === constants.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 = onTabInsideLi(this.j, shift); + if (res) { + this.j.e.fire('afterTab', shift); + } + return res; + } beforeDestruct(jodit) { } } (0,tslib_es6/* __decorate */.gn)([ (0,decorators.watch)(':keydown.tab') -], tab.prototype, "onTab", null); +], tab.prototype, "__onTab", null); +(0,tslib_es6/* __decorate */.gn)([ + (0,decorators.watch)(':beforeCommand.tab') +], tab.prototype, "__onCommand", null); global/* pluginSystem.add */.pw.add('tab', tab); ;// CONCATENATED MODULE: ./src/plugins/table/config.ts @@ -32302,7 +32798,7 @@ function table(editor) { global/* pluginSystem.add */.pw.add('table', table); // EXTERNAL MODULE: ./src/modules/table/table.ts -var table_table = __webpack_require__(70218); +var table_table = __webpack_require__(25120); ;// CONCATENATED MODULE: ./src/plugins/table-keyboard-navigation/table-keyboard-navigation.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -32626,7 +33122,7 @@ class wrapNodes extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('wrapNodes', wrapNodes); // EXTERNAL MODULE: ./src/core/decorators/watch/watch.ts -var watch = __webpack_require__(30192); +var watch = __webpack_require__(46163); ;// CONCATENATED MODULE: ./src/plugins/dtd/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -32768,7 +33264,7 @@ class dtd extends core_plugin/* Plugin */.S { global/* pluginSystem.add */.pw.add('dtd', dtd); // EXTERNAL MODULE: ./src/modules/context-menu/context-menu.ts -var context_menu = __webpack_require__(82616); +var context_menu = __webpack_require__(60403); ;// CONCATENATED MODULE: ./src/plugins/xpath/config.ts /*! * Jodit Editor (https://xdsoft.net/jodit/) @@ -33040,6 +33536,8 @@ Object.keys(langs) Jodit.lang[key] = langs[key]; }); +class CommitMode { +} }(); __webpack_exports__ = __webpack_require__.O(__webpack_exports__); diff --git a/build/jodit.es2018.min.css b/build/jodit.es2018.min.css index cadbafd63..90de43bb7 100644 --- a/build/jodit.es2018.min.css +++ b/build/jodit.es2018.min.css @@ -1 +1 @@ -:root{--jd-color-white:#fff;--jd-color-gray:#dadada;--jd-color-gray-dark:#a5a5a5;--jd-color-dark:#4c4c4c;--jd-color-blue:#b5d6fd;--jd-color-light-blue:rgba(181,214,253,.5);--jd-color-red:#ff3b3b;--jd-color-light-red:rgba(255,59,59,.4);--jd-color-default:var(--jd-color-dark);--jd-color-text:#222;--jd-color-label:var(--jd-color-gray-dark);--jd-color-error:var(--jd-color-red);--jd-color-border:var(--jd-color-gray);--jd-color-border-dark:var(--jd-color-dark);--jd-color-border-selected:#1e88e5;--jd-color-border-active:#b5b5b5;--jd-color-selection:var(--jd-color-dark);--jd-color-selection-area:#bdbdbd;--jd-color-separator:var(--jd-color-border);--jd-color-placeholder:var(--jd-color-gray-dark);--jd-color-panel:#f9f9f9;--jd-color-resizer:#c8c8c8;--jd-color-background-default:var(--jd-color-white);--jd-color-background-light-gray:#f5f5f6;--jd-color-background-gray:var(--jd-color-gray);--jd-color-background-gray-hover:#f8f8f8;--jd-color-background-hover:#7a450f;--jd-color-background-button-hover:#ecebe9;--jd-color-background-button-hover-opacity30:hsla(40,7%,92%,.3);--jd-color-background-progress:#b91f1f;--jd-color-background-filebrowser-folders:#3f3f3f;--jd-color-background-active:#2196f3;--jd-color-background-selection:#b5d6fd;--jd-color-background-selection_opacity50:rgba(181,214,253,.995);--jd-color-source-area:#323232;--jd-color-button-background-hover:#dcdcdc;--jd-color-button-background-hover_opacity40:hsla(0,0%,86%,.4);--jd-color-button-background-hover_opacity60:hsla(0,0%,86%,.6);--jd-font-default:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--jd-font-size-default:14px;--jd-font-size-small:11px;--jd-color-text-icons:rgba(0,0,0,.75);--jd-color-icon:var(--jd-color-dark);--jd-padding-default:8px;--jd-border-radius-default:3px;--jd-z-index-full-size:100000;--jd-z-index-popup:10000001;--jd-z-index-dialog-overlay:20000003;--jd-z-index-dialog:20000004;--jd-z-index-context-menu:30000005;--jd-z-index-tooltip:30000006;--jd-icon-loader-size:48px;--jd-width_element_default:18px;--jd-height_element_default:18px;--jd-dark_background_color:#575757;--jd-dark-text-color:var(--jd-color-white);--jd-dark_background_ligher:#787878;--jd-dark_background_darknes:#353535;--jd-dark_border_color:#444;--jd-dark_text_color:#d1cccc;--jd-dark_text_color_opacity80:hsla(0,5%,81%,.8);--jd-dark_text_color_opacity50:hsla(0,5%,81%,.5);--jd-dark_icon_color:silver;--jd-dark_toolbar_color:#5f5c5c;--jd-dark_toolbar_seperator_color1:rgba(81,81,81,.41);--jd-dark_toolbar_seperator_color2:#686767;--jd-dark_toolbar_seperator_color_opacity80:hsla(0,0%,41%,.8);--jd-dark_toolbar_seperator_color3:hsla(0,0%,41%,.75);--jd-dark_color-border-selected:#152f5f;--jd-width-default:180px;--jd-width-input-min:var(--jd-width-default);--jd-input-height:32px;--jd-button-icon-size:14px;--jd-margin-v:2px;--jd-button-df-size:calc((var(--jd-button-icon-size) - 4px)*2);--jd-button-size:calc(var(--jd-button-icon-size) + var(--jd-button-df-size) + var(--jd-margin-v)*2);--jd-focus-input-box-shadow:0 0 0 0.05rem rgba(0,123,255,.25)}.jodit-wysiwyg{outline:0}.jodit-wysiwyg ::selection,.jodit-wysiwyg::selection{background:#b5d6fd;color:#4c4c4c}.jodit-container:not(.jodit_inline) .jodit-wysiwyg{margin:0;outline:0;overflow-x:auto;padding:8px;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg img{max-width:100%;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media{position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media *{position:relative;z-index:0}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}:root{--jd-switche-width:60px;--jd-switche-height:32px;--jd-switche-slider-margin:4px;--jd-switche-slider-size:calc(var(--jd-switche-height) - var(--jd-switche-slider-margin)*2)}.jodit-form{color:var(--jd-color-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-form.jodit_error{border-color:var(--jd-color-error);box-shadow:inset 0 0 3px 0 hsla(0,0%,74%,.3)}@media (max-width:768px){.jodit-form{min-width:150px}}.jodit-form button{background:#d6d6d6;border:none;color:var(--jd-color-dark);cursor:pointer;font-size:16px;height:36px;line-height:1;margin-bottom:var(--jd-padding-default);margin-top:var(--jd-padding-default);outline:none;padding:var(--jd-padding-default);text-decoration:none;transition:background .2s ease 0s}.jodit-form button:hover{background-color:var(--jd-color-background-button-hover);color:var(--jd-color-dark)}.jodit-form button:active{background:var(--jd-color-background-button-hover);color:var(--jd-color-dark)}.jodit-form label{align-items:center;display:flex;margin-bottom:var(--jd-padding-default);text-align:left;white-space:nowrap}.jodit-form label:last-child{margin-bottom:0}.jodit-form .jodit-form__center{justify-content:center}.jodit .jodit-input,.jodit .jodit-select,.jodit .jodit-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit .jodit-input[disabled],.jodit .jodit-select[disabled],.jodit .jodit-textarea[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit .jodit-input_has-error_true,.jodit .jodit-select_has-error_true,.jodit .jodit-textarea_has-error_true{border-color:var(--jd-color-red)}.jodit .jodit-input:focus{border-color:#66afe9;outline:0}.jodit-checkbox{border:0;cursor:pointer;height:16px;margin:0 calc(var(--jd-padding-default)/2) 0 0;outline:none;padding:0;position:relative;width:16px;z-index:2}.jodit-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4.95 10'%3E%3Cdefs%3E%3Cstyle%3E.cls-2{fill:%23444}%3C/style%3E%3C/defs%3E%3Cpath style='fill:%23fff' d='M0 0h4.95v10H0z'/%3E%3Cpath class='cls-2' d='m1.41 4.67 1.07-1.49 1.06 1.49H1.41zM3.54 5.33 2.48 6.82 1.41 5.33h2.13z'/%3E%3C/svg%3E");background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(var(--jd-padding-default)*2)}.jodit-textarea{height:auto}.jodit-form__group,.jodit-textarea{min-width:var(--jd-width-input-min)}.jodit-form__group{display:flex;flex-direction:column}.jodit-form__group,.jodit-form__group>label{margin-bottom:var(--jd-padding-default)}.jodit-button{align-items:center;background-color:var(--jd-color-background-gray);border:0;border-radius:.25rem;color:var(--jd-color-default);cursor:pointer;display:inline-flex;height:calc(var(--jd-padding-default)*4);justify-content:center;line-height:1;margin:0;padding:0 var(--jd-padding-default);position:relative;text-decoration:none;user-select:none;width:auto}.jodit-button svg{display:inline-block;height:24px;width:24px}.jodit-button svg+span{margin-left:calc(var(--jd-padding-default)/2)}.jodit-button:active,.jodit-button:focus{outline:0}.jodit-button.disabled{opacity:.7}.jodit-buttons{display:flex;flex-wrap:nowrap;justify-content:space-between;margin-bottom:var(--jd-padding-default)}.jodit-button .jodit_icon,.jodit-button svg,.jodit-dialog__header .jodit_icon,.jodit-dialog__header svg{display:inline-block;height:16px;vertical-align:middle;width:16px}.jodit-switcher{display:inline-block;height:var(--jd-switche-height);position:relative;width:var(--jd-switche-width)}.jodit-switcher input{height:0;opacity:0;width:0}.jodit-switcher .jodit-switcher__slider{background-color:var(--jd-color-gray);border-radius:var(--jd-switche-height);bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.jodit-switcher .jodit-switcher__slider:before{background-color:#fff;border-radius:50%;bottom:var(--jd-switche-slider-margin);content:"";height:var(--jd-switche-slider-size);left:var(--jd-switche-slider-margin);position:absolute;transition:.4s;width:var(--jd-switche-slider-size)}input:checked+.jodit-switcher__slider{background-color:var(--jd-color-background-active)}input:checked+.jodit-switcher__slider:before{transform:translateX(calc(var(--jd-switche-width) - var(--jd-switche-slider-margin)*2 - var(--jd-switche-slider-size)))}input:focus+.jodit-switcher__slider{box-shadow:0 0 1px var(--jd-color-background-active)}.jodit-button-group{display:flex}.jodit-button-group input{display:none}.jodit-button-group button{display:flex;flex:1;justify-content:center;text-align:center}.jodit-button-group button+button{margin-left:-1px}.jodit-button-group button:first-child,.jodit-button-group input:first-child+button{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.jodit-button-group button:last-child,.jodit-button-group input:last-child+button{border-bottom-left-radius:0;border-left:0;border-top-left-radius:0}.jodit-button-group input[type=checkbox]:checked+button,.jodit-button-group input[type=checkbox]:not(:checked)+button+button{background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.05)}.jodit_text_icons .jodit_icon{font-size:var(--jd-font-size-default);width:auto}.jodit_text_icons .jodit_icon:first-letter{text-transform:uppercase}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a{font-family:var(--jd-font-default);width:auto}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a i{width:auto}.jodit_text_icons.jodit-dialog .jodit-button,.jodit_text_icons.jodit-dialog .jodit-dialog__header a{color:var(--jd-color-text-icons);font-family:var(--jd-font-default);padding:var(--jd-padding-default);width:auto}.jodit_text_icons.jodit-dialog .jodit-button .jodit_icon,.jodit_text_icons.jodit-dialog .jodit-dialog__header a .jodit_icon{width:auto}.jodit-grid{display:flex;width:100%}.jodit-grid.jodit-grid_column{flex-direction:column}@media (max-width:480px){.jodit-grid.jodit-grid_xs-column{flex-direction:column}}.jodit-grid [class*=jodit_col-]{flex:1 1 auto}.jodit-grid .jodit_col-lg-5-5{width:100%}.jodit-grid .jodit_col-lg-4-5{width:80%}.jodit-grid .jodit_col-lg-3-5{width:60%}.jodit-grid .jodit_col-lg-2-5{width:40%}.jodit-grid .jodit_col-lg-1-5{width:20%}.jodit-grid .jodit_col-lg-4-4{width:100%}.jodit-grid .jodit_col-lg-3-4{width:75%}.jodit-grid .jodit_col-lg-2-4{width:50%}.jodit-grid .jodit_col-lg-1-4{width:25%}@media (max-width:992px){.jodit-grid .jodit_col-md-5-5{width:100%}.jodit-grid .jodit_col-md-4-5{width:80%}.jodit-grid .jodit_col-md-3-5{width:60%}.jodit-grid .jodit_col-md-2-5{width:40%}.jodit-grid .jodit_col-md-1-5{width:20%}.jodit-grid .jodit_col-md-4-4{width:100%}.jodit-grid .jodit_col-md-3-4{width:75%}.jodit-grid .jodit_col-md-2-4{width:50%}.jodit-grid .jodit_col-md-1-4{width:25%}}@media (max-width:768px){.jodit-grid .jodit_col-sm-5-5{width:100%}.jodit-grid .jodit_col-sm-4-5{width:80%}.jodit-grid .jodit_col-sm-3-5{width:60%}.jodit-grid .jodit_col-sm-2-5{width:40%}.jodit-grid .jodit_col-sm-1-5{width:20%}.jodit-grid .jodit_col-sm-4-4{width:100%}.jodit-grid .jodit_col-sm-3-4{width:75%}.jodit-grid .jodit_col-sm-2-4{width:50%}.jodit-grid .jodit_col-sm-1-4{width:25%}}@media (max-width:480px){.jodit-grid .jodit_col-xs-5-5{width:100%}.jodit-grid .jodit_col-xs-4-5{width:80%}.jodit-grid .jodit_col-xs-3-5{width:60%}.jodit-grid .jodit_col-xs-2-5{width:40%}.jodit-grid .jodit_col-xs-1-5{width:20%}.jodit-grid .jodit_col-xs-4-4{width:100%}.jodit-grid .jodit_col-xs-3-4{width:75%}.jodit-grid .jodit_col-xs-2-4{width:50%}.jodit-grid .jodit_col-xs-1-4{width:25%}}@keyframes a{to{transform:rotate(1turn)}}.jodit-icon_loader{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;display:inline-block;height:var(--jd-icon-loader-size);vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-icon{fill:var(--jd-color-icon);background:50% no-repeat;background-size:contain;height:14px;overflow:visible;transform-origin:0 0!important;width:14px}.jodit-icon,.jodit-icon_close{stroke:var(--jd-color-icon)}svg.jodit-icon{height:auto;isolation:isolate}.jodit-icon_text{font-size:14px}.jodit,.jodit *,.jodit-container,.jodit-container *{box-sizing:border-box}.jodit .jodit-workplace,.jodit-container .jodit-workplace{overflow:auto;position:relative}.jodit .jodit-workplace .jodit-wysiwyg,.jodit .jodit-workplace .jodit-wysiwyg_iframe,.jodit-container .jodit-workplace .jodit-wysiwyg,.jodit-container .jodit-workplace .jodit-wysiwyg_iframe{height:100%;width:100%}.jodit-wysiwyg [contenteditable=false]{cursor:default}.jodit-container:not(.jodit_inline){background-color:var(--jd-color-background-light-gray);border:1px solid var(--jd-color-border);border-radius:var(--jd-border-radius-default)}.jodit-container:not(.jodit_inline) .jodit-workplace{background-color:var(--jd-color-background-default);border:0 solid var(--jd-color-border);max-height:100%}.jodit-container:not(.jodit_inline).jodit_disabled{background:var(--jd-color-background-gray)}.jodit-container:not(.jodit_inline).jodit_disabled .jodit-workplace{opacity:.4}.jodit_disabled,.jodit_lock{user-select:none!important}.jodit_hidden{display:none!important}.jodit_vertical_middle{align-items:center;display:flex}.jodit-box,.jodit-context-menu{background:0 0;border:0;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.jodit-context-menu{box-shadow:var(--jd-popup-box-shadow);display:inline-block;position:fixed;transform:translateZ(0);z-index:var(--jd-z-index-popup);z-index:var(--jd-z-index-context-menu)}.jodit-context-menu__content{overflow-scrolling:touch;background:var(--jd-color-background-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);max-height:300px;overflow:auto;padding:var(--jd-padding-default)}.jodit-context-menu_padding_false .jodit-context-menu__content{padding:0}.jodit-context-menu_max-height_false .jodit-context-menu__content{max-height:fit-content}.jodit-context-menu .jodit-ui-button{display:flex}.jodit-context-menu__actions{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-context-menu__actions button{width:100%}.jodit-context-menu_theme_dark .jodit-context-menu__content{background-color:var(--jd-dark_background_color)}:root{--jd-popup-box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13)}.jodit-popup{background:0 0;border:0;box-shadow:var(--jd-popup-box-shadow);display:inline-block;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;position:fixed;transform:translateZ(0);width:auto;z-index:var(--jd-z-index-popup)}.jodit-popup__content{overflow-scrolling:touch;background:var(--jd-color-background-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);max-height:300px;overflow:auto;padding:var(--jd-padding-default)}.jodit-popup_padding_false .jodit-popup__content{padding:0}.jodit-popup_max-height_false .jodit-popup__content{max-height:fit-content}.jodit-ui-button-icon-text__icon{display:none}.jodit-ui-button-icon-text__icon:not(:empty){display:inline-flex}.jodit-ui-button-icon-text__text{display:none}.jodit-ui-button-icon-text__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-ui-button-icon-text__icon:not(:empty)+.jodit-ui-button-icon-text__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-ui-button-icon-text__icon:empty+.jodit-ui-button-icon-text__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-ui-button-clear,.jodit-ui-button_clear{appearance:none;background:0 0;border:0;box-shadow:none;box-sizing:border-box;font-style:normal;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-ui-button-sizes{height:34px;min-width:34px}.jodit-ui-button-sizes .jodit-icon{height:14px;width:14px}.jodit-ui-button-sizes button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button-sizes_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_tiny{height:16px;min-width:16px}.jodit-ui-button-sizes_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button-sizes_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button-sizes_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_xsmall{height:22px;min-width:22px}.jodit-ui-button-sizes_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button-sizes_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button-sizes_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_small{height:28px;min-width:28px}.jodit-ui-button-sizes_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button-sizes_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button-sizes_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_large{height:40px;min-width:40px}.jodit-ui-button-sizes_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button-sizes_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button-sizes_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-variants_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button-variants_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default [disabled]{opacity:.7}.jodit-ui-button-variants_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button-variants_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button-variants_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button-variants_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button-variants_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button-variants_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success [disabled]{opacity:.7}.jodit-ui-button-variants_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button-variants_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button-variants_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button-variants_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger [disabled]{opacity:.7}.jodit-ui-button-variants_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button-variants_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-button-style{border-radius:var(--jd-border-radius-default);padding:0 var(--jd-padding-default)}.jodit-ui-button,.jodit-ui-button-style{align-items:center;color:var(--jd-color-text-icons);display:inline-flex;justify-content:center}.jodit-ui-button{appearance:none;background:0 0;border:0;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;cursor:pointer;font-style:normal;height:34px;min-width:34px;outline:0;padding:0;padding:0 var(--jd-padding-default);position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-ui-button:focus-visible:not([disabled]),.jodit-ui-button:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-ui-button:active:not([disabled]),.jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-ui-button[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-ui-button[disabled]{opacity:.3;pointer-events:none}.jodit-ui-button .jodit-icon{height:14px;width:14px}.jodit-ui-button button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_tiny{height:16px;min-width:16px}.jodit-ui-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_xsmall{height:22px;min-width:22px}.jodit-ui-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_small{height:28px;min-width:28px}.jodit-ui-button_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_large{height:40px;min-width:40px}.jodit-ui-button_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button__icon{display:none}.jodit-ui-button__icon:not(:empty){display:inline-flex}.jodit-ui-button__text{display:none}.jodit-ui-button__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-ui-button_context_menu .jodit-ui-button__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-ui-button_context_menu .jodit-ui-button__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-ui-button__icon:not(:empty)+.jodit-ui-button__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-ui-button__icon:empty+.jodit-ui-button__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-ui-button:focus:not([disabled]){outline:1px dashed var(--jd-color-background-selection)}.jodit-ui-button_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default [disabled]{opacity:.7}.jodit-ui-button_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary [disabled]{opacity:.7}.jodit-ui-button_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary [disabled]{opacity:.7}.jodit-ui-button_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success [disabled]{opacity:.7}.jodit-ui-button_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger [disabled]{opacity:.7}.jodit-ui-button_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-list{display:flex;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-ui-group{background-color:transparent;border:0;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-toolbar-button{height:auto;min-height:var(--jd-button-size)}.jodit-ui-list_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:var(--jd-button-size);width:100%}.jodit-ui-list_mode_vertical .jodit-toolbar-button__text:not(:empty){justify-content:left}.jodit-ui-separator{border-left:0;border-right:1px solid var(--jd-color-border);cursor:default;margin:2px;padding:0}.jodit-ui-break{border-top:1px solid var(--jd-color-border);flex-basis:100%;height:0!important;width:0}.jodit-ui-spacer{flex:1}.jodit-ui-group{display:inline-flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;max-width:100%}.jodit-ui-group_line_true{display:flex;justify-content:stretch}.jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-left:0;border-right:1px solid var(--jd-color-border);content:"";cursor:default;margin:2px;padding:0}.jodit-ui-group:last-child{border-bottom:0}.jodit-ui-button-group{margin-bottom:var(--jd-padding-default)}.jodit-ui-button-group__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-button-group__options{display:flex;justify-content:flex-start}.jodit-ui-button-group .jodit-ui-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.jodit-ui-button-group .jodit-ui-button+.jodit-ui-button{border-bottom-left-radius:0;border-left:1px solid var(--jd-color-button-background-hover_opacity40);border-top-left-radius:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover);border-left:0;box-shadow:inset 0 0 3px 0 var(--jd-color-dark);color:var(--jd-color-dark);outline:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled])+.jodit-ui-button{border:0}.jodit-ui-tooltip{background:#727171;background-clip:padding-box;border-radius:2px;color:#fff;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);font-size:11px;line-height:1.4;max-width:120px;opacity:0;padding:calc(var(--jd-padding-default)/4) calc(var(--jd-padding-default)/2);position:fixed;text-rendering:optimizeLegibility;transition:opacity .2s ease 0s;user-select:none;white-space:normal;width:auto;z-index:var(--jd-z-index-tooltip)}@media (max-width:768px){.jodit-ui-tooltip{display:none}}.jodit-ui-tooltip.jodit-ui-tooltip_visible_true{opacity:1}.jodit-dialog{border:0;box-sizing:border-box;display:none;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:0;position:absolute;width:0;will-change:left,top,width,height}.jodit-dialog_moved_true{user-select:none}.jodit-dialog *{box-sizing:border-box}.jodit-dialog .jodit_elfinder,.jodit-dialog .jodit_elfinder *{box-sizing:initial}.jodit-dialog__overlay{background-color:rgba(0,0,0,.5);display:none;height:100%;left:0;overflow:auto;position:fixed;text-align:center;top:0;white-space:nowrap;width:100%;z-index:var(--jd-z-index-dialog-overlay)}.jodit-dialog_static_true .jodit-dialog__overlay{display:none}.jodit-dialog_active_true,.jodit-dialog_modal_true .jodit-dialog__overlay{display:block}.jodit-dialog__panel{--jd-box-shadow-blur:calc(var(--jd-padding-default)*2);--jd-box-shadow-1:0 var(--jd-padding-default) var(--jd-box-shadow-blur) rgba(0,0,0,.19);background-color:#fff;box-shadow:var(--jd-box-shadow-1),0 6px 6px rgba(0,0,0,.23);display:flex;flex-flow:column nowrap;left:0;max-height:100%;max-width:100%;min-height:100px;min-width:200px;position:fixed;text-align:left;top:0;white-space:normal;z-index:var(--jd-z-index-dialog)}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__panel{height:100%!important;left:0!important;max-width:100%;top:0!important;width:100%!important}}.jodit-dialog_static_true{box-sizing:border-box;display:block;height:auto;position:static;width:auto}.jodit-dialog_static_true .jodit-dialog__panel{border:1px solid var(--jd-color-border);box-shadow:none;left:auto!important;position:relative;top:auto!important;width:100%!important}.jodit-dialog_theme_dark,.jodit-dialog_theme_dark .jodit-dialog__panel{background-color:var(--jd-dark_background_darknes);color:var(--jd-dark-text-color)}.jodit-dialog__header{border-bottom:1px solid var(--jd-color-border);cursor:move;display:flex;justify-content:space-between;min-height:50px;text-align:left}.jodit-dialog__header-title,.jodit-dialog__header-toolbar{align-items:center;display:flex;flex-shrink:3;font-size:18px;font-weight:400;line-height:48px;margin:0;padding:0 var(--jd-padding-default);vertical-align:top}@media (max-width:480px){.jodit-dialog__header-toolbar{padding-left:0}}.jodit-dialog__header-button{color:#222;flex-basis:48px;font-size:28px;height:48px;line-height:48px;text-align:center;text-decoration:none;transition:background-color .2s ease 0s}.jodit-dialog__header-button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-dialog__header .jodit_toolbar{background:transparent;border:0;box-shadow:none}.jodit-dialog__header .jodit_toolbar>li.jodit-toolbar-button .jodit-input{padding-left:var(--jd-padding-default);width:auto}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__header{flex-direction:column}}.jodit-dialog_slim_true .jodit-dialog__header{min-height:10px}.jodit-dialog_slim_true .jodit-dialog__header-title,.jodit-dialog_slim_true .jodit-dialog__header-toolbar{padding:0 calc(var(--jd-padding-default)/4)}.jodit-dialog_theme_dark .jodit-dialog__header{border-color:var(--jd-color-dark)}.jodit-dialog_fullsize_true .jodit-dialog__header{cursor:default}.jodit-dialog__content{flex:1;min-height:100px;overflow:auto}.jodit-dialog__content .jodit-form__group{margin-bottom:calc(var(--jd-padding-default)*1.5);padding:0 var(--jd-padding-default)}.jodit-dialog__content .jodit-form__group:first-child{margin-top:var(--jd-padding-default)}.jodit-dialog__content .jodit-form__group label+.jodit-grid,.jodit-dialog__content .jodit-form__group label+.jodit-input_group,.jodit-dialog__content .jodit-form__group label+.jodit-select,.jodit-dialog__content .jodit-form__group label+input{margin-top:calc(var(--jd-padding-default)/2)}.jodit-dialog__content .jodit-form__group .jodit-input_group{border-collapse:separate;display:table;width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group>*{display:table-cell;height:34px;vertical-align:middle}.jodit-dialog__content .jodit-form__group .jodit-input_group>input{margin:0!important}.jodit-dialog__content .jodit-form__group .jodit-input_group>input:not([class*=col-]){width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons{font-size:0;vertical-align:middle;white-space:nowrap;width:1%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons>.jodit-button{border:1px solid var(--jd-color-border);border-radius:0;height:34px;line-height:34px;margin-left:-1px}.jodit-dialog__footer{display:none;flex-wrap:nowrap;justify-content:space-between;padding:var(--jd-padding-default)}.jodit-dialog__footer button{margin-right:calc(var(--jd-padding-default)/2)}.jodit-dialog__footer button:last-child{margin-right:0}.jodit-dialog__column{display:flex}.jodit-dialog__resizer{display:none;position:relative}.jodit-dialog__resizer svg{fill:var(--jd-color-gray-dark);bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;user-select:none;width:12px}.jodit-dialog_resizable_true .jodit-dialog__resizer{display:block}@media (max-width:480px){.jodit-dialog__resizer{display:none}}.jodit-dialog_prompt{max-width:300px;min-width:200px;padding:var(--jd-padding-default);word-break:break-all}.jodit-dialog_prompt label{display:block;margin-bottom:calc(var(--jd-padding-default)/2)}.jodit-dialog_alert{max-width:300px;min-width:200px;padding:var(--jd-padding-default);word-break:break-all}.jodit-dialog_footer_true .jodit-dialog__footer{display:flex}.jodit_fullsize .jodit-dialog__panel{bottom:0!important;height:100%!important;left:0!important;right:0!important;top:0!important;width:100%!important}.jodit_fullsize .jodit-dialog__panel .jodit-dialog__resizer{display:none}.jodit-toolbar__box:not(:empty){--jd-color-background-default:var(--jd-color-panel);background-color:var(--jd-color-background-default);border-bottom:1px solid var(--jd-color-border);border-radius:var(--jd-border-radius-default) var(--jd-border-radius-default) 0 0;overflow:hidden}.jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:var(--jd-color-panel)}:root{--jd-em-color-border:#b6d4fe;--jd-em-color-bg:#cfe2ff;--jd-em-color-color:#084298;--jd-em-border-radius:0.375rem;--jd-em-padding:0.5rem 1rem;--jd-em-font-size:1rem}.jodit-ui-messages{bottom:0;height:0;overflow:visible;position:absolute;right:0;width:0;z-index:3}.jodit-ui-message{background:var(--jd-em-color-bg);border:1px solid var(--jd-em-color-border);border-radius:var(--jd-em-border-radius);bottom:0;color:var(--jd-em-color-color);cursor:pointer;display:block;font-size:var(--jd-em-font-size);opacity:0;padding:var(--jd-em-padding);position:absolute;right:calc(var(--jd-padding-default)/2);transition:opacity .1s linear,bottom .3s linear,transform .1s ease-out;white-space:pre}.jodit-ui-message_active_true{opacity:1}.jodit-ui-message:active{transform:scale(.76)}.jodit-ui-message_variant_secondary{--jd-em-color-border:#d3d6d8;--jd-em-color-bg:#e2e3e5;--jd-em-color-color:#41464b}.jodit-ui-message_variant_danger,.jodit-ui-message_variant_error,.jodit-ui-message_variant_secondary{background:var(--jd-em-color-bg);border-color:var(--jd-em-color-border);color:var(--jd-em-color-color)}.jodit-ui-message_variant_danger,.jodit-ui-message_variant_error{--jd-em-color-border:#f5c2c7;--jd-em-color-bg:#f8d7da;--jd-em-color-color:#842029}.jodit-ui-message_variant_success{--jd-em-color-border:#badbcc;--jd-em-color-bg:#d1e7dd;--jd-em-color-color:#0f5132;background:var(--jd-em-color-bg);border-color:var(--jd-em-color-border);color:var(--jd-em-color-color)}.jodit-ui-label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-input{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default)}.jodit-ui-input__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-input__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-input__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-input__input:focus{outline:0}.jodit-ui-input_theme_dark .jodit-ui-input__input{background-color:var(--jd-color-gray)}.jodit-ui-input_has-error_true .jodit-ui-input__input{border-color:var(--jd-color-red)}.jodit-ui-input__error,.jodit-ui-input__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-input__error,.jodit-ui-input_has-error_true .jodit-ui-input__label{color:var(--jd-color-error)}.jodit-ui-input__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-input__wrapper{min-width:140px}}.jodit-ui-input_theme_dark .jodit-ui-input__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-input_focused_true .jodit-ui-input__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-input__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-input__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-input__icon:not(:empty)+.jodit-ui-input__input{padding-left:0}.jodit-ui-input__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-input__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-input__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-input_theme_dark .jodit-ui-input__clear svg,.jodit-ui-input_theme_dark .jodit-ui-input__icon svg{fill:var(--jd-color-dark)}.jodit-ui-block .jodit-ui-input{margin-bottom:0}.jodit-ui-select{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default)}.jodit-ui-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-select__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-select__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-select__input:focus{outline:0}.jodit-ui-select_theme_dark .jodit-ui-select__input{background-color:var(--jd-color-gray)}.jodit-ui-select_has-error_true .jodit-ui-select__input{border-color:var(--jd-color-red)}.jodit-ui-select__error,.jodit-ui-select__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-select__error,.jodit-ui-select_has-error_true .jodit-ui-select__label{color:var(--jd-color-error)}.jodit-ui-select__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-select__wrapper{min-width:140px}}.jodit-ui-select_theme_dark .jodit-ui-select__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-select_focused_true .jodit-ui-select__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-select__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-select__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-select__icon:not(:empty)+.jodit-ui-select__input{padding-left:0}.jodit-ui-select__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-select__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-select__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-select_theme_dark .jodit-ui-select__clear svg,.jodit-ui-select_theme_dark .jodit-ui-select__icon svg{fill:var(--jd-color-dark)}.jodit-ui-select__input{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0ye2ZpbGw6IzQ0NH08L3N0eWxlPjwvZGVmcz48cGF0aCBzdHlsZT0iZmlsbDojZmZmIiBkPSJNMCAwaDQuOTV2MTBIMHoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Im0xLjQxIDQuNjcgMS4wNy0xLjQ5IDEuMDYgMS40OUgxLjQxek0zLjU0IDUuMzMgMi40OCA2LjgyIDEuNDEgNS4zM2gyLjEzeiIvPjwvc3ZnPg==);background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(var(--jd-padding-default)*2)}.jodit-ui-select_size_tiny{margin-bottom:0}.jodit-ui-select_size_tiny .jodit-ui-select__input{--jd-height:calc(var(--jd-input-height)/1.8);height:var(--jd-height);line-height:var(--jd-height)}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper{border:0}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper select{outline:0}.jodit-ui-select_width_auto{width:auto}.jodit-ui-select_width_auto .jodit-ui-select__wrapper{min-width:auto}.jodit-ui-text-area{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default);width:100%}.jodit-ui-text-area__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-text-area__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-text-area__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-text-area__input:focus{outline:0}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__input{background-color:var(--jd-color-gray)}.jodit-ui-text-area_has-error_true .jodit-ui-text-area__input{border-color:var(--jd-color-red)}.jodit-ui-text-area__error,.jodit-ui-text-area__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-text-area__error,.jodit-ui-text-area_has-error_true .jodit-ui-text-area__label{color:var(--jd-color-error)}.jodit-ui-text-area__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-text-area__wrapper{min-width:140px}}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-text-area_focused_true .jodit-ui-text-area__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-text-area__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-text-area__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-text-area__icon:not(:empty)+.jodit-ui-text-area__input{padding-left:0}.jodit-ui-text-area__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-text-area__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-text-area__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__clear svg,.jodit-ui-text-area_theme_dark .jodit-ui-text-area__icon svg{fill:var(--jd-color-dark)}.jodit-ui-text-area__wrapper{flex:1}.jodit-ui-text-area__input{height:100%;min-height:60px}.jodit-ui-checkbox{align-items:center;display:flex;flex-direction:row-reverse;justify-content:flex-end;margin-bottom:var(--jd-padding-default)}.jodit-ui-checkbox__input{margin-right:var(--jd-padding-default)}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper{display:inline-block;height:34px;margin-right:var(--jd-padding-default);position:relative;width:60px}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper input{height:0;opacity:0;width:0}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:26px;left:4px;position:absolute;transition:.4s;width:26px}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider{background-color:#2196f3}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider:before{transform:translateX(26px)}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_focused_true .jodit-ui-checkbox__switch-slider{box-shadow:0 0 1px #2196f3}.jodit-ui-block .jodit-ui-checkbox{margin-bottom:0}.jodit-ui-file-input{overflow:hidden;position:relative}.jodit-ui-file-input__input{bottom:0;cursor:pointer;font-size:400px;margin:0 calc(var(--jd-padding-default)*-1) 0 0;opacity:0;padding:0;position:absolute;right:0;top:0}.jodit-ui-block{align-items:center;display:flex;justify-content:stretch;margin-bottom:var(--jd-padding-default)}.jodit-ui-block_width_full{width:100%}.jodit-ui-block_align_full{justify-content:space-between}.jodit-ui-block_align_right{justify-content:flex-end}.jodit-ui-block_padding_true{padding:var(--jd-padding-default)}@keyframes b{30%{opacity:.6}60%{opacity:0}to{opacity:.6}}.jodit-progress-bar{border-radius:1px;height:2px;left:0;opacity:.7;position:absolute;top:0;z-index:2147483647}.jodit-progress-bar div{background:var(--jd-color-background-progress);height:2px;position:relative;transition:width .5s ease-out,opacity .5s linear;will-change:width,opacity}.jodit-progress-bar div:after,.jodit-progress-bar div:before{animation:b 2s ease-out 0s infinite;border-radius:100%;box-shadow:var(--jd-color-background-progress) 1px 0 6px 1px;content:"";display:inline-block;height:2px;opacity:.6;position:absolute;top:0}.jodit-progress-bar div:before{clip:rect(-6px,90px,14px,-6px);right:-80px;width:180px}.jodit-progress-bar div:after{clip:rect(-6px,22px,14px,var(--jd-padding-default));right:0;width:20px}.jodit-toolbar-collection,.jodit-toolbar-editor-collection{display:flex;flex-direction:column}.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent calc(var(--jd-button-size) - 1px),var(--jd-color-border) var(--jd-button-size));position:relative}.jodit-toolbar-collection_mode_horizontal:after,.jodit-toolbar-editor-collection_mode_horizontal:after{background-color:var(--jd-color-background-default);bottom:0;content:"";display:block;height:1px;left:0;position:absolute;width:100%}.jodit-toolbar-collection_size_tiny,.jodit-toolbar-editor-collection_size_tiny{--jd-button-icon-size:8px}.jodit-toolbar-collection_size_tiny.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 19px,var(--jd-color-border) 20px)}.jodit-toolbar-collection_size_xsmall,.jodit-toolbar-editor-collection_size_xsmall{--jd-button-icon-size:10px}.jodit-toolbar-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 25px,var(--jd-color-border) 26px)}.jodit-toolbar-collection_size_small,.jodit-toolbar-editor-collection_size_small{--jd-button-icon-size:12px}.jodit-toolbar-collection_size_small.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_small.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 31px,var(--jd-color-border) 32px)}.jodit-toolbar-collection_size_middle,.jodit-toolbar-editor-collection_size_middle{--jd-button-icon-size:14px}.jodit-toolbar-collection_size_middle.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 37px,var(--jd-color-border) 38px)}.jodit-toolbar-collection_size_large,.jodit-toolbar-editor-collection_size_large{--jd-button-icon-size:16px}.jodit-toolbar-collection_size_large.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_large.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 43px,var(--jd-color-border) 44px)}.jodit-toolbar-collection_mode_vertical .jodit-ui-group,.jodit-toolbar-editor-collection_mode_vertical .jodit-ui-group{background-color:transparent;border:0;flex-direction:column}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button,.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button{height:auto;min-height:var(--jd-button-size)}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__button,.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:var(--jd-button-size);width:100%}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__text:not(:empty),.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__text:not(:empty){justify-content:left}.jodit-toolbar-collection .jodit-toolbar-button,.jodit-toolbar-collection .jodit-toolbar-content,.jodit-toolbar-editor-collection .jodit-toolbar-button,.jodit-toolbar-editor-collection .jodit-toolbar-content{margin:var(--jd-margin-v) 1px;padding:0}.jodit-dialog .jodit-toolbar-collection_mode_horizontal,.jodit-dialog .jodit-toolbar-editor-collection_mode_horizontal{background-image:none}.jodit-toolbar-button{align-items:center;border:1px solid transparent;border-radius:var(--jd-border-radius-default);display:flex;height:34px;justify-content:center;min-width:34px;overflow:hidden}.jodit-toolbar-button__icon{display:none}.jodit-toolbar-button__icon:not(:empty){display:inline-flex}.jodit-toolbar-button__text{display:none}.jodit-toolbar-button__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-toolbar-button__icon:not(:empty)+.jodit-toolbar-button__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-toolbar-button__icon:empty+.jodit-toolbar-button__text:not(:empty){padding:0 var(--jd-padding-default);padding:0}.jodit-toolbar-button .jodit-icon{height:14px;width:14px}.jodit-toolbar-button button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-button_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_tiny{height:16px;min-width:16px}.jodit-toolbar-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-button_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-button_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-button_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-button_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_small{height:28px;min-width:28px}.jodit-toolbar-button_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-button_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-button_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_large{height:40px;min-width:40px}.jodit-toolbar-button_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-button_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-button_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button__button{align-items:center;appearance:none;background:0 0;border:0;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;color:var(--jd-color-text-icons);cursor:pointer;display:inline-flex;font-style:normal;justify-content:center;outline:0;padding:0;padding:0 var(--jd-padding-default);position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-toolbar-button__button:focus-visible:not([disabled]),.jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-button__button:active:not([disabled]),.jodit-toolbar-button__button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-button__button[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-button__button[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger{align-items:center;border-radius:0 var(--jd-border-radius-default) var(--jd-border-radius-default) 0;cursor:pointer;display:flex;height:100%;justify-content:center;opacity:.4;width:14px}.jodit-toolbar-button__trigger:focus-visible:not([disabled]),.jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-button__trigger:active:not([disabled]),.jodit-toolbar-button__trigger[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-button__trigger[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-button__trigger[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger svg{width:10px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger{width:8px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger svg{width:4px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger{width:10px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger svg{width:6px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger{width:12px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger svg{width:8px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger{width:16px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger svg{width:12px}.jodit-toolbar-button_with-trigger_true .jodit-toolbar-button__button{border-radius:var(--jd-border-radius-default) 0 0 var(--jd-border-radius-default)}.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:var(--jd-color-border)}.jodit-toolbar-button_stroke_false svg{stroke:none}.jodit-toolbar-content{align-items:center;appearance:none;background:0 0;border:1px solid transparent;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;color:var(--jd-color-text-icons);cursor:pointer;display:inline-flex;font-style:normal;height:34px;justify-content:center;min-width:34px;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-toolbar-content:focus-visible:not([disabled]),.jodit-toolbar-content:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-content:active:not([disabled]),.jodit-toolbar-content[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-content[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-content[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-content .jodit-icon{height:14px;width:14px}.jodit-toolbar-content button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-content_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_tiny{height:16px;min-width:16px}.jodit-toolbar-content_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-content_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-content_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-content_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-content_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-content_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_small{height:28px;min-width:28px}.jodit-toolbar-content_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-content_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-content_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_large{height:40px;min-width:40px}.jodit-toolbar-content_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-content_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-content_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content__icon{display:none}.jodit-toolbar-content__icon:not(:empty){display:inline-flex}.jodit-toolbar-content__text{display:none}.jodit-toolbar-content__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-toolbar-content__icon:not(:empty)+.jodit-toolbar-content__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-toolbar-content__icon:empty+.jodit-toolbar-content__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-toolbar-content:focus:not([disabled]){outline:1px dashed var(--jd-color-background-selection)}.jodit-toolbar-content_variant_default{background-color:#e3e3e3;color:#212529}.jodit-toolbar-content_variant_default svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default [disabled]{opacity:.7}.jodit-toolbar-content_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_primary{background-color:#007bff;color:#fff}.jodit-toolbar-content_variant_primary svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary [disabled]{opacity:.7}.jodit-toolbar-content_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-toolbar-content_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-toolbar-content_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-toolbar-content_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary [disabled]{opacity:.7}.jodit-toolbar-content_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_success{background-color:#28a745;color:#fff}.jodit-toolbar-content_variant_success svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success [disabled]{opacity:.7}.jodit-toolbar-content_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-toolbar-content_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-toolbar-content_variant_danger{background-color:#dc3545;color:#fff}.jodit-toolbar-content_variant_danger svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger [disabled]{opacity:.7}.jodit-toolbar-content_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-toolbar-content_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-toolbar-content:hover:not([disabled]){background-color:transparent;opacity:1;outline:0}:root{--jd-first_column:31%;--jd-cols:4;--jd-info-background:#e9e9e9;--jd-icon-size:12px;--jd-col_size:150px}.jodit-filebrowser{display:flex;font-family:var(--jd-font-default);height:100%}.jodit-filebrowser_no-files_true{padding:var(--jd-padding-default)}@media (max-width:480px){.jodit-filebrowser{flex-flow:column-reverse}}.jodit-dialog .jodit-dialog__header-title.jodit-filebrowser__title-box{align-items:center;display:flex;padding-left:var(--jd-padding-default)}.jodit-filebrowser-preview{align-items:center;display:flex;height:100%;justify-content:center;margin:auto;max-height:100%;max-width:Min(100%,1000px);min-height:Min(100%,500px);min-width:400px;position:relative;text-align:center}@media (max-width:768px){.jodit-filebrowser-preview{height:100%;max-height:100%;max-width:100%;min-height:auto;min-width:auto}}.jodit-filebrowser-preview__box{align-items:center;display:flex;flex-grow:1;justify-content:center}.jodit-filebrowser-preview__navigation{cursor:pointer;height:100%;left:0;position:absolute;top:0}.jodit-filebrowser-preview__navigation_arrow_next{left:auto;right:0}.jodit-filebrowser-preview__navigation svg{fill:#9e9ba7;height:45px;position:relative;top:50%;transform:translateY(-50%);transition:fill .3s linear;width:45px}.jodit-filebrowser-preview__navigation:hover svg{fill:#000}.jodit-filebrowser-preview img{max-height:100%;max-width:100%}:root{--jd-image_editor_resizer_border_color:#05ff00;--jd-image_editor_resizer_target_size:padding-default;--jd-image_editor_resizer_target_border_color:#383838;--jd-image_editor_resizer_target_bg_color:#8c7878}.jodit-image-editor{height:100%;overflow:hidden;padding:var(--jd-padding-default);width:100%}@media (max-width:768px){.jodit-image-editor{height:auto}}.jodit-image-editor>div,.jodit-image-editor>div>div{height:100%}@media (max-width:768px){.jodit-image-editor>div,.jodit-image-editor>div>div{height:auto;min-height:200px}}.jodit-image-editor *{box-sizing:border-box}.jodit-image-editor .jodit-image-editor__slider-title{background-color:#f9f9f9;border-bottom:1px solid hsla(0,0%,62%,.31);color:#333;cursor:pointer;font-weight:700;line-height:1em;padding:.8em 1em;text-overflow:ellipsis;text-shadow:#f3f3f3 0 1px 0;user-select:none;white-space:nowrap}.jodit-image-editor .jodit-image-editor__slider-title svg{display:inline-block;margin-right:var(--jd-padding-default);vertical-align:middle;width:16px}.jodit-image-editor .jodit-image-editor__slider-content{display:none}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title{background-color:#5d5d5d;color:#fff;text-shadow:#000 0 1px 0}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title svg{fill:#fff}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-content{display:block}.jodit-image-editor__area{background-color:#eee;background-image:linear-gradient(45deg,var(--jd-color-border) 25%,transparent 25%,transparent 75%,var(--jd-color-border) 75%,var(--jd-color-border)),linear-gradient(45deg,var(--jd-color-border) 25%,transparent 25%,transparent 75%,var(--jd-color-border) 75%,var(--jd-color-border));background-position:0 0,15px 15px;background-size:30px 30px;display:none;height:100%;overflow:hidden;position:relative;user-select:none;width:100%}.jodit-image-editor__area.jodit-image-editor_active{display:block}.jodit-image-editor__area .jodit-image-editor__box{height:100%;overflow:hidden;pointer-events:none;position:relative;z-index:1}.jodit-image-editor__area .jodit-image-editor__box img{max-height:100%;max-width:100%;user-select:none}.jodit-image-editor__area .jodit-image-editor__croper,.jodit-image-editor__area .jodit-image-editor__resizer{background-repeat:no-repeat;border:1px solid #fff;box-shadow:0 0 11px #000;height:100px;left:20px;pointer-events:none;position:absolute;top:var(--jd-padding-default);width:100px;z-index:2}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright,.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright{background-color:var(--jd-image_editor_resizer_target_bg_color);border:1px solid var(--jd-image_editor_resizer_target_border_color);border-radius:50%;bottom:calc(var(--jd-padding-default)*-1);box-shadow:0 0 11px #000;cursor:se-resize;display:inline-block;height:20px;pointer-events:all;position:absolute;right:calc(var(--jd-padding-default)*-1);width:20px;z-index:4}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright:active,.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright:active{border:1px solid #ff0}.jodit-image-editor__area.jodit-image-editor__area_crop{background:#eee;height:100%;line-height:100%;position:relative;text-align:center}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box{height:100%;line-height:100%;overflow:visible;pointer-events:all;text-align:left}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box img{height:100%;max-height:100%;max-width:100%;width:100%}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box:after{background:hsla(0,0%,100%,.3);bottom:0;content:"";left:0;margin:auto;position:absolute;right:0;top:0;z-index:1}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper{cursor:move;pointer-events:all}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper i.jodit-image-editor__sizes{background:rgba(0,0,0,.2);border-radius:.4em;bottom:-30px;color:#fff;display:block;font-size:12px;left:100%;padding:9px 6px;position:absolute;text-align:center;text-shadow:none;white-space:pre}.jodit-image-editor__area.jodit-image-editor__area_crop.jodit-image-editor_active{align-items:center;display:flex;justify-content:center}.jodit-filebrowser-files{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-files .jodit-button{border-radius:0}.jodit-filebrowser-files_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-files_loading_true:after{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:var(--jd-icon-loader-size);left:50%;margin-left:calc(var(--jd-icon-loader-size)/-2);margin-top:calc(var(--jd-icon-loader-size)/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-filebrowser-files_active_true{display:flex}.jodit-filebrowser-files::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-files::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-files::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-files_active_true{align-content:flex-start;flex-wrap:wrap;overflow-y:auto;padding:calc(var(--jd-padding-default)/2);width:100%}.jodit-filebrowser-files__item{align-items:center;border:1px solid var(--jd-color-border);display:flex;font-size:0;height:var(--jd-col_size);justify-content:center;margin:calc(var(--jd-padding-default)/2);overflow:hidden;position:relative;text-align:center;transition:border .1s linear,bottom .1s linear;width:var(--jd-col_size)}@media (max-width:480px){.jodit-filebrowser-files__item{width:calc(50% - var(--jd-padding-default))}}.jodit-filebrowser-files__item img{max-width:100%}.jodit-filebrowser-files__item:hover{border-color:#433b5c}.jodit-filebrowser-files__item_active_true{background-color:var(--jd-color-border-active);border-color:var(--jd-color-border-selected)}.jodit-filebrowser-files__item_active_true .jodit-filebrowser-files__item-info{background-color:var(--jd-color-border-active);color:#fff;text-shadow:none}.jodit-filebrowser-files__item-info{background-color:var(--jd-info-background);bottom:0;color:#333;font-size:14px;left:0;line-height:16px;opacity:.85;overflow:visible;padding:.3em .6em;position:absolute;right:0;text-align:left;text-shadow:#eee 0 1px 0;transition:opacity .4s ease;white-space:normal}.jodit-filebrowser-files__item-info>span{display:block;font-size:.75em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jodit-filebrowser-files__item-info>span.jodit-filebrowser-files__item-info-filename{font-size:.9em;font-weight:700}.jodit-filebrowser-files__item:hover:not(.jodit-filebrowser-files__item_active_true) .jodit-filebrowser-files__item-info{bottom:-100px}.jodit-filebrowser-files_view_list{scroll-behavior:smooth}.jodit-filebrowser-files_view_list a{border-width:0 0 1px;display:block;height:26px;line-height:26px;margin:0;text-align:left;white-space:nowrap;width:100%}.jodit-filebrowser-files_view_list a img{display:inline-block;margin-left:4px;max-width:16px;min-width:16px;vertical-align:middle}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info{background-color:transparent;display:inline-block;font-size:0;height:100%;line-height:inherit;margin-left:4px;padding:0;position:static;vertical-align:middle;width:calc(100% - 20px)}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info>span{display:inline-block;font-size:12px;height:100%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filename{width:50%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filechanged,.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filesize{width:25%}.jodit-filebrowser-files_view_list a:hover{background-color:#433b5c}.jodit-filebrowser-files_view_list a:hover .jodit-filebrowser-files__item-info{color:#fff;text-shadow:none}.jodit-filebrowser-files_view_list a:before{content:"";display:inline-block;height:100%;vertical-align:middle}:root{--jd-color-folder-title:#b1b1b1}.jodit-filebrowser-tree{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-tree .jodit-button{border-radius:0}.jodit-filebrowser-tree_active_true{display:flex}.jodit-filebrowser-tree_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-tree_loading_true:after{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:var(--jd-icon-loader-size);left:50%;margin-left:calc(var(--jd-icon-loader-size)/-2);margin-top:calc(var(--jd-icon-loader-size)/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-filebrowser-tree::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-tree::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-tree_active_true{background-color:var(--jd-color-background-filebrowser-folders);flex-direction:column;max-width:290px;min-width:200px;overflow-y:auto;width:var(--jd-first_column);z-index:2}@media (max-width:480px){.jodit-filebrowser-tree_active_true{height:100px;max-width:100%;width:auto}}.jodit-filebrowser-tree_active_true::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-thumb{background-color:hsla(0,0%,50%,.5);outline:1px solid #708090}.jodit-filebrowser-tree__item{align-items:center;border-bottom:1px solid #474747;color:var(--jd-color-folder-title);display:flex;justify-content:space-between;min-height:38px;padding:calc(var(--jd-padding-default)/2) var(--jd-padding-default);position:relative;text-decoration:none;transition:background-color .2s ease 0s;word-break:break-all}.jodit-filebrowser-tree__item-title{color:var(--jd-color-folder-title);flex:1}.jodit-filebrowser-tree__item .jodit-icon_folder{align-items:center;display:flex;height:calc(var(--jd-icon-size) + 4px);justify-content:center;margin-left:calc(var(--jd-padding-default)/2);opacity:.3;width:calc(var(--jd-icon-size) + 4px)}.jodit-filebrowser-tree__item .jodit-icon_folder svg{fill:var(--jd-color-folder-title)!important;stroke:var(--jd-color-folder-title)!important;height:var(--jd-icon-size);width:var(--jd-icon-size)}.jodit-filebrowser-tree__item .jodit-icon_folder:hover{background:#696969}.jodit-filebrowser-tree__item:hover{background-color:var(--jd-color-background-button-hover)}.jodit-filebrowser-tree__item:hover-title{color:var(--jd-color-text)}.jodit-filebrowser-tree__item:hover i.jodit-icon_folder{opacity:.6}.jodit-filebrowser-tree__source-title{background:#5a5a5a;border-bottom:1px solid #484848;color:#969696;display:block;font-size:12px;padding:2px 4px;position:relative;user-select:none;word-break:break-all}a+.jodit-filebrowser-tree__source-title{margin-top:var(--jd-padding-default)}.jodit-status-bar{align-items:center;background-color:var(--jd-color-panel);border-radius:0 0 var(--jd-border-radius-default) var(--jd-border-radius-default);color:var(--jd-color-text-icons);display:flex;font-size:var(--jd-font-size-small);height:20px;justify-content:flex-start;overflow:hidden;padding:0 calc(var(--jd-padding-default)/2);text-transform:uppercase}.jodit-status-bar_resize-handle_true{padding-right:14px}.jodit-status-bar:before{content:"";flex:auto;order:1}.jodit-status-bar .jodit-status-bar__item{line-height:1.57142857em;margin:0 var(--jd-padding-default) 0 0;order:0;padding:0}.jodit-status-bar .jodit-status-bar__item,.jodit-status-bar .jodit-status-bar__item>span{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);font-size:var(--jd-font-size-small)}.jodit-status-bar .jodit-status-bar__item.jodit-status-bar__item-right{margin:0 0 0 var(--jd-padding-default);order:2}.jodit-status-bar .jodit-status-bar__item a{border-radius:3px;cursor:default;text-decoration:none}.jodit-status-bar .jodit-status-bar__item a:hover{background-color:var(--jd-color-background-gray);text-decoration:none}.jodit-status-bar a.jodit-status-bar-link{cursor:pointer}.jodit-status-bar a.jodit-status-bar-link,.jodit-status-bar a.jodit-status-bar-link:hover,.jodit-status-bar a.jodit-status-bar-link:visited{background-color:transparent;color:var(--jd-color-text-icons)}.jodit-status-bar a.jodit-status-bar-link:hover{text-decoration:underline}.jodit-workplace+.jodit-status-bar:not(:empty){border-top:1px solid var(--jd-color-border)}.jodit_disabled .jodit-status-bar{opacity:.4}.jodit-drag-and-drop__file-box,.jodit_uploadfile_button{border:1px dashed var(--jd-color-gray);margin:var(--jd-padding-default) 0;overflow:hidden;padding:25px 0;position:relative;text-align:center;width:100%}.jodit-drag-and-drop__file-box:hover,.jodit_uploadfile_button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-drag-and-drop__file-box input,.jodit_uploadfile_button input{bottom:0;cursor:pointer;font-size:400px;left:0;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0}@media (max-width:768px){.jodit-drag-and-drop__file-box{max-width:100%;min-width:var(--jd-width-input-min);width:auto}}.jodit-about{padding:20px}.jodit-about a{color:#459ce7;text-decoration:none}.jodit-about a:focus,.jodit-about a:hover{color:#23527c;outline:0;text-decoration:underline}.jodit-about div{margin-bottom:calc(var(--jd-padding-default)/2)}:root{--jd-color-new-line:var(--jd-color-border);--jd-width-icon:30px;--jd-height-icon:30px;--jd-offset-handle:calc(100% - var(--jd-width-icon))}.jodit-add-new-line{display:block;height:1px;outline:none;position:fixed;top:0;z-index:1}.jodit-add-new-line,.jodit-add-new-line *{box-sizing:border-box}.jodit-add-new-line:after{background-color:var(--jd-color-new-line);content:"";display:block;height:1px;width:100%}.jodit-add-new-line span{align-items:center;background:var(--jd-color-background-button-hover-opacity30);border:1px solid var(--jd-color-new-line);cursor:pointer;display:flex;height:var(--jd-height-icon);justify-content:center;left:var(--jd-offset-handle);position:absolute;width:var(--jd-width-icon)}.jodit-add-new-line span:hover{background:var(--jd-color-background-button-hover)}.jodit-add-new-line_after span{bottom:0}.jodit-add-new-line svg{fill:var(--jd-color-new-line);width:16px}.jodit-source__mode .jodit-add-new-line{display:none!important}:root{--jd-color-picker-cell-size:24px}.jodit-color-picker{margin:0;text-align:left;user-select:none}.jodit-color-picker__group{display:flex;flex-wrap:wrap;margin-bottom:calc(var(--jd-padding-default)/2);max-width:calc(var(--jd-color-picker-cell-size)*10);white-space:normal}.jodit-color-picker__color-item{border:1px solid transparent;display:block;height:var(--jd-color-picker-cell-size);text-align:center;text-decoration:none;vertical-align:middle;width:var(--jd-color-picker-cell-size)}.jodit-color-picker__color-item:hover{border-color:#000}.jodit-color-picker__color-item:active,.jodit-color-picker__color-item_active_true{border:2px solid var(--jd-color-border-selected)}.jodit-color-picker__native svg{display:inline-block;height:16px;margin-right:4px;width:16px}.jodit-color-picker__native input{appearance:none;border:none;height:18px;padding:0;width:18px}.jodit-color-picker__native input[type=color]::-webkit-color-swatch-wrapper{padding:0}.jodit-color-picker__native input input[type=color]::-webkit-color-swatch{border:none}.jodit-tabs{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-tabs .jodit-tabs__buttons{display:flex;justify-content:center;line-height:18px;margin-bottom:calc(var(--jd-padding-default)/2);margin-top:4px}.jodit-tabs .jodit-tabs__buttons>*{cursor:pointer;margin-left:calc(var(--jd-padding-default)/2)}.jodit-tabs .jodit-tabs__buttons>:only-of-type{width:100%}.jodit-tabs .jodit-tabs__buttons>:first-child{margin-left:0}@media (max-width:480px){.jodit-tabs .jodit-tabs__buttons{display:block}.jodit-tabs .jodit-tabs__buttons>*{margin-left:0;width:100%}}.jodit-tabs__button{min-width:80px}.jodit-tabs__button_columns_3{width:33.33333%}.jodit-tabs__button_columns_2{width:50%}.jodit-tabs .jodit-tabs__wrapper .jodit-tab{display:none}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_active{display:block}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_empty{min-height:100px;min-width:220px}.jodit_fullsize-box_true{overflow:visible!important;position:static!important;z-index:var(--jd-z-index-full-size)!important}body.jodit_fullsize-box_true,html.jodit_fullsize-box_true{height:0!important;overflow:hidden!important;width:0!important}html.jodit_fullsize-box_true{position:fixed!important}.jodit_fullsize{bottom:0;left:0;max-width:none!important;position:absolute;right:0;top:0;z-index:var(--jd-z-index-full-size)}.jodit_fullsize .toolbar{width:100%!important}.jodit_fullsize .jodit__area,.jodit_fullsize .jodit_editor{height:100%}.jodit-properties__lock>svg,.jodit-properties__unlock>svg{fill:#222;display:inline-block;font-size:8px;font-style:normal;height:14px;line-height:14px;overflow:hidden;transform-origin:0 0!important;vertical-align:middle;width:14px}.jodit-properties .jodit-properties_view_box{padding:var(--jd-padding-default)}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view{align-items:center;background-color:#f6f6f6;display:flex;height:150px;justify-content:center;margin:0 0 var(--jd-padding-default);padding:0}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view img{max-height:100%;max-width:100%}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group{align-items:center;flex-direction:row;margin:0!important;min-width:auto;padding:0!important}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group a{cursor:pointer;display:inline-block}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group .jodit-input{width:calc(50% - 8px)!important}.jodit-popup-inline__container{min-width:700px;z-index:1300}.jodit-paste-storage{max-width:600px;padding:var(--jd-padding-default)}@media (max-width:768px){.jodit-paste-storage{max-width:100%}}.jodit-paste-storage>div{border:1px solid var(--jd-color-border);max-height:300px;max-width:100%}.jodit-paste-storage>div:first-child{margin-bottom:var(--jd-padding-default)}.jodit-paste-storage>div:first-child a{border:1px solid transparent;box-sizing:border-box;color:var(--jd-color-default);display:block;margin:0;max-width:100%;outline:none;overflow:hidden;padding:calc(var(--jd-padding-default)/2);text-decoration:none;text-overflow:ellipsis;white-space:pre}.jodit-paste-storage>div:first-child a.jodit_active{background-color:var(--jd-dark_background_color);color:var(--jd-color-white)}.jodit-paste-storage>div:first-child a:focus{outline:none}.jodit-paste-storage>div:last-child{overflow:auto;padding:var(--jd-padding-default)}.jodit-paste-storage>div:last-child li,.jodit-paste-storage>div:last-child ul{margin:0}.jodit-placeholder{color:var(--jd-color-placeholder);display:block;left:0;padding:var(--jd-padding-default);pointer-events:none;position:absolute;top:0;user-select:none!important;width:100%;z-index:1}.jodit__preview-box table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit__preview-box table tr{user-select:none}.jodit__preview-box table tr td,.jodit__preview-box table tr th{border:1px solid var(--jd-color-border);min-width:2em;padding:.4em;user-select:text;vertical-align:middle}.jodit-table-resizer{cursor:col-resize;margin-left:calc(var(--jd-padding-default)/-2);padding-left:calc(var(--jd-padding-default)/2);padding-right:calc(var(--jd-padding-default)/2);position:absolute;z-index:3}.jodit-table-resizer:after{border:0;content:"";display:block;height:100%;width:0}.jodit-table-resizer_moved{background-color:var(--jd-color-background-selection);z-index:2}.jodit-table-resizer_moved:after{border-right:1px solid moved}[data-jodit_iframe_wrapper]{display:block;position:relative;user-select:none}[data-jodit_iframe_wrapper] iframe{position:relative}[data-jodit_iframe_wrapper]:after{background:transparent;bottom:0;content:"";cursor:pointer;display:block;left:0;position:absolute;right:0;top:0;z-index:1}[data-jodit_iframe_wrapper][data-jodit-wrapper_active=true] iframe{z-index:2}.jodit_lock [data-jodit-wrapper_active=true] iframe{z-index:1}:root{--jd-viewer_width:70px;--jd-viewer_height:24px;--jd-resizer-handle-size:10px;--jd-resizer-border-color:#98c1f1;--jd-resizer-handle-color:#5ba4f3;--jd-resizer-handle-hover-color:#537ebb}.jodit-resizer{font-size:0;height:100px;left:0;outline:3px solid var(--jd-resizer-border-color);pointer-events:none;position:absolute;top:0;width:100px}.jodit-resizer,.jodit-resizer *{box-sizing:border-box}.jodit-resizer>span{background-color:var(--jd-color-placeholder);color:var(--jd-color-white);display:inline-block;font-size:12px;height:var(--jd-viewer_height);left:50%;line-height:var(--jd-viewer_height);margin-left:calc(var(--jd-viewer_width)/-2);margin-top:calc(var(--jd-viewer_height)/-2);opacity:0;overflow:visible;position:absolute;text-align:center;top:50%;transition:opacity .2s linear;width:var(--jd-viewer_width)}.jodit-resizer>div{background-color:var(--jd-resizer-handle-color);display:inline-block;height:var(--jd-resizer-handle-size);pointer-events:all;position:absolute;width:var(--jd-resizer-handle-size);z-index:4}.jodit-resizer>div:hover{background-color:var(--jd-resizer-handle-hover-color)}.jodit-resizer>div:first-child{cursor:nwse-resize;left:calc(var(--jd-resizer-handle-size)/-2);top:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(2){cursor:nesw-resize;right:calc(var(--jd-resizer-handle-size)/-2);top:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(3){bottom:calc(var(--jd-resizer-handle-size)/-2);cursor:nwse-resize;right:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(4){bottom:calc(var(--jd-resizer-handle-size)/-2);cursor:nesw-resize;left:calc(var(--jd-resizer-handle-size)/-2)}@media (max-width:768px){.jodit-resizer>div :root{--jd-resizer-handle-size:calc(var(--jd-resizer-handle-size)*2)}}:root{--jd-height-search:30px;--jd-width-search:320px;--jd-width-search-input-box:60%;--jd-width-search-count-box:15%;--jd-transform-button-active:0.95;--jd-timeout-button-active:0.1s}.jodit-ui-search{height:0;position:absolute;right:0;top:0;width:0}.jodit-ui-search_sticky_true{position:fixed}.jodit-ui-search__box{background-color:var(--jd-color-panel);border:solid var(--jd-color-border);border-width:0 0 1px 1px;display:flex;max-width:100vw;padding:calc(var(--jd-padding-default)/2);position:absolute;right:0;width:var(--jd-width-search)}.jodit-ui-search__box input{background-color:transparent;border:0;height:100%;margin:0;outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-search__box input[data-ref=replace]{display:none}.jodit-ui-search__box input:not(:focus)+input:not(:focus){border-top:1px solid var(--jd-color-border)}.jodit-ui-search__buttons,.jodit-ui-search__counts,.jodit-ui-search__inputs{height:var(--jd-height-search)}.jodit-ui-search__inputs{padding-right:calc(var(--jd-padding-default)/2);width:var(--jd-width-search-input-box)}.jodit-ui-search__counts{border-left:1px solid var(--jd-color-border);color:var(--jd-color-border);width:var(--jd-width-search-count-box)}.jodit-ui-search__buttons,.jodit-ui-search__counts{align-items:center;display:flex;justify-content:center}.jodit-ui-search__buttons{flex:1;padding-left:0}.jodit-ui-search__buttons button{background-color:transparent;border:1px solid transparent;height:100%;margin-right:1%;width:32%}.jodit-ui-search__buttons button[data-ref=replace-btn]{border:1px solid var(--jd-color-border);display:none;margin-top:2px;width:100%}.jodit-ui-search__buttons button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-ui-search__buttons button:focus{border:1px solid var(--jd-color-background-selection_opacity50)}.jodit-ui-search__buttons button:active{border:1px solid var(--jd-color-background-selection);transform:scale(var(--jd-transform-button-active))}.jodit-ui-search_empty-query_true [data-ref=next],.jodit-ui-search_empty-query_true [data-ref=prev]{opacity:.5}.jodit-ui-search_replace_true .jodit-ui-search__counts,.jodit-ui-search_replace_true .jodit-ui-search__inputs{height:calc(var(--jd-height-search)*2)}.jodit-ui-search_replace_true .jodit-ui-search__counts input,.jodit-ui-search_replace_true .jodit-ui-search__inputs input{height:50%;transition:background-color var(--jd-timeout-button-active) linear}.jodit-ui-search_replace_true .jodit-ui-search__counts input:focus,.jodit-ui-search_replace_true .jodit-ui-search__inputs input:focus{box-shadow:inset 0 0 3px 0 var(--jd-color-border)}.jodit-ui-search_replace_true .jodit-ui-search__counts input[data-ref=replace],.jodit-ui-search_replace_true .jodit-ui-search__inputs input[data-ref=replace]{display:block}.jodit-ui-search_replace_true .jodit-ui-search__buttons{flex-wrap:wrap}.jodit-ui-search_replace_true .jodit-ui-search__buttons button[data-ref=replace-btn]{display:block}[jd-tmp-selection]{background-color:#7fffd4}.jodit-container:not(.jodit_inline){min-height:100px}.jodit-container:not(.jodit_inline) .jodit-workplace{display:flex;flex-direction:column;height:auto;min-height:50px;overflow:hidden}.jodit-container:not(.jodit_inline) .jodit-editor__resize{position:relative}.jodit-container:not(.jodit_inline) .jodit-editor__resize svg{fill:var(--jd-color-gray-dark);bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;user-select:none;width:12px}.jodit-source{background-color:var(--jd-color-source-area);display:none;flex:auto;overflow:auto;position:relative}.jodit-source,.jodit-source .jodit-source__mirror-fake{min-height:100%}.jodit-source *{font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.jodit-container.jodit-source__mode .jodit-wysiwyg,.jodit-container.jodit-source__mode .jodit-wysiwyg_iframe{display:none!important}.jodit-container.jodit-source__mode .jodit-source{display:block!important}.jodit-container.jodit_split_mode .jodit-workplace{flex-direction:row;flex-wrap:nowrap}.jodit-container.jodit_split_mode .jodit-source,.jodit-container.jodit_split_mode .jodit-wysiwyg,.jodit-container.jodit_split_mode .jodit-wysiwyg_iframe{display:block!important;flex:1;width:50%}.jodit-source__mirror{background:var(--jd-color-source-area);border:0;box-shadow:none;box-sizing:border-box;color:#f0f0f0;height:100%;line-height:1.5;font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;margin:0;min-height:100%;outline:none;overflow:auto;padding:var(--jd-padding-default);resize:none;tab-size:2em;white-space:pre-wrap;width:100%;z-index:2}.jodit-source__mirror::selection{background:var(--jd-color-selection-area)}.jodit_sticky-dummy_toolbar{display:none}.jodit_sticky>.jodit-toolbar__box{border-bottom:1px solid var(--jd-color-border);left:auto;position:fixed;position:sticky;top:0;z-index:3}.jodit_sticky .jodit_sticky-dummy_toolbar{display:block}.jodit-symbols{padding:var(--jd-padding-default);width:460px}.jodit-symbols__container{display:flex}.jodit-symbols__container_table{width:88%}.jodit-symbols__container_preview{width:12%}.jodit-symbols__preview{border:1px solid var(--jd-color-border);font-size:34px;padding:20px 0;text-align:center}.jodit-symbols__table{border:0;border-spacing:0;table-layout:fixed}.jodit-symbols__table td{padding:0}.jodit-symbols__table td a{border:1px solid transparent;box-sizing:border-box;color:var(--jd-color-default);cursor:pointer;display:inline-block;font-size:16px;height:calc(var(--jd-height_element_default)*1.2);line-height:calc(var(--jd-height_element_default)*1.2);text-align:center;text-decoration:none;vertical-align:top;width:calc(var(--jd-width_element_default)*1.2)}.jodit-symbols__table td a:focus,.jodit-symbols__table td a:hover{outline:2px solid var(--jd-color-border)}.jodit-context table,.jodit-wysiwyg table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit-context table tr,.jodit-wysiwyg table tr{user-select:none}.jodit-context table tr td,.jodit-context table tr th,.jodit-wysiwyg table tr td,.jodit-wysiwyg table tr th{border:1px solid var(--jd-color-border);min-width:2em;padding:.4em;user-select:text;vertical-align:middle}.jodit-form__inserter .jodit-form__table-creator-box{display:flex}@media (max-width:768px){.jodit-form__inserter .jodit-form__table-creator-box{flex-direction:column}}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container{font-size:0;margin:0;min-width:180px;padding:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span{border:1px solid var(--jd-color-border);box-sizing:border-box;display:inline-block;height:var(--jd-height_element_default);margin-bottom:2px;margin-left:2px;vertical-align:top;width:var(--jd-width_element_default)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span:first-child{margin-left:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span.jodit_hovered{background:var(--jd-color-background-hover);border-color:var(--jd-color-background-hover)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options{font-size:var(--jd-font-size-default)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label{padding-top:0;text-align:left}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label input{margin-right:var(--jd-padding-default)}.jodit-form__inserter label{font-size:14px;margin:0;padding:8px;text-align:center}.jodit-xpath{align-items:center;display:flex;margin-left:calc(var(--jd-padding-default)/-2)}.jodit-xpath__item{display:flex;height:var(--jd-font-size-small);line-height:calc(var(--jd-font-size-small) - 1px)}.jodit-xpath__item a{color:var(--jd-color-default);font-size:var(--jd-font-size-small);margin-left:2px;outline:0;padding:0 3px}.jodit-dialog_theme_dark,.jodit_theme_dark{--jd-color-border:#6b6b6b}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal,.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal,.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal,.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent calc(var(--jd-button-size) - 1px),var(--jd-color-border) var(--jd-button-size))}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal:after,.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after,.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal:after,.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after{background-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty),.jodit_theme_dark .jodit-toolbar__box:not(:empty){border-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after,.jodit_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after,.jodit_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-right-color:var(--jd-color-border)}.jodit-dialog_theme_dark.jodit-container,.jodit_theme_dark.jodit-container{--jd-color-border:#6b6b6b;background-color:var(--jd-dark_background_color);border-color:var(--jd-color-border)}.jodit-dialog_theme_dark.jodit-container.jodit_disabled,.jodit_theme_dark.jodit-container.jodit_disabled{background-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace,.jodit_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace{border-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark .jodit-popup__content,.jodit_theme_dark .jodit-popup__content{background:var(--jd-dark_background_ligher)}.jodit-dialog_theme_dark .jodit-toolbar-button__text,.jodit-dialog_theme_dark .jodit-ui-button__text,.jodit_theme_dark .jodit-toolbar-button__text,.jodit_theme_dark .jodit-ui-button__text{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-toolbar-button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-toolbar-button__button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button__button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button__trigger:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button__button:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button__button:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button__trigger:hover:not([disabled]){background-color:var(--jd-dark_background_ligher)}.jodit-dialog_theme_dark .jodit-status-bar,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit_theme_dark .jodit-status-bar,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){background-color:var(--jd-dark_toolbar_color);border-color:var(--jd-color-border);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-status-bar,.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item a,.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item span,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited,.jodit_theme_dark .jodit-status-bar,.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item a,.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item span,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty),.jodit_theme_dark .jodit-toolbar__box:not(:empty){background:var(--jd-dark_toolbar_color)}.jodit-dialog_theme_dark .jodit-icon,.jodit-dialog_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger,.jodit-dialog_theme_dark .jodit__upload-button svg,.jodit_theme_dark .jodit-icon,.jodit_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger,.jodit_theme_dark .jodit__upload-button svg{fill:var(--jd-dark_icon_color);stroke:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-icon-close,.jodit_theme_dark .jodit-icon-close{stroke:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-wysiwyg,.jodit-dialog_theme_dark .jodit-wysiwyg_iframe,.jodit_theme_dark .jodit-wysiwyg,.jodit_theme_dark .jodit-wysiwyg_iframe{background-color:var(--jd-dark_background_color);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-form input[type=text],.jodit-dialog_theme_dark .jodit-form input[type=url],.jodit-dialog_theme_dark .jodit-form textarea,.jodit_theme_dark .jodit-form input[type=text],.jodit_theme_dark .jodit-form input[type=url],.jodit_theme_dark .jodit-form textarea{background-color:var(--jd-dark_toolbar_seperator_color1);border-color:var(--jd-dark_toolbar_seperator_color2);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-form button,.jodit_theme_dark .jodit-form button{background-color:var(--jd-dark_toolbar_seperator_color3);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-placeholder,.jodit_theme_dark .jodit-placeholder{color:var(--jd-dark_text_color_opacity80)}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box,.jodit-dialog_theme_dark .jodit_uploadfile_button,.jodit_theme_dark .jodit-drag-and-drop__file-box,.jodit_theme_dark .jodit_uploadfile_button{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box:hover,.jodit-dialog_theme_dark .jodit_uploadfile_button:hover,.jodit_theme_dark .jodit-drag-and-drop__file-box:hover,.jodit_theme_dark .jodit_uploadfile_button:hover{background-color:var(--jd-dark_toolbar_seperator_color3)}.jodit-dialog_theme_dark .jodit-add-new-line:before,.jodit_theme_dark .jodit-add-new-line:before{border-top-color:var(--jd-dark_toolbar_seperator_color2)}.jodit-dialog_theme_dark .jodit-add-new-line span,.jodit_theme_dark .jodit-add-new-line span{background:var(--jd-dark_toolbar_seperator_color3);border-color:var(--jd-dark_toolbar_seperator_color2)}.jodit-dialog_theme_dark .jodit-add-new-line span svg,.jodit_theme_dark .jodit-add-new-line span svg{fill:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-resizer>i,.jodit_theme_dark .jodit-resizer>i{background:var(--jd-dark_toolbar_seperator_color3);border-color:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-input,.jodit-dialog_theme_dark .jodit-select,.jodit_theme_dark .jodit-input,.jodit_theme_dark .jodit-select{background-color:var(--jd-dark_background_ligher);border-color:var(--jd-dark_border_color);color:var(--jd-dark_border_color)}.jodit-dialog_theme_dark.jodit-dialog,.jodit_theme_dark.jodit-dialog{background-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark.jodit-dialog .jodit-dialog__header,.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item,.jodit_theme_dark.jodit-dialog .jodit-dialog__header,.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item{border-color:var(--jd-dark_border_color)}.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info,.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info{background-color:var(--jd-dark_text_color)} \ No newline at end of file +:root{--jd-color-white:#fff;--jd-color-gray:#dadada;--jd-color-gray-dark:#a5a5a5;--jd-color-dark:#4c4c4c;--jd-color-blue:#b5d6fd;--jd-color-light-blue:rgba(181,214,253,.5);--jd-color-red:#ff3b3b;--jd-color-light-red:rgba(255,59,59,.4);--jd-color-default:var(--jd-color-dark);--jd-color-text:#222;--jd-color-label:var(--jd-color-gray-dark);--jd-color-error:var(--jd-color-red);--jd-color-border:var(--jd-color-gray);--jd-color-border-dark:var(--jd-color-dark);--jd-color-border-selected:#1e88e5;--jd-color-border-active:#b5b5b5;--jd-color-selection:var(--jd-color-dark);--jd-color-selection-area:#bdbdbd;--jd-color-separator:var(--jd-color-border);--jd-color-placeholder:var(--jd-color-gray-dark);--jd-color-panel:#f9f9f9;--jd-color-resizer:#c8c8c8;--jd-color-background-default:var(--jd-color-white);--jd-color-background-light-gray:#f5f5f6;--jd-color-background-gray:var(--jd-color-gray);--jd-color-background-gray-hover:#f8f8f8;--jd-color-background-hover:#7a450f;--jd-color-background-button-hover:#ecebe9;--jd-color-background-button-hover-opacity30:hsla(40,7%,92%,.3);--jd-color-background-progress:#b91f1f;--jd-color-background-filebrowser-folders:#3f3f3f;--jd-color-background-active:#2196f3;--jd-color-background-selection:#b5d6fd;--jd-color-background-selection_opacity50:rgba(181,214,253,.995);--jd-color-source-area:#323232;--jd-color-button-background-hover:#dcdcdc;--jd-color-button-background-hover_opacity40:hsla(0,0%,86%,.4);--jd-color-button-background-hover_opacity60:hsla(0,0%,86%,.6);--jd-font-default:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--jd-font-size-default:14px;--jd-font-size-small:11px;--jd-color-text-icons:rgba(0,0,0,.75);--jd-color-icon:var(--jd-color-dark);--jd-padding-default:8px;--jd-border-radius-default:3px;--jd-z-index-full-size:100000;--jd-z-index-popup:10000001;--jd-z-index-dialog-overlay:20000003;--jd-z-index-dialog:20000004;--jd-z-index-context-menu:30000005;--jd-z-index-tooltip:30000006;--jd-icon-loader-size:48px;--jd-width_element_default:18px;--jd-height_element_default:18px;--jd-dark_background_color:#575757;--jd-dark-text-color:var(--jd-color-white);--jd-dark_background_ligher:#787878;--jd-dark_background_darknes:#353535;--jd-dark_border_color:#444;--jd-dark_text_color:#d1cccc;--jd-dark_text_color_opacity80:hsla(0,5%,81%,.8);--jd-dark_text_color_opacity50:hsla(0,5%,81%,.5);--jd-dark_icon_color:silver;--jd-dark_toolbar_color:#5f5c5c;--jd-dark_toolbar_seperator_color1:rgba(81,81,81,.41);--jd-dark_toolbar_seperator_color2:#686767;--jd-dark_toolbar_seperator_color_opacity80:hsla(0,0%,41%,.8);--jd-dark_toolbar_seperator_color3:hsla(0,0%,41%,.75);--jd-dark_color-border-selected:#152f5f;--jd-width-default:180px;--jd-width-input-min:var(--jd-width-default);--jd-input-height:32px;--jd-button-icon-size:14px;--jd-margin-v:2px;--jd-button-df-size:calc((var(--jd-button-icon-size) - 4px)*2);--jd-button-size:calc(var(--jd-button-icon-size) + var(--jd-button-df-size) + var(--jd-margin-v)*2);--jd-focus-input-box-shadow:0 0 0 0.05rem rgba(0,123,255,.25)}.jodit-wysiwyg{outline:0}.jodit-wysiwyg ::selection,.jodit-wysiwyg::selection{background:#b5d6fd;color:#4c4c4c}.jodit-container:not(.jodit_inline) .jodit-wysiwyg{margin:0;outline:0;overflow-x:auto;padding:8px;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg img{max-width:100%;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media{position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media *{position:relative;z-index:0}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}:root{--jd-switche-width:60px;--jd-switche-height:32px;--jd-switche-slider-margin:4px;--jd-switche-slider-size:calc(var(--jd-switche-height) - var(--jd-switche-slider-margin)*2)}.jodit-form{color:var(--jd-color-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-form.jodit_error{border-color:var(--jd-color-error);box-shadow:inset 0 0 3px 0 hsla(0,0%,74%,.3)}@media (max-width:768px){.jodit-form{min-width:150px}}.jodit-form button{background:#d6d6d6;border:none;color:var(--jd-color-dark);cursor:pointer;font-size:16px;height:36px;line-height:1;margin-bottom:var(--jd-padding-default);margin-top:var(--jd-padding-default);outline:none;padding:var(--jd-padding-default);text-decoration:none;transition:background .2s ease 0s}.jodit-form button:hover{background-color:var(--jd-color-background-button-hover);color:var(--jd-color-dark)}.jodit-form button:active{background:var(--jd-color-background-button-hover);color:var(--jd-color-dark)}.jodit-form label{align-items:center;display:flex;margin-bottom:var(--jd-padding-default);text-align:left;white-space:nowrap}.jodit-form label:last-child{margin-bottom:0}.jodit-form .jodit-form__center{justify-content:center}.jodit .jodit-input,.jodit .jodit-select,.jodit .jodit-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit .jodit-input[disabled],.jodit .jodit-select[disabled],.jodit .jodit-textarea[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit .jodit-input_has-error_true,.jodit .jodit-select_has-error_true,.jodit .jodit-textarea_has-error_true{border-color:var(--jd-color-red)}.jodit .jodit-input:focus{border-color:#66afe9;outline:0}.jodit-checkbox{border:0;cursor:pointer;height:16px;margin:0 calc(var(--jd-padding-default)/2) 0 0;outline:none;padding:0;position:relative;width:16px;z-index:2}.jodit-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4.95 10'%3E%3Cdefs%3E%3Cstyle%3E.cls-2{fill:%23444}%3C/style%3E%3C/defs%3E%3Cpath style='fill:%23fff' d='M0 0h4.95v10H0z'/%3E%3Cpath class='cls-2' d='m1.41 4.67 1.07-1.49 1.06 1.49H1.41zM3.54 5.33 2.48 6.82 1.41 5.33h2.13z'/%3E%3C/svg%3E");background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(var(--jd-padding-default)*2)}.jodit-textarea{height:auto}.jodit-form__group,.jodit-textarea{min-width:var(--jd-width-input-min)}.jodit-form__group{display:flex;flex-direction:column}.jodit-form__group,.jodit-form__group>label{margin-bottom:var(--jd-padding-default)}.jodit-button{align-items:center;background-color:var(--jd-color-background-gray);border:0;border-radius:.25rem;color:var(--jd-color-default);cursor:pointer;display:inline-flex;height:calc(var(--jd-padding-default)*4);justify-content:center;line-height:1;margin:0;padding:0 var(--jd-padding-default);position:relative;text-decoration:none;user-select:none;width:auto}.jodit-button svg{display:inline-block;height:24px;width:24px}.jodit-button svg+span{margin-left:calc(var(--jd-padding-default)/2)}.jodit-button:active,.jodit-button:focus{outline:0}.jodit-button.disabled{opacity:.7}.jodit-buttons{display:flex;flex-wrap:nowrap;justify-content:space-between;margin-bottom:var(--jd-padding-default)}.jodit-button .jodit_icon,.jodit-button svg,.jodit-dialog__header .jodit_icon,.jodit-dialog__header svg{display:inline-block;height:16px;vertical-align:middle;width:16px}.jodit-switcher{display:inline-block;height:var(--jd-switche-height);position:relative;width:var(--jd-switche-width)}.jodit-switcher input{height:0;opacity:0;width:0}.jodit-switcher .jodit-switcher__slider{background-color:var(--jd-color-gray);border-radius:var(--jd-switche-height);bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.jodit-switcher .jodit-switcher__slider:before{background-color:#fff;border-radius:50%;bottom:var(--jd-switche-slider-margin);content:"";height:var(--jd-switche-slider-size);left:var(--jd-switche-slider-margin);position:absolute;transition:.4s;width:var(--jd-switche-slider-size)}input:checked+.jodit-switcher__slider{background-color:var(--jd-color-background-active)}input:checked+.jodit-switcher__slider:before{transform:translateX(calc(var(--jd-switche-width) - var(--jd-switche-slider-margin)*2 - var(--jd-switche-slider-size)))}input:focus+.jodit-switcher__slider{box-shadow:0 0 1px var(--jd-color-background-active)}.jodit-button-group{display:flex}.jodit-button-group input{display:none}.jodit-button-group button{display:flex;flex:1;justify-content:center;text-align:center}.jodit-button-group button+button{margin-left:-1px}.jodit-button-group button:first-child,.jodit-button-group input:first-child+button{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.jodit-button-group button:last-child,.jodit-button-group input:last-child+button{border-bottom-left-radius:0;border-left:0;border-top-left-radius:0}.jodit-button-group input[type=checkbox]:checked+button,.jodit-button-group input[type=checkbox]:not(:checked)+button+button{background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.05)}.jodit_text_icons .jodit_icon{font-size:var(--jd-font-size-default);width:auto}.jodit_text_icons .jodit_icon:first-letter{text-transform:uppercase}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a{font-family:var(--jd-font-default);width:auto}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a i{width:auto}.jodit_text_icons.jodit-dialog .jodit-button,.jodit_text_icons.jodit-dialog .jodit-dialog__header a{color:var(--jd-color-text-icons);font-family:var(--jd-font-default);padding:var(--jd-padding-default);width:auto}.jodit_text_icons.jodit-dialog .jodit-button .jodit_icon,.jodit_text_icons.jodit-dialog .jodit-dialog__header a .jodit_icon{width:auto}.jodit-grid{display:flex;width:100%}.jodit-grid.jodit-grid_column{flex-direction:column}@media (max-width:480px){.jodit-grid.jodit-grid_xs-column{flex-direction:column}}.jodit-grid [class*=jodit_col-]{flex:1 1 auto}.jodit-grid .jodit_col-lg-5-5{width:100%}.jodit-grid .jodit_col-lg-4-5{width:80%}.jodit-grid .jodit_col-lg-3-5{width:60%}.jodit-grid .jodit_col-lg-2-5{width:40%}.jodit-grid .jodit_col-lg-1-5{width:20%}.jodit-grid .jodit_col-lg-4-4{width:100%}.jodit-grid .jodit_col-lg-3-4{width:75%}.jodit-grid .jodit_col-lg-2-4{width:50%}.jodit-grid .jodit_col-lg-1-4{width:25%}@media (max-width:992px){.jodit-grid .jodit_col-md-5-5{width:100%}.jodit-grid .jodit_col-md-4-5{width:80%}.jodit-grid .jodit_col-md-3-5{width:60%}.jodit-grid .jodit_col-md-2-5{width:40%}.jodit-grid .jodit_col-md-1-5{width:20%}.jodit-grid .jodit_col-md-4-4{width:100%}.jodit-grid .jodit_col-md-3-4{width:75%}.jodit-grid .jodit_col-md-2-4{width:50%}.jodit-grid .jodit_col-md-1-4{width:25%}}@media (max-width:768px){.jodit-grid .jodit_col-sm-5-5{width:100%}.jodit-grid .jodit_col-sm-4-5{width:80%}.jodit-grid .jodit_col-sm-3-5{width:60%}.jodit-grid .jodit_col-sm-2-5{width:40%}.jodit-grid .jodit_col-sm-1-5{width:20%}.jodit-grid .jodit_col-sm-4-4{width:100%}.jodit-grid .jodit_col-sm-3-4{width:75%}.jodit-grid .jodit_col-sm-2-4{width:50%}.jodit-grid .jodit_col-sm-1-4{width:25%}}@media (max-width:480px){.jodit-grid .jodit_col-xs-5-5{width:100%}.jodit-grid .jodit_col-xs-4-5{width:80%}.jodit-grid .jodit_col-xs-3-5{width:60%}.jodit-grid .jodit_col-xs-2-5{width:40%}.jodit-grid .jodit_col-xs-1-5{width:20%}.jodit-grid .jodit_col-xs-4-4{width:100%}.jodit-grid .jodit_col-xs-3-4{width:75%}.jodit-grid .jodit_col-xs-2-4{width:50%}.jodit-grid .jodit_col-xs-1-4{width:25%}}@keyframes a{to{transform:rotate(1turn)}}.jodit-icon_loader{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;display:inline-block;height:var(--jd-icon-loader-size);vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-icon{fill:var(--jd-color-icon);background:50% no-repeat;background-size:contain;height:14px;overflow:visible;transform-origin:0 0!important;width:14px}.jodit-icon,.jodit-icon_close{stroke:var(--jd-color-icon)}svg.jodit-icon{height:auto;isolation:isolate}.jodit-icon_text{font-size:14px}.jodit,.jodit *,.jodit-container,.jodit-container *{box-sizing:border-box}.jodit .jodit-workplace,.jodit-container .jodit-workplace{overflow:auto;position:relative}.jodit .jodit-workplace .jodit-wysiwyg,.jodit .jodit-workplace .jodit-wysiwyg_iframe,.jodit-container .jodit-workplace .jodit-wysiwyg,.jodit-container .jodit-workplace .jodit-wysiwyg_iframe{height:100%;width:100%}.jodit-wysiwyg [contenteditable=false]{cursor:default}.jodit-container:not(.jodit_inline){background-color:var(--jd-color-background-light-gray);border:1px solid var(--jd-color-border);border-radius:var(--jd-border-radius-default)}.jodit-container:not(.jodit_inline) .jodit-workplace{background-color:var(--jd-color-background-default);border:0 solid var(--jd-color-border);max-height:100%}.jodit-container:not(.jodit_inline).jodit_disabled{background:var(--jd-color-background-gray)}.jodit-container:not(.jodit_inline).jodit_disabled .jodit-workplace{opacity:.4}.jodit_disabled,.jodit_lock{user-select:none!important}.jodit_hidden{display:none!important}.jodit_vertical_middle{align-items:center;display:flex}.jodit-box,.jodit-context-menu{background:0 0;border:0;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.jodit-context-menu{box-shadow:var(--jd-popup-box-shadow);display:inline-block;position:fixed;transform:translateZ(0);z-index:var(--jd-z-index-popup);z-index:var(--jd-z-index-context-menu)}.jodit-context-menu__content{overflow-scrolling:touch;background:var(--jd-color-background-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);max-height:300px;overflow:auto;padding:var(--jd-padding-default)}.jodit-context-menu_padding_false .jodit-context-menu__content{padding:0}.jodit-context-menu_max-height_false .jodit-context-menu__content{max-height:fit-content}.jodit-context-menu .jodit-ui-button{display:flex}.jodit-context-menu__actions{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-context-menu__actions button{width:100%}.jodit-context-menu_theme_dark .jodit-context-menu__content{background-color:var(--jd-dark_background_color)}:root{--jd-popup-box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13)}.jodit-popup{background:0 0;border:0;box-shadow:var(--jd-popup-box-shadow);display:inline-block;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;position:fixed;transform:translateZ(0);width:auto;z-index:var(--jd-z-index-popup)}.jodit-popup__content{overflow-scrolling:touch;background:var(--jd-color-background-default);font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);max-height:300px;overflow:auto;padding:var(--jd-padding-default)}.jodit-popup_padding_false .jodit-popup__content{padding:0}.jodit-popup_max-height_false .jodit-popup__content{max-height:fit-content}.jodit-ui-button-icon-text__icon{display:none}.jodit-ui-button-icon-text__icon:not(:empty){display:inline-flex}.jodit-ui-button-icon-text__text{display:none}.jodit-ui-button-icon-text__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-ui-button-icon-text__icon:not(:empty)+.jodit-ui-button-icon-text__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-ui-button-icon-text__icon:empty+.jodit-ui-button-icon-text__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-ui-button-clear,.jodit-ui-button_clear{appearance:none;background:0 0;border:0;box-shadow:none;box-sizing:border-box;font-style:normal;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-ui-button-sizes{height:34px;min-width:34px}.jodit-ui-button-sizes .jodit-icon{height:14px;width:14px}.jodit-ui-button-sizes button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button-sizes_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_tiny{height:16px;min-width:16px}.jodit-ui-button-sizes_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button-sizes_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button-sizes_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_xsmall{height:22px;min-width:22px}.jodit-ui-button-sizes_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button-sizes_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button-sizes_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_small{height:28px;min-width:28px}.jodit-ui-button-sizes_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button-sizes_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button-sizes_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-sizes_size_large{height:40px;min-width:40px}.jodit-ui-button-sizes_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button-sizes_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button-sizes_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button-variants_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button-variants_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default [disabled]{opacity:.7}.jodit-ui-button-variants_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button-variants_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button-variants_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button-variants_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button-variants_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button-variants_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success [disabled]{opacity:.7}.jodit-ui-button-variants_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button-variants_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button-variants_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button-variants_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger [disabled]{opacity:.7}.jodit-ui-button-variants_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button-variants_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-button-style{border-radius:var(--jd-border-radius-default);padding:0 var(--jd-padding-default)}.jodit-ui-button,.jodit-ui-button-style{align-items:center;color:var(--jd-color-text-icons);display:inline-flex;justify-content:center}.jodit-ui-button{appearance:none;background:0 0;border:0;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;cursor:pointer;font-style:normal;height:34px;min-width:34px;outline:0;padding:0;padding:0 var(--jd-padding-default);position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-ui-button:focus-visible:not([disabled]),.jodit-ui-button:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-ui-button:active:not([disabled]),.jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-ui-button[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-ui-button[disabled]{opacity:.3;pointer-events:none}.jodit-ui-button .jodit-icon{height:14px;width:14px}.jodit-ui-button button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_tiny{height:16px;min-width:16px}.jodit-ui-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_xsmall{height:22px;min-width:22px}.jodit-ui-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_small{height:28px;min-width:28px}.jodit-ui-button_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button_size_large{height:40px;min-width:40px}.jodit-ui-button_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-ui-button__icon{display:none}.jodit-ui-button__icon:not(:empty){display:inline-flex}.jodit-ui-button__text{display:none}.jodit-ui-button__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-ui-button_context_menu .jodit-ui-button__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-ui-button_context_menu .jodit-ui-button__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-ui-button__icon:not(:empty)+.jodit-ui-button__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-ui-button__icon:empty+.jodit-ui-button__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-ui-button:focus:not([disabled]){outline:1px dashed var(--jd-color-background-selection)}.jodit-ui-button_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default [disabled]{opacity:.7}.jodit-ui-button_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary [disabled]{opacity:.7}.jodit-ui-button_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary [disabled]{opacity:.7}.jodit-ui-button_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success [disabled]{opacity:.7}.jodit-ui-button_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger [disabled]{opacity:.7}.jodit-ui-button_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-list{display:flex;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-ui-group{background-color:transparent;border:0;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-toolbar-button{height:auto;min-height:var(--jd-button-size)}.jodit-ui-list_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:var(--jd-button-size);width:100%}.jodit-ui-list_mode_vertical .jodit-toolbar-button__text:not(:empty){justify-content:left}.jodit-ui-separator{border-left:0;border-right:1px solid var(--jd-color-border);cursor:default;margin:2px;padding:0}.jodit-ui-break{border-top:1px solid var(--jd-color-border);flex-basis:100%;height:0!important;width:0}.jodit-ui-spacer{flex:1}.jodit-ui-group{display:inline-flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;max-width:100%}.jodit-ui-group_line_true{display:flex;justify-content:stretch}.jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-left:0;border-right:1px solid var(--jd-color-border);content:"";cursor:default;margin:2px;padding:0}.jodit-ui-group:last-child{border-bottom:0}.jodit-ui-button-group{margin-bottom:var(--jd-padding-default)}.jodit-ui-button-group__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-button-group__options{display:flex;justify-content:flex-start}.jodit-ui-button-group .jodit-ui-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.jodit-ui-button-group .jodit-ui-button+.jodit-ui-button{border-bottom-left-radius:0;border-left:1px solid var(--jd-color-button-background-hover_opacity40);border-top-left-radius:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover);border-left:0;box-shadow:inset 0 0 3px 0 var(--jd-color-dark);color:var(--jd-color-dark);outline:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled])+.jodit-ui-button{border:0}.jodit-ui-tooltip{background:#727171;background-clip:padding-box;border-radius:2px;color:#fff;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);font-size:11px;line-height:1.4;max-width:120px;opacity:0;padding:calc(var(--jd-padding-default)/4) calc(var(--jd-padding-default)/2);position:fixed;text-rendering:optimizeLegibility;transition:opacity .2s ease 0s;user-select:none;white-space:normal;width:auto;z-index:var(--jd-z-index-tooltip)}@media (max-width:768px){.jodit-ui-tooltip{display:none}}.jodit-ui-tooltip.jodit-ui-tooltip_visible_true{opacity:1}.jodit-dialog{border:0;box-sizing:border-box;display:none;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:0;position:absolute;width:0;will-change:left,top,width,height}.jodit-dialog_moved_true{user-select:none}.jodit-dialog *{box-sizing:border-box}.jodit-dialog .jodit_elfinder,.jodit-dialog .jodit_elfinder *{box-sizing:initial}.jodit-dialog__overlay{background-color:rgba(0,0,0,.5);display:none;height:100%;left:0;overflow:auto;position:fixed;text-align:center;top:0;white-space:nowrap;width:100%;z-index:var(--jd-z-index-dialog-overlay)}.jodit-dialog_static_true .jodit-dialog__overlay{display:none}.jodit-dialog_active_true,.jodit-dialog_modal_true .jodit-dialog__overlay{display:block}.jodit-dialog__panel{--jd-box-shadow-blur:calc(var(--jd-padding-default)*2);--jd-box-shadow-1:0 var(--jd-padding-default) var(--jd-box-shadow-blur) rgba(0,0,0,.19);background-color:#fff;box-shadow:var(--jd-box-shadow-1),0 6px 6px rgba(0,0,0,.23);display:flex;flex-flow:column nowrap;left:0;max-height:100%;max-width:100%;min-height:100px;min-width:200px;position:fixed;text-align:left;top:0;white-space:normal;z-index:var(--jd-z-index-dialog)}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__panel{height:100%!important;left:0!important;max-width:100%;top:0!important;width:100%!important}}.jodit-dialog_static_true{box-sizing:border-box;display:block;height:auto;position:relative;width:auto;z-index:inherit}.jodit-dialog_static_true .jodit-dialog__panel{border:1px solid var(--jd-color-border);box-shadow:none;left:auto!important;position:relative;top:auto!important;width:100%!important;z-index:inherit}.jodit-dialog_theme_dark,.jodit-dialog_theme_dark .jodit-dialog__panel{background-color:var(--jd-dark_background_darknes);color:var(--jd-dark-text-color)}.jodit-dialog__header{border-bottom:1px solid var(--jd-color-border);cursor:move;display:flex;justify-content:space-between;min-height:50px;text-align:left}.jodit-dialog__header-title,.jodit-dialog__header-toolbar{align-items:center;display:flex;flex-shrink:3;font-size:18px;font-weight:400;line-height:48px;margin:0;padding:0 var(--jd-padding-default);vertical-align:top}@media (max-width:480px){.jodit-dialog__header-toolbar{padding-left:0}}.jodit-dialog__header-button{color:#222;flex-basis:48px;font-size:28px;height:48px;line-height:48px;text-align:center;text-decoration:none;transition:background-color .2s ease 0s}.jodit-dialog__header-button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-dialog__header .jodit_toolbar{background:transparent;border:0;box-shadow:none}.jodit-dialog__header .jodit_toolbar>li.jodit-toolbar-button .jodit-input{padding-left:var(--jd-padding-default);width:auto}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__header{flex-direction:column}}.jodit-dialog_slim_true .jodit-dialog__header{min-height:10px}.jodit-dialog_slim_true .jodit-dialog__header-title,.jodit-dialog_slim_true .jodit-dialog__header-toolbar{padding:0 calc(var(--jd-padding-default)/4)}.jodit-dialog_theme_dark .jodit-dialog__header{border-color:var(--jd-color-dark)}.jodit-dialog_fullsize_true .jodit-dialog__header{cursor:default}.jodit-dialog__content{flex:1;min-height:100px;overflow:auto}.jodit-dialog__content .jodit-form__group{margin-bottom:calc(var(--jd-padding-default)*1.5);padding:0 var(--jd-padding-default)}.jodit-dialog__content .jodit-form__group:first-child{margin-top:var(--jd-padding-default)}.jodit-dialog__content .jodit-form__group label+.jodit-grid,.jodit-dialog__content .jodit-form__group label+.jodit-input_group,.jodit-dialog__content .jodit-form__group label+.jodit-select,.jodit-dialog__content .jodit-form__group label+input{margin-top:calc(var(--jd-padding-default)/2)}.jodit-dialog__content .jodit-form__group .jodit-input_group{border-collapse:separate;display:table;width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group>*{display:table-cell;height:34px;vertical-align:middle}.jodit-dialog__content .jodit-form__group .jodit-input_group>input{margin:0!important}.jodit-dialog__content .jodit-form__group .jodit-input_group>input:not([class*=col-]){width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons{font-size:0;vertical-align:middle;white-space:nowrap;width:1%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons>.jodit-button{border:1px solid var(--jd-color-border);border-radius:0;height:34px;line-height:34px;margin-left:-1px}.jodit-dialog__footer{display:none;flex-wrap:nowrap;justify-content:space-between;padding:var(--jd-padding-default)}.jodit-dialog__footer button{margin-right:calc(var(--jd-padding-default)/2)}.jodit-dialog__footer button:last-child{margin-right:0}.jodit-dialog__column{display:flex}.jodit-dialog__resizer{display:none;position:relative}.jodit-dialog__resizer svg{fill:var(--jd-color-gray-dark);bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;user-select:none;width:12px}.jodit-dialog_resizable_true .jodit-dialog__resizer{display:block}@media (max-width:480px){.jodit-dialog__resizer{display:none}}.jodit-dialog_prompt{max-width:300px;min-width:200px;padding:var(--jd-padding-default);word-break:break-all}.jodit-dialog_prompt label{display:block;margin-bottom:calc(var(--jd-padding-default)/2)}.jodit-dialog_alert{max-width:300px;min-width:200px;padding:var(--jd-padding-default);word-break:break-all}.jodit-dialog_footer_true .jodit-dialog__footer{display:flex}.jodit_fullsize .jodit-dialog__panel{bottom:0!important;height:100%!important;left:0!important;right:0!important;top:0!important;width:100%!important}.jodit_fullsize .jodit-dialog__panel .jodit-dialog__resizer{display:none}.jodit-dialog .jodit-ui-messages{z-index:var(--jd-z-index-dialog)}.jodit-toolbar__box:not(:empty){--jd-color-background-default:var(--jd-color-panel);background-color:var(--jd-color-background-default);border-bottom:1px solid var(--jd-color-border);border-radius:var(--jd-border-radius-default) var(--jd-border-radius-default) 0 0;overflow:hidden}.jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:var(--jd-color-panel)}:root{--jd-em-color-border:#b6d4fe;--jd-em-color-bg:#cfe2ff;--jd-em-color-color:#084298;--jd-em-border-radius:0.375rem;--jd-em-padding:0.5rem 1rem;--jd-em-font-size:1rem}.jodit-ui-messages{bottom:0;height:0;overflow:visible;position:absolute;right:0;width:0;z-index:3}.jodit-ui-message{background:var(--jd-em-color-bg);border:1px solid var(--jd-em-color-border);border-radius:var(--jd-em-border-radius);bottom:0;color:var(--jd-em-color-color);cursor:pointer;display:block;font-size:var(--jd-em-font-size);opacity:0;padding:var(--jd-em-padding);position:absolute;right:calc(var(--jd-padding-default)/2);transition:opacity .1s linear,bottom .3s linear,transform .1s ease-out;white-space:pre}.jodit-ui-message_active_true{opacity:1}.jodit-ui-message:active{transform:scale(.76)}.jodit-ui-message_variant_secondary{--jd-em-color-border:#d3d6d8;--jd-em-color-bg:#e2e3e5;--jd-em-color-color:#41464b}.jodit-ui-message_variant_danger,.jodit-ui-message_variant_error,.jodit-ui-message_variant_secondary{background:var(--jd-em-color-bg);border-color:var(--jd-em-color-border);color:var(--jd-em-color-color)}.jodit-ui-message_variant_danger,.jodit-ui-message_variant_error{--jd-em-color-border:#f5c2c7;--jd-em-color-bg:#f8d7da;--jd-em-color-color:#842029}.jodit-ui-message_variant_success{--jd-em-color-border:#badbcc;--jd-em-color-bg:#d1e7dd;--jd-em-color-color:#0f5132;background:var(--jd-em-color-bg);border-color:var(--jd-em-color-border);color:var(--jd-em-color-color)}.jodit-ui-label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-input{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default)}.jodit-ui-input__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-input__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-input__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-input__input:focus{outline:0}.jodit-ui-input_theme_dark .jodit-ui-input__input{background-color:var(--jd-color-gray)}.jodit-ui-input_has-error_true .jodit-ui-input__input{border-color:var(--jd-color-red)}.jodit-ui-input__error,.jodit-ui-input__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-input__error,.jodit-ui-input_has-error_true .jodit-ui-input__label{color:var(--jd-color-error)}.jodit-ui-input__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-input__wrapper{min-width:140px}}.jodit-ui-input_theme_dark .jodit-ui-input__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-input_focused_true .jodit-ui-input__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-input__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-input__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-input__icon:not(:empty)+.jodit-ui-input__input{padding-left:0}.jodit-ui-input__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-input__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-input__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-input_theme_dark .jodit-ui-input__clear svg,.jodit-ui-input_theme_dark .jodit-ui-input__icon svg{fill:var(--jd-color-dark)}.jodit-ui-block .jodit-ui-input{margin-bottom:0}.jodit-ui-select{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default)}.jodit-ui-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-select__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-select__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-select__input:focus{outline:0}.jodit-ui-select_theme_dark .jodit-ui-select__input{background-color:var(--jd-color-gray)}.jodit-ui-select_has-error_true .jodit-ui-select__input{border-color:var(--jd-color-red)}.jodit-ui-select__error,.jodit-ui-select__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-select__error,.jodit-ui-select_has-error_true .jodit-ui-select__label{color:var(--jd-color-error)}.jodit-ui-select__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-select__wrapper{min-width:140px}}.jodit-ui-select_theme_dark .jodit-ui-select__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-select_focused_true .jodit-ui-select__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-select__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-select__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-select__icon:not(:empty)+.jodit-ui-select__input{padding-left:0}.jodit-ui-select__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-select__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-select__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-select_theme_dark .jodit-ui-select__clear svg,.jodit-ui-select_theme_dark .jodit-ui-select__icon svg{fill:var(--jd-color-dark)}.jodit-ui-select__input{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0ye2ZpbGw6IzQ0NH08L3N0eWxlPjwvZGVmcz48cGF0aCBzdHlsZT0iZmlsbDojZmZmIiBkPSJNMCAwaDQuOTV2MTBIMHoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Im0xLjQxIDQuNjcgMS4wNy0xLjQ5IDEuMDYgMS40OUgxLjQxek0zLjU0IDUuMzMgMi40OCA2LjgyIDEuNDEgNS4zM2gyLjEzeiIvPjwvc3ZnPg==);background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(var(--jd-padding-default)*2)}.jodit-ui-select_size_tiny{margin-bottom:0}.jodit-ui-select_size_tiny .jodit-ui-select__input{--jd-height:calc(var(--jd-input-height)/1.8);height:var(--jd-height);line-height:var(--jd-height)}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper{border:0}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper select{outline:0}.jodit-ui-select_width_auto{width:auto}.jodit-ui-select_width_auto .jodit-ui-select__wrapper{min-width:auto}.jodit-ui-text-area{display:flex;flex-direction:column;margin-bottom:var(--jd-padding-default);width:100%}.jodit-ui-text-area__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--jd-color-white);border:0;border-radius:0;box-sizing:border-box;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);height:var(--jd-input-height);line-height:var(--jd-input-height);outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-text-area__input[disabled]{background-color:#f0f0f0;color:var(--jd-color-border)}.jodit-ui-text-area__input_has-error_true{border-color:var(--jd-color-red)}.jodit-ui-text-area__input:focus{outline:0}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__input{background-color:var(--jd-color-gray)}.jodit-ui-text-area_has-error_true .jodit-ui-text-area__input{border-color:var(--jd-color-red)}.jodit-ui-text-area__error,.jodit-ui-text-area__label{color:var(--jd-color-label);display:block;font-size:.8em;margin-bottom:calc(var(--jd-padding-default)/4)}.jodit-ui-text-area__error,.jodit-ui-text-area_has-error_true .jodit-ui-text-area__label{color:var(--jd-color-error)}.jodit-ui-text-area__wrapper{align-items:center;background-color:var(--jd-color-white);border:1px solid var(--jd-color-border);display:flex;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-text-area__wrapper{min-width:140px}}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__wrapper{background-color:var(--jd-color-gray);border-color:var(--jd-color-border)}.jodit-ui-text-area_focused_true .jodit-ui-text-area__wrapper{border-color:var(--jd-color-border-selected)}.jodit-ui-text-area__icon:not(:empty){align-items:center;display:flex;padding:0 var(--jd-padding-default)}.jodit-ui-text-area__icon:not(:empty) svg{fill:var(--jd-color-border);height:16px;width:16px}.jodit-ui-text-area__icon:not(:empty)+.jodit-ui-text-area__input{padding-left:0}.jodit-ui-text-area__clear{align-items:center;display:flex;opacity:.8;padding:0 var(--jd-padding-default) 0 0}.jodit-ui-text-area__clear:active{opacity:1;transform:scale(1.1)}.jodit-ui-text-area__clear svg{fill:var(--jd-color-border);height:12px;width:12px}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__clear svg,.jodit-ui-text-area_theme_dark .jodit-ui-text-area__icon svg{fill:var(--jd-color-dark)}.jodit-ui-text-area__wrapper{flex:1}.jodit-ui-text-area__input{height:100%;min-height:60px}.jodit-ui-checkbox{align-items:center;display:flex;flex-direction:row-reverse;justify-content:flex-end;margin-bottom:var(--jd-padding-default)}.jodit-ui-checkbox__input{margin-right:var(--jd-padding-default)}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper{display:inline-block;height:34px;margin-right:var(--jd-padding-default);position:relative;width:60px}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper input{height:0;opacity:0;width:0}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:26px;left:4px;position:absolute;transition:.4s;width:26px}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider{background-color:#2196f3}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider:before{transform:translateX(26px)}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_focused_true .jodit-ui-checkbox__switch-slider{box-shadow:0 0 1px #2196f3}.jodit-ui-block .jodit-ui-checkbox{margin-bottom:0}.jodit-ui-file-input{overflow:hidden;position:relative}.jodit-ui-file-input__input{bottom:0;cursor:pointer;font-size:400px;margin:0 calc(var(--jd-padding-default)*-1) 0 0;opacity:0;padding:0;position:absolute;right:0;top:0}.jodit-ui-block{align-items:center;display:flex;justify-content:stretch;margin-bottom:var(--jd-padding-default)}.jodit-ui-block_width_full{width:100%}.jodit-ui-block_align_full{justify-content:space-between}.jodit-ui-block_align_right{justify-content:flex-end}.jodit-ui-block_padding_true{padding:var(--jd-padding-default)}@keyframes b{30%{opacity:.6}60%{opacity:0}to{opacity:.6}}.jodit-progress-bar{border-radius:1px;height:2px;left:0;opacity:.7;position:absolute;top:0;z-index:2147483647}.jodit-progress-bar div{background:var(--jd-color-background-progress);height:2px;position:relative;transition:width .5s ease-out,opacity .5s linear;will-change:width,opacity}.jodit-progress-bar div:after,.jodit-progress-bar div:before{animation:b 2s ease-out 0s infinite;border-radius:100%;box-shadow:var(--jd-color-background-progress) 1px 0 6px 1px;content:"";display:inline-block;height:2px;opacity:.6;position:absolute;top:0}.jodit-progress-bar div:before{clip:rect(-6px,90px,14px,-6px);right:-80px;width:180px}.jodit-progress-bar div:after{clip:rect(-6px,22px,14px,var(--jd-padding-default));right:0;width:20px}.jodit-toolbar-collection,.jodit-toolbar-editor-collection{display:flex;flex-direction:column}.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent calc(var(--jd-button-size) - 1px),var(--jd-color-border) var(--jd-button-size));position:relative}.jodit-toolbar-collection_mode_horizontal:after,.jodit-toolbar-editor-collection_mode_horizontal:after{background-color:var(--jd-color-background-default);bottom:0;content:"";display:block;height:1px;left:0;position:absolute;width:100%}.jodit-toolbar-collection_size_tiny,.jodit-toolbar-editor-collection_size_tiny{--jd-button-icon-size:8px}.jodit-toolbar-collection_size_tiny.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 19px,var(--jd-color-border) 20px)}.jodit-toolbar-collection_size_xsmall,.jodit-toolbar-editor-collection_size_xsmall{--jd-button-icon-size:10px}.jodit-toolbar-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 25px,var(--jd-color-border) 26px)}.jodit-toolbar-collection_size_small,.jodit-toolbar-editor-collection_size_small{--jd-button-icon-size:12px}.jodit-toolbar-collection_size_small.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_small.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 31px,var(--jd-color-border) 32px)}.jodit-toolbar-collection_size_middle,.jodit-toolbar-editor-collection_size_middle{--jd-button-icon-size:14px}.jodit-toolbar-collection_size_middle.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 37px,var(--jd-color-border) 38px)}.jodit-toolbar-collection_size_large,.jodit-toolbar-editor-collection_size_large{--jd-button-icon-size:16px}.jodit-toolbar-collection_size_large.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_large.jodit-toolbar-collection_mode_horizontal,.jodit-toolbar-editor-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent 43px,var(--jd-color-border) 44px)}.jodit-toolbar-collection_mode_vertical .jodit-ui-group,.jodit-toolbar-editor-collection_mode_vertical .jodit-ui-group{background-color:transparent;border:0;flex-direction:column}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button,.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button{height:auto;min-height:var(--jd-button-size)}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__button,.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:var(--jd-button-size);width:100%}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__text:not(:empty),.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__text:not(:empty){justify-content:left}.jodit-toolbar-collection .jodit-toolbar-button,.jodit-toolbar-collection .jodit-toolbar-content,.jodit-toolbar-editor-collection .jodit-toolbar-button,.jodit-toolbar-editor-collection .jodit-toolbar-content{margin:var(--jd-margin-v) 1px;padding:0}.jodit-dialog .jodit-toolbar-collection_mode_horizontal,.jodit-dialog .jodit-toolbar-editor-collection_mode_horizontal{background-image:none}.jodit-toolbar-button{align-items:center;border:1px solid transparent;border-radius:var(--jd-border-radius-default);display:flex;height:34px;justify-content:center;min-width:34px;overflow:hidden}.jodit-toolbar-button__icon{display:none}.jodit-toolbar-button__icon:not(:empty){display:inline-flex}.jodit-toolbar-button__text{display:none}.jodit-toolbar-button__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-toolbar-button__icon:not(:empty)+.jodit-toolbar-button__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-toolbar-button__icon:empty+.jodit-toolbar-button__text:not(:empty){padding:0 var(--jd-padding-default);padding:0}.jodit-toolbar-button .jodit-icon{height:14px;width:14px}.jodit-toolbar-button button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-button_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_tiny{height:16px;min-width:16px}.jodit-toolbar-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-button_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-button_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-button_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-button_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_small{height:28px;min-width:28px}.jodit-toolbar-button_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-button_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-button_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button_size_large{height:40px;min-width:40px}.jodit-toolbar-button_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-button_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-button_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-button__button{align-items:center;appearance:none;background:0 0;border:0;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;color:var(--jd-color-text-icons);cursor:pointer;display:inline-flex;font-style:normal;justify-content:center;outline:0;padding:0;padding:0 var(--jd-padding-default);position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-toolbar-button__button:focus-visible:not([disabled]),.jodit-toolbar-button__button:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-button__button:active:not([disabled]),.jodit-toolbar-button__button[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-button__button[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-button__button[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger{align-items:center;border-radius:0 var(--jd-border-radius-default) var(--jd-border-radius-default) 0;cursor:pointer;display:flex;height:100%;justify-content:center;opacity:.4;width:14px}.jodit-toolbar-button__trigger:focus-visible:not([disabled]),.jodit-toolbar-button__trigger:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-button__trigger:active:not([disabled]),.jodit-toolbar-button__trigger[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-button__trigger[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-button__trigger[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger svg{width:10px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger{width:8px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger svg{width:4px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger{width:10px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger svg{width:6px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger{width:12px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger svg{width:8px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger{width:16px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger svg{width:12px}.jodit-toolbar-button_with-trigger_true .jodit-toolbar-button__button{border-radius:var(--jd-border-radius-default) 0 0 var(--jd-border-radius-default)}.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:var(--jd-color-border)}.jodit-toolbar-button_stroke_false svg{stroke:none}.jodit-toolbar-content{align-items:center;appearance:none;background:0 0;border:1px solid transparent;border-radius:var(--jd-border-radius-default);box-shadow:none;box-sizing:border-box;color:var(--jd-color-text-icons);cursor:pointer;display:inline-flex;font-style:normal;height:34px;justify-content:center;min-width:34px;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;user-select:none}.jodit-toolbar-content:focus-visible:not([disabled]),.jodit-toolbar-content:hover:not([disabled]){background-color:var(--jd-color-button-background-hover);opacity:1;outline:0}.jodit-toolbar-content:active:not([disabled]),.jodit-toolbar-content[aria-pressed=true]:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity40);outline:0}.jodit-toolbar-content[aria-pressed=true]:hover:not([disabled]){background-color:var(--jd-color-button-background-hover_opacity60)}.jodit-toolbar-content[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-content .jodit-icon{height:14px;width:14px}.jodit-toolbar-content button{appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-content_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_tiny{height:16px;min-width:16px}.jodit-toolbar-content_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-content_size_tiny button{appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-content_size_tiny_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-content_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-content_size_xsmall button{appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-content_size_xsmall_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_small{height:28px;min-width:28px}.jodit-toolbar-content_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-content_size_small button{appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-content_size_small_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content_size_large{height:40px;min-width:40px}.jodit-toolbar-content_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-content_size_large button{appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-content_size_large_text-icons_true button{padding:0 var(--jd-padding-default)}.jodit-toolbar-content__icon{display:none}.jodit-toolbar-content__icon:not(:empty){display:inline-flex}.jodit-toolbar-content__text{display:none}.jodit-toolbar-content__text:not(:empty){display:inline-flex;flex-grow:1;font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);justify-content:center}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text{justify-content:left;padding-left:var(--jd-padding-default);position:relative}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text:before{border-left:1px solid var(--jd-color-border);content:"";height:35px;left:0;position:absolute;top:calc(var(--jd-padding-default)*-1)}.jodit-toolbar-content__icon:not(:empty)+.jodit-toolbar-content__text:not(:empty){margin-left:var(--jd-padding-default)}.jodit-toolbar-content__icon:empty+.jodit-toolbar-content__text:not(:empty){padding:0 var(--jd-padding-default)}.jodit-toolbar-content:focus:not([disabled]){outline:1px dashed var(--jd-color-background-selection)}.jodit-toolbar-content_variant_default{background-color:#e3e3e3;color:#212529}.jodit-toolbar-content_variant_default svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default [disabled]{opacity:.7}.jodit-toolbar-content_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_primary{background-color:#007bff;color:#fff}.jodit-toolbar-content_variant_primary svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary [disabled]{opacity:.7}.jodit-toolbar-content_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-toolbar-content_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-toolbar-content_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-toolbar-content_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary [disabled]{opacity:.7}.jodit-toolbar-content_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_success{background-color:#28a745;color:#fff}.jodit-toolbar-content_variant_success svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success [disabled]{opacity:.7}.jodit-toolbar-content_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-toolbar-content_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-toolbar-content_variant_danger{background-color:#dc3545;color:#fff}.jodit-toolbar-content_variant_danger svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger [disabled]{opacity:.7}.jodit-toolbar-content_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-toolbar-content_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-toolbar-content:hover:not([disabled]){background-color:transparent;opacity:1;outline:0}:root{--jd-first_column:31%;--jd-cols:4;--jd-info-background:#e9e9e9;--jd-icon-size:12px;--jd-col_size:150px}.jodit-filebrowser{display:flex;font-family:var(--jd-font-default);height:100%}.jodit-filebrowser_no-files_true{padding:var(--jd-padding-default)}@media (max-width:480px){.jodit-filebrowser{flex-flow:column-reverse}}.jodit-dialog .jodit-dialog__header-title.jodit-filebrowser__title-box{align-items:center;display:flex;padding-left:var(--jd-padding-default)}.jodit-filebrowser-preview{align-items:center;display:flex;height:100%;justify-content:center;margin:auto;max-height:100%;max-width:Min(100%,1000px);min-height:Min(100%,500px);min-width:400px;position:relative;text-align:center}@media (max-width:768px){.jodit-filebrowser-preview{height:100%;max-height:100%;max-width:100%;min-height:auto;min-width:auto}}.jodit-filebrowser-preview__box{align-items:center;display:flex;flex-grow:1;justify-content:center}.jodit-filebrowser-preview__navigation{cursor:pointer;height:100%;left:0;position:absolute;top:0}.jodit-filebrowser-preview__navigation_arrow_next{left:auto;right:0}.jodit-filebrowser-preview__navigation svg{fill:#9e9ba7;height:45px;position:relative;top:50%;transform:translateY(-50%);transition:fill .3s linear;width:45px}.jodit-filebrowser-preview__navigation:hover svg{fill:#000}.jodit-filebrowser-preview img{max-height:100%;max-width:100%}:root{--jd-image_editor_resizer_border_color:#05ff00;--jd-image_editor_resizer_target_size:padding-default;--jd-image_editor_resizer_target_border_color:#383838;--jd-image_editor_resizer_target_bg_color:#8c7878}.jodit-image-editor{height:100%;overflow:hidden;padding:var(--jd-padding-default);width:100%}@media (max-width:768px){.jodit-image-editor{height:auto}}.jodit-image-editor>div,.jodit-image-editor>div>div{height:100%}@media (max-width:768px){.jodit-image-editor>div,.jodit-image-editor>div>div{height:auto;min-height:200px}}.jodit-image-editor *{box-sizing:border-box}.jodit-image-editor .jodit-image-editor__slider-title{background-color:#f9f9f9;border-bottom:1px solid hsla(0,0%,62%,.31);color:#333;cursor:pointer;font-weight:700;line-height:1em;padding:.8em 1em;text-overflow:ellipsis;text-shadow:#f3f3f3 0 1px 0;user-select:none;white-space:nowrap}.jodit-image-editor .jodit-image-editor__slider-title svg{display:inline-block;margin-right:var(--jd-padding-default);vertical-align:middle;width:16px}.jodit-image-editor .jodit-image-editor__slider-content{display:none}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title{background-color:#5d5d5d;color:#fff;text-shadow:#000 0 1px 0}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title svg{fill:#fff}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-content{display:block}.jodit-image-editor__area{background-color:#eee;background-image:linear-gradient(45deg,var(--jd-color-border) 25%,transparent 25%,transparent 75%,var(--jd-color-border) 75%,var(--jd-color-border)),linear-gradient(45deg,var(--jd-color-border) 25%,transparent 25%,transparent 75%,var(--jd-color-border) 75%,var(--jd-color-border));background-position:0 0,15px 15px;background-size:30px 30px;display:none;height:100%;overflow:hidden;position:relative;user-select:none;width:100%}.jodit-image-editor__area.jodit-image-editor_active{display:block}.jodit-image-editor__area .jodit-image-editor__box{height:100%;overflow:hidden;pointer-events:none;position:relative;z-index:1}.jodit-image-editor__area .jodit-image-editor__box img{max-height:100%;max-width:100%;user-select:none}.jodit-image-editor__area .jodit-image-editor__croper,.jodit-image-editor__area .jodit-image-editor__resizer{background-repeat:no-repeat;border:1px solid #fff;box-shadow:0 0 11px #000;height:100px;left:20px;pointer-events:none;position:absolute;top:var(--jd-padding-default);width:100px;z-index:2}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright,.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright{background-color:var(--jd-image_editor_resizer_target_bg_color);border:1px solid var(--jd-image_editor_resizer_target_border_color);border-radius:50%;bottom:calc(var(--jd-padding-default)*-1);box-shadow:0 0 11px #000;cursor:se-resize;display:inline-block;height:20px;pointer-events:all;position:absolute;right:calc(var(--jd-padding-default)*-1);width:20px;z-index:4}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright:active,.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright:active{border:1px solid #ff0}.jodit-image-editor__area.jodit-image-editor__area_crop{background:#eee;height:100%;line-height:100%;position:relative;text-align:center}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box{height:100%;line-height:100%;overflow:visible;pointer-events:all;text-align:left}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box img{height:100%;max-height:100%;max-width:100%;width:100%}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box:after{background:hsla(0,0%,100%,.3);bottom:0;content:"";left:0;margin:auto;position:absolute;right:0;top:0;z-index:1}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper{cursor:move;pointer-events:all}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper i.jodit-image-editor__sizes{background:rgba(0,0,0,.2);border-radius:.4em;bottom:-30px;color:#fff;display:block;font-size:12px;left:100%;padding:9px 6px;position:absolute;text-align:center;text-shadow:none;white-space:pre}.jodit-image-editor__area.jodit-image-editor__area_crop.jodit-image-editor_active{align-items:center;display:flex;justify-content:center}.jodit-filebrowser-files{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-files .jodit-button{border-radius:0}.jodit-filebrowser-files_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-files_loading_true:after{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:var(--jd-icon-loader-size);left:50%;margin-left:calc(var(--jd-icon-loader-size)/-2);margin-top:calc(var(--jd-icon-loader-size)/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-filebrowser-files_active_true{display:flex}.jodit-filebrowser-files::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-files::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-files::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-files_active_true{align-content:flex-start;flex-wrap:wrap;overflow-y:auto;padding:calc(var(--jd-padding-default)/2);width:100%}.jodit-filebrowser-files__item{align-items:center;border:1px solid var(--jd-color-border);display:flex;font-size:0;height:var(--jd-col_size);justify-content:center;margin:calc(var(--jd-padding-default)/2);overflow:hidden;position:relative;text-align:center;transition:border .1s linear,bottom .1s linear;width:var(--jd-col_size)}@media (max-width:480px){.jodit-filebrowser-files__item{width:calc(50% - var(--jd-padding-default))}}.jodit-filebrowser-files__item img{max-width:100%}.jodit-filebrowser-files__item:hover{border-color:#433b5c}.jodit-filebrowser-files__item_active_true{background-color:var(--jd-color-border-active);border-color:var(--jd-color-border-selected)}.jodit-filebrowser-files__item_active_true .jodit-filebrowser-files__item-info{background-color:var(--jd-color-border-active);color:#fff;text-shadow:none}.jodit-filebrowser-files__item-info{background-color:var(--jd-info-background);bottom:0;color:#333;font-size:14px;left:0;line-height:16px;opacity:.85;overflow:visible;padding:.3em .6em;position:absolute;right:0;text-align:left;text-shadow:#eee 0 1px 0;transition:opacity .4s ease;white-space:normal}.jodit-filebrowser-files__item-info>span{display:block;font-size:.75em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jodit-filebrowser-files__item-info>span.jodit-filebrowser-files__item-info-filename{font-size:.9em;font-weight:700}.jodit-filebrowser-files__item:hover:not(.jodit-filebrowser-files__item_active_true) .jodit-filebrowser-files__item-info{bottom:-100px}.jodit-filebrowser-files_view_list{scroll-behavior:smooth}.jodit-filebrowser-files_view_list a{border-width:0 0 1px;display:block;height:26px;line-height:26px;margin:0;text-align:left;white-space:nowrap;width:100%}.jodit-filebrowser-files_view_list a img{display:inline-block;margin-left:4px;max-width:16px;min-width:16px;vertical-align:middle}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info{background-color:transparent;display:inline-block;font-size:0;height:100%;line-height:inherit;margin-left:4px;padding:0;position:static;vertical-align:middle;width:calc(100% - 20px)}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info>span{display:inline-block;font-size:12px;height:100%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filename{width:50%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filechanged,.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filesize{width:25%}.jodit-filebrowser-files_view_list a:hover{background-color:#433b5c}.jodit-filebrowser-files_view_list a:hover .jodit-filebrowser-files__item-info{color:#fff;text-shadow:none}.jodit-filebrowser-files_view_list a:before{content:"";display:inline-block;height:100%;vertical-align:middle}:root{--jd-color-folder-title:#b1b1b1}.jodit-filebrowser-tree{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-tree .jodit-button{border-radius:0}.jodit-filebrowser-tree_active_true{display:flex}.jodit-filebrowser-tree_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-tree_loading_true:after{animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:var(--jd-icon-loader-size);left:50%;margin-left:calc(var(--jd-icon-loader-size)/-2);margin-top:calc(var(--jd-icon-loader-size)/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:var(--jd-icon-loader-size);will-change:transform}.jodit-filebrowser-tree::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-tree::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-tree_active_true{background-color:var(--jd-color-background-filebrowser-folders);flex-direction:column;max-width:290px;min-width:200px;overflow-y:auto;width:var(--jd-first_column);z-index:2}@media (max-width:480px){.jodit-filebrowser-tree_active_true{height:100px;max-width:100%;width:auto}}.jodit-filebrowser-tree_active_true::-webkit-scrollbar{width:calc(var(--jd-padding-default)/2)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-thumb{background-color:hsla(0,0%,50%,.5);outline:1px solid #708090}.jodit-filebrowser-tree__item{align-items:center;border-bottom:1px solid #474747;color:var(--jd-color-folder-title);display:flex;justify-content:space-between;min-height:38px;padding:calc(var(--jd-padding-default)/2) var(--jd-padding-default);position:relative;text-decoration:none;transition:background-color .2s ease 0s;word-break:break-all}.jodit-filebrowser-tree__item-title{color:var(--jd-color-folder-title);flex:1}.jodit-filebrowser-tree__item .jodit-icon_folder{align-items:center;display:flex;height:calc(var(--jd-icon-size) + 4px);justify-content:center;margin-left:calc(var(--jd-padding-default)/2);opacity:.3;width:calc(var(--jd-icon-size) + 4px)}.jodit-filebrowser-tree__item .jodit-icon_folder svg{fill:var(--jd-color-folder-title)!important;stroke:var(--jd-color-folder-title)!important;height:var(--jd-icon-size);width:var(--jd-icon-size)}.jodit-filebrowser-tree__item .jodit-icon_folder:hover{background:#696969}.jodit-filebrowser-tree__item:hover{background-color:var(--jd-color-background-button-hover)}.jodit-filebrowser-tree__item:hover-title{color:var(--jd-color-text)}.jodit-filebrowser-tree__item:hover i.jodit-icon_folder{opacity:.6}.jodit-filebrowser-tree__source-title{background:#5a5a5a;border-bottom:1px solid #484848;color:#969696;display:block;font-size:12px;padding:2px 4px;position:relative;user-select:none;word-break:break-all}a+.jodit-filebrowser-tree__source-title{margin-top:var(--jd-padding-default)}.jodit-status-bar{align-items:center;background-color:var(--jd-color-panel);border-radius:0 0 var(--jd-border-radius-default) var(--jd-border-radius-default);color:var(--jd-color-text-icons);display:flex;font-size:var(--jd-font-size-small);height:20px;justify-content:flex-start;overflow:hidden;padding:0 calc(var(--jd-padding-default)/2);text-transform:uppercase}.jodit-status-bar_resize-handle_true{padding-right:14px}.jodit-status-bar:before{content:"";flex:auto;order:1}.jodit-status-bar .jodit-status-bar__item{line-height:1.57142857em;margin:0 var(--jd-padding-default) 0 0;order:0;padding:0}.jodit-status-bar .jodit-status-bar__item,.jodit-status-bar .jodit-status-bar__item>span{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default);font-size:var(--jd-font-size-small)}.jodit-status-bar .jodit-status-bar__item.jodit-status-bar__item-right{margin:0 0 0 var(--jd-padding-default);order:2}.jodit-status-bar .jodit-status-bar__item a{border-radius:3px;cursor:default;text-decoration:none}.jodit-status-bar .jodit-status-bar__item a:hover{background-color:var(--jd-color-background-gray);text-decoration:none}.jodit-status-bar a.jodit-status-bar-link{cursor:pointer}.jodit-status-bar a.jodit-status-bar-link,.jodit-status-bar a.jodit-status-bar-link:hover,.jodit-status-bar a.jodit-status-bar-link:visited{background-color:transparent;color:var(--jd-color-text-icons)}.jodit-status-bar a.jodit-status-bar-link:hover{text-decoration:underline}.jodit-workplace+.jodit-status-bar:not(:empty){border-top:1px solid var(--jd-color-border)}.jodit_disabled .jodit-status-bar{opacity:.4}.jodit-drag-and-drop__file-box,.jodit_uploadfile_button{border:1px dashed var(--jd-color-gray);margin:var(--jd-padding-default) 0;overflow:hidden;padding:25px 0;position:relative;text-align:center;width:100%}.jodit-drag-and-drop__file-box:hover,.jodit_uploadfile_button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-drag-and-drop__file-box input,.jodit_uploadfile_button input{bottom:0;cursor:pointer;font-size:400px;left:0;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0}@media (max-width:768px){.jodit-drag-and-drop__file-box{max-width:100%;min-width:var(--jd-width-input-min);width:auto}}.jodit-about{padding:20px}.jodit-about a{color:#459ce7;text-decoration:none}.jodit-about a:focus,.jodit-about a:hover{color:#23527c;outline:0;text-decoration:underline}.jodit-about div{margin-bottom:calc(var(--jd-padding-default)/2)}:root{--jd-color-new-line:var(--jd-color-border);--jd-width-icon:30px;--jd-height-icon:30px;--jd-offset-handle:calc(100% - var(--jd-width-icon))}.jodit-add-new-line{display:block;height:1px;outline:none;position:fixed;top:0;z-index:1}.jodit-add-new-line,.jodit-add-new-line *{box-sizing:border-box}.jodit-add-new-line:after{background-color:var(--jd-color-new-line);content:"";display:block;height:1px;width:100%}.jodit-add-new-line span{align-items:center;background:var(--jd-color-background-button-hover-opacity30);border:1px solid var(--jd-color-new-line);cursor:pointer;display:flex;height:var(--jd-height-icon);justify-content:center;left:var(--jd-offset-handle);position:absolute;width:var(--jd-width-icon)}.jodit-add-new-line span:hover{background:var(--jd-color-background-button-hover)}.jodit-add-new-line_after span{bottom:0}.jodit-add-new-line svg{fill:var(--jd-color-new-line);width:16px}.jodit-source__mode .jodit-add-new-line{display:none!important}:root{--jd-color-picker-cell-size:24px}.jodit-color-picker{margin:0;text-align:left;user-select:none}.jodit-color-picker__group{display:flex;flex-wrap:wrap;margin-bottom:calc(var(--jd-padding-default)/2);max-width:calc(var(--jd-color-picker-cell-size)*10);white-space:normal}.jodit-color-picker__color-item{border:1px solid transparent;display:block;height:var(--jd-color-picker-cell-size);text-align:center;text-decoration:none;vertical-align:middle;width:var(--jd-color-picker-cell-size)}.jodit-color-picker__color-item:hover{border-color:#000}.jodit-color-picker__color-item:active,.jodit-color-picker__color-item_active_true{border:2px solid var(--jd-color-border-selected)}.jodit-color-picker__native svg{display:inline-block;height:16px;margin-right:4px;width:16px}.jodit-color-picker__native input{appearance:none;border:none;height:18px;padding:0;width:18px}.jodit-color-picker__native input[type=color]::-webkit-color-swatch-wrapper{padding:0}.jodit-color-picker__native input input[type=color]::-webkit-color-swatch{border:none}.jodit-tabs{font-family:var(--jd-font-default);font-size:var(--jd-font-size-default)}.jodit-tabs .jodit-tabs__buttons{display:flex;justify-content:center;line-height:18px;margin-bottom:calc(var(--jd-padding-default)/2);margin-top:4px}.jodit-tabs .jodit-tabs__buttons>*{cursor:pointer;margin-left:calc(var(--jd-padding-default)/2)}.jodit-tabs .jodit-tabs__buttons>:only-of-type{width:100%}.jodit-tabs .jodit-tabs__buttons>:first-child{margin-left:0}@media (max-width:480px){.jodit-tabs .jodit-tabs__buttons{display:block}.jodit-tabs .jodit-tabs__buttons>*{margin-left:0;width:100%}}.jodit-tabs__button{min-width:80px}.jodit-tabs__button_columns_3{width:33.33333%}.jodit-tabs__button_columns_2{width:50%}.jodit-tabs .jodit-tabs__wrapper .jodit-tab{display:none}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_active{display:block}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_empty{min-height:100px;min-width:220px}.jodit_fullsize-box_true{overflow:visible!important;position:static!important;z-index:var(--jd-z-index-full-size)!important}body.jodit_fullsize-box_true,html.jodit_fullsize-box_true{height:0!important;overflow:hidden!important;width:0!important}html.jodit_fullsize-box_true{position:fixed!important}.jodit_fullsize{bottom:0;left:0;max-width:none!important;position:absolute;right:0;top:0;z-index:var(--jd-z-index-full-size)}.jodit_fullsize .toolbar{width:100%!important}.jodit_fullsize .jodit__area,.jodit_fullsize .jodit_editor{height:100%}.jodit-properties__lock>svg,.jodit-properties__unlock>svg{fill:#222;display:inline-block;font-size:8px;font-style:normal;height:14px;line-height:14px;overflow:hidden;transform-origin:0 0!important;vertical-align:middle;width:14px}.jodit-properties .jodit-properties_view_box{padding:var(--jd-padding-default)}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view{align-items:center;background-color:#f6f6f6;display:flex;height:150px;justify-content:center;margin:0 0 var(--jd-padding-default);padding:0}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view img{max-height:100%;max-width:100%}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group{align-items:center;flex-direction:row;margin:0!important;min-width:auto;padding:0!important}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group a{cursor:pointer;display:inline-block}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group .jodit-input{width:calc(50% - 8px)!important}.jodit-popup-inline__container{min-width:700px;z-index:1300}.jodit-paste-storage{max-width:600px;padding:var(--jd-padding-default)}@media (max-width:768px){.jodit-paste-storage{max-width:100%}}.jodit-paste-storage>div{border:1px solid var(--jd-color-border);max-height:300px;max-width:100%}.jodit-paste-storage>div:first-child{margin-bottom:var(--jd-padding-default)}.jodit-paste-storage>div:first-child a{border:1px solid transparent;box-sizing:border-box;color:var(--jd-color-default);display:block;margin:0;max-width:100%;outline:none;overflow:hidden;padding:calc(var(--jd-padding-default)/2);text-decoration:none;text-overflow:ellipsis;white-space:pre}.jodit-paste-storage>div:first-child a.jodit_active{background-color:var(--jd-dark_background_color);color:var(--jd-color-white)}.jodit-paste-storage>div:first-child a:focus{outline:none}.jodit-paste-storage>div:last-child{overflow:auto;padding:var(--jd-padding-default)}.jodit-paste-storage>div:last-child li,.jodit-paste-storage>div:last-child ul{margin:0}.jodit-placeholder{color:var(--jd-color-placeholder);display:block;left:0;padding:var(--jd-padding-default);pointer-events:none;position:absolute;top:0;user-select:none!important;width:100%;z-index:1}.jodit__preview-box table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit__preview-box table tr{user-select:none}.jodit__preview-box table tr td,.jodit__preview-box table tr th{border:1px solid var(--jd-color-border);min-width:2em;padding:.4em;user-select:text;vertical-align:middle}.jodit-table-resizer{cursor:col-resize;margin-left:calc(var(--jd-padding-default)/-2);padding-left:calc(var(--jd-padding-default)/2);padding-right:calc(var(--jd-padding-default)/2);position:absolute;z-index:3}.jodit-table-resizer:after{border:0;content:"";display:block;height:100%;width:0}.jodit-table-resizer_moved{background-color:var(--jd-color-background-selection);z-index:2}.jodit-table-resizer_moved:after{border-right:1px solid moved}[data-jodit_iframe_wrapper]{display:block;position:relative;user-select:none}[data-jodit_iframe_wrapper] iframe{position:relative}[data-jodit_iframe_wrapper]:after{background:transparent;bottom:0;content:"";cursor:pointer;display:block;left:0;position:absolute;right:0;top:0;z-index:1}[data-jodit_iframe_wrapper][data-jodit-wrapper_active=true] iframe{z-index:2}.jodit_lock [data-jodit-wrapper_active=true] iframe{z-index:1}:root{--jd-viewer_width:70px;--jd-viewer_height:24px;--jd-resizer-handle-size:10px;--jd-resizer-border-color:#98c1f1;--jd-resizer-handle-color:#5ba4f3;--jd-resizer-handle-hover-color:#537ebb}.jodit-resizer{font-size:0;height:100px;left:0;outline:3px solid var(--jd-resizer-border-color);pointer-events:none;position:absolute;top:0;width:100px}.jodit-resizer,.jodit-resizer *{box-sizing:border-box}.jodit-resizer>span{background-color:var(--jd-color-placeholder);color:var(--jd-color-white);display:inline-block;font-size:12px;height:var(--jd-viewer_height);left:50%;line-height:var(--jd-viewer_height);margin-left:calc(var(--jd-viewer_width)/-2);margin-top:calc(var(--jd-viewer_height)/-2);opacity:0;overflow:visible;position:absolute;text-align:center;top:50%;transition:opacity .2s linear;width:var(--jd-viewer_width)}.jodit-resizer>div{background-color:var(--jd-resizer-handle-color);display:inline-block;height:var(--jd-resizer-handle-size);pointer-events:all;position:absolute;width:var(--jd-resizer-handle-size);z-index:4}.jodit-resizer>div:hover{background-color:var(--jd-resizer-handle-hover-color)}.jodit-resizer>div:first-child{cursor:nwse-resize;left:calc(var(--jd-resizer-handle-size)/-2);top:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(2){cursor:nesw-resize;right:calc(var(--jd-resizer-handle-size)/-2);top:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(3){bottom:calc(var(--jd-resizer-handle-size)/-2);cursor:nwse-resize;right:calc(var(--jd-resizer-handle-size)/-2)}.jodit-resizer>div:nth-child(4){bottom:calc(var(--jd-resizer-handle-size)/-2);cursor:nesw-resize;left:calc(var(--jd-resizer-handle-size)/-2)}@media (max-width:768px){.jodit-resizer>div :root{--jd-resizer-handle-size:calc(var(--jd-resizer-handle-size)*2)}}:root{--jd-height-search:30px;--jd-width-search:320px;--jd-width-search-input-box:60%;--jd-width-search-count-box:15%;--jd-transform-button-active:0.95;--jd-timeout-button-active:0.1s}.jodit-ui-search{height:0;position:absolute;right:0;top:0;width:0}.jodit-ui-search_sticky_true{position:fixed}.jodit-ui-search__box{background-color:var(--jd-color-panel);border:solid var(--jd-color-border);border-width:0 0 1px 1px;display:flex;max-width:100vw;padding:calc(var(--jd-padding-default)/2);position:absolute;right:0;width:var(--jd-width-search)}.jodit-ui-search__box input{background-color:transparent;border:0;height:100%;margin:0;outline:none;padding:0 var(--jd-padding-default);width:100%}.jodit-ui-search__box input[data-ref=replace]{display:none}.jodit-ui-search__box input:not(:focus)+input:not(:focus){border-top:1px solid var(--jd-color-border)}.jodit-ui-search__buttons,.jodit-ui-search__counts,.jodit-ui-search__inputs{height:var(--jd-height-search)}.jodit-ui-search__inputs{padding-right:calc(var(--jd-padding-default)/2);width:var(--jd-width-search-input-box)}.jodit-ui-search__counts{border-left:1px solid var(--jd-color-border);color:var(--jd-color-border);width:var(--jd-width-search-count-box)}.jodit-ui-search__buttons,.jodit-ui-search__counts{align-items:center;display:flex;justify-content:center}.jodit-ui-search__buttons{flex:1;padding-left:0}.jodit-ui-search__buttons button{background-color:transparent;border:1px solid transparent;height:100%;margin-right:1%;width:32%}.jodit-ui-search__buttons button[data-ref=replace-btn]{border:1px solid var(--jd-color-border);display:none;margin-top:2px;width:100%}.jodit-ui-search__buttons button:hover{background-color:var(--jd-color-background-button-hover)}.jodit-ui-search__buttons button:focus{border:1px solid var(--jd-color-background-selection_opacity50)}.jodit-ui-search__buttons button:active{border:1px solid var(--jd-color-background-selection);transform:scale(var(--jd-transform-button-active))}.jodit-ui-search_empty-query_true [data-ref=next],.jodit-ui-search_empty-query_true [data-ref=prev]{opacity:.5}.jodit-ui-search_replace_true .jodit-ui-search__counts,.jodit-ui-search_replace_true .jodit-ui-search__inputs{height:calc(var(--jd-height-search)*2)}.jodit-ui-search_replace_true .jodit-ui-search__counts input,.jodit-ui-search_replace_true .jodit-ui-search__inputs input{height:50%;transition:background-color var(--jd-timeout-button-active) linear}.jodit-ui-search_replace_true .jodit-ui-search__counts input:focus,.jodit-ui-search_replace_true .jodit-ui-search__inputs input:focus{box-shadow:inset 0 0 3px 0 var(--jd-color-border)}.jodit-ui-search_replace_true .jodit-ui-search__counts input[data-ref=replace],.jodit-ui-search_replace_true .jodit-ui-search__inputs input[data-ref=replace]{display:block}.jodit-ui-search_replace_true .jodit-ui-search__buttons{flex-wrap:wrap}.jodit-ui-search_replace_true .jodit-ui-search__buttons button[data-ref=replace-btn]{display:block}[jd-tmp-selection]{background-color:#7fffd4}.jodit-container:not(.jodit_inline){min-height:100px}.jodit-container:not(.jodit_inline) .jodit-workplace{display:flex;flex-direction:column;height:auto;min-height:50px;overflow:hidden}.jodit-container:not(.jodit_inline) .jodit-editor__resize{position:relative}.jodit-container:not(.jodit_inline) .jodit-editor__resize svg{fill:var(--jd-color-gray-dark);bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;user-select:none;width:12px}.jodit-source{background-color:var(--jd-color-source-area);display:none;flex:auto;overflow:auto;position:relative}.jodit-source,.jodit-source .jodit-source__mirror-fake{min-height:100%}.jodit-source *{font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.jodit-container.jodit-source__mode .jodit-wysiwyg,.jodit-container.jodit-source__mode .jodit-wysiwyg_iframe{display:none!important}.jodit-container.jodit-source__mode .jodit-source{display:block!important}.jodit-container.jodit_split_mode .jodit-workplace{flex-direction:row;flex-wrap:nowrap}.jodit-container.jodit_split_mode .jodit-source,.jodit-container.jodit_split_mode .jodit-wysiwyg,.jodit-container.jodit_split_mode .jodit-wysiwyg_iframe{display:block!important;flex:1;width:50%}.jodit-source__mirror{background:var(--jd-color-source-area);border:0;box-shadow:none;box-sizing:border-box;color:#f0f0f0;height:100%;line-height:1.5;font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;margin:0;min-height:100%;outline:none;overflow:auto;padding:var(--jd-padding-default);resize:none;tab-size:2em;white-space:pre-wrap;width:100%;z-index:2}.jodit-source__mirror::selection{background:var(--jd-color-selection-area)}.jodit_sticky-dummy_toolbar{display:none}.jodit_sticky>.jodit-toolbar__box{border-bottom:1px solid var(--jd-color-border);left:auto;position:fixed;position:sticky;top:0;z-index:3}.jodit_sticky .jodit_sticky-dummy_toolbar{display:block}.jodit-symbols{padding:var(--jd-padding-default);width:460px}.jodit-symbols__container{display:flex}.jodit-symbols__container_table{width:88%}.jodit-symbols__container_preview{width:12%}.jodit-symbols__preview{border:1px solid var(--jd-color-border);font-size:34px;padding:20px 0;text-align:center}.jodit-symbols__table{border:0;border-spacing:0;table-layout:fixed}.jodit-symbols__table td{padding:0}.jodit-symbols__table td a{border:1px solid transparent;box-sizing:border-box;color:var(--jd-color-default);cursor:pointer;display:inline-block;font-size:16px;height:calc(var(--jd-height_element_default)*1.2);line-height:calc(var(--jd-height_element_default)*1.2);text-align:center;text-decoration:none;vertical-align:top;width:calc(var(--jd-width_element_default)*1.2)}.jodit-symbols__table td a:focus,.jodit-symbols__table td a:hover{outline:2px solid var(--jd-color-border)}.jodit-context table,.jodit-wysiwyg table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit-context table tr,.jodit-wysiwyg table tr{user-select:none}.jodit-context table tr td,.jodit-context table tr th,.jodit-wysiwyg table tr td,.jodit-wysiwyg table tr th{border:1px solid var(--jd-color-border);min-width:2em;padding:.4em;user-select:text;vertical-align:middle}.jodit-form__inserter .jodit-form__table-creator-box{display:flex}@media (max-width:768px){.jodit-form__inserter .jodit-form__table-creator-box{flex-direction:column}}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container{font-size:0;margin:0;min-width:180px;padding:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span{border:1px solid var(--jd-color-border);box-sizing:border-box;display:inline-block;height:var(--jd-height_element_default);margin-bottom:2px;margin-left:2px;vertical-align:top;width:var(--jd-width_element_default)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span:first-child{margin-left:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span.jodit_hovered{background:var(--jd-color-background-hover);border-color:var(--jd-color-background-hover)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options{font-size:var(--jd-font-size-default)}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label{padding-top:0;text-align:left}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label input{margin-right:var(--jd-padding-default)}.jodit-form__inserter label{font-size:14px;margin:0;padding:8px;text-align:center}.jodit-xpath{align-items:center;display:flex;margin-left:calc(var(--jd-padding-default)/-2)}.jodit-xpath__item{display:flex;height:var(--jd-font-size-small);line-height:calc(var(--jd-font-size-small) - 1px)}.jodit-xpath__item a{color:var(--jd-color-default);font-size:var(--jd-font-size-small);margin-left:2px;outline:0;padding:0 3px}.jodit-dialog_theme_dark,.jodit_theme_dark{--jd-color-border:#6b6b6b}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal,.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal,.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal,.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal{background-image:repeating-linear-gradient(transparent 0,transparent calc(var(--jd-button-size) - 1px),var(--jd-color-border) var(--jd-button-size))}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal:after,.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after,.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal:after,.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after{background-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty),.jodit_theme_dark .jodit-toolbar__box:not(:empty){border-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after,.jodit_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:var(--jd-color-border)}.jodit-dialog_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after,.jodit_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-right-color:var(--jd-color-border)}.jodit-dialog_theme_dark.jodit-container,.jodit_theme_dark.jodit-container{--jd-color-border:#6b6b6b;background-color:var(--jd-dark_background_color);border-color:var(--jd-color-border)}.jodit-dialog_theme_dark.jodit-container.jodit_disabled,.jodit_theme_dark.jodit-container.jodit_disabled{background-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace,.jodit_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace{border-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark .jodit-popup__content,.jodit_theme_dark .jodit-popup__content{background:var(--jd-dark_background_ligher)}.jodit-dialog_theme_dark .jodit-toolbar-button__text,.jodit-dialog_theme_dark .jodit-ui-button__text,.jodit_theme_dark .jodit-toolbar-button__text,.jodit_theme_dark .jodit-ui-button__text{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-toolbar-button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-toolbar-button__button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button__button:hover:not([disabled]),.jodit-dialog_theme_dark .jodit-ui-button__trigger:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button__button:hover:not([disabled]),.jodit_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button__button:hover:not([disabled]),.jodit_theme_dark .jodit-ui-button__trigger:hover:not([disabled]){background-color:var(--jd-dark_background_ligher)}.jodit-dialog_theme_dark .jodit-status-bar,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit_theme_dark .jodit-status-bar,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){background-color:var(--jd-dark_toolbar_color);border-color:var(--jd-color-border);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-status-bar,.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item a,.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item span,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover,.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover,.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited,.jodit_theme_dark .jodit-status-bar,.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item a,.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item span,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover,.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty),.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover,.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty),.jodit_theme_dark .jodit-toolbar__box:not(:empty){background:var(--jd-dark_toolbar_color)}.jodit-dialog_theme_dark .jodit-icon,.jodit-dialog_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger,.jodit-dialog_theme_dark .jodit__upload-button svg,.jodit_theme_dark .jodit-icon,.jodit_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger,.jodit_theme_dark .jodit__upload-button svg{fill:var(--jd-dark_icon_color);stroke:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-icon-close,.jodit_theme_dark .jodit-icon-close{stroke:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-wysiwyg,.jodit-dialog_theme_dark .jodit-wysiwyg_iframe,.jodit_theme_dark .jodit-wysiwyg,.jodit_theme_dark .jodit-wysiwyg_iframe{background-color:var(--jd-dark_background_color);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-form input[type=text],.jodit-dialog_theme_dark .jodit-form input[type=url],.jodit-dialog_theme_dark .jodit-form textarea,.jodit_theme_dark .jodit-form input[type=text],.jodit_theme_dark .jodit-form input[type=url],.jodit_theme_dark .jodit-form textarea{background-color:var(--jd-dark_toolbar_seperator_color1);border-color:var(--jd-dark_toolbar_seperator_color2);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-form button,.jodit_theme_dark .jodit-form button{background-color:var(--jd-dark_toolbar_seperator_color3);color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-placeholder,.jodit_theme_dark .jodit-placeholder{color:var(--jd-dark_text_color_opacity80)}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box,.jodit-dialog_theme_dark .jodit_uploadfile_button,.jodit_theme_dark .jodit-drag-and-drop__file-box,.jodit_theme_dark .jodit_uploadfile_button{color:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box:hover,.jodit-dialog_theme_dark .jodit_uploadfile_button:hover,.jodit_theme_dark .jodit-drag-and-drop__file-box:hover,.jodit_theme_dark .jodit_uploadfile_button:hover{background-color:var(--jd-dark_toolbar_seperator_color3)}.jodit-dialog_theme_dark .jodit-add-new-line:before,.jodit_theme_dark .jodit-add-new-line:before{border-top-color:var(--jd-dark_toolbar_seperator_color2)}.jodit-dialog_theme_dark .jodit-add-new-line span,.jodit_theme_dark .jodit-add-new-line span{background:var(--jd-dark_toolbar_seperator_color3);border-color:var(--jd-dark_toolbar_seperator_color2)}.jodit-dialog_theme_dark .jodit-add-new-line span svg,.jodit_theme_dark .jodit-add-new-line span svg{fill:var(--jd-dark_text_color)}.jodit-dialog_theme_dark .jodit-resizer>i,.jodit_theme_dark .jodit-resizer>i{background:var(--jd-dark_toolbar_seperator_color3);border-color:var(--jd-dark_icon_color)}.jodit-dialog_theme_dark .jodit-input,.jodit-dialog_theme_dark .jodit-select,.jodit_theme_dark .jodit-input,.jodit_theme_dark .jodit-select{background-color:var(--jd-dark_background_ligher);border-color:var(--jd-dark_border_color);color:var(--jd-dark_border_color)}.jodit-dialog_theme_dark.jodit-dialog,.jodit_theme_dark.jodit-dialog{background-color:var(--jd-dark_background_color)}.jodit-dialog_theme_dark.jodit-dialog .jodit-dialog__header,.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item,.jodit_theme_dark.jodit-dialog .jodit-dialog__header,.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item{border-color:var(--jd-dark_border_color)}.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info,.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info{background-color:var(--jd-dark_text_color)} \ No newline at end of file diff --git a/build/jodit.es2018.min.js b/build/jodit.es2018.min.js index fd07d1e20..4c6cdb2e0 100644 --- a/build/jodit.es2018.min.js +++ b/build/jodit.es2018.min.js @@ -1 +1 @@ -((e,t)=>{if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var s in i)("object"==typeof exports?exports:e)[s]=i[s]}})(self,(function(){return function(){var e,t={90643(e){e.exports.default=["إبدأ في الكتابة...","حول جوديت","محرر جوديت","دليل مستخدم جوديت","يحتوي على مساعدة مفصلة للاستخدام","للحصول على معلومات حول الترخيص، يرجى الذهاب لموقعنا:","شراء النسخة الكاملة","حقوق الطبع والنشر © XDSoft.net - Chupurnov Valeriy. كل الحقوق محفوظة.","مِرْساة","فتح في نافذة جديدة","فتح المحرر في الحجم الكامل","مسح التنسيق","ملء اللون أو تعيين لون النص","إعادة","تراجع","عريض","مائل","إدراج قائمة غير مرتبة","إدراج قائمة مرتبة","محاذاة للوسط","محاذاة مثبتة","محاذاة لليسار","محاذاة لليمين","إدراج خط أفقي","إدراج صورة","ادخال الملف","إدراج فيديو يوتيوب/فيميو ","إدراج رابط","حجم الخط","نوع الخط","إدراج كتلة تنسيق","عادي","عنوان 1","عنوان 2","عنوان 3","عنوان 4","إقتباس","كود","إدراج","إدراج جدول","تقليل المسافة البادئة","زيادة المسافة البادئة","تحديد أحرف خاصة","إدراج حرف خاص","تنسيق الرسم","تغيير الوضع","هوامش","أعلى","يمين","أسفل","يسار","الأنماط","الطبقات","محاذاة","اليمين","الوسط","اليسار","--غير مضبوط--","Src","العنوان","العنوان البديل","الرابط","افتح الرابط في نافذة جديدة","الصورة","ملف","متقدم","خصائص الصورة","إلغاء","حسنا","متصفح الملفات","حدث خطأ في تحميل القائمة ","حدث خطأ في تحميل المجلدات","هل أنت واثق؟","أدخل اسم المجلد","إنشاء مجلد","أكتب إسم","إسقاط صورة","إسقاط الملف","أو أنقر","النص البديل","رفع","تصفح","الخلفية","نص","أعلى","الوسط","الأسفل","إدراج عمود قبل","إدراج عمود بعد","إدراج صف أعلى","إدراج صف أسفل","حذف الجدول","حذف الصف","حذف العمود","خلية فارغة","%d حرف","%d كلام","اضرب من خلال","أكد","حرف فوقي","مخطوطة","قطع الاختيار","اختر الكل","استراحة","البحث عن","استبدل ب","محل","معجون","اختر محتوى للصق","مصدر","بالخط العريض","مائل","شغل","صلة","إلغاء","كرر","طاولة","صورة","نظيف","فقرة","حجم الخط","فيديو","الخط","حول المحرر","طباعة","أكد","شطب","المسافة البادئة","نتوء","ملء الشاشة","الحجم التقليدي","الخط","قائمة","قائمة مرقمة","قطع","اختر الكل","قانون","فتح الرابط","تعديل الرابط","سمة Nofollow","إزالة الرابط","تحديث","لتحرير","مراجعة","URL","تحرير","محاذاة أفقية","فلتر","عن طريق التغيير","بالاسم","حسب الحجم","إضافة مجلد","إعادة","احتفظ","حفظ باسم","تغيير الحجم","حجم القطع","عرض","ارتفاع","حافظ على النسب","أن","لا","حذف","تميز","تميز %s","محاذاة عمودية","انشق، مزق","اذهب","أضف العمود","اضف سطر","رخصة %s","حذف","انقسام عمودي","تقسيم أفقي","الحدود","يشبه الكود الخاص بك HTML. تبقي كما HTML؟","الصق ك HTML","احتفظ","إدراج كنص","إدراج النص فقط","يمكنك فقط تحرير صورك الخاصة. تحميل هذه الصورة على المضيف؟","تم تحميل الصورة بنجاح على الخادم!","لوحة","لا توجد ملفات في هذا الدليل.","إعادة تسمية","أدخل اسم جديد","معاينة","تحميل","لصق من الحافظة","متصفحك لا يدعم إمكانية الوصول المباشر إلى الحافظة.","نسخ التحديد","نسخ","دائرة نصف قطرها الحدود","عرض كل","تطبيق","يرجى ملء هذا المجال","يرجى إدخال عنوان ويب","الافتراضي","دائرة","نقطة","المربعة","البحث","تجد السابقة","تجد التالي","للصق المحتوى قادم من Microsoft Word/Excel الوثيقة. هل تريد أن تبقي شكل أو تنظيفه ؟ ","كلمة لصق الكشف عن","نظيفة","أدخل اسم الفصل","اضغط البديل لتغيير حجم مخصص"]},52532(e){e.exports.default=["Napiš něco","O Jodit","Editor Jodit","Jodit Uživatelská příručka","obsahuje detailní nápovědu","Pro informace o licenci, prosím, přejděte na naši stránku:","Koupit plnou verzi","Copyright © XDSoft.net - Chupurnov Valeriy. Všechna práva vyhrazena.","Anchor","Otevřít v nové záložce","Otevřít v celoobrazovkovém režimu","Vyčistit formátování","Barva výplně a písma","Vpřed","Zpět","Tučné","Kurzíva","Odrážky","Číslovaný seznam","Zarovnat na střed","Zarovnat do bloku","Zarovnat vlevo","Zarovnat vpravo","Vložit horizontální linku","Vložit obrázek","Vložit soubor","Vložit video (YT/Vimeo)","Vložit odkaz","Velikost písma","Typ písma","Formátovat blok","Normální text","Nadpis 1","Nadpis 2","Nadpis 3","Nadpis 4","Citát","Kód","Vložit","Vložit tabulku","Zmenšit odsazení","Zvětšit odsazení","Vybrat speciální symbol","Vložit speciální symbol","Použít formát","Změnit mód","Okraje","horní","pravý","spodní","levý","Styly","Třídy","Zarovnání","Vpravo","Na střed","Vlevo","--nenastaveno--","src","Titulek","Alternativní text (alt)","Link","Otevřít link v nové záložce","Obrázek","soubor","Rozšířené","Vlastnosti obrázku","Zpět","Ok","Prohlížeč souborů","Chyba při načítání seznamu souborů","Chyba při načítání složek","Jste si jistý(á)?","Název složky","Vytvořit složku","název","Přetáhněte sem obrázek","Přetáhněte sem soubor","nebo klikněte","Alternativní text","Nahrát","Server","Pozadí","Text","Nahoru","Na střed","Dolu","Vložit sloupec před","Vložit sloupec za","Vložit řádek nad","Vložit řádek pod","Vymazat tabulku","Vymazat řádku","Vymazat sloupec","Vyčistit buňku","Znaky: %d","Slova: %d","Přeškrtnuto","Podtrženo","Horní index","Dolní index","Vyjmout označené","Označit vše","Zalomení","Najdi","Nahradit za","Vyměňte","Vložit","Vyber obsah pro vložení","HTML","tučně","kurzíva","štětec","odkaz","zpět","vpřed","tabulka","obrázek","guma","odstavec","velikost písma","video","písmo","о editoru","tisk","podtrženo","přeškrtnuto","zvětšit odsazení","zmenšit odsazení","celoobrazovkový režim","smrsknout","Linka","Odrážka","Číslovaný seznam","Vyjmout","Označit vše","Kód","Otevřít odkaz","Upravit odkaz","Atribut no-follow","Odstranit odkaz","Aktualizovat","Chcete-li upravit","Zobrazit","URL","Editovat","Horizontální zarovnání","Filtr","Dle poslední změny","Dle názvu","Dle velikosti","Přidat složku","Reset","Uložit","Uložit jako...","Změnit rozměr","Ořezat","Šířka","Výška","Ponechat poměr","Ano","Ne","Vyjmout","Označit","Označit %s","Vertikální zarovnání","Rozdělit","Spojit","Přidat sloupec","Přidat řádek","Licence: %s","Vymazat","Rozdělit vertikálně","Rozdělit horizontálně","Okraj","Váš text se podobá HTML. Vložit ho jako HTML?","Vložit jako HTML","Ponechat originál","Vložit jako TEXT","Vložit pouze TEXT","Můžete upravovat pouze své obrázky. Načíst obrázek?","Obrázek byl úspěšně nahrán!","paleta","V tomto adresáři nejsou žádné soubory.","přejmenovat","Zadejte nový název","náhled","Stažení","Vložit ze schránky","Váš prohlížeč nepodporuje přímý přístup do schránky.","Kopírovat výběr","kopírování","Border radius","Zobrazit všechny","Platí","Prosím, vyplňte toto pole","Prosím, zadejte webovou adresu","Výchozí","Kruh","Dot","Quadrate","Najít","Najít Předchozí","Najít Další","Obsah, který vkládáte, je pravděpodobně z Microsoft Word / Excel. Chcete ponechat formát nebo vložit pouze text?","Detekován fragment z Wordu nebo Excelu","Vyčistit","Vložte název třídy","Stiskněte Alt pro vlastní změnu velikosti"]},75178(e){e.exports.default=["Bitte geben Sie einen Text ein","Über Jodit","Jodit Editor","Das Jodit Benutzerhandbuch","beinhaltet ausführliche Informationen wie Sie den Editor verwenden können.","Für Informationen zur Lizenz, besuchen Sie bitte unsere Web-Präsenz:","Vollversion kaufen","Copyright © XDSoft.net - Chupurnov Valeriy. Alle Rechte vorbehalten.","Anker","In neuer Registerkarte öffnen","Editor in voller Größe öffnen","Formatierung löschen","Füllfarbe oder Textfarbe ändern","Wiederholen","Rückgängig machen","Fett","Kursiv","Unsortierte Liste einfügen","Nummerierte Liste einfügen","Mittig ausrichten","Blocksatz","Links ausrichten","Rechts ausrichten","Horizontale Linie einfügen","Bild einfügen","Datei einfügen","Youtube/vimeo Video einfügen","Link einfügen","Schriftgröße","Schriftfamilie","Formatblock einfügen","Normal","Überschrift 1","Überschrift 2","Überschrift 3","Überschrift 4","Zitat","Code","Einfügen","Tabelle einfügen","Einzug verkleinern","Einzug vergrößern","Sonderzeichen auswählen","Sonderzeichen einfügen","Format kopieren","Änderungsmodus","Ränder","Oben","Rechts","Unten","Links","CSS Stil","CSS Klassen","Ausrichtung","Rechts","Zentriert","Links","Keine","Pfad","Titel","Alternativer Text","Link","Link in neuem Tab öffnen","Bild","Datei","Fortgeschritten","Bildeigenschaften","Abbrechen","OK","Dateibrowser","Fehler beim Laden der Liste","Fehler beim Laden der Ordner","Sind Sie sicher?","Geben Sie den Verzeichnisnamen ein","Verzeichnis erstellen","Typname","Bild hier hinziehen","Datei löschen","oder hier klicken","Alternativtext","Hochladen","Auswählen","Hintergrund","Text","Oben","Mittig","Unten","Spalte davor einfügen","Spalte danach einfügen","Zeile oberhalb einfügen","Zeile unterhalb einfügen","Tabelle löschen","Zeile löschen","Spalte löschen","Zelle leeren","Zeichen: %d","Wörter: %d","Durchstreichen","Unterstreichen","Hochgestellen","Tiefstellen","Auswahl ausschneiden","Alles markieren","Pause","Suche nach","Ersetzen durch","Ersetzen","Einfügen","Wählen Sie den Inhalt zum Einfügen aus","HTML","Fett gedruckt","Kursiv","Bürste","Verknüpfung","Rückgängig machen","Wiederholen","Tabelle","Bild","Radiergummi","Absatz","Schriftgröße","Video","Schriftart","Über","Drucken","Unterstreichen","Durchstreichen","Einzug","Herausstellen","Vollgröße","Schrumpfen","die Linie","Liste von","Nummerierte Liste","Schneiden","Wählen Sie Alle aus","Code einbetten","Link öffnen","Link bearbeiten","Nofollow-Attribut","Link entfernen","Aktualisieren","Bearbeiten","Ansehen","URL","Bearbeiten","Horizontale Ausrichtung","Filter","Sortieren nach geändert","Nach Name sortieren","Nach Größe sortiert","Ordner hinzufügen","Wiederherstellen","Speichern","Speichern als","Größe ändern","Größe anpassen","Breite","Höhe","Seitenverhältnis beibehalten","Ja","Nein","Entfernen","Markieren","Markieren: %s","Vertikale Ausrichtung","Unterteilen","Vereinen","Spalte hinzufügen","Zeile hinzufügen",null,"Löschen","Vertikal unterteilen","Horizontal unterteilen","Rand","Ihr Text ähnelt HTML-Code. Als HTML beibehalten?","Als HTML einfügen?","Original speichern","Als Text einfügen","Nur Text einfügen","Sie können nur Ihre eigenen Bilder bearbeiten. Dieses Bild auf den Host herunterladen?","Das Bild wurde erfolgreich auf den Server hochgeladen!","Palette","In diesem Verzeichnis befinden sich keine Dateien.","Umbenennen","Geben Sie einen neuen Namen ein","Vorschau","Herunterladen","Aus Zwischenablage einfügen","Ihr Browser unterstützt keinen direkten Zugriff auf die Zwischenablage.","Auswahl kopieren","Kopieren","Radius für abgerundete Ecken","Alle anzeigen","Anwenden","Bitte füllen Sie dieses Feld aus","Bitte geben Sie eine Web-Adresse ein","Standard","Kreis","Punkte","Quadrate","Suchen","Suche vorherige","Weitersuchen","Der Inhalt, den Sie einfügen, stammt aus einem Microsoft Word / Excel-Dokument. Möchten Sie das Format erhalten oder bereinigen?","In Word formatierter Text erkannt","Säubern","className (CSS) einfügen","Drücken Sie Alt für benutzerdefinierte Größenanpassung"]},51048(e){e.exports.default={"Type something":"Start writing...",pencil:"Edit",Quadrate:"Square"}},22999(e){e.exports.default=["Escriba algo...","Acerca de Jodit","Jodit Editor","Guía de usuario Jodit","contiene ayuda detallada para el uso.","Para información sobre la licencia, por favor visite nuestro sitio:","Compre la versión completa","Copyright © XDSoft.net - Chupurnov Valeriy. Todos los derechos reservados.","Anclar","Abrir en nueva pestaña","Abrir editor en pantalla completa","Limpiar formato","Color de relleno o de letra","Rehacer","Deshacer","Negrita","Cursiva","Insertar lista no ordenada","Insertar lista ordenada","Alinear Centrado","Alinear Justificado","Alinear Izquierda","Alinear Derecha","Insertar línea horizontal","Insertar imagen","Insertar archivo","Insertar video de Youtube/vimeo","Insertar vínculo","Tamaño de letra","Familia de letra","Insertar bloque","Normal","Encabezado 1","Encabezado 2","Encabezado 3","Encabezado 4","Cita","Código","Insertar","Insertar tabla","Disminuir sangría","Aumentar sangría","Seleccionar caracter especial","Insertar caracter especial","Copiar formato","Cambiar modo","Márgenes","arriba","derecha","abajo","izquierda","Estilos CSS","Clases CSS","Alinear","Derecha","Centrado","Izquierda","--No Establecido--","Fuente","Título","Texto Alternativo","Vínculo","Abrir vínculo en nueva pestaña","Imagen","Archivo","Avanzado","Propiedades de imagen","Cancelar","Aceptar","Buscar archivo","Error al cargar la lista","Error al cargar las carpetas","¿Está seguro?","Entre nombre de carpeta","Crear carpeta","Entre el nombre","Soltar imagen","Soltar archivo","o click","Texto alternativo","Subir","Buscar","Fondo","Texto","Arriba","Centro","Abajo","Insertar columna antes","Interar columna después","Insertar fila arriba","Insertar fila debajo","Borrar tabla","Borrar fila","Borrar columna","Vaciar celda","Caracteres: %d","Palabras: %d","Tachado","Subrayado","superíndice","subíndice","Cortar selección","Seleccionar todo","Pausa","Buscar","Reemplazar con","Reemplazar","Pegar","Seleccionar contenido para pegar","HTML","negrita","cursiva","Brocha","Vínculo","deshacer","rehacer","Tabla","Imagen","Borrar","Párrafo","Tamaño de letra","Video","Letra","Acerca de","Imprimir","subrayar","tachar","sangría","quitar sangría","Tamaño completo","encoger","línea horizontal","lista sin ordenar","lista ordenada","Cortar","Seleccionar todo","Incluir código","Abrir vínculo","Editar vínculo","No seguir","Desvincular","Actualizar","Para editar","Ver","URL","Editar","Alineación horizontal","filtrar","Ordenar por fecha modificación","Ordenar por nombre","Ordenar por tamaño","Agregar carpeta","Resetear","Guardar","Guardar como...","Redimensionar","Recortar","Ancho","Alto","Mantener relación de aspecto","Si","No","Quitar","Seleccionar","Seleccionar: %s","Alineación vertical","Dividir","Mezclar","Agregar columna","Agregar fila",null,"Borrar","Dividir vertical","Dividir horizontal","Borde","El código es similar a HTML. ¿Mantener como HTML?","Pegar como HTML?","Mantener","Insertar como texto","Insertar solo texto","Solo puedes editar tus propias imágenes. ¿Descargar esta imagen en el servidor?","¡La imagen se ha subido correctamente al servidor!","paleta","No hay archivos en este directorio.","renombrar","Ingresa un nuevo nombre","avance","Descargar","Pegar desde el portapapeles","Su navegador no soporta el acceso directo en el portapapeles.","Selección de copia","copia","Radio frontera","Mostrar todos los","Aplicar","Por favor, rellene este campo","Por favor, introduzca una dirección web","Predeterminado","Círculo","Punto","Cuadro","Encontrar","Buscar Anterior","Buscar Siguiente","El contenido pegado proviene de un documento de Microsoft Word/Excel. ¿Desea mantener el formato o limpiarlo?","Pegado desde Word detectado","Limpiar","Insertar nombre de clase","Presione Alt para cambiar el tamaño personalizado"]},34145(e){e.exports.default=["Ecrivez ici","A propos de Jodit","Editeur Jodit","Guide de l'utilisateur","Aide détaillée à l'utilisation","Consulter la licence sur notre site web:","Acheter la version complète","Copyright © XDSoft.net - Chupurnov Valeriy. Tous droits réservés.","Ancre","Ouvrir dans un nouvel onglet","Ouvrir l'éditeur en pleine page","Supprimer le formattage","Modifier la couleur du fond ou du texte","Refaire","Défaire","Gras","Italique","Liste non ordonnée","Liste ordonnée","Centrer","Justifier","Aligner à gauche ","Aligner à droite","Insérer une ligne horizontale","Insérer une image","Insérer un fichier","Insérer une vidéo","Insérer un lien","Taille des caractères","Famille des caractères","Bloc formatté","Normal","Titre 1","Titre 2","Titre 3","Titre 4","Citation","Code","Insérer","Insérer un tableau","Diminuer le retrait","Retrait plus","Sélectionnez un caractère spécial","Insérer un caractère spécial","Cloner le format","Mode wysiwyg <-> code html","Marges","haut","droite","Bas","gauche","Styles","Classes","Alignement","Droite","Centre","Gauche","--Non disponible--","Source","Titre","Alternative","Lien","Ouvrir le lien dans un nouvel onglet","Image","fichier","Avancé","Propriétés de l'image","Annuler","OK","Explorateur de fichiers","Erreur de liste de chargement","Erreur de dossier de chargement","Etes-vous sûrs ?","Entrer le non de dossier","Créer un dossier","type de fichier","Coller une image","Déposer un fichier","ou cliquer","Texte de remplacemement","Charger","Chercher","Arrière-plan","Texte","Haut","Milieu","Bas","Insérer une colonne avant","Insérer une colonne après","Insérer une ligne en dessus","Insérer une ligne en dessous","Supprimer le tableau","Supprimer la ligne","Supprimer la colonne","Vider la cellule","Symboles: %d","Mots: %d","Frapper à travers","Souligner","exposant","indice","Couper la sélection","Tout sélectionner","Pause","Rechercher","Remplacer par","Remplacer","Coller","Choisissez le contenu à coller","la source","graisseux","italique","verser","lien","abolir","prêt","graphique","Image","la gommen","clause","taille de police","Video","police","à propos de l'éditeur","impression","souligné","barré","indentation","indifférent","taille réelle","taille conventionnelle","la ligne","Liste des","Liste numérotée","Couper","Sélectionner tout",null,"Ouvrir le lien","Modifier le lien","Attribut Nofollow","Supprimer le lien","Mettre à jour","Pour éditer","Voir","URL",null,"Alignement horizontal","Filtre","Trier par modifié","Trier par nom","Classer par taille","Ajouter le dossier","Restaurer","Sauvegarder","Enregistrer sous","Changer la taille","Taille de garniture","Largeur","Hauteur","Garder les proportions","Oui","Non","Supprimer","Mettre en évidence","Mettre en évidence: %s","Alignement vertical","Split","aller","Ajouter une colonne","Ajouter une rangée",null,"Effacer","Split vertical","Split horizontal",null,"Votre texte que vous essayez de coller est similaire au HTML. Collez-le en HTML?","Coller en HTML?","Sauvegarder l'original","Coller en tant que texte","Coller le texte seulement","Vous ne pouvez éditer que vos propres images. Téléchargez cette image sur l'hôte?","L'image a été téléchargée avec succès sur le serveur!null","Palette","Il n'y a aucun fichier dans ce répertoire.","renommer","Entrez un nouveau nom","Aperçu","Télécharger","Coller à partir du presse-papiers","Votre navigateur ne prend pas en charge l'accès direct à la presse-papiers.","Copier la sélection","copie","Rayon des frontières","Afficher tous les","Appliquer","Veuillez remplir ce champ","Veuillez entrer une adresse web","Par défaut","Cercle","Dot","Quadrate","Trouver","Trouvez Précédente","Suivant","Le contenu que vous insérez provient d'un document Microsoft Word / Excel. Voulez-vous enregistrer le format ou l'effacer?","C'est peut-être un fragment de Word ou Excel","Nettoyer","Insérer un nom de classe","Appuyez sur Alt pour un redimensionnement personnalisé"]},40272(e){e.exports.default=["הקלד משהו...","About Jodit","Jodit Editor","Jodit User's Guide","contains detailed help for using.","For information about the license, please go to our website:","Buy full version","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","מקום עיגון","פתח בכרטיסיה חדשה","פתח את העורך בחלון חדש","נקה עיצוב","שנה צבע טקסט או רקע","בצע שוב","בטל","מודגש","נטוי","הכנס רשימת תבליטים","הכנס רשימה ממוספרת","מרכז","ישר ","ישר לשמאל","ישר לימין","הכנס קו אופקי","הכנס תמונה","הכנס קובץ","הכנס סרטון וידאו מYouTube/Vimeo","הכנס קישור","גודל גופן","גופן","מעוצב מראש","רגיל","כותרת 1","כותרת 2","כותרת 3","כותרת 4","ציטוט","קוד","הכנס","הכנס טבלה","הקטן כניסה","הגדל כניסה","בחר תו מיוחד","הכנס תו מיוחד","העתק עיצוב","החלף מצב","ריווח","עליון","ימין","תחתון","שמאל","עיצוב CSS","מחלקת CSS","יישור","ימין","מרכז","שמאל","--לא נקבע--","מקור","כותרת","כיתוב חלופי","קישור","פתח בכרטיסיה חדשה","תמונה","קובץ","מתקדם","מאפייני תמונה","ביטול","אישור","סייר הקבצים","שגיאה בזמן טעינת רשימה","שגיאה בזמן טעינת תקיות","האם אתה בטוח?","הכנס שם תקיה","צור תקיה","סוג הקובץ","הסר תמונה","הסר קובץ","או לחץ","כיתוב חלופי","העלה","סייר","רקע","טקסט","עליון","מרכז","תחתון","הכנס עמודה לפני","הכנס עמודה אחרי","הכנס שורה מעל","הכנס שורה מתחת","מחק טבלה","מחק שורה","מחק עמודה","רוקן תא","תווים: %d","מילים: %d","קו חוצה","קו תחתון","superscript","subscript","גזור בחירה","בחר הכל","שבירת שורה","חפש","החלף ב","להחליף","הדבק","בחר תוכן להדבקה","HTML","מודגש","נטוי","מברשת","קישור","בטל","בצע שוב","טבלה","תמונה","מחק","פסקה","גודל גופן","וידאו","גופן","עלינו","הדפס","קו תחתון","קו חוצה","הגדל כניסה","הקטן כניסה","גודל מלא","כווץ","קו אופקי","רשימת תבליטים","רשימה ממוספרת","חתוך","בחר הכל","הוסף קוד","פתח קישור","ערוך קישור","ללא מעקב","בטל קישור","עדכן","כדי לערוך","הצג","כתובת","ערוך","יישור אופקי","סנן","מין לפי שינוי","מיין לפי שם","מיין לפי גודל","הוסף תקייה","אפס","שמור","שמור בשם...","שנה גודל","חתוך","רוחב","גובה","שמור יחס","כן","לא","הסר","בחר","נבחר: %s","יישור אנכי","פיצול","מזג","הוסף עמודה","הוסף שורה",null,"מחק","פיצול אנכי","פיצול אופקי","מסגרת","הקוד דומה לHTML, האם להשאיר כHTML","הדבק כHTML","השאר","הכנס כטקסט","הכנס טקסט בלבד","רק קבצים המשוייכים שלך ניתנים לעריכה. האם להוריד את הקובץ?","התמונה עלתה בהצלחה!","לוח","אין קבצים בספריה זו.","הונגרית","הזן שם חדש","תצוגה מקדימה","הורד","להדביק מהלוח","הדפדפן שלך לא תומך גישה ישירה ללוח.","העתק בחירה","העתק","רדיוס הגבול","הצג את כל","החל","נא למלא שדה זה","אנא הזן כתובת אינטרנט","ברירת המחדל","מעגל","נקודה","הריבוע הזה","למצוא","מצא את הקודם","חפש את הבא","התוכן המודבק מגיע ממסמך וורד/אקסל. האם ברצונך להשאיר את העיצוב או לנקותו",'זוהתה הדבקה מ"וורד"',"נקה","הכנס את שם הכיתה","לחץ על אלט לשינוי גודל מותאם אישית"]},2978(e){e.exports.default=["Írjon be valamit","Joditról","Jodit Editor","Jodit útmutató","további segítséget tartalmaz","További licence információkért látogassa meg a weboldalunkat:","Teljes verzió megvásárlása","Copyright © XDSoft.net - Chupurnov Valeriy. Minden jog fenntartva.","Horgony","Megnyitás új lapon","Megnyitás teljes méretben","Formázás törlése","Háttér/szöveg szín","Újra","Visszavon","Félkövér","Dőlt","Pontozott lista","Számozott lista","Középre zárt","Sorkizárt","Balra zárt","Jobbra zárt","Vízszintes vonal beszúrása","Kép beszúrás","Fájl beszúrás","Youtube videó beszúrása","Link beszúrás","Betűméret","Betűtípus","Formázott blokk beszúrása","Normál","Fejléc 1","Fejléc 2","Fejléc 3","Fejléc 4","Idézet","Kód","Beszúr","Táblázat beszúrása","Behúzás csökkentése","Behúzás növelése","Speciális karakter kiválasztása","Speciális karakter beszúrása","Kép formázása","Nézet váltása","Szegélyek","felső","jobb","alsó","bal","CSS stílusok","CSS osztályok","Igazítás","Jobbra","Középre","Balra","Nincs","Forrás","Cím","Helyettesítő szöveg","Link","Link megnyitása új lapon","Kép","Fájl","Haladó","Kép tulajdonságai","Mégsem","OK","Fájl tallózó","Hiba a lista betöltése közben","Hiba a mappák betöltése közben","Biztosan ezt szeretné?","Írjon be egy mappanevet","Mappa létrehozása","írjon be bevet","Húzza ide a képet","Húzza ide a fájlt","vagy kattintson","Helyettesítő szöveg","Feltölt","Tallóz","Háttér","Szöveg","Fent","Középen","Lent","Oszlop beszúrás elé","Oszlop beszúrás utána","Sor beszúrás fölé","Sor beszúrás alá","Táblázat törlése","Sor törlése","Oszlop törlése","Cella tartalmának törlése","Karakterek száma: %d","Szavak száma: %d","Áthúzott","Aláhúzott","Felső index","Alsó index","Kivágás","Összes kijelölése","Szünet","Keresés","Csere erre","Cserélje ki","Beillesztés","Válasszon tartalmat a beillesztéshez","HTML","Félkövér","Dőlt","Ecset","Link","Visszavon","Újra","Táblázat","Kép","Törlés","Paragráfus","Betűméret","Videó","Betű","Rólunk","Nyomtat","Aláhúzott","Áthúzott","Behúzás","Aussenseiter","Teljes méret","Összenyom","Egyenes vonal","Lista","Számozott lista","Kivág","Összes kijelölése","Beágyazott kód","Link megnyitása","Link szerkesztése","Nincs követés","Link leválasztása","Frissít","Szerkesztés","felülvizsgálat","URL","Szerkeszt","Vízszintes igazítás","Szűrő","Rendezés módosítás szerint","Rendezés név szerint","Rendezés méret szerint","Mappa hozzáadás","Visszaállít","Mentés","Mentés másként...","Átméretezés","Kivág","Szélesség","Magasság","Képarány megtartása","Igen","Nem","Eltávolít","Kijelöl","Kijelöl: %s","Függőleges igazítás","Felosztás","Összevonás","Oszlop hozzáadás","Sor hozzáadás",null,"Törlés","Függőleges felosztás","Vízszintes felosztás","Szegély","A beillesztett szöveg HTML-nek tűnik. Megtartsuk HTML-ként?","Beszúrás HTML-ként","Megtartás","Beszúrás szövegként","Csak szöveg beillesztése","Csak a saját képeit tudja szerkeszteni. Letölti ezt a képet?","Kép sikeresen feltöltve!","Palette","Er zijn geen bestanden in deze map.","átnevezés","Adja meg az új nevet","előnézet","Letöltés","Illessze be a vágólap","A böngésző nem támogatja a közvetlen hozzáférést biztosít a vágólapra.","Másolás kiválasztása","másolás","Határ sugár","Összes","Alkalmazni","Kérjük, töltse ki ezt a mezőt,","Kérjük, írja be a webcímet","Alapértelmezett","Kör","Pont","Quadrate","Találni","Megtalálja Előző","Következő Keresése","A beillesztett tartalom Microsoft Word/Excel dokumentumból származik. Meg szeretné tartani a formátumát?","Word-ből másolt szöveg","Elvetés","Helyezze be az osztály nevét","Nyomja meg az Alt egyéni átméretezés"]},99113(e){e.exports.default=["Ketik sesuatu","Tentang Jodit","Editor Jodit","Panduan Pengguna Jodit","mencakup detail bantuan penggunaan","Untuk informasi tentang lisensi, silakan kunjungi website:","Beli versi lengkap","Hak Cipta © XDSoft.net - Chupurnov Valeriy. Hak cipta dilindungi undang-undang.","Tautan","Buka di tab baru","Buka editor dalam ukuran penuh","Hapus Pemformatan","Isi warna atau atur warna teks","Ulangi","Batalkan","Tebal","Miring","Sisipkan Daftar Tidak Berurut","Sisipkan Daftar Berurut","Tengah","Penuh","Kiri","Kanan","Sisipkan Garis Horizontal","Sisipkan Gambar","Sisipkan Berkas","Sisipkan video youtube/vimeo","Sisipkan tautan","Ukuran font","Keluarga font","Sisipkan blok format","Normal","Heading 1","Heading 2","Heading 3","Heading 4","Kutip","Kode","Sisipkan","Sisipkan tabel","Kurangi Indentasi","Tambah Indentasi","Pilih Karakter Spesial","Sisipkan Karakter Spesial","Formar warna","Ubah mode","Batas","atas","kanan","bawah","kiri","Gaya","Class","Rata","Kanan","Tengah","Kiri","--Tidak diset--","Src","Judul","Teks alternatif","Tautan","Buka tautan di tab baru","Gambar","berkas","Lanjutan","Properti gambar","Batal","Ya","Penjelajah Berkas","Error ketika memuat list","Error ketika memuat folder","Apakah Anda yakin?","Masukkan nama Direktori","Buat direktori","ketik nama","Letakkan gambar","Letakkan berkas","atau klik","Teks alternatif","Unggah","Jelajahi","Latar Belakang","Teks","Atas","Tengah","Bawah","Sisipkan kolom sebelumnya","Sisipkan kolom setelahnya","Sisipkan baris di atasnya","Sisipkan baris di bawahnya","Hapus tabel","Hapus baris","Hapus kolom","Kosongkan cell","Karakter: %d","Kata: %d","Coret","Garis Bawah","Superskrip","Subskrip","Potong pilihan","Pilih semua","Berhenti","Mencari","Ganti dengan","Mengganti","Paste","Pilih konten untuk dipaste","sumber","tebal","miring","sikat","tautan","batalkan","ulangi","tabel","gambar","penghapus","paragraf","ukuran font","video","font","tentang","cetak","garis bawah","coret","menjorok ke dalam","menjorok ke luar","ukuran penuh","menyusut","hr","ul","ol","potong","Pilih semua","Kode embed","Buka tautan","Edit tautan","No follow","Hapus tautan","Perbarui","pensil","Mata","URL","Edit","Perataan horizontal","Filter","Urutkan berdasarkan perubahan","Urutkan berdasarkan nama","Urutkan berdasarkan ukuran","Tambah folder","Reset","Simpan","Simpan sebagai...","Ubah ukuran","Crop","Lebar","Tinggi","Jaga aspek rasio","Ya","Tidak","Copot","Pilih","Pilih %s","Rata vertikal","Bagi","Gabungkan","Tambah kolom","tambah baris","Lisensi: %s","Hapus","Bagi secara vertikal","Bagi secara horizontal","Bingkai","Kode Anda cenderung ke HTML. Biarkan sebagai HTML?","Paste sebagai HTML","Jaga","Sisipkan sebagai teks","Sisipkan hanya teks","Anda hanya dapat mengedit gambar Anda sendiri. Unduh gambar ini di host?","Gambar telah sukses diunggah ke host!","palet","Tidak ada berkas","ganti nama","Masukkan nama baru","pratinjau","Unduh","Paste dari clipboard","Browser anda tidak mendukung akses langsung ke clipboard.","Copy seleksi","copy","Border radius","Tampilkan semua","Menerapkan","Silahkan mengisi kolom ini","Silahkan masukkan alamat web","Default","Lingkaran","Dot","Kuadrat","Menemukan","Menemukan Sebelumnya","Menemukan Berikutnya","Konten dipaste dari dokumen Microsoft Word/Excel. Apakah Anda ingin tetap menjaga format atau membersihkannya?","Terdeteksi paste dari Word","Bersih","Masukkan nama kelas","Tekan Alt untuk mengubah ukuran kustom"]},51923(e){e.exports.default=["Scrivi qualcosa...","A proposito di Jodit","Jodit Editor","Guida utente di Jodit","contiene una guida dettagliata per l'uso.","Per informazioni sulla licenza, si prega di visitare il nostro sito:","Acquista la versione completa","Copyright © XDSoft.net - Chupurnov Valeriy. Alle Rechte vorbehalten.","Ancora","Apri in una nuova scheda","Apri l'editor a schermo intero","Formato chiaro","Riempi colore o lettera","Ripristina","Annulla","Grassetto","Corsivo","Inserisci lista non ordinata","Inserisci l'elenco ordinato","Allinea Centra","Allineare Giustificato","Allinea a Sinistra","Allinea a Destra","Inserisci la linea orizzontale","Inserisci immagine","Inserisci un file","Inserisci video Youtube/Vimeo","Inserisci il link","Dimensione del carattere","Tipo di font","Inserisci blocco","Normale","Heading 1","Heading 2","Heading 3","Heading 4","Citazione","Codice","Inserisci","Inserisci tabella","Riduci il rientro","Aumenta il rientro","Seleziona una funzione speciale","Inserisci un carattere speciale","Copia formato","Cambia modo","Margini","su","destra","giù","sinistra","Stili CSS","Classi CSS","Allinea","Destra","Centro","Sinistra","--Non Impostato--","Fonte","Titolo","Testo Alternativo","Link","Apri il link in una nuova scheda","Immagine","Archivio","Avanzato","Proprietà dell'immagine","Annulla","Accetta","Cerca il file","Errore durante il caricamento dell'elenco","Errore durante il caricamento delle cartelle","Sei sicuro?","Inserisci il nome della cartella","Crea cartella","Entre el nombre","Rilascia l'immagine","Rilascia file","o click","Testo alternativo","Carica","Sfoglia","Sfondo","Testo","Su","Centro","Sotto","Inserisci prima la colonna","Inserisci colonna dopo","Inserisci la riga sopra","Inserisci la riga sotto","Elimina tabella","Elimina riga","Elimina colonna","Cella vuota","Caratteri: %d","Parole: %d","Barrato","Sottolineato","indice","deponente","Taglia la selezione","Seleziona tutto","Pausa","Cerca","Sostituisci con","Sostituire","Incolla","Seleziona il contenuto da incollare","HTML","Grassetto","Corsivo","Pennello","Link","Annulla","Ripristina","Tabella","Immagine","Gomma","Paragrafo","Dimensione del carattere","Video","Font","Approposito di","Stampa","Sottolineato","Barrato","trattino","annulla rientro","A grandezza normale","comprimere","linea orizzontale","lista non ordinata","lista ordinata","Taglia","Seleziona tutto","Includi codice","Apri link","Modifica link","Non seguire","Togli link","Aggiornare","Per modificare","Recensione"," URL","Modifica","Allineamento orizzontale","Filtro","Ordina per data di modifica","Ordina per nome","Ordina per dimensione","Aggiungi cartella","Reset","Salva","Salva con nome...","Ridimensiona","Tagliare","Larghezza","Altezza","Mantenere le proporzioni","Si","No","Rimuovere","Seleziona","Seleziona: %s","Allineamento verticala","Dividere","Fondi","Aggiungi colonna","Aggiungi riga",null,"Cancella","Dividere verticalmente","Diviso orizzontale","Bordo","Il codice è simile all'HTML. Mantieni come HTML?","Incolla come HTML?","Mantieni","Inserisci come testo","Inserisci solo il testo","Puoi modificare solo le tue immagini. Scarica questa immagine sul server?","L'immagine è stata caricata con successo sul server!","tavolozza","Non ci sono file in questa directory.","ungherese","Inserisci un nuovo nome","anteprima","Scaricare","Incolla dagli appunti","Il tuo browser non supporta l'accesso diretto agli appunti.","Selezione di copia","copia","Border radius","Mostra tutti","Applicare","Si prega di compilare questo campo","Si prega di inserire un indirizzo web","Di Default","Cerchio","Dot","Quadrate","Trovare","Trova Precedente","Trova Successivo","Il contenuto incollato proviene da un documento Microsoft Word / Excel. Vuoi mantenere il formato o pulirlo?","Incollato da Word rilevato","Pulisci","Inserisci il nome della classe","Premere Alt per il ridimensionamento personalizzato"]},21268(e){e.exports.default=["なにかタイプしてください","Joditについて","Jodit Editor","Jodit ユーザーズ・ガイド","詳しい使い方","ライセンス詳細についてはJodit Webサイトを確認ください:","フルバージョンを購入","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","新しいタブで開く","エディターのサイズ(フル/ノーマル)","書式をクリア","テキストの色","やり直し","元に戻す","太字","斜体","箇条書き","番号付きリスト","中央揃え","両端揃え","左揃え","右揃え","区切り線を挿入","画像を挿入","ファイルを挿入","Youtube/Vimeo 動画","リンクを挿入","フォントサイズ","フォント","テキストのスタイル","指定なし","タイトル1","タイトル2","タイトル3","タイトル4","引用","コード","挿入","表を挿入","インデント減","インデント増","特殊文字を選択","特殊文字を挿入","書式を貼付け","編集モード切替え","マージン","上","右","下","左","スタイル","クラス","配置","右寄せ","中央寄せ","左寄せ","指定なし","ソース","タイトル","代替テキスト","リンク","新しいタブで開く","画像","ファイル","高度な設定","画像のプロパティー","キャンセル","確定","File Browser","Error on load list","Error on load folders","Are you sure?","Enter Directory name","Create directory","type name","ここに画像をドロップ","ここにファイルをドロップ","or クリック","代替テキスト","アップロード","ブラウズ","背景","文字","上","中央","下","左に列を挿入","右に列を挿入","上に行を挿入","下に行を挿入","表を削除","行を削除","列を削除","セルを空にする","文字数: %d","単語数: %d","取り消し線","下線","上付き文字","下付き文字","切り取り","すべて選択","Pause","検索","置換","交換","貼付け","選択した内容を貼付け","source","bold","italic","brush","link","undo","redo","table","image","eraser","paragraph","fontsize","video","font","about","print","underline","strikethrough","indent","outdent","fullsize","shrink","分割線","箇条書き","番号付きリスト","切り取り","すべて選択","埋め込みコード","リンクを開く","リンクを編集","No follow","リンク解除","更新","鉛筆","サイトを確認","URL","編集","水平方向の配置","Filter","Sort by changed","Sort by name","Sort by size","Add folder","リセット","保存","Save as ...","リサイズ","Crop","幅","高さ","縦横比を保持","はい","いいえ","移除","選択","選択: %s","垂直方向の配置","分割","セルの結合","列を追加","行を追加",null,"削除","セルの分割(垂直方向)","セルの分割(水平方向)","境界線","HTMLコードを保持しますか?","HTMLで貼付け","HTMLを保持","HTMLをテキストにする","テキストだけ","You can only edit your own images. Download this image on the host?","The image has been successfully uploaded to the host!","パレット","There are no files","Rename","Enter new name","プレビュー","ダウンロード","貼り付け","お使いのブラウザはクリップボードを使用できません","コピー","copy","角の丸み","全て表示","適用","まだこの分野","を入力してくださいウェブアドレス","デフォルト","白丸","黒丸","四角","見","探前","由来","The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected","Clean","クラス名を挿入","カスタムサイズ変更のためのAltキーを押します"]},11399(e){e.exports.default=["Type something","About Jodit","Jodit Editor","Jodit User's Guide","contains detailed help for using","For information about the license, please go to our website:","Buy full version","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","Open in new tab","Open in fullsize","Clear Formatting","Fill color or set the text color","Redo","Undo","Bold","Italic","Insert Unordered List","Insert Ordered List","Align Center","Align Justify","Align Left","Align Right","Insert Horizontal Line","Insert Image","Insert file","Insert youtube/vimeo video","Insert link","Font size","Font family","Insert format block","Normal","Heading 1","Heading 2","Heading 3","Heading 4","Quote","Code","Insert","Insert table","Decrease Indent","Increase Indent","Select Special Character","Insert Special Character","Paint format","Change mode","Margins","top","right","bottom","left","Styles","Classes","Align","Right","Center","Left","--Not Set--","Src","Title","Alternative","Link","Open link in new tab","Image","file","Advanced","Image properties","Cancel","Ok","File Browser","Error on load list","Error on load folders","Are you sure?","Enter Directory name","Create directory","type name","Drop image","Drop file","or click","Alternative text","Upload","Browse","Background","Text","Top","Middle","Bottom","Insert column before","Insert column after","Insert row above","Insert row below","Delete table","Delete row","Delete column","Empty cell","Chars: %d","Words: %d","Strike through","Underline","superscript","subscript","Cut selection","Select all","Break","Search for","Replace with","Replace","Paste","Choose Content to Paste","source","bold","italic","brush","link","undo","redo","table","image","eraser","paragraph","fontsize","video","font","about","print","underline","strikethrough","indent","outdent","fullsize","shrink","hr","ul","ol","cut","selectall","Embed code","Open link","Edit link","No follow","Unlink","Update","pencil","Eye"," URL","Edit","Horizontal align","Filter","Sort by changed","Sort by name","Sort by size","Add folder","Reset","Save","Save as ...","Resize","Crop","Width","Height","Keep Aspect Ratio","Yes","No","Remove","Select","Select %s","Vertical align","Split","Merge","Add column","Add row","License: %s","Delete","Split vertical","Split horizontal","Border","Your code is similar to HTML. Keep as HTML?","Paste as HTML","Keep","Insert as Text","Insert only Text","You can only edit your own images. Download this image on the host?","The image has been successfully uploaded to the host!","palette","There are no files","Rename","Enter new name","preview","download","Paste from clipboard","Your browser doesn't support direct access to the clipboard.","Copy selection","copy","Border radius","Show all","Apply","Please fill out this field","Please enter a web address","Default","Circle","Dot","Quadrate","Find","Find Previous","Find Next","The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected","Clean","Insert className","Press Alt for custom resizing"]},37289(e){e.exports.default=["무엇이든 입력하세요","Jodit에 대하여","Jodit Editor","Jodit 사용자 안내서","자세한 도움말이 들어있어요","라이센스에 관해서는 Jodit 웹 사이트를 방문해주세요:","풀 버전 구입하기","© XDSoft.net - Chupurnov Valeriy. 에게 저작권과 모든 권리가 있습니다.","Anchor","새 탭에서 열기","전체 크기로 보기","서식 지우기","글씨 색상","재실행","실행 취소","굵게","기울임","글머리 목록","번호 목록","가운데 정렬","양쪽 정렬","왼쪽 정렬","오른쪽 정렬","수평 구분선 넣기","이미지 넣기","파일 넣기","Youtube/Vimeo 동영상","링크 넣기","글꼴 크기","글꼴","블록 요소 넣기","일반 텍스트","제목 1","제목 2","제목 3","제목 4","인용","코드","붙여 넣기","테이블","들여쓰기 감소","들여쓰기 증가","특수문자 선택","특수문자 입력","페인트 형식","편집모드 변경","마진","위","오른쪽","아래","왼쪽","스타일","클래스","정렬","오른쪽으로","가운데로","왼쪽으로","--지정 안 함--","경로(src)","제목","대체 텍스트(alt)","링크","새 탭에서 열기",null,"파일","고급","이미지 속성","취소","확인","파일 탐색기","목록 불러오기 에러","폴더 불러오기","정말 진행할까요?","디렉토리 이름 입력","디렉토리 생성","이름 입력","이미지 드래그","파일 드래그","혹은 클릭","대체 텍스트","업로드","탐색","배경","텍스트","위","중앙","아래","이전 열에 삽입","다음 열에 삽입","위 행에 삽입","아래 행에 삽입","테이블 삭제","행 삭제","열 삭제","빈 셀","문자수: %d","단어수: %d","취소선","밑줄","윗첨자","아래첨자","선택 잘라내기","모두 선택","구분자","검색","대체하기","대체","붙여넣기","붙여넣을 내용 선택","HTML 소스","볼드","이탤릭","브러시","링크","실행 취소","재실행","테이블","이미지","지우개","문단","글꼴 크기","비디오","글꼴","편집기 정보","프린트","밑줄","취소선","들여쓰기","내어쓰기","전체 화면","일반 화면","구분선","글머리 목록","번호 목록","잘라내기","모두 선택","Embed 코드","링크 열기","링크 편집","No follow","링크 제거","갱신","연필","사이트 확인","URL","편집","수평 정렬","필터","변경일 정렬","이름 정렬","크기 정렬","새 폴더","초기화","저장","새로 저장하기 ...","리사이즈","크롭","가로 길이","세로 높이","비율 유지하기","네","아니오","제거","선택","선택: %s","수직 정렬","분할","셀 병합","열 추가","행 추가","라이센스: %s","삭제","세로 셀 분할","가로 셀 분할","외곽선","HTML 코드로 감지했어요. 코드인채로 붙여넣을까요?","HTML로 붙여넣기","원본 유지","텍스트로 넣기","텍스트만 넣기","외부 이미지는 편집할 수 없어요. 외부 이미지를 다운로드 할까요?","이미지를 무사히 업로드 했어요!","팔레트","파일이 없어요","이름 변경","새 이름 입력","미리보기","다운로드","클립보드 붙여넣기","사용중인 브라우저가 클립보드 접근을 지원하지 않아요.","선택 복사","복사","둥근 테두리","모두 보기","적용","이 항목을 입력해주세요!","웹 URL을 입력해주세요.","기본","원","점","정사각형","찾기","이전 찾기","다음 찾기","Microsoft Word/Excel 문서로 감지했어요. 서식을 유지한채로 붙여넣을까요?","Word 붙여넣기 감지","지우기","className 입력","사용자 지정 크기 조정에 대 한 고도 누르십시오"]},17084(e){e.exports.default=["Begin met typen..","Over Jodit","Jodit Editor","Jodit gebruikershandleiding","bevat gedetailleerde informatie voor gebruik.","Voor informatie over de licentie, ga naar onze website:","Volledige versie kopen","Copyright © XDSoft.net - Chupurnov Valeriy. Alle rechten voorbehouden.","Anker","Open in nieuwe tab","Editor in volledig scherm openen","Opmaak verwijderen","Vulkleur of tekstkleur aanpassen","Opnieuw","Ongedaan maken","Vet","Cursief","Geordende list invoegen","Ongeordende lijst invoegen","Centreren","Uitlijnen op volledige breedte","Links uitlijnen","Rechts uitlijnen","Horizontale lijn invoegen","Afbeelding invoegen","Bestand invoegen","Youtube/Vimeo video invoegen","Link toevoegen","Tekstgrootte","Lettertype","Format blok invoegen","Normaal","Koptekst 1","Koptekst 2","Koptekst 3","Koptekst 4","Citaat","Code","Invoegen","Tabel invoegen","Inspringing verkleinen","Inspringing vergroten","Symbool selecteren","Symbool invoegen","Opmaak kopieren","Modus veranderen","Marges","Boven","Rechts","Onder","Links","CSS styles","CSS classes","Uitlijning","Rechts","Gecentreerd","Links","--Leeg--","Src","Titel","Alternatieve tekst","Link","Link in nieuwe tab openen","Afbeelding","Bestand","Geavanceerd","Afbeeldingseigenschappen","Annuleren","OK","Bestandsbrowser","Fout bij het laden van de lijst","Fout bij het laden van de mappenlijst","Weet je het zeker?","Geef de map een naam","Map aanmaken","Type naam","Sleep hier een afbeelding naartoe","Sleep hier een bestand naartoe","of klik","Alternatieve tekst","Uploaden","Bladeren","Achtergrond","Tekst","Boven","Midden","Onder","Kolom invoegen (voor)","Kolom invoegen (na)","Rij invoegen (boven)","Rij invoegen (onder)","Tabel verwijderen","Rij verwijderen","Kolom verwijderen","Cel leegmaken","Tekens: %d","Woorden: %d","Doorstrepen","Onderstrepen","Superscript","Subscript","Selectie knippen","Selecteer alles","Enter","Zoek naar","Vervangen door","Vervangen","Plakken","Kies content om te plakken","Broncode","vet","cursief","kwast","link","ongedaan maken","opnieuw","tabel","afbeelding","gum","paragraaf","lettergrootte","video","lettertype","over","afdrukken","onderstreept","doorgestreept","inspringen","minder inspringen","volledige grootte","kleiner maken","horizontale lijn","lijst","genummerde lijst","knip","alles selecteren","Embed code","link openen","link aanpassen","niet volgen","link verwijderen","Updaten","Om te bewerken","Recensie"," URL","Bewerken","Horizontaal uitlijnen","Filteren","Sorteren op wijzigingsdatum","Sorteren op naam","Sorteren op grootte","Map toevoegen","Herstellen","Opslaan","Opslaan als ...","Grootte aanpassen","Bijknippen","Breedte","Hoogte","Verhouding behouden","Ja","Nee","Verwijderen","Selecteren","Selecteer: %s","Verticaal uitlijnen","Splitsen","Samenvoegen","Kolom toevoegen","Rij toevoegen",null,"Verwijderen","Verticaal splitsen","Horizontaal splitsen","Rand","Deze code lijkt op HTML. Als HTML behouden?","Invoegen als HTML","Origineel behouden","Als tekst invoegen","Als onopgemaakte tekst invoegen","Je kunt alleen je eigen afbeeldingen aanpassen. Deze afbeelding downloaden?","De afbeelding is succesvol geüploadet!","Palette","Er zijn geen bestanden in deze map.","Hongaars","Voer een nieuwe naam in","voorvertoning","Download","Plakken van klembord","Uw browser ondersteunt geen directe toegang tot het klembord.","Selectie kopiëren","kopiëren","Border radius","Toon alle","Toepassing","Vul dit veld","Voer een webadres","Standaard","Cirkel","Dot","Quadrate","Zoeken","Vorige Zoeken","Volgende Zoeken","De geplakte tekst is afkomstig van een Microsoft Word/Excel document. Wil je de opmaak behouden of opschonen?","Word-tekst gedetecteerd","Opschonen","Voeg de klassenaam in","Druk op Alt voor aangepaste grootte"]},96891(e){e.exports.default=["Napisz coś","O Jodit","Edytor Jodit","Instrukcja Jodit","zawiera szczegółowe informacje dotyczące użytkowania.","Odwiedź naszą stronę, aby uzyskać więcej informacji na temat licencji:","Zakup pełnej wersji","Copyright © XDSoft.net - Chupurnov Valeriy. Wszystkie prawa zastrzeżone.","Kotwica","Otwórz w nowej zakładce","Otwórz edytor w pełnym rozmiarze","Wyczyść formatowanie","Kolor wypełnienia lub ustaw kolor tekstu","Ponów","Cofnij","Pogrubienie","Kursywa","Wstaw listę wypunktowaną","Wstaw listę numeryczną","Wyśrodkuj","Wyjustuj","Wyrównaj do lewej","Wyrównaj do prawej","Wstaw linię poziomą","Wstaw grafikę","Wstaw plik","Wstaw film Youtube/vimeo","Wstaw link","Rozmiar tekstu","Krój czcionki","Wstaw formatowanie","Normalne","Nagłówek 1","Nagłówek 2","Nagłówek 3","Nagłówek 4","Cytat","Kod","Wstaw","Wstaw tabelę","Zmniejsz wcięcie","Zwiększ wcięcie","Wybierz znak specjalny","Wstaw znak specjalny","Malarz formatów","Zmień tryb","Marginesy","Górny","Prawy","Dolny","Levy","Style CSS","Klasy CSS","Wyrównanie","Prawa","środek","Lewa","brak","Źródło","Tytuł","Tekst alternatywny","Link","Otwórz w nowej zakładce","Grafika","Plik","Zaawansowane","Właściwości grafiki","Anuluj","OK","Przeglądarka plików","Błąd ładowania listy plików","Błąd ładowania folderów","Czy jesteś pewien?","Wprowadź nazwę folderu","Utwórz folder","wprowadź nazwę","Upuść plik graficzny","Upuść plik","lub kliknij tu","Tekst alternatywny","Wczytaj","Przeglądaj","Tło","Treść","Góra","Środek","Dół","Wstaw kolumnę przed","Wstaw kolumnę po","Wstaw wiersz przed","Wstaw wiersz po","Usuń tabelę","Usuń wiersz","Usuń kolumnę","Wyczyść komórkę","Znaki: %d","Słowa: %d","Przekreślenie","Podkreślenie","indeks górny","index dolny","Wytnij zaznaczenie","Wybierz wszystko","Przerwa","Szukaj","Zamień na","Wymienić","Wklej","Wybierz zawartość do wklejenia","HTML","pogrubienie","kursywa","pędzel","link","cofnij","ponów","tabela","grafika","wyczyść","akapit","rozmiar czcionki","wideo","czcionka","O programie","drukuj","podkreślenie","przekreślenie","wcięcie","wycięcie","pełen rozmiar","przytnij","linia pozioma","lista","lista numerowana","wytnij","zaznacz wszystko","Wstaw kod","otwórz link","edytuj link","Atrybut no-follow","Usuń link","Aktualizuj","edytuj","szukaj","URL","Edytuj","Wyrównywanie w poziomie","Filtruj","Sortuj wg zmiany","Sortuj wg nazwy","Sortuj wg rozmiaru","Dodaj folder","wyczyść","zapisz","zapisz jako","Zmień rozmiar","Przytnij","Szerokość","Wysokość","Zachowaj proporcje","Tak","Nie","Usuń","Wybierz","Wybierz: %s","Wyrównywanie w pionie","Podziel","Scal","Dodaj kolumnę","Dodaj wiersz",null,"Usuń","Podziel w pionie","Podziel w poziomie","Obramowanie","Twój kod wygląda jak HTML. Zachować HTML?","Wkleić jako HTML?","Oryginalny tekst","Wstaw jako tekst","Wstaw tylko treść","Możesz edytować tylko swoje grafiki. Czy chcesz pobrać tą grafikę?","Grafika została pomyślnienie dodana na serwer","Paleta","Brak plików.","zmień nazwę","Wprowadź nową nazwę","podgląd","pobierz","Wklej ze schowka","Twoja przeglądarka nie obsługuje schowka","Kopiuj zaznaczenie","kopiuj","Zaokrąglenie krawędzi","Pokaż wszystkie","Zastosuj","Proszę wypełnić to pole","Proszę, wpisz adres sieci web","Domyślnie","Koło","Punkt","Kwadrat","Znaleźć","Znaleźć Poprzednie","Znajdź Dalej","Wklejany tekst pochodzi z dokumentu Microsoft Word/Excel. Chcesz zachować ten format czy wyczyścić go? ","Wykryto tekst w formacie Word","Wyczyść","Wstaw nazwę zajęć","Naciśnij Alt, aby zmienić rozmiar"]},31211(e){e.exports.default=["Escreva algo...","Sobre o Jodit","Editor Jodit","Guia de usuário Jodit","contém ajuda detalhada para o uso.","Para informação sobre a licença, por favor visite nosso site:","Compre a versão completa","Copyright © XDSoft.net - Chupurnov Valeriy. Todos os direitos reservados.","Link","Abrir em nova aba","Abrir editor em tela cheia","Limpar formatação","Cor de preenchimento ou cor do texto","Refazer","Desfazer","Negrito","Itálico","Inserir lista não ordenada","Inserir lista ordenada","Centralizar","Justificar","Alinhar à Esquerda","Alinhar à Direita","Inserir linha horizontal","Inserir imagem","Inserir arquivo","Inserir vídeo do Youtube/vimeo","Inserir link","Tamanho da letra","Fonte","Inserir bloco","Normal","Cabeçalho 1","Cabeçalho 2","Cabeçalho 3","Cabeçalho 4","Citação","Código","Inserir","Inserir tabela","Diminuir recuo","Aumentar recuo","Selecionar caractere especial","Inserir caractere especial","Copiar formato","Mudar modo","Margens","cima","direta","baixo","esquerda","Estilos CSS","Classes CSS","Alinhamento","Direita","Centro","Esquerda","--Não Estabelecido--","Fonte","Título","Texto Alternativo","Link","Abrir link em nova aba","Imagem","Arquivo","Avançado","Propriedades da imagem","Cancelar","Ok","Procurar arquivo","Erro ao carregar a lista","Erro ao carregar as pastas","Você tem certeza?","Escreva o nome da pasta","Criar pasta","Escreva seu nome","Soltar imagem","Soltar arquivo","ou clique","Texto alternativo","Upload","Explorar","Fundo","Texto","Cima","Meio","Baixo","Inserir coluna antes","Inserir coluna depois","Inserir linha acima","Inserir linha abaixo","Excluir tabela","Excluir linha","Excluir coluna","Limpar célula","Caracteres: %d","Palavras: %d","Tachado","Sublinhar","sobrescrito","subscrito","Cortar seleção","Selecionar tudo","Pausa","Procurar por","Substituir com","Substituir","Colar","Escolher conteúdo para colar","HTML","negrito","itálico","pincel","link","desfazer","refazer","tabela","imagem","apagar","parágrafo","tamanho da letra","vídeo","fonte","Sobre de","Imprimir","sublinhar","tachado","recuar","diminuir recuo","Tamanho completo","diminuir","linha horizontal","lista não ordenada","lista ordenada","Cortar","Selecionar tudo","Incluir código","Abrir link","Editar link","Não siga","Remover link","Atualizar","Editar","Visualizar","URL","Editar","Alinhamento horizontal","filtrar","Ordenar por modificação","Ordenar por nome","Ordenar por tamanho","Adicionar pasta","Resetar","Salvar","Salvar como...","Redimensionar","Recortar","Largura","Altura","Manter a proporção","Sim","Não","Remover","Selecionar","Selecionar: %s","Alinhamento vertical","Dividir","Mesclar","Adicionar coluna","Adicionar linha",null,"Excluir","Dividir vertical","Dividir horizontal","Borda","Seu código é similar ao HTML. Manter como HTML?","Colar como HTML?","Manter","Inserir como Texto","Inserir somente o Texto","Você só pode editar suas próprias imagens. Baixar essa imagem pro servidor?","A imagem foi enviada com sucesso para o servidor!","Palette","Não há arquivos nesse diretório.","Húngara","Digite um novo nome","preview","Baixar","Colar da área de transferência","O seu navegador não oferece suporte a acesso direto para a área de transferência.","Selecção de cópia","cópia","Border radius","Mostrar todos os","Aplicar","Por favor, preencha este campo","Por favor introduza um endereço web","Padrão","Círculo","Ponto","Quadro","Encontrar","Encontrar Anteriores","Localizar Próxima","O conteúdo colado veio de um documento Microsoft Word/Excel. Você deseja manter o formato ou limpa-lo?","Colado do Word Detectado","Limpar","Insira o nome da classe","Pressione Alt para redimensionamento personalizado"]},31109(e){e.exports.default=["Напишите что-либо","О Jodit","Редактор Jodit","Jodit Руководство пользователя","содержит детальную информацию по использованию","Для получения сведений о лицензии , пожалуйста, перейдите на наш сайт:","Купить полную версию","Авторские права © XDSoft.net - Чупурнов Валерий. Все права защищены.","Анкор","Открывать ссылку в новой вкладке","Открыть редактор в полном размере","Очистить форматирование","Цвет заливки или цвет текста","Повтор","Отмена","Жирный","Наклонный","Вставка маркированного списка","Вставить нумерованный список","Выровнять по центру","Выровнять по ширине","Выровнять по левому краю","Выровнять по правому краю","Вставить горизонтальную линию","Вставить изображение","Вставить файл","Вставьте видео","Вставить ссылку","Размер шрифта","Шрифт","Вставить блочный элемент","Нормальный текст","Заголовок 1","Заголовок 2","Заголовок 3","Заголовок 4","Цитата","Код","Вставить","Вставить таблицу","Уменьшить отступ","Увеличить отступ","Выберите специальный символ","Вставить специальный символ","Формат краски","Источник","Отступы","сверху","справа","снизу","слева","Стили","Классы","Выравнивание","По правому краю","По центру","По левому краю","--не устанавливать--","src","Заголовок","Альтернативный текст (alt)","Ссылка","Открывать ссылку в новом окне",null,"Файл","Расширенные","Свойства изображения","Отмена","Ок","Браузер файлов","Ошибка при загрузке списка изображений","Ошибка при загрузке списка директорий","Вы уверены?","Введите название директории","Создать директорию","введите название","Перетащите сюда изображение","Перетащите сюда файл","или нажмите","Альтернативный текст","Загрузка","Сервер","Фон","Текст"," К верху","По середине","К низу","Вставить столбец до","Вставить столбец после","Вставить ряд выше","Вставить ряд ниже","Удалить таблицу","Удалять ряд","Удалить столбец","Очистить ячейку","Символов: %d","Слов: %d","Перечеркнуть","Подчеркивание","верхний индекс","индекс","Вырезать","Выделить все","Разделитель","Найти","Заменить на","Заменить","Вставить","Выбрать контент для вставки","HTML","жирный","курсив","заливка","ссылка","отменить","повторить","таблица","Изображение","очистить","параграф","размер шрифта","видео","шрифт","о редакторе","печать","подчеркнутый","перечеркнутый","отступ","выступ","во весь экран","обычный размер","линия","Список","Нумерованный список","Вырезать","Выделить все","Код","Открыть ссылку","Редактировать ссылку","Атрибут nofollow","Убрать ссылку","Обновить","Редактировать","Просмотр","URL","Редактировать","Горизонтальное выравнивание","Фильтр","По изменению","По имени","По размеру","Добавить папку","Восстановить","Сохранить","Сохранить как","Изменить размер","Обрезать размер","Ширина","Высота","Сохранять пропорции","Да","Нет","Удалить","Выделить","Выделить: %s","Вертикальное выравнивание","Разделить","Объединить в одну","Добавить столбец","Добавить строку","Лицензия: %s","Удалить","Разделить по вертикали","Разделить по горизонтали","Рамка","Ваш текст, который вы пытаетесь вставить похож на HTML. Вставить его как HTML?","Вставить как HTML?","Сохранить оригинал","Вставить как текст","Вставить только текст","Вы можете редактировать только свои собственные изображения. Загрузить это изображение на ваш сервер?","Изображение успешно загружено на сервер!","палитра","В данном каталоге нет файлов","Переименовать","Введите новое имя","Предпросмотр","Скачать","Вставить из буфера обмена","Ваш браузер не поддерживает прямой доступ к буферу обмена.","Скопировать выделенное","копия","Радиус границы","Показать все","Применить","Пожалуйста, заполните это поле","Пожалуйста, введите веб-адрес","По умолчанию","Круг","Точка","Квадрат","Найти","Найти Предыдущие","Найти Далее","Контент который вы вставляете поступает из документа Microsoft Word / Excel. Вы хотите сохранить формат или очистить его?","Возможно это фрагмент Word или Excel","Почистить","Вставить название класса","Нажмите Alt для изменения пользовательского размера"]},79375(e){e.exports.default=["Bir şeyler yaz","Jodit Hakkında","Jodit Editor","Jodit Kullanım Kılavuzu","kullanım için detaylı bilgiler içerir","Lisans hakkında bilgi için lütfen web sitemize gidin:","Tam versiyonunu satın al","Copyright © XDSoft.net - Chupurnov Valeriy. Tüm hakları saklıdır.","Bağlantı","Yeni sekmede aç","Editörü tam ekranda aç","Stili temizle","Renk doldur veya yazı rengi seç","Yinele","Geri Al","Kalın","İtalik","Sırasız Liste Ekle","Sıralı Liste Ekle","Ortala","Kenarlara Yasla","Sola Yasla","Sağa Yasla","Yatay Çizgi Ekle","Resim Ekle","Dosya Ekle","Youtube/Vimeo Videosu Ekle","Bağlantı Ekle","Font Boyutu","Font Ailesi","Blok Ekle","Normal","Başlık 1","Başlık 2","Başlık 3","Başlık 4","Alıntı","Kod","Ekle","Tablo Ekle","Girintiyi Azalt","Girintiyi Arttır","Özel Karakter Seç","Özel Karakter Ekle","Resim Biçimi","Mod Değiştir","Boşluklar","Üst","Sağ","Alt","Sol","CSS Stilleri","CSS Sınıfları","Hizalama","Sağ","Ortalı","Sol","Belirsiz","Kaynak","Başlık","Alternatif Yazı","Link","Bağlantıyı yeni sekmede aç","Resim","Dosya","Gelişmiş","Resim özellikleri","İptal","Tamam","Dosya Listeleyici","Liste yüklenirken hata oluştu","Klasörler yüklenirken hata oluştur","Emin misiniz?","Dizin yolu giriniz","Dizin oluştur","İsim yaz","Resim bırak","Dosya bırak","veya tıkla","Alternatif yazı","Yükle","Gözat","Arka plan","Yazı","Üst","Orta","Aşağı","Öncesine kolon ekle","Sonrasına kolon ekle","Üstüne satır ekle","Altına satır ekle","Tabloyu sil","Satırı sil","Kolonu sil","Hücreyi temizle","Harfler: %d","Kelimeler: %d","Üstü çizili","Alt çizgi","Üst yazı","Alt yazı","Seçilimi kes","Tümünü seç","Satır sonu","Ara","Şununla değiştir","Değiştir","Yapıştır","Yapıştırılacak içerik seç","Kaynak","Kalın","italik","Fırça","Bağlantı","Geri al","Yinele","Tablo","Resim","Silgi","Paragraf","Font boyutu","Video","Font","Hakkında","Yazdır","Alt çizgi","Üstü çizili","Girinti","Çıkıntı","Tam ekran","Küçült","Ayraç","Sırasız liste","Sıralı liste","Kes","Tümünü seç","Kod ekle","Bağlantıyı aç","Bağlantıyı düzenle","Nofollow özelliği","Bağlantıyı kaldır","Güncelle","Düzenlemek için","Yorumu","URL","Düzenle","Yatay hizala","Filtre","Değişime göre sırala","İsme göre sırala","Boyuta göre sırala","Klasör ekle","Sıfırla","Kaydet","Farklı kaydet","Boyutlandır","Kırp","Genişlik","Yükseklik","En boy oranını koru","Evet","Hayır","Sil","Seç","Seç: %s","Dikey hizala","Ayır","Birleştir","Kolon ekle","Satır ekle",null,"Sil","Dikey ayır","Yatay ayır","Kenarlık","Kodunuz HTML koduna benziyor. HTML olarak devam etmek ister misiniz?","HTML olarak yapıştır","Sakla","Yazı olarak ekle","Sadece yazıyı ekle","Sadece kendi resimlerinizi düzenleyebilirsiniz. Bu görseli kendi hostunuza indirmek ister misiniz?","Görsel başarıyla hostunuza yüklendi","Palet","Bu dizinde dosya yok","Yeniden isimlendir","Yeni isim girin","Ön izleme","İndir","Panodan yapıştır ","Tarayıcınız panoya doğrudan erişimi desteklemiyor.","Seçimi kopyala","Kopyala","Sınır yarıçapı","Tümünü Göster","Uygula","Lütfen bu alanı doldurun","Lütfen bir web adresi girin","Varsayılan","Daire","Nokta","Kare","Bul","Öncekini Bul","Sonrakini Bul","Der Inhalt, den Sie einfügen, stammt aus einem Microsoft Word / Excel-Dokument. Möchten Sie das Format erhalten oder löschen?","Word biçiminde yapıştırma algılandı","Temizle","Sınıf adı girin","Özel yeniden boyutlandırma için Alt tuşuna basın"]},21042(e){e.exports.default=["输入一些内容","关于Jodit","Jodit Editor","开发者指南","使用帮助","有关许可证的信息,请访问我们的网站:","购买完整版本","Copyright © XDSoft.net - Chupurnov Valeriy. 版权所有","Anchor","在新窗口打开","全屏编辑","清除样式","颜色","重做","撤销","粗体","斜体","符号列表","编号","居中","对齐文本","左对齐","右对齐","分割线","图片","文件","视频","链接","字号","字体","格式块","默认","标题1","标题2","标题3","标题4","引用","代码","插入","表格","减少缩进","增加缩进","选择特殊符号","特殊符号","格式复制","改变模式","外边距(Margins)","top","right","bottom","left","样式","Classes","对齐方式","居右","居中","居左","无","Src","Title","Alternative","Link","在新窗口打开链接","图片","file","高级","图片属性","取消","确定","文件管理","加载list错误","加载folders错误","你确定吗?","输入路径","创建路径","type name","拖动图片到此","拖动文件到此","或点击","Alternative text","上传","浏览","背景色","文字","顶部","中间","底部","在之前插入列","在之后插入列","在之前插入行","在之后插入行","删除表格","删除行","删除列","清除内容","字符数: %d","单词数: %d","删除线","下划线","上标","下标","剪切","全选","Break","查找","替换为","替换","粘贴","选择内容并粘贴","源码","粗体","斜体","颜色","链接","撤销","重做","表格","图片","橡皮擦","段落","字号","视频","字体","关于","打印","下划线","上出现","增加缩进","减少缩进","全屏","收缩","分割线","无序列表","顺序列表","剪切","全选","嵌入代码","打开链接","编辑链接","No follow","取消链接","更新","铅笔","预览","URL","编辑","水平对齐","筛选","修改时间排序","名称排序","大小排序","新建文件夹","重置","保存","保存为","调整大小","剪切","宽","高","保持长宽比","是","不","移除","选择","选择: %s","垂直对齐","拆分","合并","添加列","添加行",null,"删除","垂直拆分","水平拆分","边框","你粘贴的文本是一段html代码,是否保留源格式","html粘贴","保留源格式","把html代码视为普通文本","只保留文本","你只能编辑你自己的图片。Download this image on the host?","图片上传成功","调色板","此目录中沒有文件。","重命名","输入新名称","预览","下载","粘贴从剪贴板","你浏览器不支持直接访问的剪贴板。","复制选中内容","复制","边界半径","显示所有","应用","请填写这个字段","请输入一个网址","默认","圆圈","点","方形","搜索","查找上一个","查找下一个","正在粘贴 Word/Excel 的文本,是否保留源格式?","文本粘贴","匹配目标格式","插入班级名称","按Alt自定义调整大小"]},73895(e){e.exports.default=["輸入一些內容","關於Jodit","Jodit Editor","開發者指南","使用幫助","有關許可證的信息,請訪問我們的網站:","購買完整版本","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","在新窗口打開","全屏編輯","清除樣式","顏色","重做","撤銷","粗體","斜體","符號列表","編號","居中","對齊文本","左對齊","右對齊","分割線","圖片","文件","youtube/vimeo 影片","鏈接","字號","字體","格式塊","文本","標題1","標題2","標題3","標題4","引用","代碼","插入","表格","減少縮進","增加縮進","選擇特殊符號","特殊符號","格式複製","改變模式","外邊距(Margins)","top","right","bottom","left","樣式","Classes","對齊方式","居右","居中","居左","無","Src","Title","替代","Link","在新窗口打開鏈接","圖片","file","高級","圖片屬性","取消","確定","文件管理","加載list錯誤","加載folders錯誤","你確定嗎?","輸入路徑","創建路徑","type name","拖動圖片到此","拖動文件到此","或點擊","替代文字","上傳","瀏覽","背景色","文字","頂部","中間","底部","在之前插入列","在之後插入列","在之前插入行","在之後插入行","刪除表格","刪除行","刪除列","清除內容","字符數: %d","單詞數: %d","刪除線","下劃線","上標","下標","剪切","全選","Pause","查找","替換為","แทนที่","黏貼","選擇內容並黏貼","源碼","粗體","斜體","顏色","鏈接","撤銷","重做","表格","圖片","橡皮擦","段落","字號","影片","字體","關於","打印","下劃線","上出現","增加縮進","減少縮進","全屏","收縮","分割線","無序列表","順序列表","剪切","全選","嵌入代碼","打開鏈接","編輯鏈接","No follow","取消連結","更新","鉛筆","回顧","URL",null,"水平對齊","篩選","修改時間排序","名稱排序","大小排序","新建文件夾","重置","保存","保存為","調整大小","Crop","寬","高","保存長寬比","是","不","移除","選擇","選擇: %s","垂直對齊","拆分","合併","添加列","添加行",null,"刪除","垂直拆分","水平拆分","邊框","你黏貼的文本是一段html代碼,是否保留源格式","html黏貼","保留源格式","把html代碼視為普通文本","只保留文本","你只能編輯你自己的圖片。是否下載此圖片到本地?","圖片上傳成功","調色板","此目錄中沒有文件。","重命名","輸入新名稱","預覽","下載","從剪貼板貼上","瀏覽器無法存取剪贴板。","複製已選取項目","複製","邊框圓角","顯示所有","應用","ได้โปรดกรอกช่องข้อมูลนี้","โปรดเติมที่อยู่บนเว็บ","ค่าปริยาย","วงกลม","จุด","Quadrate","ค้นหา","ค้นหาก่อนหน้านี้","ค้นหาถัดไป","正在黏貼 Word/Excel 的文本,是否保留源格式?","文本黏貼","匹配目標格式","ใส่ชื่อคลาส","กดอัลท์สำหรับการปรับขนาดที่กำหนดเอง"]},3610(e){e.exports=' '},56170(e){e.exports=' '},95331(e){e.exports=' '},84279(e){e.exports=' '},11257(e){e.exports=' '},25141(e){e.exports=' '},24557(e){e.exports=' '},10859(e){e.exports=' '},9813(e){e.exports=' '},93395(e){e.exports=' '},98213(e){e.exports=' '},20026(e){e.exports=' '},66911(e){e.exports=' '},50018(e){e.exports=' '},99738(e){e.exports=' '},9185(e){e.exports=' '},8619(e){e.exports=' '},73894(e){e.exports=' '},83301(e){e.exports=' '},84142(e){e.exports=' '},57292(e){e.exports=' '},18019(e){e.exports=''},45146(e){e.exports=' '},53576(e){e.exports=' '},14655(e){e.exports=' '},53477(e){e.exports=' '},90053(e){e.exports=' '},72230(e){e.exports=' '},78321(e){e.exports=' '},77654(e){e.exports=' '},43371(e){e.exports=' '},44563(e){e.exports=' '},53183(e){e.exports=' '},6102(e){e.exports=' '},52242(e){e.exports=' '},87498(e){e.exports=' '},7986(e){e.exports=' '},23075(e){e.exports=' '},10655(e){e.exports=' '},15476(e){e.exports=' '},59403(e){e.exports=' '},22860(e){e.exports=' '},95600(e){e.exports=' '},76214(e){e.exports=' '},41197(e){e.exports=' '},9342(e){e.exports=' '},69546(e){e.exports=' '},43158(e){e.exports=' '},51716(e){e.exports=' '},49222(e){e.exports=' '},1755(e){e.exports=' '},74911(e){e.exports=' '},8805(e){e.exports=' '},16547(e){e.exports=' '},10856(e){e.exports=' '},98441(e){e.exports=' '},52488(e){e.exports=' '},9370(e){e.exports=' '},66543(e){e.exports=' '},608(e){e.exports=' '},42840(e){e.exports=' '},79096(e){e.exports=' '},33014(e){e.exports=' '},91677(e){e.exports=' '},8259(e){e.exports=' '},64467(e){e.exports=''},86934(e){e.exports=' '},76133(e){e.exports=''},45519(e){e.exports=''},90265(e){e.exports=' '},81279(e){e.exports=' '},68899(e){e.exports=' '},70744(e){e.exports=' '},19201(e){e.exports=' '},84930(e){e.exports=' '},99704(e){e.exports=' '},2304(e){e.exports=' '},20255(e,t,i){"use strict";function s(e,t,i,s){var o,r=arguments.length,n=3>r?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(n=(3>r?o(n):r>3?o(t,i,n):o(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n}i.d(t,{gn(){return s}})},80031(e,t,i){"use strict";i.d(t,{D(){return o}});var s=i(47386);class o{constructor(){this.defaultTimeout=100,this.namespace="",this.safeMode=!1,this.width="auto",this.height="auto",this.safePluginsList=["about","enter","backspace"],this.license="",this.preset="custom",this.presets={inline:{inline:!0,toolbar:!1,toolbarInline:!0,toolbarInlineForSelection:!0,showXPathInStatusbar:!1,showCharsCounter:!1,showWordsCounter:!1,showPlaceholder:!1}},this.ownerDocument="undefined"!=typeof document?document:null,this.ownerWindow="undefined"!=typeof window?window:null,this.shadowRoot=null,this.zIndex=0,this.readonly=!1,this.disabled=!1,this.activeButtonsInReadOnly=["source","fullsize","print","about","dots","selectall"],this.allowCommandsInReadOnly=["selectall","preview","print"],this.toolbarButtonSize="middle",this.allowTabNavigation=!1,this.inline=!1,this.theme="default",this.saveModeInStorage=!1,this.editorClassName=!1,this.editorCssClass=!1,this.className=!1,this.style=!1,this.containerStyle=!1,this.styleValues={},this.triggerChangeEvent=!0,this.direction="",this.language="auto",this.debugLanguage=!1,this.i18n=!1,this.tabIndex=-1,this.toolbar=!0,this.statusbar=!0,this.showTooltip=!0,this.showTooltipDelay=1e3,this.useNativeTooltip=!1,this.defaultActionOnPaste=s.INSERT_AS_HTML,this.enter=s.PARAGRAPH,this.iframe=!1,this.editHTMLDocumentMode=!1,this.enterBlock="br"!==this.enter?this.enter:s.PARAGRAPH,this.defaultMode=s.MODE_WYSIWYG,this.useSplitMode=!1,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.extraIcons={},this.createAttributes={table:{style:"border-collapse:collapse;width: 100%;"}},this.sizeLG=900,this.sizeMD=700,this.sizeSM=400,this.buttons=[{group:"font-style",buttons:[]},{group:"list",buttons:[]},{group:"font",buttons:[]},"---",{group:"script",buttons:[]},{group:"media",buttons:[]},"\n",{group:"state",buttons:[]},{group:"clipboard",buttons:[]},{group:"insert",buttons:[]},{group:"indent",buttons:[]},{group:"color",buttons:[]},{group:"form",buttons:[]},"---",{group:"history",buttons:[]},{group:"search",buttons:[]},{group:"source",buttons:[]},{group:"other",buttons:[]},{group:"info",buttons:[]}],this.buttonsMD=["bold","italic","|","ul","ol","eraser","|","font","fontsize","---","image","table","|","link","\n","brush","paragraph","align","|","hr","copyformat","fullsize","---","undo","redo","|","dots"],this.buttonsSM=["bold","italic","|","ul","ol","eraser","|","fontsize","brush","paragraph","---","image","table","\n","link","|","align","|","undo","redo","|","copyformat","fullsize","---","dots"],this.buttonsXS=["bold","brush","paragraph","eraser","|","fontsize","---","image","\n","align","undo","redo","|","link","table","---","dots"],this.events={},this.textIcons=!1,this.showBrowserColorPicker=!0}static get defaultOptions(){return o.__defaultOptions||(o.__defaultOptions=new o),o.__defaultOptions}}o.prototype.controls={}},83735(e,t,i){"use strict";i.d(t,{e(){return c}});var s=i(81778),o=i(87385),r=i(76856),n=i(15199),a=i(86129),l=i(98296);i(52378);class c{constructor(){var e,t,i,s;this.timers=new Map,this.__callbacks=new Map,this.promisesRejections=new Set,this.requestsIdle=new Set,this.requestsRaf=new Set,this.requestIdleCallbackNative=null!==(t=null===(e=window.requestIdleCallback)||void 0===e?void 0:e.bind(window))&&void 0!==t?t:(e,t)=>{var i;const s=Date.now();return this.setTimeout((()=>{e({didTimeout:!1,timeRemaining(){return Math.max(0,50-(Date.now()-s))}})}),null!==(i=null==t?void 0:t.timeout)&&void 0!==i?i:1)},this.cancelIdleCallbackNative=null!==(s=null===(i=window.cancelIdleCallback)||void 0===i?void 0:i.bind(window))&&void 0!==s?s:e=>{this.clearTimeout(e)},this.isDestructed=!1}delay(e){return this.promise((t=>this.setTimeout(t,e)))}setTimeout(e,t,...i){if(this.isDestructed)return 0;let o={};(0,l.h)(t)||(o=t,t=o.timeout||0),o.label&&this.clearLabel(o.label);const r=(0,s.i)(e,t,...i),n=o.label||r;return this.timers.set(n,r),this.__callbacks.set(n,e),r}updateTimeout(e,t){if(!e||!this.timers.has(e))return null;const i=this.__callbacks.get(e);return this.setTimeout(i,{label:e,timeout:t})}clearLabel(e){e&&this.timers.has(e)&&((0,s.g)(this.timers.get(e)),this.timers.delete(e),this.__callbacks.delete(e))}clearTimeout(e){if((0,a.H)(e))return this.clearLabel(e);(0,s.g)(e),this.timers.delete(e),this.__callbacks.delete(e)}debounce(e,t,i=!1){let a=0,l=!1;const c=[],d=(...t)=>{if(!l){a=0;const i=e(...t);if(l=!0,c.length){const e=()=>{c.forEach((e=>e())),c.length=0};(0,n.t)(i)?i.finally(e):e()}}},h=(...r)=>{l=!1,t?(!a&&i&&d(...r),(0,s.g)(a),a=this.setTimeout((()=>d(...r)),(0,o.m)(t)?t():t),this.timers.set(e,a)):d(...r)};return(0,r.P)(t)&&t.promisify?(...e)=>{const t=this.promise((e=>{c.push(e)}));return h(...e),t}:h}throttle(e,t,i=!1){let s,r,n,a=null;return(...i)=>{s=!0,n=i,t?a||(r=()=>{s?(e(...n),s=!1,a=this.setTimeout(r,(0,o.m)(t)?t():t),this.timers.set(r,a)):a=null},r()):e(...n)}}promise(e){let t=()=>{};const i=new Promise(((i,s)=>(this.promisesRejections.add(s),t=s,e(i,s))));return i.finally((()=>{this.promisesRejections.delete(t)})).catch((()=>null)),i.rejectCallback=t,i}promiseState(e){if(e.status)return e.status;if(!Promise.race)return new Promise((t=>{e.then((e=>(t("fulfilled"),e)),(e=>{throw t("rejected"),e})),this.setTimeout((()=>{t("pending")}),100)}));const t={};return Promise.race([e,t]).then((e=>e===t?"pending":"fulfilled"),(()=>"rejected"))}requestIdleCallback(e,t){const i=this.requestIdleCallbackNative(e,t);return this.requestsIdle.add(i),i}requestIdlePromise(e){return this.promise((t=>{const i=this.requestIdleCallback((()=>t(i)),e)}))}cancelIdleCallback(e){return this.requestsIdle.delete(e),this.cancelIdleCallbackNative(e)}requestAnimationFrame(e){const t=requestAnimationFrame(e);return this.requestsRaf.add(t),t}cancelAnimationFrame(e){this.requestsRaf.delete(e),cancelAnimationFrame(e)}clear(){this.requestsIdle.forEach((e=>this.cancelIdleCallback(e))),this.requestsRaf.forEach((e=>this.cancelAnimationFrame(e))),this.timers.forEach((e=>(0,s.g)(this.timers.get(e)))),this.timers.clear(),this.promisesRejections.forEach((e=>e())),this.promisesRejections.clear()}destruct(){this.clear(),this.isDestructed=!0}}},16867(e,t,i){"use strict";i.d(t,{w(){return l}});var s=i(83370),o=i(16672),r=i(71685),n=i(83735);const a=new Map;class l{constructor(){this.async=new n.e,this.ownerWindow=window,this.__componentStatus=r.n.beforeInit,this.uid="jodit-uid-"+(0,o.fe)()}get componentName(){return this.__componentName||(this.__componentName="jodit-"+(0,s.kebabCase)(((0,s.isFunction)(this.className)?this.className():"")||(0,s.getClassName)(this))),this.__componentName}getFullElName(e,t,i){const o=[this.componentName];return e&&(e=e.replace(/[^a-z0-9-]/gi,"-"),o.push("__"+e)),t&&(o.push("_",t),o.push("_",(0,s.isVoid)(i)?"true":""+i)),o.join("")}get ownerDocument(){return this.ow.document}get od(){return this.ownerDocument}get ow(){return this.ownerWindow}get(e,t){return(0,s.get)(e,t||this)}get isReady(){return this.componentStatus===r.n.ready}get isDestructed(){return this.componentStatus===r.n.destructed}get isInDestruct(){return r.n.beforeDestruct===this.componentStatus||r.n.destructed===this.componentStatus}bindDestruct(e){return e.hookStatus(r.n.beforeDestruct,(()=>!this.isInDestruct&&this.destruct())),this}destruct(){this.setStatus(r.n.destructed),this.async.destruct(),a.get(this)&&a.delete(this)}get componentStatus(){return this.__componentStatus}set componentStatus(e){this.setStatus(e)}setStatus(e){return this.setStatusComponent(e,this)}setStatusComponent(e,t){if(e===this.__componentStatus)return;t===this&&(this.__componentStatus=e);const i=Object.getPrototypeOf(this);i&&(0,s.isFunction)(i.setStatusComponent)&&i.setStatusComponent(e,t);const o=a.get(this),r=null==o?void 0:o[e];r&&r.length&&r.forEach((e=>e(t)))}hookStatus(e,t){let i=a.get(this);i||(i={},a.set(this,i)),i[e]||(i[e]=[]),i[e].push(t)}static isInstanceOf(e,t){return e instanceof t}}l.STATUSES=r.n},2624(e,t,i){"use strict";i.d(t,{wA(){return o.w},n$(){return s.n},Hr(){return r}});var s=i(71685),o=i(16867);class r extends o.w{constructor(e){super(),this.setParentView(e)}get j(){return this.jodit}get defaultTimeout(){return this.j.defaultTimeout}i18n(e,...t){return this.j.i18n(e,...t)}setParentView(e){return this.jodit=e,e.components.add(this),this}destruct(){return this.j.components.delete(this),super.destruct()}}},71685(e,t,i){"use strict";i.d(t,{n(){return s}});const s={beforeInit:"beforeInit",ready:"ready",beforeDestruct:"beforeDestruct",destructed:"destructed"}},47386(e,t,i){"use strict";i.r(t),i.d(t,{ACCURACY(){return T},BASE_PATH(){return K},BR(){return L},CLIPBOARD_ID(){return Z},COMMAND_KEYS(){return I},EMULATE_DBLCLICK_TIMEOUT(){return H},INSEPARABLE_TAGS(){return p},INSERT_AS_HTML(){return F},INSERT_AS_TEXT(){return W},INSERT_CLEAR_HTML(){return V},INSERT_ONLY_TEXT(){return $},INVISIBLE_SPACE(){return s},INVISIBLE_SPACE_REG_EXP(){return r},INVISIBLE_SPACE_REG_EXP_END(){return n},INVISIBLE_SPACE_REG_EXP_START(){return a},IS_BLOCK(){return h},IS_IE(){return N},IS_INLINE(){return u},IS_MAC(){return Y},KEY_ALIASES(){return G},KEY_ALT(){return w},KEY_BACKSPACE(){return g},KEY_DELETE(){return j},KEY_DOWN(){return E},KEY_ENTER(){return b},KEY_ESC(){return y},KEY_F3(){return _},KEY_LEFT(){return k},KEY_META(){return f},KEY_RIGHT(){return S},KEY_SPACE(){return x},KEY_TAB(){return v},KEY_UP(){return C},MARKER_CLASS(){return O},MAY_BE_REMOVED_WITH_KEY(){return m},MODE_SOURCE(){return D},MODE_SPLIT(){return P},MODE_WYSIWYG(){return A},NBSP_SPACE(){return o},NEARBY(){return z},PARAGRAPH(){return M},SAFE_COUNT_CHANGE_CALL(){return U},SOURCE_CONSUMER(){return Q},SPACE_REG_EXP(){return l},SPACE_REG_EXP_END(){return d},SPACE_REG_EXP_START(){return c},TEMP_ATTR(){return J},TEXT_HTML(){return q},TEXT_PLAIN(){return R},TEXT_RTF(){return B},lang(){return X}});const s="\ufeff",o=" ",r=()=>/[\uFEFF]/g,n=()=>/[\uFEFF]+$/g,a=()=>/^[\uFEFF]+/g,l=()=>/[\s\n\t\r\uFEFF\u200b]+/g,c=()=>/^[\s\n\t\r\uFEFF\u200b]+/g,d=()=>/[\s\n\t\r\uFEFF\u200b]+$/g,h=/^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i,u=/^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i,p=["img","br","video","iframe","script","input","textarea","hr","link","jodit","jodit-media"],m=RegExp(`^${p.join("|")}$`,"i"),f="Meta",g="Backspace",v="Tab",b="Enter",y="Escape",w="Alt",k="ArrowLeft",C="ArrowUp",S="ArrowRight",E="ArrowDown",x="Space",j="Delete",_="F3",z=5,T=10,I=[f,g,j,C,E,S,k,b,y,_,v],L="br",M="p",A=1,D=2,P=3,N="undefined"!=typeof navigator&&(-1!==navigator.userAgent.indexOf("MSIE")||/rv:11.0/i.test(navigator.userAgent)),R=N?"text":"text/plain",q=N?"html":"text/html",B=N?"rtf":"text/rtf",O="jodit-selection_marker",H=300,F="insert_as_html",V="insert_clear_html",W="insert_as_text",$="insert_only_text",U=10,Y="undefined"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),G={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:Y?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:" ",spacebar:" ",up:"arrowup",win:"meta",windows:"meta"},K=(()=>{if("undefined"==typeof document)return"";const e=document.currentScript,t=e=>{const t=e.split("/");return/\.js/.test(t[t.length-1])?t.slice(0,t.length-1).join("/")+"/":e};if(e)return t(e.src);const i=document.querySelectorAll("script[src]");return i&&i.length?t(i[i.length-1].src):window.location.href})(),J="data-jodit-temp",X={},Z="clipboard",Q="source-consumer"},45466(e,t,i){"use strict";function s(e){class t extends e{constructor(...e){super(...e),this.constructor===t&&(this instanceof t||Object.setPrototypeOf(this,t.prototype),this.setStatus("ready"))}}return t}i.d(t,{w(){return s}})},2830(e,t,i){"use strict";i.d(t,{D(){return n},P(){return a}});var s=i(43435),o=i(2624),r=i(70843);function n(e,t=!1,i="debounce"){return(n,a)=>{const l=n[a];if(!(0,s.mf)(l))throw(0,r.vU)("Handler must be a Function");return n.hookStatus(o.n$.ready,(o=>{const{async:r}=o,n=(0,s.mf)(e)?e(o):e;Object.defineProperty(o,a,{configurable:!0,value:r[i](o[a].bind(o),(0,s.hj)(n)||(0,s.PO)(n)?n:o.defaultTimeout,t)})})),{configurable:!0,get(){return l.bind(this)}}}}function a(e,t=!1){return n(e,t,"throttle")}i(52378)},63945(e,t,i){"use strict";i.r(t),i.d(t,{autobind(){return k},cache(){return o},component(){return r.w},debounce(){return n.D},derive(){return v},getPropertyDescriptor(){return g.w7},hook(){return h},idle(){return l},nonenumerable(){return u},persistent(){return m},throttle(){return n.P},wait(){return f},watch(){return g.YP}});var s=i(83370);function o(e,t,i){const o=i.get;if(!o)throw(0,s.error)("Getter property descriptor expected");i.get=function(){const e=o.call(this);return e&&!0===e.noCache||Object.defineProperty(this,t,{configurable:i.configurable,enumerable:i.enumerable,writable:!1,value:e}),e}}var r=i(45466),n=i(2830),a=i(2624);function l(){return(e,t)=>{if(!(0,s.isFunction)(e[t]))throw(0,s.error)("Handler must be a Function");e.hookStatus(a.n$.ready,(e=>{const{async:i}=e,s=e[t];e[t]=(...t)=>i.requestIdleCallback(s.bind(e,...t))}))}}var c=i(43435),d=i(70843);function h(e){return(t,i)=>{if(!(0,c.mf)(t[i]))throw(0,d.vU)("Handler must be a Function");t.hookStatus(e,(e=>{e[i].call(e)}))}}const u=(e,t)=>{!1!==(Object.getOwnPropertyDescriptor(e,t)||{}).enumerable&&Object.defineProperty(e,t,{enumerable:!1,set(e){Object.defineProperty(this,t,{enumerable:!1,writable:!0,value:e})}})};var p=i(33679);function m(e,t){e.hookStatus(a.n$.ready,(e=>{const i=(0,p.f)(e)?e:e.jodit,s=`${i.options.namespace}${e.componentName}_prop_${t}`,o=e[t];Object.defineProperty(e,t,{get(){var e;return null!==(e=i.storage.get(s))&&void 0!==e?e:o},set(e){i.storage.set(s,e)}})}))}function f(e){return(t,i)=>{if(!(0,s.isFunction)(t[i]))throw(0,s.error)("Handler must be a Function");t.hookStatus(a.n$.ready,(t=>{const{async:s}=t,o=t[i];let r=0;Object.defineProperty(t,i,{configurable:!0,value:function i(...n){s.clearTimeout(r),e(t)?o.apply(t,n):r=s.setTimeout((()=>i(...n)),10)}})}))}}var g=i(30192);function v(...e){return t=>{const i=t.prototype;for(let t=0;e.length>t;t++){const s=e[t],o=Object.getOwnPropertyNames(s.prototype);for(let e=0;o.length>e;e++){const t=o[e],r=Object.getOwnPropertyDescriptor(s.prototype,t);null!=r&&(0,c.mf)(r.value)&&!(0,c.mf)(i[t])&&Object.defineProperty(i,t,{enumerable:!0,configurable:!0,writable:!0,value(...e){return r.value.call(this,...e)}})}}}}function b(e){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e=>typeof e:e=>e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e,b(e)}function y(e,t,i){var s=i.value;if("function"!=typeof s)throw new TypeError("@boundMethod decorator can only be applied to methods not: ".concat(b(s)));var o=!1;return{configurable:!0,get(){if(o||this===e.prototype||this.hasOwnProperty(t)||"function"!=typeof s)return s;var i=s.bind(this);return o=!0,Object.defineProperty(this,t,{configurable:!0,get(){return i},set(e){s=e,delete this[t]}}),o=!1,i},set(e){s=e}}}function w(e){var t;return"undefined"!=typeof Reflect&&"function"==typeof Reflect.ownKeys?t=Reflect.ownKeys(e.prototype):(t=Object.getOwnPropertyNames(e.prototype),"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(e.prototype)))),t.forEach((t=>{if("constructor"!==t){var i=Object.getOwnPropertyDescriptor(e.prototype,t);"function"==typeof i.value&&Object.defineProperty(e.prototype,t,y(e,t,i))}})),e}function k(){return 1===arguments.length?w.apply(void 0,arguments):y.apply(void 0,arguments)}},30192(e,t,i){"use strict";i.d(t,{YP(){return h},w7(){return d}});var s=i(87385),o=i(76856),r=i(33679),n=i(34526),a=i(71685),l=i(11986),c=i(70843);function d(e,t){let i;do{i=Object.getOwnPropertyDescriptor(e,t),e=Object.getPrototypeOf(e)}while(!i&&e);return i}function h(e,t){return(i,h)=>{if(!(0,s.m)(i[h]))throw(0,c.vU)("Handler must be a Function");const u=a=>{const c=(e,...t)=>{if(!a.isInDestruct)return a[h](e,...t)};(0,l.C)(e).forEach((e=>{if(/:/.test(e)){const[i,o]=e.split(":");let n=t;const l=(0,r.f)(a)?a:a.jodit;return i.length&&(n=a.get(i)),(0,s.m)(n)&&(n=n(a)),l.events.on(n||a,o,c),n||l.events.on(o,c),void a.hookStatus("beforeDestruct",(()=>{l.events.off(n||a,o,c).off(o,c)}))}const l=e.split("."),[h]=l,u=l.slice(1);let p=a[h];(0,o.P)(p)&&(0,n.L)(p).on("change."+u.join("."),c);const m=d(i,h);Object.defineProperty(a,h,{configurable:!0,set(e){const t=p;t!==e&&(p=e,m&&m.set&&m.set.call(a,e),(0,o.P)(p)&&(p=(0,n.L)(p),p.on("change."+u.join("."),c)),c(h,t,p))},get:()=>m&&m.get?m.get.call(a):p})}))};(0,s.m)(i.hookStatus)?i.hookStatus(a.n.ready,u):u(i)}}},65401(e,t,i){"use strict";i.d(t,{i(){return n}});var s=i(47386),o=i(83370),r=i(92415);class n{static detach(e){for(;e.firstChild;)e.removeChild(e.firstChild)}static wrapInline(e,t,i){let s,r=e,a=e;i.s.save();let l=!1;do{l=!1,s=r.previousSibling,s&&!n.isBlock(s)&&(l=!0,r=s)}while(l);do{l=!1,s=a.nextSibling,s&&!n.isBlock(s)&&(l=!0,a=s)}while(l);const c=(0,o.isString)(t)?i.createInside.element(t):t;r.parentNode&&r.parentNode.insertBefore(c,r);let d=r;for(;d&&(d=r.nextSibling,c.appendChild(r),r!==a&&d);)r=d;return i.s.restore(),c}static wrap(e,t,i){const s=(0,o.isString)(t)?i.element(t):t;if(n.isNode(e)){if(!e.parentNode)throw(0,o.error)("Element should be in DOM");e.parentNode.insertBefore(s,e),s.appendChild(e)}else{const t=e.extractContents();e.insertNode(s),s.appendChild(t)}return s}static unwrap(e){const t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);n.safeRemove(e)}}static between(e,t,i){let s=e;for(;s&&s!==t&&(e===s||!i(s));){let e=s.firstChild||s.nextSibling;if(!e){for(;s&&!s.nextSibling;)s=s.parentNode;e=null==s?void 0:s.nextSibling}s=e}}static replace(e,t,i,s=!1,r=!1){(0,o.isHTML)(t)&&(t=i.fromHTML(t));const a=(0,o.isString)(t)?i.element(t):t;if(!r)for(;e.firstChild;)a.appendChild(e.firstChild);return s&&n.isElement(e)&&n.isElement(a)&&(0,o.toArray)(e.attributes).forEach((e=>{a.setAttribute(e.name,e.value)})),e.parentNode&&e.parentNode.replaceChild(a,e),a}static isEmptyTextNode(e){return n.isText(e)&&(!e.nodeValue||0===e.nodeValue.replace(s.INVISIBLE_SPACE_REG_EXP(),"").trim().length)}static isEmptyContent(e){return n.each(e,(e=>n.isEmptyTextNode(e)))}static isContentEditable(e,t){return n.isNode(e)&&!n.closest(e,(e=>n.isElement(e)&&"false"===e.getAttribute("contenteditable")),t)}static isEmpty(e,t=/^(img|svg|canvas|input|textarea|form)$/){return!e||(n.isText(e)?null==e.nodeValue||0===(0,o.trim)(e.nodeValue).length:!t.test(e.nodeName.toLowerCase())&&n.each(e,(e=>{if(n.isText(e)&&null!=e.nodeValue&&0!==(0,o.trim)(e.nodeValue).length||n.isElement(e)&&t.test(e.nodeName.toLowerCase()))return!1})))}static isNode(e){return!!(e&&(0,o.isString)(e.nodeName)&&"number"==typeof e.nodeType&&e.childNodes&&(0,o.isFunction)(e.appendChild))}static isCell(e){return n.isNode(e)&&/^(td|th)$/i.test(e.nodeName)}static isImage(e){return n.isNode(e)&&/^(img|svg|picture|canvas)$/i.test(e.nodeName)}static isBlock(e){return!(0,o.isVoid)(e)&&"object"==typeof e&&n.isNode(e)&&s.IS_BLOCK.test(e.nodeName)}static isText(e){return!(!e||e.nodeType!==Node.TEXT_NODE)}static isElement(e){var t;return!!n.isNode(e)&&!(!(null===(t=e.ownerDocument)||void 0===t?void 0:t.defaultView)||e.nodeType!==Node.ELEMENT_NODE)}static isFragment(e){var t;return!!n.isNode(e)&&!(!(null===(t=e.ownerDocument)||void 0===t?void 0:t.defaultView)||e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)}static isHTMLElement(e){var t;if(!n.isNode(e))return!1;const i=null===(t=e.ownerDocument)||void 0===t?void 0:t.defaultView;return!!(i&&e instanceof i.HTMLElement)}static isInlineBlock(e){return n.isElement(e)&&!/^(BR|HR)$/i.test(e.tagName)&&-1!==["inline","inline-block"].indexOf(""+(0,o.css)(e,"display"))}static canSplitBlock(e){return!(0,o.isVoid)(e)&&n.isHTMLElement(e)&&n.isBlock(e)&&!/^(TD|TH|CAPTION|FORM)$/.test(e.nodeName)&&void 0!==e.style&&!/^(fixed|absolute)/i.test(e.style.position)}static last(e,t){let i=null==e?void 0:e.lastChild;if(!i)return null;do{if(t(i))return i;let s=i.lastChild;if(s||(s=i.previousSibling),!s&&i.parentNode!==e){do{i=i.parentNode}while(i&&!(null==i?void 0:i.previousSibling)&&i.parentNode!==e);s=null==i?void 0:i.previousSibling}i=s}while(i);return null}static prev(e,t,i,s=!0){return n.find(e,t,i,!1,s)}static next(e,t,i,s=!0){return n.find(e,t,i,!0,s)}static prevWithClass(e,t){return n.prev(e,(e=>n.isElement(e)&&e.classList.contains(t)),e.parentNode)}static nextWithClass(e,t){return n.next(e,(e=>n.isElement(e)&&e.classList.contains(t)),e.parentNode)}static find(e,t,i,s=!0,o=!0){const r=this.nextGen(e,i,s,o);let n=r.next();for(;!n.done;){if(t(n.value))return n.value;n=r.next()}return null}static*nextGen(e,t,i=!0,s=!0){const o=[];let r=e;do{let t=i?r.nextSibling:r.previousSibling;for(;t;)o.unshift(t),t=i?t.nextSibling:t.previousSibling;yield*this.runInStack(e,o,i,s),r=r.parentNode}while(r&&r!==t);return null}static each(e,t,i=!0){const s=this.eachGen(e,i);let o=s.next();for(;!o.done;){if(!1===t(o.value))return!1;o=s.next()}return!0}static eachGen(e,t=!0){return this.runInStack(e,[e],t)}static*runInStack(e,t,i,s=!0){for(;t.length;){const o=t.pop();if(s){let e=i?o.lastChild:o.firstChild;for(;e;)t.push(e),e=i?e.previousSibling:e.nextSibling}e!==o&&(yield o)}}static findWithCurrent(e,t,i,s="nextSibling",o="firstChild"){let r=e;do{if(t(r))return r||null;if(o&&r&&r[o]){const e=n.findWithCurrent(r[o],t,r,s,o);if(e)return e}for(;r&&!r[s]&&r!==i;)r=r.parentNode;r&&r[s]&&r!==i&&(r=r[s])}while(r&&r!==i);return null}static findSibling(e,t=!0,i=(e=>!n.isEmptyTextNode(e))){let s=n.sibling(e,t);for(;s&&!i(s);)s=n.sibling(s,t);return s&&i(s)?s:null}static findNotEmptySibling(e,t){return n.findSibling(e,t,(e=>{var t;return!n.isEmptyTextNode(e)&&!!(!n.isText(e)||(null===(t=e.nodeValue)||void 0===t?void 0:t.length)&&(0,o.trim)(e.nodeValue))}))}static findNotEmptyNeighbor(e,t,i){return(0,o.call)(t?n.prev:n.next,e,(e=>!(!e||n.isText(e)&&!(0,o.trim)((null==e?void 0:e.nodeValue)||"").length)),i)}static sibling(e,t){return t?e.previousSibling:e.nextSibling}static up(e,t,i,s=!1){let o=e;if(!o)return null;do{if(t(o))return o;if(o===i||!o.parentNode)break;o=o.parentNode}while(o&&o!==i);return o===i&&s&&t(o)?o:null}static closest(e,t,i){let s;return s=(0,o.isFunction)(t)?t:(0,o.isArray)(t)?e=>!(!e||!t.includes(e.nodeName.toLowerCase())):e=>!(!e||t!==e.nodeName.toLowerCase()),n.up(e,s,i)}static furthest(e,t,i){let s=null,o=null==e?void 0:e.parentElement;for(;o&&o!==i;)t(o)&&(s=o),o=null==o?void 0:o.parentElement;return s}static appendChildFirst(e,t){const i=e.firstChild;i?i!==t&&e.insertBefore(t,i):e.appendChild(t)}static after(e,t){const{parentNode:i}=e;i&&(i.lastChild===e?i.appendChild(t):i.insertBefore(t,e.nextSibling))}static before(e,t){const{parentNode:i}=e;i&&i.insertBefore(t,e)}static prepend(e,t){e.insertBefore(t,e.firstChild)}static append(e,t){(0,o.isArray)(t)?t.forEach((t=>{this.append(e,t)})):e.appendChild(t)}static moveContent(e,t,i=!1){const s=(e.ownerDocument||document).createDocumentFragment();(0,o.toArray)(e.childNodes).forEach((e=>{s.appendChild(e)})),i&&t.firstChild?t.insertBefore(s,t.firstChild):t.appendChild(s)}static isOrContains(e,t,i=!1){return e===t?!i:!!(t&&e&&this.up(t,(t=>t===e),e,!0))}static safeRemove(...e){e.forEach((e=>n.isNode(e)&&e.parentNode&&e.parentNode.removeChild(e)))}static safeInsertNode(e,t){e.collapsed||e.deleteContents(),e.insertNode(t),[t.nextSibling,t.previousSibling].forEach((e=>n.isText(e)&&!e.nodeValue&&n.safeRemove(e)))}static hide(e){e&&((0,o.dataBind)(e,"__old_display",e.style.display),e.style.display="none")}static show(e){if(!e)return;const t=(0,o.dataBind)(e,"__old_display");"none"===e.style.display&&(e.style.display=t||"")}static isTag(e,t){const i=(0,o.asArray)(t).map(String);for(let t=0;i.length>t;t+=1)if(this.isElement(e)&&e.tagName.toLowerCase()===i[t].toLowerCase())return!0;return!1}static markTemporary(e,t){return t&&(0,o.attr)(e,t),(0,o.attr)(e,s.TEMP_ATTR,!0),e}static isTemporary(e){return!!n.isElement(e)&&(r.Ph.isMarker(e)||"true"===(0,o.attr)(e,s.TEMP_ATTR))}static replaceTemporaryFromString(e){return e.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi,"$2")}static temporaryList(e){return(0,o.$$)(`[${s.TEMP_ATTR}]`,e)}}},36516(e,t,i){"use strict";i.d(t,{b(){return o.b},i(){return s.i}});var s=i(65401),o=i(20847)},20847(e,t,i){"use strict";i.d(t,{b(){return a}});var s=i(20255),o=i(36090),r=i(63945),n=i(65401);class a extends o.a{constructor(e,t={}){super(),this.async=e,this.options=t,this.workNodes=null,this.hadAffect=!1,this.isWorked=!1,this.isFinished=!1,this.idleId=0}setWork(e){return this.isWorked&&this.break(),this.workNodes=n.i.eachGen(e,!this.options.reverse),this.isFinished=!1,this.startIdleRequest(),this}startIdleRequest(){var e;this.idleId=this.async.requestIdleCallback(this.workPerform,{timeout:null!==(e=this.options.timeout)&&void 0!==e?e:10})}break(e){this.isWorked&&(this.stop(),this.emit("break",e))}end(){this.isWorked&&(this.stop(),this.emit("end",this.hadAffect),this.hadAffect=!1)}stop(){this.isWorked=!1,this.isFinished=!0,this.workNodes=null,this.async.cancelIdleCallback(this.idleId)}destruct(){super.destruct(),this.stop()}workPerform(e){var t;if(this.workNodes){this.isWorked=!0;let i=0;const s=null!==(t=this.options.timeoutChunkSize)&&void 0!==t?t:50;for(;!this.isFinished&&(e.timeRemaining()>0||e.didTimeout&&s>=i);){const e=this.workNodes.next();if(i+=1,this.visitNode(e.value)&&(this.hadAffect=!0),e.done)return void this.end()}}else this.end();this.isFinished||this.startIdleRequest()}visitNode(e){var t;return!(!e||void 0!==this.options.whatToShow&&e.nodeType!==this.options.whatToShow)&&null!==(t=this.emit("visit",e))&&void 0!==t&&t}}(0,s.gn)([r.autobind],a.prototype,"workPerform",null)},36090(e,t,i){"use strict";i.d(t,{a(){return s}});class s{constructor(){this.__map=new Map}on(e,t){var i;return this.__map.has(e)||this.__map.set(e,new Set),null===(i=this.__map.get(e))||void 0===i||i.add(t),this}off(e,t){var i;return this.__map.has(e)&&(null===(i=this.__map.get(e))||void 0===i||i.delete(t)),this}destruct(){this.__map.clear()}emit(e,...t){var i;let s;return this.__map.has(e)&&(null===(i=this.__map.get(e))||void 0===i||i.forEach((e=>{s=e(...t)}))),s}}},18122(e,t,i){"use strict";i.d(t,{vp(){return h},DG(){return r},aN(){return u.a},rO(){return o},LO(){return p.L}}),i(52378);var s=i(58260);const o="JoditEventDefaultNamespace";class r{constructor(){this.__store=new Map}get(e,t){if(this.__store.has(t))return this.__store.get(t)[e]}indexOf(e,t,i){const s=this.get(e,t);if(s)for(let e=0;s.length>e;e+=1)if(s[e].originalCallback===i)return e;return!1}namespaces(e=!1){const t=(0,s.q)(this.__store.keys());return e?t.filter((e=>e!==o)):t}events(e){const t=this.__store.get(e);return t?Object.keys(t):[]}set(e,t,i,s=!1){let o=this.__store.get(t);o||(o={},this.__store.set(t,o)),void 0===o[e]&&(o[e]=[]),s?o[e].unshift(i):o[e].push(i)}clear(){this.__store.clear()}clearEvents(e,t){const i=this.__store.get(e);i&&i[t]&&(delete i[t],Object.keys(i).length||this.__store.delete(e))}isEmpty(){return 0===this.__store.size}}var n=i(86129),a=i(87385),l=i(41515),c=i(70843),d=i(11986);class h{constructor(e){this.__mutedEvents=new Set,this.__key="__JoditEventEmitterNamespaces",this.__doc=document,this.__prepareEvent=e=>{e.cancelBubble||(e.composed&&(0,a.m)(e.composedPath)&&e.composedPath()[0]&&Object.defineProperty(e,"target",{value:e.composedPath()[0],configurable:!0,enumerable:!0}),e.type.match(/^touch/)&&e.changedTouches&&e.changedTouches.length&&["clientX","clientY","pageX","pageY"].forEach((t=>{Object.defineProperty(e,t,{value:e.changedTouches[0][t],configurable:!0,enumerable:!0})})),e.originalEvent||(e.originalEvent=e),"paste"===e.type&&void 0===e.clipboardData&&this.__doc.defaultView.clipboardData&&Object.defineProperty(e,"clipboardData",{get:()=>this.__doc.defaultView.clipboardData,configurable:!0,enumerable:!0}))},this.currents=[],this.__stopped=[],this.__isDestructed=!1,e&&(this.__doc=e),this.__key+=(new Date).getTime()}mute(e){return this.__mutedEvents.add(null!=e?e:"*"),this}isMuted(e){return!(!e||!this.__mutedEvents.has(e))||this.__mutedEvents.has("*")}unmute(e){return this.__mutedEvents.delete(null!=e?e:"*"),this}__eachEvent(e,t){(0,d.C)(e).map((e=>e.trim())).forEach((e=>{const i=e.split(".");t.call(this,i[0],i[1]||o)}))}__getStore(e){if(!e)throw(0,c.vU)("Need subject");if(void 0===e[this.__key]){const t=new r;Object.defineProperty(e,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:t})}return e[this.__key]}__removeStoreFromSubject(e){void 0!==e[this.__key]&&Object.defineProperty(e,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:void 0})}__triggerNativeEvent(e,t){const i=this.__doc.createEvent("HTMLEvents");(0,n.H)(t)?i.initEvent(t,!0,!0):(i.initEvent(t.type,t.bubbles,t.cancelable),["screenX","screenY","clientX","clientY","target","srcElement","currentTarget","timeStamp","which","keyCode"].forEach((e=>{Object.defineProperty(i,e,{value:t[e],enumerable:!0})})),Object.defineProperty(i,"originalEvent",{value:t,enumerable:!0})),e.dispatchEvent(i)}get current(){return this.currents[this.currents.length-1]}on(e,t,i,s){let o,r,d,h;if((0,n.H)(e)||(0,n.G)(e)?(o=this,r=e,d=t,h=i):(o=e,r=t,d=i,h=s),!(0,n.H)(r)&&!(0,n.G)(r)||0===r.length)throw(0,c.vU)("Need events names");if(!(0,a.m)(d))throw(0,c.vU)("Need event handler");if((0,l.k)(o))return o.forEach((e=>{this.on(e,r,d,h)})),this;const u=o,p=this.__getStore(u),m=(0,a.m)(u.addEventListener),f=this;let g=function(e,...t){if(!f.isMuted(e))return d&&d.call(this,...t)};return m&&(g=function(e){if(!f.isMuted(e.type))return f.__prepareEvent(e),d&&!1===d.call(this,e)?(e.preventDefault(),e.stopImmediatePropagation(),!1):void 0}),this.__eachEvent(r,((e,t)=>{if(0===e.length)throw(0,c.vU)("Need event name");if(!1===p.indexOf(e,t,d)&&(p.set(e,t,{event:e,originalCallback:d,syntheticCallback:g},null==h?void 0:h.top),m)){const t=!!["touchstart","touchend","scroll","mousewheel","mousemove","touchmove"].includes(e)&&{passive:!0};u.addEventListener(e,g,t)}})),this}one(e,t,i,s){let o,r,a,l;(0,n.H)(e)||(0,n.G)(e)?(o=this,r=e,a=t,l=i):(o=e,r=t,a=i,l=s);const c=(...e)=>(this.off(o,r,c),a(...e));return this.on(o,r,c,l),this}off(e,t,i){let s,r,c;if((0,n.H)(e)||(0,n.G)(e)?(s=this,r=e,c=t):(s=e,r=t,c=i),(0,l.k)(s))return s.forEach((e=>{this.off(e,r,c)})),this;const d=s,h=this.__getStore(d);if(!(0,n.H)(r)&&!(0,n.G)(r)||0===r.length)return h.namespaces().forEach((e=>{this.off(d,"."+e)})),this.__removeStoreFromSubject(d),this;const u=(0,a.m)(d.removeEventListener),p=e=>{u&&d.removeEventListener(e.event,e.syntheticCallback,!1)},m=(e,t)=>{if(""===e)return void h.events(t).forEach((e=>{""!==e&&m(e,t)}));const i=h.get(e,t);if(i&&i.length)if((0,a.m)(c)){const s=h.indexOf(e,t,c);!1!==s&&(p(i[s]),i.splice(s,1),i.length||h.clearEvents(t,e))}else i.forEach(p),i.length=0,h.clearEvents(t,e)};return this.__eachEvent(r,((e,t)=>{t===o?h.namespaces().forEach((t=>{m(e,t)})):m(e,t)})),h.isEmpty()&&this.__removeStoreFromSubject(d),this}stopPropagation(e,t){const i=(0,n.H)(e)?this:e,s=(0,n.H)(e)?e:t;if("string"!=typeof s)throw(0,c.vU)("Need event names");const r=this.__getStore(i);this.__eachEvent(s,((e,t)=>{const s=r.get(e,t);s&&this.__stopped.push(s),t===o&&r.namespaces(!0).forEach((t=>this.stopPropagation(i,e+"."+t)))}))}__removeStop(e){if(e){const t=this.__stopped.indexOf(e);-1!==t&&this.__stopped.splice(0,t+1)}}__isStopped(e){return void 0!==e&&-1!==this.__stopped.indexOf(e)}fire(e,t,...i){let s,r;const l=(0,n.H)(e)?this:e,d=(0,n.H)(e)?e:t,h=(0,n.H)(e)?[t,...i]:i,u=(0,a.m)(l.dispatchEvent);if(!u&&!(0,n.H)(d))throw(0,c.vU)("Need events names");const p=this.__getStore(l);return!(0,n.H)(d)&&u?this.__triggerNativeEvent(l,t):this.__eachEvent(d,((e,t)=>{if(u)this.__triggerNativeEvent(l,e);else{const i=p.get(e,t);if(i)try{[...i].every((t=>!this.__isStopped(i)&&(this.currents.push(e),r=t.syntheticCallback.call(l,e,...h),this.currents.pop(),void 0!==r&&(s=r),!0)))}finally{this.__removeStop(i)}t!==o||u||p.namespaces().filter((e=>e!==t)).forEach((t=>{const i=this.fire.call(this,l,e+"."+t,...h);void 0!==i&&(s=i)}))}})),s}destruct(){this.__isDestructed&&(this.__isDestructed=!0,this.off(this),this.__getStore(this).clear(),this.__removeStoreFromSubject(this))}}var u=i(36090),p=i(34526)},34526(e,t,i){"use strict";i.d(t,{L(){return c}});var s=i(41515),o=i(13739),r=i(76856),n=i(30192);const a=Symbol("observable-object");function l(e){return void 0!==e[a]}function c(e){if(l(e))return e;const t={},i={},c=(t,o)=>(0,s.k)(t)?(t.map((e=>c(e,o))),e):(i[t]||(i[t]=[]),i[t].push(o),e),d=(o,...r)=>{if((0,s.k)(o))o.map((e=>d(e,...r)));else try{!t[o]&&i[o]&&(t[o]=!0,i[o].forEach((t=>t.call(e,...r))))}finally{t[o]=!1}},h=(t,i=[])=>{const s={};l(t)||(Object.defineProperty(t,a,{enumerable:!1,value:!0}),Object.keys(t).forEach((a=>{const l=a,c=i.concat(l).filter((e=>e.length));s[l]=t[l];const u=(0,n.w7)(t,l);Object.defineProperty(t,l,{set(t){const i=s[l];if(!(0,o.L)(s[l],t)){d(["beforeChange","beforeChange."+c.join(".")],l,t),(0,r.P)(t)&&h(t,c),u&&u.set?u.set.call(e,t):s[l]=t;const o=[];d(["change",...c.reduce(((e,t)=>(o.push(t),e.push("change."+o.join(".")),e)),[])],c.join("."),i,(null==t?void 0:t.valueOf)?t.valueOf():t)}},get(){return u&&u.get?u.get.call(e):s[l]},enumerable:!0,configurable:!0}),(0,r.P)(s[l])&&h(s[l],c)})),Object.defineProperty(e,"on",{value:c}))};return h(e),e}},16672(e,t,i){"use strict";i.d(t,{TB(){return w},ZO(){return y},as(){return h},fe(){return m},pw(){return f},qz(){return g},xl(){return v}});var s=i(60154),o=i(36516),r=i(18122),n=i(12866),a=i(33679),l=i(870),c=i(72919),d=i(47386);const h={};let u=1;const p=new Set;function m(){function e(){return u+=10*(Math.random()+1),Math.round(u).toString(16)}let t=e();for(;p.has(t);)t=e();return p.add(t),t}const f=new s.h,g={},v=e=>{Object.keys(e).forEach((t=>{d.lang[t]?Object.assign(d.lang[t],e[t]):d.lang[t]=e[t]}))},b=new WeakMap;function y(e,t,i="div",s=!1){const r=t?(0,l.g)(t.prototype):"jodit-utils",d=b.get(e)||{},h=r+i,u=(0,a.f)(e)?e:e.j;if(!d[h]){let t=u.c,a=(0,n.Z)(e)&&e.o.shadowRoot?e.o.shadowRoot:e.od.body;if(s&&(0,n.Z)(e)&&e.od!==e.ed){t=e.createInside;const s="style"===i?e.ed.head:e.ed.body;a=(0,n.Z)(e)&&e.o.shadowRoot?e.o.shadowRoot:s}const l=t.element(i,{className:`jodit jodit-${(0,c.G)(r)}-container jodit-box`});l.classList.add("jodit_theme_"+(u.o.theme||"default")),a.appendChild(l),d[h]=l,e.hookStatus("beforeDestruct",(()=>{o.i.safeRemove(l),delete d[h],Object.keys(d).length&&b.delete(e)})),b.set(e,d)}return d[h].classList.remove("jodit_theme_default","jodit_theme_dark"),d[h].classList.add("jodit_theme_"+(u.o.theme||"default")),d[h]}const w=new r.vp},90824(e,t,i){"use strict";i.d(t,{_2(){return o},C1(){return r.C},qo(){return n.q}});var s=i(41515);const o=e=>(0,s.k)(e)?e:[e];var r=i(11986),n=i(58260)},11986(e,t,i){"use strict";function s(e){return Array.isArray(e)?e:e.split(/[,\s]+/)}i.d(t,{C(){return s}})},58260(e,t,i){"use strict";i.d(t,{q(){return r}});var s=i(943),o=i(67940);const r=(...e)=>{var t;return((0,o.Q)(Array.from)?Array.from:null!==(t=(0,s.m)("Array.from"))&&void 0!==t?t:Array.from).apply(Array,e)}},45044(e,t,i){"use strict";i.d(t,{g(){return s.g},i(){return s.i}});var s=i(81778)},81778(e,t,i){"use strict";function s(e,t,...i){return t?window.setTimeout(e,t,...i):(e.call(null,...i),0)}function o(e){window.clearTimeout(e)}i.d(t,{g(){return o},i(){return s}})},43435(e,t,i){"use strict";function s(){let e=!0;try{const t=document.createElement("input");t.type="color",e="color"===t.type&&"number"!=typeof t.selectionStart}catch(t){e=!1}return e}i.d(t,{EO(){return s},Zt(){return f},kJ(){return o.k},jn(){return r.j},Z$(){return m},Xy(){return n.X},LP(){return n.L},mf(){return a.m},FP(){return c},I4(){return d},Gu(){return p},GN(){return v},Zu(){return b.Z},A1(){return w},QC(){return k.Q},hj(){return C.h},kE(){return g.k},PO(){return S.P},tI(){return E.t},HD(){return l.H},GI(){return l.G},PX(){return x.P},r1(){return j},f2(){return y.f},nj(){return u.n},FJ(){return _.F}});var o=i(41515),r=i(10152),n=i(13739),a=i(87385),l=i(86129);const c=e=>(0,l.H)(e)&&/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(e.replace(/[\r\n]/g,""));function d(e){return-1!==e.search(//)||-1!==e.search(//)||-1!==e.search(/style="[^"]*mso-/)&&-1!==e.search(/(0,l.H)(e)&&23===e.length&&/^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(e);var k=i(67940),C=i(98296),S=i(76856),E=i(15199),x=i(42139);function j(e){return!!e.length&&!/[^0-9A-Za-zа-яА-ЯЁё\w\-_.]/.test(e)}var _=i(64892)},41515(e,t,i){"use strict";function s(e){return Array.isArray(e)}i.d(t,{k(){return s}})},10152(e,t,i){"use strict";function s(e){return"boolean"==typeof e}i.d(t,{j(){return s}})},13739(e,t,i){"use strict";i.d(t,{L(){return r},X(){return o}});var s=i(58753);function o(e,t){return e===t||(0,s.P)(e)===(0,s.P)(t)}function r(e,t){return e===t}},87385(e,t,i){"use strict";function s(e){return"function"==typeof e}i.d(t,{m(){return s}})},12866(e,t,i){"use strict";i.d(t,{Z(){return o}});var s=i(87385);function o(e){return!!(e&&e instanceof Object&&(0,s.m)(e.constructor)&&("undefined"!=typeof Jodit&&e instanceof Jodit||e.isJodit))}},67940(e,t,i){"use strict";function s(e){return!!e&&"function"===(typeof e).toLowerCase()&&(e===Function.prototype||/^\s*function\s*(\b[a-z$_][a-z0-9$_]*\b)*\s*\((|([a-z$_][a-z0-9$_]*)(\s*,[a-z$_][a-z0-9$_]*)*)\)\s*{\s*\[native code]\s*}\s*$/i.test(e+""))}i.d(t,{Q(){return s}})},98296(e,t,i){"use strict";function s(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}i.d(t,{h(){return s}})},37381(e,t,i){"use strict";i.d(t,{k(){return o}});var s=i(86129);function o(e){if((0,s.H)(e)){if(!e.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/))return!1;e=parseFloat(e)}return"number"==typeof e&&!isNaN(e)&&isFinite(e)}},76856(e,t,i){"use strict";i.d(t,{P(){return o}});var s=i(64892);function o(e){return!(!e||"object"!=typeof e||e.nodeType||(0,s.F)(e)||e.constructor&&!{}.hasOwnProperty.call(e.constructor.prototype,"isPrototypeOf"))}},15199(e,t,i){"use strict";function s(e){return e&&"function"==typeof e.then}i.d(t,{t(){return s}})},86129(e,t,i){"use strict";i.d(t,{G(){return r},H(){return o}});var s=i(41515);function o(e){return"string"==typeof e}function r(e){return(0,s.k)(e)&&o(e[0])}},42139(e,t,i){"use strict";function s(e){if(e.includes(" "))return!1;if("undefined"!=typeof URL)try{const t=new URL(e);return["https:","http:","ftp:","file:","rtmp:"].includes(t.protocol)}catch(e){return!1}const t=document.createElement("a");return t.href=e,!!t.hostname}i.d(t,{P(){return s}})},33679(e,t,i){"use strict";i.d(t,{f(){return o}});var s=i(87385);function o(e){return!!(e&&e instanceof Object&&(0,s.m)(e.constructor)&&e.isView)}},62061(e,t,i){"use strict";function s(e){return null==e}i.d(t,{n(){return s}})},64892(e,t,i){"use strict";function s(e){return null!=e&&e===e.window}i.d(t,{F(){return s}})},96485(e,t,i){"use strict";i.d(t,{h(){return s}});const s=e=>{if("rgba(0, 0, 0, 0)"===e||""===e)return!1;if(!e)return"#000000";if("#"===e.substr(0,1))return e;const t=/([\s\n\t\r]*?)rgb\((\d+), (\d+), (\d+)\)/.exec(e)||/([\s\n\t\r]*?)rgba\((\d+), (\d+), (\d+), ([\d.]+)\)/.exec(e);if(!t)return"#000000";const i=parseInt(t[2],10),s=parseInt(t[3],10);let o=(parseInt(t[4],10)|s<<8|i<<16).toString(16).toUpperCase();for(;6>o.length;)o="0"+o;return t[1]+"#"+o}},24044(e,t,i){"use strict";i.d(t,{h(){return s.h}});var s=i(96485)},29516(e,t,i){"use strict";i.d(t,{Zs(){return a},pQ(){return c},$_(){return d},hU(){return m},eV(){return p.e},nA(){return p.n},oN(){return u}});var s=i(65401),o=i(38301),r=i(89681);function n(e){return e.replace(/mso-[a-z-]+:[\s]*[^;]+;/gi,"").replace(/mso-[a-z-]+:[\s]*[^";']+$/gi,"").replace(/border[a-z-]*:[\s]*[^;]+;/gi,"").replace(/([0-9.]+)(pt|cm)/gi,((e,t,i)=>{switch(i.toLowerCase()){case"pt":return(1.328*parseFloat(t)).toFixed(0)+"px";case"cm":return(.02645833*parseFloat(t)).toFixed(0)+"px"}return e}))}function a(e){if(-1===e.indexOf("")+7);const t=document.createElement("iframe");t.style.display="none",document.body.appendChild(t);let i="",a=[];try{const l=t.contentDocument||(t.contentWindow?t.contentWindow.document:null);if(l){l.open(),l.write(e),l.close();try{for(let e=0;l.styleSheets.length>e;e+=1){const t=l.styleSheets[e].cssRules;for(let e=0;t.length>e;e+=1)""!==t[e].selectorText&&(a=(0,o.$$)(t[e].selectorText,l.body),a.forEach((i=>{i.style.cssText=n(t[e].style.cssText+";"+i.style.cssText)})))}}catch(e){}s.i.each(l.body,(e=>{if(s.i.isElement(e)){const t=e,i=t.getAttribute("style");i&&(t.style.cssText=n(i)),t.hasAttribute("style")&&!t.getAttribute("style")&&t.removeAttribute("style")}})),i=l.firstChild?(0,r.f)(l.body.innerHTML):""}}catch(e){}finally{s.i.safeRemove(t)}return i&&(e=i),(0,r.f)(e.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,"").replace(//i);-1!==t&&(e=e.substring(t+20));const i=e.search(//i);return-1!==i&&(e=e.substring(0,i)),e})(i)),t.s.insertHTML(i)}function Et(e,t,i,s,o){if(!1===e.e.fire("beforeOpenPasteDialog",t,i,s,o))return;const r=e.confirm(`
${e.i18n(t)}
`,e.i18n(i)),n=o.map((({text:t,value:i})=>(0,Ct.zx)(e,{text:t,name:t.toLowerCase(),tabIndex:0}).onAction((()=>{r.close(),s(i)}))));r.e.one(r,"afterClose",(()=>{e.s.isFocused()||e.s.focus()}));const a=(0,Ct.zx)(e,{text:"Cancel",tabIndex:0}).onAction((()=>{r.close()}));return r.setFooter([...n,a]),n[0].focus(),n[0].state.variant="primary",e.e.fire("afterOpenPasteDialog",r,t,i,s,o),r}l.D.prototype.askBeforePasteHTML=!0,l.D.prototype.processPasteHTML=!0,l.D.prototype.pasteHTMLActionList=[{value:c.INSERT_AS_HTML,text:"Keep"},{value:c.INSERT_AS_TEXT,text:"Insert as Text"},{value:c.INSERT_ONLY_TEXT,text:"Insert only Text"}],l.D.prototype.memorizeChoiceWhenPasteFragment=!1,l.D.prototype.nl2brInPlainText=!0;const xt="pasteStorage";l.D.prototype.controls.paste={tooltip:"Paste from clipboard",async exec(e,t,{control:i}){if(i.name===xt)return void e.execCommand("showPasteStorage");e.s.focus();let s="",o=!0;if(navigator.clipboard){try{const e=await navigator.clipboard.read();if(e&&e.length){const t=await e[0].getType(c.TEXT_PLAIN);s=await new Response(t).text()}o=!1}catch(e){}if(o)try{s=await navigator.clipboard.readText(),o=!1}catch(e){}}o&&(s=e.buffer.get(c.CLIPBOARD_ID)||"",o=0===s.length);const r=e.value;o?(e.ed.execCommand("paste"),o=r===e.value,!o&&e.e.fire("afterPaste")):s.length?(St(null,e,s),e.e.fire("afterPaste")):o&&e.alert("Your browser doesn't support direct access to the clipboard.",(()=>{e.s.focus()}))},list:{[xt]:"Paste Storage"},isChildDisabled:e=>2>e.e.fire("pasteStorageList")};class jt extends ge.S{constructor(){super(...arguments),this.pasteStack=new h.LimitedStack(20),this._isDialogOpened=!1}afterInit(e){e.e.on("paste.paste",this.onPaste).on("pasteStack.paste",(e=>this.pasteStack.push(e))),e.o.nl2brInPlainText&&this.j.e.on("processPaste.paste",this.onProcessPasteReplaceNl2Br)}beforeDestruct(e){e.e.off("paste.paste",this.onPaste).off("processPaste.paste",this.onProcessPasteReplaceNl2Br).off(".paste")}onPaste(e){try{if(!1===this.customPasteProcess(e)||!1===this.j.e.fire("beforePaste",e))return e.preventDefault(),!1;this.defaultPasteProcess(e)}finally{this.j.e.fire("afterPaste",e)}}customPasteProcess(e){if(!this.j.o.processPasteHTML)return;const t=(0,h.getDataTransfer)(e),i={html:null==t?void 0:t.getData(c.TEXT_HTML),plain:null==t?void 0:t.getData(c.TEXT_PLAIN),rtf:null==t?void 0:t.getData(c.TEXT_RTF)};let s;for(s in i){const t=i[s];if((0,h.isHTML)(t)&&(this.j.e.fire("processHTML",e,t,i)||this.processHTML(e,t)))return!1}}defaultPasteProcess(e){const t=(0,h.getDataTransfer)(e);let i=(null==t?void 0:t.getData(c.TEXT_HTML))||(null==t?void 0:t.getData(c.TEXT_PLAIN));if(t&&i&&""!==(0,h.trim)(i)){const s=this.j.e.fire("processPaste",e,i,(e=>{const t=e.types;let i="";if((0,w.kJ)(t)||"[object DOMStringList]"==={}.toString.call(t))for(let e=0;t.length>e;e+=1)i+=t[e]+";";else i=(t||c.TEXT_PLAIN)+";";return i})(t));void 0!==s&&(i=s),((0,h.isString)(i)||ne.i.isNode(i))&&this.insertByType(e,i,this.j.o.defaultActionOnPaste),e.preventDefault(),e.stopPropagation()}}processHTML(e,t){if(this.j.o.askBeforePasteHTML){if(this.j.o.memorizeChoiceWhenPasteFragment){const i=this.pasteStack.find((e=>e.html===t));if(i)return this.insertByType(e,t,i.action||this.j.o.defaultActionOnPaste),!0}if(this._isDialogOpened)return!0;const i=Et(this.j,"Your code is similar to HTML. Keep as HTML?","Paste as HTML",(i=>{this._isDialogOpened=!1,this.insertByType(e,t,i)}),this.j.o.pasteHTMLActionList);return i&&(this._isDialogOpened=!0,i.e.on("beforeClose",(()=>{this._isDialogOpened=!1}))),!0}return!1}insertByType(e,t,i){if(this.pasteStack.push({html:t,action:i}),(0,h.isString)(t))switch(this.j.buffer.set(c.CLIPBOARD_ID,t),i){case c.INSERT_CLEAR_HTML:t=(0,h.cleanFromWord)(t);break;case c.INSERT_ONLY_TEXT:t=(0,h.stripTags)(t);break;case c.INSERT_AS_TEXT:t=(0,h.htmlspecialchars)(t)}St(e,this.j,t)}onProcessPasteReplaceNl2Br(e,t,i){if(i===c.TEXT_PLAIN+";"&&!(0,h.isHTML)(t))return(0,h.nl2br)(t)}}(0,a.gn)([m.autobind],jt.prototype,"onPaste",null),(0,a.gn)([m.autobind],jt.prototype,"onProcessPasteReplaceNl2Br",null),p.pw.add("paste",jt),l.D.prototype.askBeforePasteFromWord=!0,l.D.prototype.processPasteFromWord=!0,l.D.prototype.defaultActionOnPasteFromWord=null,l.D.prototype.pasteFromWordActionList=[{value:c.INSERT_AS_HTML,text:"Keep"},{value:c.INSERT_AS_TEXT,text:"Clean"},{value:c.INSERT_ONLY_TEXT,text:"Insert only Text"}];class _t extends se.S{constructor(){super(...arguments),this.requires=["paste"]}afterInit(e){}beforeDestruct(e){}processWordHTML(e,t,i){const{j:s}=this,{processPasteFromWord:o,askBeforePasteFromWord:r,defaultActionOnPasteFromWord:n,defaultActionOnPaste:a,pasteFromWordActionList:l}=s.o;return!(!o||!(0,h.isHtmlFromWord)(t)||(r?Et(s,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected",(s=>{this.insertFromWordByType(e,t,s,i)}),l):this.insertFromWordByType(e,t,n||a,i),0))}insertFromWordByType(e,t,i,s){var o;switch(i){case c.INSERT_AS_HTML:{t=(0,h.applyStyles)(t);const e=null===(o=this.j.events)||void 0===o?void 0:o.fire("beautifyHTML",t);(0,h.isString)(e)&&(t=e);break}case c.INSERT_AS_TEXT:t=(0,h.cleanFromWord)(t);break;case c.INSERT_ONLY_TEXT:t=(0,h.stripTags)((0,h.cleanFromWord)(t))}St(e,this.j,t)}}(0,a.gn)([(0,m.watch)(":processHTML")],_t.prototype,"processWordHTML",null),p.pw.add("pasteFromWord",_t),p.pw.add("pasteStorage",class zt extends ge.S{constructor(){super(...arguments),this.currentIndex=0,this.list=[],this.container=null,this.listBox=null,this.previewBox=null,this.dialog=null,this.paste=()=>{if(this.j.s.focus(),this.j.s.insertHTML(this.list[this.currentIndex]),0!==this.currentIndex){const e=this.list[0];this.list[0]=this.list[this.currentIndex],this.list[this.currentIndex]=e}this.dialog&&this.dialog.close(),this.j.synchronizeValues(),this.j.e.fire("afterPaste")},this.onKeyDown=e=>{let t=this.currentIndex;-1!==[c.KEY_UP,c.KEY_DOWN,c.KEY_ENTER].indexOf(e.key)&&(e.key===c.KEY_UP&&(0===t?t=this.list.length-1:t-=1),e.key===c.KEY_DOWN&&(t===this.list.length-1?t=0:t+=1),e.key!==c.KEY_ENTER?(t!==this.currentIndex&&this.selectIndex(t),e.stopImmediatePropagation(),e.preventDefault()):this.paste())},this.selectIndex=e=>{this.listBox&&(0,h.toArray)(this.listBox.childNodes).forEach(((t,i)=>{t.classList.remove("jodit_active"),e===i&&this.previewBox&&(t.classList.add("jodit_active"),this.previewBox.innerHTML=this.list[e],t.focus())})),this.currentIndex=e},this.showDialog=()=>{2>this.list.length||(this.dialog||this.createDialog(),this.listBox&&(this.listBox.innerHTML=""),this.previewBox&&(this.previewBox.innerHTML=""),this.list.forEach(((e,t)=>{const i=this.j.c.element("a");i.textContent=t+1+". "+e.replace((0,c.SPACE_REG_EXP)(),""),this.j.e.on(i,"keydown",this.onKeyDown),(0,h.attr)(i,"href","#"),(0,h.attr)(i,"data-index",""+t),(0,h.attr)(i,"tab-index","-1"),this.listBox&&this.listBox.appendChild(i)})),this.dialog&&this.dialog.open(),this.j.async.setTimeout((()=>{this.selectIndex(0)}),100))}}createDialog(){this.dialog=this.j.dlg();const e=(0,Ct.zx)(this.j,"paste","Paste","primary");e.onAction(this.paste);const t=(0,Ct.zx)(this.j,"","Cancel");t.onAction(this.dialog.close),this.container=this.j.c.div(),this.container.classList.add("jodit-paste-storage"),this.listBox=this.j.c.div(),this.previewBox=this.j.c.div(),this.container.appendChild(this.listBox),this.container.appendChild(this.previewBox),this.dialog.setHeader(this.j.i18n("Choose Content to Paste")),this.dialog.setContent(this.container),this.dialog.setFooter([e,t]),this.j.e.on(this.listBox,"click dblclick",(e=>{const t=e.target;return ne.i.isTag(t,"a")&&t.hasAttribute("data-index")&&this.selectIndex(parseInt((0,h.attr)(t,"-index")||"0",10)),"dblclick"===e.type&&this.paste(),!1}))}afterInit(){this.j.e.off("afterCopy.paste-storage").on("pasteStorageList.paste-storage",(()=>this.list.length)).on("afterCopy.paste-storage",(e=>{-1!==this.list.indexOf(e)&&this.list.splice(this.list.indexOf(e),1),this.list.unshift(e),this.list.length>5&&(this.list.length=5)})),this.j.registerCommand("showPasteStorage",{exec:this.showDialog,hotkeys:["ctrl+shift+v","cmd+shift+v"]})}beforeDestruct(){this.dialog&&this.dialog.destruct(),this.j.e.off(".paste-storage"),ne.i.safeRemove(this.previewBox),ne.i.safeRemove(this.listBox),ne.i.safeRemove(this.container),this.container=null,this.listBox=null,this.previewBox=null,this.dialog=null,this.list=[]}});var Tt=s(92415);l.D.prototype.showPlaceholder=!0,l.D.prototype.placeholder="Type something",l.D.prototype.useInputsPlaceholder=!0;class It extends ge.S{constructor(){super(...arguments),this.addNativeListeners=()=>{this.j.e.off(this.j.editor,"input.placeholder keydown.placeholder").on(this.j.editor,"input.placeholder keydown.placeholder",this.toggle)},this.addEvents=()=>{const e=this.j;e.o.useInputsPlaceholder&&e.element.hasAttribute("placeholder")&&(this.placeholderElm.innerHTML=(0,h.attr)(e.element,"placeholder")||""),e.e.fire("placeholder",this.placeholderElm.innerHTML),e.e.off(".placeholder").on("changePlace.placeholder",this.addNativeListeners).on("change.placeholder focus.placeholder keyup.placeholder mouseup.placeholder keydown.placeholder mousedown.placeholder afterSetMode.placeholder changePlace.placeholder",this.toggle).on(window,"load",this.toggle),this.addNativeListeners(),this.toggle()}}afterInit(e){e.o.showPlaceholder&&(this.placeholderElm=e.c.fromHTML(``),"rtl"===e.o.direction&&(this.placeholderElm.style.right="0px",this.placeholderElm.style.direction="rtl"),e.e.on("readonly",(e=>{e?this.hide():this.toggle()})).on("changePlace",this.addEvents),this.addEvents())}show(){const e=this.j;if(e.o.readonly)return;let t=0,i=0;const s=e.s.current(),o=s&&oe.i.closest(s,oe.i.isBlock,e.editor)||e.editor,r=e.ew.getComputedStyle(o),n=e.ew.getComputedStyle(e.editor);e.workplace.appendChild(this.placeholderElm);const{firstChild:a}=e.editor;if(oe.i.isElement(a)&&!Tt.Ph.isMarker(a)){const s=e.ew.getComputedStyle(a);t=parseInt(s.getPropertyValue("margin-top"),10),i=parseInt(s.getPropertyValue("margin-left"),10),this.placeholderElm.style.fontSize=parseInt(s.getPropertyValue("font-size"),10)+"px",this.placeholderElm.style.lineHeight=s.getPropertyValue("line-height")}else this.placeholderElm.style.fontSize=parseInt(r.getPropertyValue("font-size"),10)+"px",this.placeholderElm.style.lineHeight=r.getPropertyValue("line-height");(0,h.css)(this.placeholderElm,{display:"block",textAlign:r.getPropertyValue("text-align"),paddingTop:parseInt(n.paddingTop,10)+"px",paddingLeft:parseInt(n.paddingLeft,10)+"px",paddingRight:parseInt(n.paddingRight,10)+"px",marginTop:Math.max(parseInt(r.getPropertyValue("margin-top"),10),t),marginLeft:Math.max(parseInt(r.getPropertyValue("margin-left"),10),i)})}hide(){oe.i.safeRemove(this.placeholderElm)}toggle(){const e=this.j;e.editor&&!e.isInDestruct&&(e.getRealMode()===c.MODE_WYSIWYG&&(e=>{if(!e.firstChild)return!0;const t=e.firstChild;if(c.MAY_BE_REMOVED_WITH_KEY.test(t.nodeName)||/^(TABLE)$/i.test(t.nodeName))return!1;const i=oe.i.next(t,(e=>e&&!oe.i.isEmptyTextNode(e)),e);return oe.i.isText(t)&&!i?oe.i.isEmptyTextNode(t):!i&&oe.i.each(t,(e=>!oe.i.isTag(e,["ul","li","ol"])&&(oe.i.isEmpty(e)||oe.i.isTag(e,"br"))))})(e.editor)?this.show():this.hide())}beforeDestruct(e){this.hide(),e.e.off(".placeholder").off(window,"load",this.toggle)}}(0,a.gn)([(0,m.debounce)((e=>e.defaultTimeout/10),!0)],It.prototype,"toggle",null),p.pw.add("placeholder",It),p.pw.add("poweredByJodit",(e=>{const{o:t}=e;t.hidePoweredByJodit||t.inline||!(t.showCharsCounter||t.showWordsCounter||t.showXPathInStatusbar)||e.hookStatus("ready",(()=>{e.statusbar.append(e.create.fromHTML('\n\t\t\t\t\t\t\tPowered by Jodit\n\t\t\t\t\t\t'),!0)}))}));var Lt=s(25846);l.D.prototype.controls.preview={icon:"eye",command:"preview",mode:c.MODE_SOURCE+c.MODE_WYSIWYG,tooltip:"Preview"},p.pw.add("preview",(e=>{e.registerButton({name:"preview"}),e.registerCommand("preview",((t,i,s)=>{const o=e.dlg();o.setSize(1024,600).open("",e.i18n("Preview")).setModal(!0),(0,Lt.$)(e,s,"px",o.getElm("content"))}))}));var Mt=s(4371),At=s(58260);Q.J.set("print",s(22860)),l.D.prototype.controls.print={exec(e){const t=e.create.element("iframe");Object.assign(t.style,{position:"fixed",right:0,bottom:0,width:0,height:0,border:0}),(0,p.ZO)(e,l.D).appendChild(t);const i=()=>{e.e.off(e.ow,"mousemove",i),oe.i.safeRemove(t)},s=t.contentWindow;if(s){e.e.on(s,"onbeforeunload onafterprint",i).on(e.ow,"mousemove",i),e.o.iframe?(e.e.fire("generateDocumentStructure.iframe",s.document,e),s.document.body.innerHTML=e.value):(s.document.write('"),s.document.close(),(0,Lt.$)(e,void 0,"px",s.document.body));const t=s.document.createElement("style");t.innerHTML="@media print {\n\t\t\t\t\tbody {\n\t\t\t\t\t\t\t-webkit-print-color-adjust: exact;\n\t\t\t\t\t}\n\t\t\t}",s.document.head.appendChild(t),s.focus(),s.print()}},mode:c.MODE_SOURCE+c.MODE_WYSIWYG,tooltip:"Print"},p.pw.add("print",(e=>{e.registerButton({name:"print"})})),Q.J.set("redo",s(95600)).set("undo",s(76214)),l.D.prototype.controls.redo={mode:c.MODE_SPLIT,isDisabled(e){return!e.history.canRedo()},tooltip:"Redo"},l.D.prototype.controls.undo={mode:c.MODE_SPLIT,isDisabled(e){return!e.history.canUndo()},tooltip:"Undo"},p.pw.add("redoUndo",class Dt extends ge.S{constructor(){super(...arguments),this.buttons=[{name:"undo",group:"history"},{name:"redo",group:"history"}]}beforeDestruct(){}afterInit(e){const t=t=>(e.history[t](),!1);e.registerCommand("redo",{exec:t,hotkeys:["ctrl+y","ctrl+shift+z","cmd+y","cmd+shift+z"]}),e.registerCommand("undo",{exec:t,hotkeys:["ctrl+z","cmd+z"]})}}),l.D.prototype.tableAllowCellResize=!0;const Pt="table_processor_observer-resize";class Nt extends d.Plugin{constructor(){super(...arguments),this.selectMode=!1,this.resizeDelta=0,this.createResizeHandle=()=>{this.resizeHandler||(this.resizeHandler=this.j.c.div("jodit-table-resizer"),this.j.e.on(this.resizeHandler,"mousedown.table touchstart.table",this.onHandleMouseDown).on(this.resizeHandler,"mouseenter.table",(()=>{this.j.async.clearTimeout(this.hideTimeout)})))},this.hideTimeout=0,this.drag=!1,this.minX=0,this.maxX=0,this.startX=0}get module(){return this.j.getInstance("Table",this.j.o)}get isRTL(){return"rtl"===this.j.o.direction}showResizeHandle(){this.j.async.clearTimeout(this.hideTimeout),this.j.workplace.appendChild(this.resizeHandler)}hideResizeHandle(){this.hideTimeout=this.j.async.setTimeout((()=>{ne.i.safeRemove(this.resizeHandler)}),{timeout:this.j.defaultTimeout,label:"hideResizer"})}onHandleMouseDown(e){if(this.j.isLocked)return;this.drag=!0,this.j.e.on(this.j.ow,"mouseup.resize-cells touchend.resize-cells",this.onMouseUp).on(this.j.ew,"mousemove.table touchmove.table",this.onMouseMove),this.startX=e.clientX,this.j.lock(Pt),this.resizeHandler.classList.add("jodit-table-resizer_moved");let t,i=this.workTable.getBoundingClientRect();if(this.minX=0,this.maxX=1e6,null!=this.wholeTable)i=this.workTable.parentNode.getBoundingClientRect(),this.minX=i.left,this.maxX=this.minX+i.width;else{const e=d.Table.formalCoordinate(this.workTable,this.workCell,!0);d.Table.formalMatrix(this.workTable,((i,s,o)=>{e[1]===o&&(t=i.getBoundingClientRect(),this.minX=Math.max(t.left+c.NEARBY/2,this.minX)),e[1]+(this.isRTL?-1:1)===o&&(t=i.getBoundingClientRect(),this.maxX=Math.min(t.left+t.width-c.NEARBY/2,this.maxX))}))}return!1}onMouseMove(e){if(!this.drag)return;this.j.e.fire("closeAllPopups");let t=e.clientX;const i=(0,h.offset)(this.resizeHandler.parentNode||this.j.od.documentElement,this.j,this.j.od,!0);this.minX>t&&(t=this.minX),t>this.maxX&&(t=this.maxX),this.resizeDelta=t-this.startX+(this.j.o.iframe?i.left:0),this.resizeHandler.style.left=t-(this.j.o.iframe?0:i.left)+"px";const s=this.j.s.sel;s&&s.removeAllRanges()}onMouseUp(e){(this.selectMode||this.drag)&&(this.selectMode=!1,this.j.unlock()),this.resizeHandler&&this.drag&&(this.drag=!1,this.j.e.off(this.j.ew,"mousemove.table touchmove.table",this.onMouseMove),this.resizeHandler.classList.remove("jodit-table-resizer_moved"),this.startX!==e.clientX&&(null==this.wholeTable?this.resizeColumns():this.resizeTable()),this.j.synchronizeValues(),this.j.s.focus())}resizeColumns(){const e=this.resizeDelta,t=[];d.Table.setColumnWidthByDelta(this.workTable,d.Table.formalCoordinate(this.workTable,this.workCell,!0)[1],e,!0,t);const i=(0,h.call)(this.isRTL?ne.i.prev:ne.i.next,this.workCell,ne.i.isCell,this.workCell.parentNode);d.Table.setColumnWidthByDelta(this.workTable,d.Table.formalCoordinate(this.workTable,i)[1],-e,!1,t)}resizeTable(){const e=this.resizeDelta*(this.isRTL?-1:1),t=this.workTable.offsetWidth,i=(0,h.getContentWidth)(this.workTable.parentNode,this.j.ew),s=!this.wholeTable;if(this.isRTL?!s:s)this.workTable.style.width=(t+e)/i*100+"%";else{const s=this.isRTL?"marginRight":"marginLeft",o=parseInt(this.j.ew.getComputedStyle(this.workTable)[s]||"0",10);this.workTable.style.width=(t-e)/i*100+"%",this.workTable.style[s]=(o+e)/i*100+"%"}}setWorkCell(e,t=null){this.wholeTable=t,this.workCell=e,this.workTable=ne.i.up(e,(e=>ne.i.isTag(e,"table")),this.j.editor)}calcHandlePosition(e,t,i=0,s=0){const o=(0,h.offset)(t,this.j,this.j.ed);if(i>c.NEARBY&&o.width-c.NEARBY>i)return void this.hideResizeHandle();const r=(0,h.offset)(this.j.workplace,this.j,this.j.od,!0),n=(0,h.offset)(e,this.j,this.j.ed);if(this.resizeHandler.style.left=(i>c.NEARBY?o.left+o.width:o.left)-r.left+s+"px",Object.assign(this.resizeHandler.style,{height:n.height+"px",top:n.top-r.top+"px"}),this.showResizeHandle(),i>c.NEARBY){const e=(0,h.call)(this.isRTL?ne.i.prev:ne.i.next,t,ne.i.isCell,t.parentNode);this.setWorkCell(t,!!e&&null)}else{const e=(0,h.call)(this.isRTL?ne.i.next:ne.i.prev,t,ne.i.isCell,t.parentNode);this.setWorkCell(e||t,!e||null)}}afterInit(e){e.o.tableAllowCellResize&&e.e.off(this.j.ow,".resize-cells").off(".resize-cells").on("change.resize-cells afterCommand.resize-cells afterSetMode.resize-cells",(()=>{(0,h.$$)("table",e.editor).forEach(this.observe)})).on(this.j.ow,"scroll.resize-cells",(()=>{if(!this.drag)return;const t=ne.i.up(this.workCell,(e=>ne.i.isTag(e,"table")),e.editor);if(t){const e=t.getBoundingClientRect();this.resizeHandler.style.top=e.top+"px"}})).on("beforeSetMode.resize-cells",(()=>{this.module.getAllSelectedCells().forEach((t=>{this.module.removeSelection(t),d.Table.normalizeTable(ne.i.closest(t,"table",e.editor))}))}))}observe(e){(0,h.dataBind)(e,Pt)||((0,h.dataBind)(e,Pt,!0),this.j.e.on(e,"mouseleave.resize-cells",(e=>{this.resizeHandler&&this.resizeHandler!==e.relatedTarget&&this.hideResizeHandle()})).on(e,"mousemove.resize-cells touchmove.resize-cells",this.j.async.throttle((t=>{if(this.j.isLocked)return;const i=ne.i.up(t.target,ne.i.isCell,e);i&&this.calcHandlePosition(e,i,t.offsetX)}),{timeout:this.j.defaultTimeout})),this.createResizeHandle())}beforeDestruct(e){e.events&&(e.e.off(this.j.ow,".resize-cells"),e.e.off(".resize-cells"))}}(0,a.gn)([m.autobind],Nt.prototype,"onHandleMouseDown",null),(0,a.gn)([m.autobind],Nt.prototype,"onMouseMove",null),(0,a.gn)([m.autobind],Nt.prototype,"onMouseUp",null),(0,a.gn)([m.autobind],Nt.prototype,"observe",null),p.pw.add("resizeCells",Nt),l.D.prototype.allowResizeX=!1,l.D.prototype.allowResizeY=!0;let Rt=class e extends se.S{constructor(){super(...arguments),this.isResized=!1,this.start={x:0,y:0,w:0,h:0},this.handle=this.j.c.div("jodit-editor__resize",ee.JO.get("resize_handler"))}afterInit(e){const{height:t,width:i,allowResizeX:s}=e.o;let{allowResizeY:o}=e.o;"auto"===t&&"auto"!==i&&(o=!1),"auto"===t&&"auto"===i||!s&&!o||(e.statusbar.setMod("resize-handle",!0),e.e.on("toggleFullSize.resizeHandler",(()=>{this.handle.style.display=e.isFullSize?"none":"block"})).on(this.handle,"mousedown touchstart",this.onHandleResizeStart).on(e.ow,"mouseup touchend",this.onHandleResizeEnd),e.container.appendChild(this.handle))}onHandleResizeStart(e){this.isResized=!0,this.start.x=e.clientX,this.start.y=e.clientY,this.start.w=this.j.container.offsetWidth,this.start.h=this.j.container.offsetHeight,this.j.lock(),this.j.e.on(this.j.ow,"mousemove touchmove",this.onHandleResize),e.preventDefault()}onHandleResize(e){this.isResized&&(this.j.o.allowResizeY&&this.j.e.fire("setHeight",this.start.h+e.clientY-this.start.y),this.j.o.allowResizeX&&this.j.e.fire("setWidth",this.start.w+e.clientX-this.start.x),this.j.e.fire("resize"))}onHandleResizeEnd(){this.isResized&&(this.isResized=!1,this.j.e.off(this.j.ow,"mousemove touchmove",this.onHandleResize),this.j.unlock())}beforeDestruct(){oe.i.safeRemove(this.handle),this.j.e.off(this.j.ow,"mouseup touchsend",this.onHandleResizeEnd)}};Rt.requires=["size"],Rt=(0,a.gn)([m.autobind],Rt),p.pw.add("resizeHandler",Rt),l.D.prototype.allowResizeTags=["img","iframe","table","jodit"],l.D.prototype.resizer={showSize:!0,hideSizeTimeout:1e3,forImageChangeAttributes:!0,min_width:10,min_height:10,useAspectRatio:["img"]};const qt="__jodit-resizer_binded";class Bt extends ge.S{constructor(){super(...arguments),this.LOCK_KEY="resizer",this.element=null,this.isResizeMode=!1,this.isShown=!1,this.startX=0,this.startY=0,this.width=0,this.height=0,this.ratio=0,this.rect=this.j.c.fromHTML(`
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t100x100\n\t\t\t
`),this.sizeViewer=this.rect.getElementsByTagName("span")[0],this.pointerX=0,this.pointerY=0,this.isAltMode=!1,this.onClickElement=e=>{this.isResizeMode||this.element===e&&this.isShown||(this.element=e,this.show(),ne.i.isTag(this.element,"img")&&!this.element.complete&&this.j.e.one(this.element,"load",this.updateSize))},this.updateSize=()=>{if(!this.isInDestruct&&this.isShown&&this.element&&this.rect){const e=this.getWorkplacePosition(),t=(0,h.offset)(this.element,this.j,this.j.ed),i=parseInt(this.rect.style.left||"0",10),s=this.rect.offsetWidth,o=this.rect.offsetHeight,r=t.top-e.top,n=t.left-e.left;parseInt(this.rect.style.top||"0",10)===r&&i===n&&s===this.element.offsetWidth&&o===this.element.offsetHeight||((0,h.css)(this.rect,{top:r,left:n,width:this.element.offsetWidth,height:this.element.offsetHeight}),this.j.events&&(this.j.e.fire(this.element,"changesize"),isNaN(i)||this.j.e.fire("resize")))}},this.hideSizeViewer=()=>{this.sizeViewer.style.opacity="0"}}afterInit(e){(0,h.$$)("div",this.rect).forEach((t=>{e.e.on(t,"mousedown.resizer touchstart.resizer",this.onStartResizing.bind(this,t))})),p.TB.on("hideHelpers",this.hide),e.e.on("readonly",(e=>{e&&this.hide()})).on("afterInit changePlace",this.addEventListeners.bind(this)).on("afterGetValueFromEditor.resizer",(e=>{const t=/]+data-jodit_iframe_wrapper[^>]+>(.*?]*>.*?<\/iframe>.*?)<\/jodit>/gi;t.test(e.value)&&(e.value=e.value.replace(t,"$1"))})).on("hideResizer",this.hide).on("change afterInit afterSetMode",this.onChangeEditor),this.addEventListeners(),this.onChangeEditor()}onEditorClick(e){let t=e.target;const{editor:i,options:{allowResizeTags:s}}=this.j;for(;t&&t!==i;){if(ne.i.isTag(t,s))return this.bind(t),void this.onClickElement(t);t=t.parentNode}}addEventListeners(){const e=this.j;e.e.off(e.editor,".resizer").off(e.ow,".resizer").on(e.editor,"keydown.resizer",(e=>{this.isShown&&e.key===c.KEY_DELETE&&this.element&&!ne.i.isTag(this.element,"table")&&this.onDelete(e)})).on(e.ow,"resize.resizer",this.updateSize).on("resize.resizer",this.updateSize).on([e.ow,e.editor],"scroll.resizer",(()=>{this.isShown&&!this.isResizeMode&&this.hide()})).on(e.ow,"keydown.resizer",this.onKeyDown).on(e.ow,"keyup.resizer",this.onKeyUp).on(e.ow,"mouseup.resizer touchend.resizer",this.onClickOutside)}onStartResizing(e,t){if(!this.element||!this.element.parentNode)return this.hide(),!1;this.handle=e,t.cancelable&&t.preventDefault(),t.stopImmediatePropagation(),this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.ratio=this.width/this.height,this.isResizeMode=!0,this.startX=t.clientX,this.startY=t.clientY,this.pointerX=t.clientX,this.pointerY=t.clientY;const{j:i}=this;i.e.fire("hidePopup"),i.lock(this.LOCK_KEY),i.e.on(i.ow,"mousemove.resizer touchmove.resizer",this.onResize)}onEndResizing(){const{j:e}=this;e.unlock(),this.isResizeMode=!1,this.isAltMode=!1,e.synchronizeValues(),e.e.off(e.ow,"mousemove.resizer touchmove.resizer",this.onResize)}onResize(e){if(this.isResizeMode){if(!this.element)return;let t,i;if(this.pointerX=e.clientX,this.pointerY=e.clientY,this.j.options.iframe){const s=this.getWorkplacePosition();t=e.clientX+s.left-this.startX,i=e.clientY+s.top-this.startY}else t=this.pointerX-this.startX,i=this.pointerY-this.startY;const s=this.handle.className;let o=0,r=0;const n=this.j.o.resizer.useAspectRatio;!this.isAltMode&&(!0===n||Array.isArray(n)&&ne.i.isTag(this.element,n))?(t?(o=this.width+(s.match(/left/)?-1:1)*t,r=Math.round(o/this.ratio)):(r=this.height+(s.match(/top/)?-1:1)*i,o=Math.round(r*this.ratio)),o>(0,h.innerWidth)(this.j.editor,this.j.ow)&&(o=(0,h.innerWidth)(this.j.editor,this.j.ow),r=Math.round(o/this.ratio))):(o=this.width+(s.match(/left/)?-1:1)*t,r=this.height+(s.match(/top/)?-1:1)*i),o>this.j.o.resizer.min_width&&this.applySize(this.element,"width",this.rect.parentNode.offsetWidth>o?o:"100%"),r>this.j.o.resizer.min_height&&this.applySize(this.element,"height",r),this.updateSize(),this.showSizeViewer(this.element.offsetWidth,this.element.offsetHeight),e.stopImmediatePropagation()}}onKeyDown(e){this.isAltMode=e.key===c.KEY_ALT,!this.isAltMode&&this.isResizeMode&&this.onEndResizing()}onKeyUp(){this.isAltMode&&this.isResizeMode&&this.element&&(this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.ratio=this.width/this.height,this.startX=this.pointerX,this.startY=this.pointerY),this.isAltMode=!1}onClickOutside(e){if(this.isShown){if(!this.isResizeMode)return this.hide();e.stopImmediatePropagation(),this.onEndResizing()}}getWorkplacePosition(){return(0,h.offset)(this.rect.parentNode||this.j.od.documentElement,this.j,this.j.od,!0)}applySize(e,t,i){const s=ne.i.isImage(e)&&this.j.o.resizer.forImageChangeAttributes;s&&(0,h.attr)(e,t,i),s&&!e.style[t]||(0,h.css)(e,t,i)}onDelete(e){this.element&&("JODIT"!==this.element.tagName?this.j.s.select(this.element):(ne.i.safeRemove(this.element),this.hide(),e.preventDefault()))}onChangeEditor(){this.isShown&&(this.element&&this.element.parentNode?this.updateSize():this.hide()),(0,h.$$)("iframe",this.j.editor).forEach(this.bind)}bind(e){if(!ne.i.isHTMLElement(e)||!this.j.o.allowResizeTags.includes(e.tagName.toLowerCase())||(0,h.dataBind)(e,qt))return;let t;if((0,h.dataBind)(e,qt,!0),ne.i.isTag(e,"iframe")){const i=e;ne.i.isHTMLElement(e.parentNode)&&(0,h.attr)(e.parentNode,"-jodit_iframe_wrapper")?e=e.parentNode:(t=this.j.createInside.element("jodit",{"data-jodit-temp":1,contenteditable:!1,draggable:!0,"data-jodit_iframe_wrapper":1}),(0,h.attr)(t,"style",(0,h.attr)(e,"style")),(0,h.css)(t,{display:"inline-block"===e.style.display?"inline-block":"block",width:e.offsetWidth,height:e.offsetHeight}),e.parentNode&&e.parentNode.insertBefore(t,e),t.appendChild(e),this.j.e.on(t,"click",(()=>{(0,h.attr)(t,"data-jodit-wrapper_active",!0)})),e=t),this.j.e.off(e,"mousedown.select touchstart.select").on(e,"mousedown.select touchstart.select",(()=>{this.j.s.select(e)})).off(e,"changesize").on(e,"changesize",(()=>{i.setAttribute("width",e.offsetWidth+"px"),i.setAttribute("height",e.offsetHeight+"px")}))}this.j.e.on(e,"dragstart",this.hide)}showSizeViewer(e,t){this.j.o.resizer.showSize&&(this.sizeViewer.offsetWidth>e||this.sizeViewer.offsetHeight>t?this.hideSizeViewer():(this.sizeViewer.style.opacity="1",this.sizeViewer.textContent=`${e} x ${t}`,this.j.async.setTimeout(this.hideSizeViewer,{timeout:this.j.o.resizer.hideSizeTimeout,label:"hideSizeViewer"})))}show(){this.j.o.readonly||this.isShown||(this.isShown=!0,this.rect.parentNode||((0,h.markOwner)(this.j,this.rect),this.j.workplace.appendChild(this.rect)),this.j.isFullSize&&(this.rect.style.zIndex=""+(0,h.css)(this.j.container,"zIndex")),this.updateSize())}hide(){this.isResizeMode||(this.isResizeMode=!1,this.isShown=!1,this.element=null,ne.i.safeRemove(this.rect),(0,h.$$)("[data-jodit-wrapper_active='true']",this.j.editor).forEach((e=>(0,h.attr)(e,"data-jodit-wrapper_active",!1))))}beforeDestruct(e){this.hide(),p.TB.off("hideHelpers",this.hide),e.e.off(this.j.ow,".resizer").off(".resizer")}}(0,a.gn)([(0,m.watch)(":click")],Bt.prototype,"onEditorClick",null),(0,a.gn)([m.autobind],Bt.prototype,"onStartResizing",null),(0,a.gn)([m.autobind],Bt.prototype,"onEndResizing",null),(0,a.gn)([m.autobind],Bt.prototype,"onResize",null),(0,a.gn)([m.autobind],Bt.prototype,"onKeyDown",null),(0,a.gn)([m.autobind],Bt.prototype,"onKeyUp",null),(0,a.gn)([m.autobind],Bt.prototype,"onClickOutside",null),(0,a.gn)([(0,m.debounce)()],Bt.prototype,"onChangeEditor",null),(0,a.gn)([m.autobind],Bt.prototype,"bind",null),(0,a.gn)([m.autobind],Bt.prototype,"hide",null),p.pw.add("resizer",Bt);let Ot=class e extends ee.u1{constructor(e){super(e),this.selInfo=null,this._currentIndex=0,this.isOpened=!1;const{query:t,replace:i,cancel:s,next:o,prev:r,replaceBtn:n,current:a,count:l}=(0,h.refs)(this.container);this.queryInput=t,this.replaceInput=i,this.closeButton=s,this.replaceButton=n,this.currentBox=a,this.countBox=l,e.e.on(this.closeButton,"pointerdown",(()=>(this.close(),!1))).on(this.queryInput,"input",(()=>{this.currentIndex=0})).on(this.queryInput,"pointerdown",(()=>{e.s.isFocused()&&(e.s.removeMarkers(),this.selInfo=e.s.save())})).on(this.replaceButton,"pointerdown",(()=>(e.e.fire(this,"pressReplaceButton"),!1))).on(o,"pointerdown",(()=>(e.e.fire("searchNext"),!1))).on(r,"pointerdown",(()=>(e.e.fire("searchPrevious"),!1))).on(this.queryInput,"input",(()=>{this.setMod("empty-query",!(0,h.trim)(this.queryInput.value).length)})).on(this.queryInput,"keydown",this.j.async.debounce((t=>{t.key===c.KEY_ENTER?(t.preventDefault(),t.stopImmediatePropagation(),e.e.fire("searchNext")&&this.close()):e.e.fire(this,"needUpdateCounters")}),this.j.defaultTimeout))}className(){return"UISearch"}render(){return`
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t0/0\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
`}get currentIndex(){return this._currentIndex}set currentIndex(e){this._currentIndex=e,this.currentBox.innerText=""+e}set count(e){this.countBox.innerText=""+e}get query(){return this.queryInput.value}get replace(){return this.replaceInput.value}onEditorKeyDown(e){if(!this.isOpened)return;const{j:t}=this;if(t.getRealMode()===c.MODE_WYSIWYG)switch(e.key){case c.KEY_ESC:this.close();break;case c.KEY_F3:this.queryInput.value&&(t.e.fire(e.shiftKey?"searchPrevious":"searchNext"),e.preventDefault())}}open(e,t,i=!1){this.isOpened||(this.j.workplace.appendChild(this.container),this.isOpened=!0),this.calcSticky(this.j.e.fire("getStickyState.sticky")||!1),this.j.e.fire("hidePopup"),this.setMod("replace",i);const s=null!=e?e:""+(this.j.s.sel||"");s&&(this.queryInput.value=s),t&&(this.replaceInput.value=t),this.setMod("empty-query",!s.length),this.j.e.fire(this,"needUpdateCounters"),s?this.queryInput.select():this.queryInput.focus()}close(){this.isOpened&&(this.j.s.restore(),oe.i.safeRemove(this.container),this.isOpened=!1,this.j.e.fire(this,"afterClose"))}calcSticky(e){if(this.isOpened)if(this.setMod("sticky",e),e){const e=(0,h.position)(this.j.toolbarContainer);(0,h.css)(this.container,{top:e.top+e.height,left:e.left+e.width})}else(0,h.css)(this.container,{top:null,left:null})}};(0,a.gn)([(0,m.watch)([":keydown","queryInput:keydown"])],Ot.prototype,"onEditorKeyDown",null),(0,a.gn)([m.autobind],Ot.prototype,"open",null),(0,a.gn)([m.autobind],Ot.prototype,"close",null),(0,a.gn)([(0,m.watch)(":toggleSticky")],Ot.prototype,"calcSticky",null),Ot=(0,a.gn)([m.component],Ot);var Ht=s(83212);class Ft{constructor(e=Ht.Q){this.searchIndex=e,this.queue=[],this.value=""}add(e){var t;const i=(null!==(t=e.nodeValue)&&void 0!==t?t:"").toLowerCase();if(!i.length)return;const s=this.value.length;this.queue.push({startIndex:s,endIndex:s+i.length,node:e}),this.value+=i}ranges(e,t=0){const i=[];let s=t,o=0,r=0;do{if([s,o]=this.searchIndex(e,this.value,s),-1!==s){let e,t,n=0,a=0;for(let i=r;this.queue.length>i;i+=1)if(!e&&this.queue[i].endIndex>s&&(e=this.queue[i].node,n=s-this.queue[i].startIndex),e&&this.queue[i].endIndex>=s+o){t=this.queue[i].node,a=s+o-this.queue[i].startIndex,r=i;break}e&&t&&i.push({startContainer:e,startOffset:n,endContainer:t,endOffset:a}),s+=o}}while(-1!==s);return 0===i.length?null:i}}const Vt="jd-tmp-selection";function Wt(e,t,i,s){if(null==e.startContainer.nodeValue||null==e.endContainer.nodeValue)return;const o=i.element("span",{[Vt]:!0});ne.i.markTemporary(o);const r=e.startContainer.nodeValue;let n=0;if(0!==e.startOffset){const t=i.text(r.substring(0,e.startOffset));e.startContainer.nodeValue=r.substring(e.startOffset),ne.i.before(e.startContainer,t),e.startContainer===e.endContainer&&(n=e.startOffset,e.endOffset-=n),e.startOffset=0}const a=e.endContainer.nodeValue;if(e.endOffset!==a.length){const s=i.text(a.substring(e.endOffset));e.endContainer.nodeValue=a.substring(0,e.endOffset),ne.i.after(e.endContainer,s);for(const i of t){if(i.startContainer!==e.endContainer)break;i.startContainer=s,i.startOffset=i.startOffset-e.endOffset-n,i.endContainer===e.endContainer&&(i.endContainer=s,i.endOffset=i.endOffset-e.endOffset-n)}e.endOffset=e.endContainer.nodeValue.length}let l=e.startContainer;do{if(!l)break;if(!ne.i.isText(l)||ne.i.isElement(c=l.parentNode)&&c.hasAttribute(Vt)||ne.i.wrap(l,o.cloneNode(),i),l===e.endContainer)break;let t=l.firstChild||l.nextSibling;if(!t){for(;l&&!l.nextSibling&&l!==s;)l=l.parentNode;t=null==l?void 0:l.nextSibling}l=t}while(l&&l!==s);var c}function $t(e){return(0,Ve.$$)(`[${Vt}]`,e)}function Ut(e){$t(e).forEach((e=>ne.i.unwrap(e)))}l.D.prototype.useSearch=!0,l.D.prototype.search={lazyIdleTimeout:0},Q.J.set("search",s(41197)),l.D.prototype.controls.find={tooltip:"Find",icon:"search",exec(e,t,{control:i}){switch(i.args&&i.args[0]){case"findPrevious":e.e.fire("searchPrevious");break;case"findNext":e.e.fire("searchNext");break;case"replace":e.execCommand("openReplaceDialog");break;default:e.execCommand("openSearchDialog")}},list:{search:"Find",findNext:"Find Next",findPrevious:"Find Previous",replace:"Replace"},childTemplate(e,t,i){return i}};class Yt extends se.S{constructor(){super(...arguments),this.buttons=[{name:"find",group:"search"}],this.previousQuery="",this.drawPromise=null,this.walker=null,this.walkerCount=null,this.cache={},this.wrapFrameRequest=0}get ui(){return new Ot(this.j)}async updateCounters(){this.ui.isOpened&&(this.ui.count=await this.calcCounts(this.ui.query))}onPressReplaceButton(){this.findAndReplace(this.ui.query),this.updateCounters()}tryScrollToElement(e){let t=oe.i.closest(e,oe.i.isElement,this.j.editor);t||(t=oe.i.prev(e,oe.i.isElement,this.j.editor)),t&&t!==this.j.editor&&(0,h.scrollIntoViewIfNeeded)(t,this.j.editor,this.j.ed)}async calcCounts(e){return(await this.findQueryBounds(e,"walkerCount")).length}async findQueryBounds(e,t){let i=this[t];return i&&i.break(),i=new oe.b(this.j.async,{timeout:this.j.o.search.lazyIdleTimeout}),this[t]=i,this.find(i,e).catch((e=>[]))}async findAndReplace(e){const t=await this.findQueryBounds(e,"walker");if(!t.length)return!1;let i=this.findCurrentIndexInRanges(t,this.j.s.range);-1===i&&(i=0);const s=t[i];if(s){try{const t=this.j.ed.createRange();t.setStart(s.startContainer,s.startOffset),t.setEnd(s.endContainer,s.endOffset),t.deleteContents();const o=this.j.createInside.text(this.ui.replace);oe.i.safeInsertNode(t,o),Ut(this.j.editor),this.j.s.setCursorAfter(o),this.tryScrollToElement(o),this.cache={},this.ui.currentIndex=i,await this.findAndSelect(e,!0).catch((e=>null))}finally{this.j.synchronizeValues()}return this.j.e.fire("afterFindAndReplace"),!0}return!1}async findAndSelect(e,t){var i;const s=await this.findQueryBounds(e,"walker");if(!s.length)return!1;this.previousQuery===e&&$t(this.j.editor).length||(null===(i=this.drawPromise)||void 0===i||i.rejectCallback(),this.j.async.cancelAnimationFrame(this.wrapFrameRequest),Ut(this.j.editor),this.drawPromise=this.drawSelectionRanges(s)),this.previousQuery=e;let o=this.ui.currentIndex-1;o=-1===o?0:t?o===s.length-1?0:o+1:0===o?s.length-1:o-1,this.ui.currentIndex=o+1;const r=s[o];if(r){const e=this.j.ed.createRange();try{e.setStart(r.startContainer,r.startOffset),e.setEnd(r.endContainer,r.endOffset),this.j.s.selectRange(e)}catch(e){}return this.tryScrollToElement(r.startContainer),await this.updateCounters(),await this.drawPromise,this.j.e.fire("afterFindAndSelect"),!0}return!1}findCurrentIndexInRanges(e,t){return e.findIndex((e=>e.startContainer===t.startContainer&&e.startOffset===t.startOffset&&e.endContainer===t.startContainer&&e.endOffset===t.endOffset))}async isValidCache(e){return(await e).every((e=>{var t,i,s,o;return e.startContainer.isConnected&&e.startOffset<=(null!==(i=null===(t=e.startContainer.nodeValue)||void 0===t?void 0:t.length)&&void 0!==i?i:0)&&e.endContainer.isConnected&&e.endOffset<=(null!==(o=null===(s=e.endContainer.nodeValue)||void 0===s?void 0:s.length)&&void 0!==o?o:0)}))}async find(e,t){if(!t.length)return[];const i=this.cache[t];return i&&await this.isValidCache(i)?i:(this.cache[t]=this.j.async.promise((i=>{const s=new Ft(this.j.o.search.fuzzySearch);e.on("break",(()=>{i([])})).on("visit",(e=>(oe.i.isText(e)&&s.add(e),!1))).on("end",(()=>{var e;i(null!==(e=s.ranges(t))&&void 0!==e?e:[])})).setWork(this.j.editor)})),this.cache[t])}drawSelectionRanges(e){const{async:t,createInside:i,editor:s}=this.j;t.cancelAnimationFrame(this.wrapFrameRequest);const o=[...e];let r,n=0;return t.promise((e=>{const a=()=>{do{r=o.shift(),r&&Wt(r,o,i,s),n+=1}while(r&&5>=n);o.length?this.wrapFrameRequest=t.requestAnimationFrame(a):e()};a()}))}onAfterGetValueFromEditor(e){e.value=e.value.replace(RegExp(`]+${Vt}[^>]+>(.*?)`,"g"),"$1")}afterInit(e){if(e.o.useSearch){const t=this;e.e.on("beforeSetMode.search",(()=>{this.ui.close()})).on(this.ui,"afterClose",(()=>{Ut(e.editor),this.ui.currentIndex=0,this.ui.count=0,this.cache={}})).on("click",(()=>{this.ui.currentIndex=0,Ut(e.editor)})).on("change.search",(()=>{this.cache={}})).on("keydown.search mousedown.search",e.async.debounce((()=>{this.ui.selInfo&&(e.s.removeMarkers(),this.ui.selInfo=null),this.ui.isOpened&&this.updateCounters()}),e.defaultTimeout)).on("searchNext.search searchPrevious.search",(()=>(this.ui.isOpened||this.ui.open(),t.findAndSelect(t.ui.query,"searchNext"===e.e.current).catch((e=>{}))))).on("search.search",((e,i=!0)=>(this.ui.currentIndex=0,t.findAndSelect(e||"",i).catch((e=>{}))))),e.registerCommand("search",{exec(e,i,s=!0){return i&&t.findAndSelect(i,s).catch((e=>{})),!1}}).registerCommand("openSearchDialog",{exec(e,i){return t.ui.open(i),!1},hotkeys:["ctrl+f","cmd+f"]}).registerCommand("openReplaceDialog",{exec(i,s,o){return e.o.readonly||t.ui.open(s,o,!0),!1},hotkeys:["ctrl+h","cmd+h"]})}}beforeDestruct(e){this.ui.destruct(),e.e.off(".search")}}(0,a.gn)([m.cache],Yt.prototype,"ui",null),(0,a.gn)([(0,m.watch)("ui:needUpdateCounters")],Yt.prototype,"updateCounters",null),(0,a.gn)([(0,m.watch)("ui:pressReplaceButton")],Yt.prototype,"onPressReplaceButton",null),(0,a.gn)([m.autobind],Yt.prototype,"findQueryBounds",null),(0,a.gn)([m.autobind],Yt.prototype,"findAndReplace",null),(0,a.gn)([m.autobind],Yt.prototype,"findAndSelect",null),(0,a.gn)([m.autobind],Yt.prototype,"find",null),(0,a.gn)([(0,m.watch)(":afterGetValueFromEditor")],Yt.prototype,"onAfterGetValueFromEditor",null),p.pw.add("search",Yt);var Gt=s(79417);l.D.prototype.select={normalizeSelectionBeforeCutAndCopy:!1};class Kt extends se.S{constructor(){super(...arguments),this.proxyEventsList=["click","mousedown","touchstart","mouseup","touchend"]}afterInit(e){this.proxyEventsList.forEach((t=>{e.e.on(t+".select",this.onStartSelection)}))}beforeDestruct(e){this.proxyEventsList.forEach((t=>{e.e.on(t+".select",this.onStartSelection)}))}onStartSelection(e){const{j:t}=this;let i,s=e.target;for(;void 0===i&&s&&s!==t.editor;)i=t.e.fire((0,Gt.e)(e.type+"_"+s.nodeName.toLowerCase()),s,e),s=s.parentElement;"click"===e.type&&void 0===i&&s===t.editor&&t.e.fire(e.type+"Editor",s,e)}onOutsideClick(e){const t=e.target;ne.i.up(t,(e=>e===this.j.editor))||ee.u1.closestElement(t,ee.GI)||this.j.e.fire("outsideClick",e)}beforeCommandCut(e){const{s:t}=this.j;if("cut"===e&&!t.isCollapsed()){const e=t.current();e&&ne.i.isOrContains(this.j.editor,e)&&this.onCopyNormalizeSelectionBound()}}onCopyNormalizeSelectionBound(e){const{s:t,editor:i,o:s}=this.j;s.select.normalizeSelectionBeforeCutAndCopy&&!t.isCollapsed()&&(!e||e.isTrusted&&ne.i.isNode(e.target)&&ne.i.isOrContains(i,e.target))&&this.jodit.s.expandSelection()}}(0,a.gn)([m.autobind],Kt.prototype,"onStartSelection",null),(0,a.gn)([(0,m.watch)("ow:click")],Kt.prototype,"onOutsideClick",null),(0,a.gn)([(0,m.watch)([":beforeCommand"])],Kt.prototype,"beforeCommandCut",null),(0,a.gn)([(0,m.watch)([":copy",":cut"])],Kt.prototype,"onCopyNormalizeSelectionBound",null),p.pw.add("select",Kt),l.D.prototype.tableAllowCellSelection=!0;const Jt="table_processor_observer",Xt="onMoveTableSelectCell";class Zt extends se.S{constructor(){super(...arguments),this.requires=["select"],this.selectedCell=null,this.isSelectionMode=!1}get module(){return this.j.getInstance("Table",this.j.o)}afterInit(e){e.o.tableAllowCellSelection&&e.e.on("keydown.select-cells",(e=>{e.key===c.KEY_TAB&&this.unselectCells()})).on("beforeCommand.select-cells",this.onExecCommand).on("afterCommand.select-cells",this.onAfterCommand).on(["clickEditor","mousedownTd","mousedownTh","touchstartTd","touchstartTh"].map((e=>e+".select-cells")).join(" "),this.onStartSelection).on("clickTr clickTbody",(()=>{var e;const t=this.module.getAllSelectedCells().length;if(t)return t>1&&(null===(e=this.j.s.sel)||void 0===e||e.removeAllRanges()),!1}))}onStartSelection(e){if(this.j.o.readonly)return;if(this.unselectCells(),e===this.j.editor)return;const t=ne.i.closest(e,"table",this.j.editor);return e&&t?(e.firstChild||e.appendChild(this.j.createInside.element("br")),this.isSelectionMode=!0,this.selectedCell=e,this.module.addSelection(e),this.j.e.on(t,"mousemove.select-cells touchmove.select-cells",this.j.async.throttle(this.onMove.bind(this,t),{label:Xt,timeout:this.j.defaultTimeout/2})).on(t,"mouseup.select-cells touchend.select-cells",this.onStopSelection.bind(this,t)),!1):void 0}onOutsideClick(){this.selectedCell=null,this.onRemoveSelection()}onChange(){this.j.isLocked||this.isSelectionMode||this.onRemoveSelection()}onMove(e,t){var i;if(this.j.o.readonly&&!this.j.isLocked)return;if(this.j.isLockedNotBy(Jt))return;const s=this.j.ed.elementFromPoint(t.clientX,t.clientY);if(!s)return;const o=ne.i.closest(s,["td","th"],e);if(!o||!this.selectedCell)return;o!==this.selectedCell&&this.j.lock(Jt),this.unselectCells();const r=d.Table.getSelectedBound(e,[o,this.selectedCell]),n=d.Table.formalMatrix(e);for(let e=r[0][0];r[1][0]>=e;e+=1)for(let t=r[0][1];r[1][1]>=t;t+=1)this.module.addSelection(n[e][t]);this.module.getAllSelectedCells().length>1&&(null===(i=this.j.s.sel)||void 0===i||i.removeAllRanges()),this.j.e.fire("hidePopup"),t.stopPropagation(),(()=>{const e=this.j.createInside.fromHTML('
 
');o.appendChild(e),this.j.async.setTimeout((()=>{var t;null===(t=e.parentNode)||void 0===t||t.removeChild(e)}),this.j.defaultTimeout/5)})()}onRemoveSelection(e){var t;if(!(null===(t=null==e?void 0:e.buffer)||void 0===t?void 0:t.actionTrigger)&&!this.selectedCell&&this.module.getAllSelectedCells().length)return this.j.unlock(),this.unselectCells(),void this.j.e.fire("hidePopup","cells");this.isSelectionMode=!1,this.selectedCell=null}onStopSelection(e,t){if(!this.selectedCell)return;this.isSelectionMode=!1,this.j.unlock();const i=this.j.ed.elementFromPoint(t.clientX,t.clientY);if(!i)return;const s=ne.i.closest(i,["td","th"],e);if(!s)return;const o=ne.i.closest(s,"table",e);if(o&&o!==e)return;const r=d.Table.getSelectedBound(e,[s,this.selectedCell]),n=d.Table.formalMatrix(e),a=n[r[1][0]][r[1][1]],l=n[r[0][0]][r[0][1]];this.j.e.fire("showPopup",e,(()=>{const e=(0,h.position)(l,this.j),t=(0,h.position)(a,this.j);return{left:e.left,top:e.top,width:t.left-e.left+t.width,height:t.top-e.top+t.height}}),"cells"),(0,h.$$)("table",this.j.editor).forEach((e=>{this.j.e.off(e,"mousemove.select-cells touchmove.select-cells mouseup.select-cells touchend.select-cells")})),this.j.async.clearTimeout(Xt)}unselectCells(e){const t=this.module,i=t.getAllSelectedCells();i.length&&i.forEach((i=>{e&&e===i||t.removeSelection(i)}))}onExecCommand(e){if(/table(splitv|splitg|merge|empty|bin|binrow|bincolumn|addcolumn|addrow)/.test(e)){e=e.replace("table","");const t=this.module.getAllSelectedCells();if(t.length){const[i]=t;if(!i)return;const s=ne.i.closest(i,"table",this.j.editor);if(!s)return;switch(e){case"splitv":d.Table.splitVertical(s,this.j);break;case"splitg":d.Table.splitHorizontal(s,this.j);break;case"merge":d.Table.mergeSelected(s,this.j);break;case"empty":t.forEach((e=>ne.i.detach(e)));break;case"bin":ne.i.safeRemove(s);break;case"binrow":new Set(t.map((e=>e.parentNode))).forEach((e=>{d.Table.removeRow(s,e.rowIndex)}));break;case"bincolumn":{const e=new Set;t.reduce(((t,i)=>(e.has(i.cellIndex)||(t.push(i),e.add(i.cellIndex)),t)),[]).forEach((e=>{d.Table.removeColumn(s,e.cellIndex)}))}break;case"addcolumnafter":case"addcolumnbefore":d.Table.appendColumn(s,i.cellIndex,"addcolumnafter"===e,this.j.createInside);break;case"addrowafter":case"addrowbefore":d.Table.appendRow(s,i.parentNode,"addrowafter"===e,this.j.createInside)}}return!1}}onAfterCommand(e){/^justify/.test(e)&&this.module.getAllSelectedCells().forEach((t=>(0,h.alignElement)(e,t)))}beforeDestruct(e){this.onRemoveSelection(),e.e.off(".select-cells")}}(0,a.gn)([m.autobind],Zt.prototype,"onStartSelection",null),(0,a.gn)([(0,m.watch)(":outsideClick")],Zt.prototype,"onOutsideClick",null),(0,a.gn)([(0,m.watch)(":change")],Zt.prototype,"onChange",null),(0,a.gn)([m.autobind],Zt.prototype,"onRemoveSelection",null),(0,a.gn)([m.autobind],Zt.prototype,"onStopSelection",null),(0,a.gn)([m.autobind],Zt.prototype,"onExecCommand",null),(0,a.gn)([m.autobind],Zt.prototype,"onAfterCommand",null),p.pw.add("selectCells",Zt),l.D.prototype.minWidth=200,l.D.prototype.maxWidth="100%",l.D.prototype.minHeight=200,l.D.prototype.maxHeight="auto",l.D.prototype.saveHeightInStorage=!1;let Qt=class e extends ge.S{constructor(){super(...arguments),this.resizeWorkspaces=this.j.async.debounce(this.resizeWorkspaceImd,this.j.defaultTimeout,!0)}afterInit(e){e.e.on("setHeight.size",this.setHeight).on("setWidth.size",this.setWidth).on("afterInit.size changePlace.size",this.initialize,{top:!0}).on(e.ow,"load.size",this.resizeWorkspaces).on("afterInit.size resize.size afterUpdateToolbar.size scroll.size afterResize.size",this.resizeWorkspaces).on("toggleFullSize.size toggleToolbar.size",this.resizeWorkspaceImd),this.initialize()}initialize(){const{j:e}=this;if(e.o.inline)return;let{height:t}=e.o;if(e.o.saveHeightInStorage&&"auto"!==t){const i=e.storage.get("height");i&&(t=i)}(0,h.css)(e.editor,{minHeight:"100%"}),(0,h.css)(e.container,{minHeight:e.o.minHeight,maxHeight:e.o.maxHeight,minWidth:e.o.minWidth,maxWidth:e.o.maxWidth}),this.setHeight(t),this.setWidth(e.o.width)}setHeight(e){if((0,h.isNumber)(e)){const{minHeight:t,maxHeight:i}=this.j.o;(0,h.isNumber)(t)&&t>e&&(e=t),(0,h.isNumber)(i)&&e>i&&(e=i)}(0,h.css)(this.j.container,"height",e),this.j.o.saveHeightInStorage&&this.j.storage.set("height",e),this.resizeWorkspaceImd()}setWidth(e){if((0,h.isNumber)(e)){const{minWidth:t,maxWidth:i}=this.j.o;(0,h.isNumber)(t)&&t>e&&(e=t),(0,h.isNumber)(i)&&e>i&&(e=i)}(0,h.css)(this.j.container,"width",e),this.resizeWorkspaceImd()}getNotWorkHeight(){var e,t;return((null===(e=this.j.toolbarContainer)||void 0===e?void 0:e.offsetHeight)||0)+((null===(t=this.j.statusbar)||void 0===t?void 0:t.getHeight())||0)+2}resizeWorkspaceImd(){if(!this.j||this.j.isDestructed||!this.j.o||this.j.o.inline)return;if(!this.j.container||!this.j.container.parentNode)return;const e=((0,h.css)(this.j.container,"minHeight")||0)-this.getNotWorkHeight();if((0,h.isNumber)(e)&&e>0&&([this.j.workplace,this.j.iframe,this.j.editor].map((t=>{t&&(0,h.css)(t,"minHeight",e)})),this.j.e.fire("setMinHeight",e)),(0,h.isNumber)(this.j.o.maxHeight)){const e=this.j.o.maxHeight-this.getNotWorkHeight();[this.j.workplace,this.j.iframe,this.j.editor].map((t=>{t&&(0,h.css)(t,"maxHeight",e)})),this.j.e.fire("setMaxHeight",e)}this.j.container&&(0,h.css)(this.j.workplace,"height","auto"!==this.j.o.height||this.j.isFullSize?this.j.container.offsetHeight-this.getNotWorkHeight():"auto")}beforeDestruct(e){e.e.off(e.ow,"load.size",this.resizeWorkspaces).off(".size")}};(0,a.gn)([m.autobind],Qt.prototype,"resizeWorkspaceImd",null),Qt=(0,a.gn)([m.autobind],Qt),p.pw.add("size",Qt);class ei{constructor(e,t,i,s){this.jodit=e,this.container=t,this.toWYSIWYG=i,this.fromWYSIWYG=s,this.className="",this.isReady=!1}get j(){return this.jodit}onReady(){this.replaceUndoManager(),this.isReady=!0,this.j.e.fire(this,"ready")}onReadyAlways(e){var t;this.isReady?e():null===(t=this.j.events)||void 0===t||t.on(this,"ready",e)}}class ti extends ei{constructor(){super(...arguments),this.autosize=this.j.async.debounce((()=>{this.instance.style.height="auto",this.instance.style.height=this.instance.scrollHeight+"px"}),this.j.defaultTimeout)}init(e){this.instance=e.c.element("textarea",{class:"jodit-source__mirror"}),this.container.appendChild(this.instance),e.e.on(this.instance,"mousedown keydown touchstart input",e.async.debounce(this.toWYSIWYG,e.defaultTimeout)).on("setMinHeight.source",(e=>{(0,De.i)(this.instance,"minHeight",e)})).on(this.instance,"change keydown mousedown touchstart input",this.autosize).on("afterSetMode.source",this.autosize).on(this.instance,"mousedown focus",(t=>{e.e.fire(t.type,t)})),this.autosize(),this.onReady()}destruct(){ne.i.safeRemove(this.instance)}getValue(){return this.instance.value}setValue(e){this.instance.value=e}insertRaw(e){const t=this.getValue();if(0>this.getSelectionStart())this.setValue(t+e);else{const i=this.getSelectionStart(),s=this.getSelectionEnd();this.setValue(t.substring(0,i)+e+t.substring(s,t.length))}}getSelectionStart(){return this.instance.selectionStart}getSelectionEnd(){return this.instance.selectionEnd}setSelectionRange(e,t=e){this.instance.setSelectionRange(e,t)}get isFocused(){return this.instance===this.j.od.activeElement}focus(){this.instance.focus()}blur(){this.instance.blur()}setPlaceHolder(e){this.instance.setAttribute("placeholder",e)}setReadOnly(e){e?this.instance.setAttribute("readonly","true"):this.instance.removeAttribute("readonly")}selectAll(){this.instance.select()}replaceUndoManager(){const{history:e}=this.jodit;this.j.e.on(this.instance,"keydown",(t=>{if((t.ctrlKey||t.metaKey)&&"z"===t.key)return t.shiftKey?e.redo():e.undo(),this.setSelectionRange(this.getValue().length),!1}))}}class ii extends ei{constructor(){super(...arguments),this.className="jodit_ace_editor",this.proxyOnBlur=e=>{this.j.e.fire("blur",e)},this.proxyOnFocus=e=>{this.j.e.fire("focus",e)},this.proxyOnMouseDown=e=>{this.j.e.fire("mousedown",e)}}aceExists(){return void 0!==this.j.ow.ace}getLastColumnIndex(e){return this.instance.session.getLine(e).length}getLastColumnIndices(){const e=this.instance.session.getLength(),t=[];let i=0;for(let s=0;e>s;s++)i+=this.getLastColumnIndex(s),s>0&&(i+=1),t[s]=i;return t}getRowColumnIndices(e){const t=this.getLastColumnIndices();if(t[0]>=e)return{row:0,column:e};let i=1;for(let s=1;t.length>s;s++)e>t[s]&&(i=s+1);return{row:i,column:e-t[i-1]-1}}setSelectionRangeIndices(e,t){const i=this.getRowColumnIndices(e),s=this.getRowColumnIndices(t);this.instance.getSelection().setSelectionRange({start:i,end:s})}getIndexByRowColumn(e,t){return this.getLastColumnIndices()[e]-this.getLastColumnIndex(e)+t}init(e){const t=()=>{if(void 0!==this.instance||!this.aceExists())return;const t=this.j.c.div("jodit-source__mirror-fake");this.container.appendChild(t),this.instance=e.ow.ace.edit(t),this.instance.setTheme(e.o.sourceEditorNativeOptions.theme),this.instance.renderer.setShowGutter(e.o.sourceEditorNativeOptions.showGutter),this.instance.getSession().setMode(e.o.sourceEditorNativeOptions.mode),this.instance.setHighlightActiveLine(e.o.sourceEditorNativeOptions.highlightActiveLine),this.instance.getSession().setUseWrapMode(!0),this.instance.setOption("indentedSoftWrap",!1),this.instance.setOption("wrap",e.o.sourceEditorNativeOptions.wrap),this.instance.getSession().setUseWorker(!1),this.instance.$blockScrolling=1/0,this.instance.on("change",this.toWYSIWYG),this.instance.on("focus",this.proxyOnFocus),this.instance.on("mousedown",this.proxyOnMouseDown),this.instance.on("blur",this.proxyOnBlur),e.getRealMode()!==c.MODE_WYSIWYG&&this.setValue(this.getValue());const i=this.j.async.debounce((()=>{e.isInDestruct||(this.instance.setOption("maxLines","auto"!==e.o.height?e.workplace.offsetHeight/this.instance.renderer.lineHeight:1/0),this.instance.resize())}),2*this.j.defaultTimeout);e.e.on("afterResize afterSetMode",i),i(),this.onReady()};e.e.on("afterSetMode",(()=>{e.getRealMode()!==c.MODE_SOURCE&&e.getMode()!==c.MODE_SPLIT||(this.fromWYSIWYG(),t())})),t(),this.aceExists()||(0,h.loadNext)(e,e.o.sourceEditorCDNUrlsJS).then((()=>{e.isInDestruct||t()})).catch((()=>null))}destruct(){var e,t;this.instance.off("change",this.toWYSIWYG),this.instance.off("focus",this.proxyOnFocus),this.instance.off("mousedown",this.proxyOnMouseDown),this.instance.destroy(),null===(t=null===(e=this.j)||void 0===e?void 0:e.events)||void 0===t||t.off("aceInited.source")}setValue(e){if(!this.j.o.editHTMLDocumentMode&&this.j.o.beautifyHTML){const t=this.j.e.fire("beautifyHTML",e);(0,h.isString)(t)&&(e=t)}this.instance.setValue(e),this.instance.clearSelection()}getValue(){return this.instance.getValue()}setReadOnly(e){this.instance.setReadOnly(e)}get isFocused(){return this.instance.isFocused()}focus(){this.instance.focus()}blur(){this.instance.blur()}getSelectionStart(){const e=this.instance.selection.getRange();return this.getIndexByRowColumn(e.start.row,e.start.column)}getSelectionEnd(){const e=this.instance.selection.getRange();return this.getIndexByRowColumn(e.end.row,e.end.column)}selectAll(){this.instance.selection.selectAll()}insertRaw(e){const t=this.instance.selection.getCursor(),i=this.instance.session.insert(t,e);this.instance.selection.setRange({start:t,end:i},!1)}setSelectionRange(e,t){this.setSelectionRangeIndices(e,t)}setPlaceHolder(e){}replaceUndoManager(){const{history:e}=this.jodit;this.instance.commands.addCommand({name:"Undo",bindKey:{win:"Ctrl-Z",mac:"Command-Z"},exec(){e.undo()}}),this.instance.commands.addCommand({name:"Redo",bindKey:{win:"Ctrl-Shift-Z",mac:"Command-Shift-Z"},exec(){e.redo()}})}}function si(e,t,i,s,o){let r;if((0,h.isFunction)(e))r=e(t);else switch(e){case"ace":if(!t.o.shadowRoot){r=new ii(t,i,s,o);break}default:r=new ti(t,i,s,o)}return r.init(t),r.onReadyAlways((()=>{r.setReadOnly(t.o.readonly)})),r}l.D.prototype.beautifyHTML=!c.IS_IE,l.D.prototype.sourceEditor="ace",l.D.prototype.sourceEditorNativeOptions={showGutter:!0,theme:"ace/theme/idle_fingers",mode:"ace/mode/html",wrap:!0,highlightActiveLine:!0},l.D.prototype.sourceEditorCDNUrlsJS=["https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.2/ace.js"],l.D.prototype.beautifyHTMLCDNUrlsJS=["https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.14.4/beautify.min.js","https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.14.4/beautify-html.min.js"],Q.J.set("source",s(9342)),l.D.prototype.controls.source={mode:c.MODE_SPLIT,exec(e){e.toggleMode()},isActive(e){return e.getRealMode()===c.MODE_SOURCE},tooltip:"Change mode"};class oi extends se.S{constructor(){super(...arguments),this.buttons=[{name:"source",group:"source"}],this.__lock=!1,this.__oldMirrorValue="",this.tempMarkerStart="{start-jodit-selection}",this.tempMarkerStartReg=/{start-jodit-selection}/g,this.tempMarkerEnd="{end-jodit-selection}",this.tempMarkerEndReg=/{end-jodit-selection}/g,this.getSelectionStart=()=>{var e,t;return null!==(t=null===(e=this.sourceEditor)||void 0===e?void 0:e.getSelectionStart())&&void 0!==t?t:0},this.getSelectionEnd=()=>{var e,t;return null!==(t=null===(e=this.sourceEditor)||void 0===e?void 0:e.getSelectionEnd())&&void 0!==t?t:0}}onInsertHTML(e){var t;if(!this.j.o.readonly&&!this.j.isEditorMode())return null===(t=this.sourceEditor)||void 0===t||t.insertRaw(e),this.toWYSIWYG(),!1}fromWYSIWYG(e=!1){if(!this.__lock||!0===e){this.__lock=!0;const e=this.j.getEditorValue(!1,c.SOURCE_CONSUMER);e!==this.getMirrorValue()&&this.setMirrorValue(e),this.__lock=!1}}toWYSIWYG(){if(this.__lock)return;const e=this.getMirrorValue();e!==this.__oldMirrorValue&&(this.__lock=!0,this.j.value=e,this.__lock=!1,this.__oldMirrorValue=e)}getNormalPosition(e,t){for(t=t.replace(/<(script|style|iframe)[^>]*>[^]*?<\/\1>/im,(e=>{let t="";for(let i=0;e.length>i;i+=1)t+=c.INVISIBLE_SPACE;return t}));e>0&&t[e]===c.INVISIBLE_SPACE;)e--;let i=e;for(;i>0;){if(i--,"<"===t[i]&&void 0!==t[i+1]&&t[i+1].match(/[\w/]+/i))return i;if(">"===t[i])return e}return e}clnInv(e){return e.replace(c.INVISIBLE_SPACE_REG_EXP(),"")}onSelectAll(e){var t;if("selectall"===e.toLowerCase()&&this.j.getRealMode()===c.MODE_SOURCE)return null===(t=this.sourceEditor)||void 0===t||t.selectAll(),!1}getMirrorValue(){var e;return(null===(e=this.sourceEditor)||void 0===e?void 0:e.getValue())||""}setMirrorValue(e){var t;null===(t=this.sourceEditor)||void 0===t||t.setValue(e)}setFocusToMirror(){var e;null===(e=this.sourceEditor)||void 0===e||e.focus()}saveSelection(){if(this.j.getRealMode()===c.MODE_WYSIWYG)this.j.s.save(),this.j.synchronizeValues(),this.fromWYSIWYG(!0);else{if(this.j.o.editHTMLDocumentMode)return;const e=this.getMirrorValue();if(this.getSelectionStart()===this.getSelectionEnd()){const t=this.j.s.marker(!0),i=this.getNormalPosition(this.getSelectionStart(),this.getMirrorValue());this.setMirrorValue(e.substring(0,i)+this.clnInv(t.outerHTML)+e.substring(i))}else{const t=this.j.s.marker(!0),i=this.j.s.marker(!1),s=this.getNormalPosition(this.getSelectionStart(),e),o=this.getNormalPosition(this.getSelectionEnd(),e);this.setMirrorValue(e.substring(0,s)+this.clnInv(t.outerHTML)+e.substring(s,o-s)+this.clnInv(i.outerHTML)+e.substring(o))}this.toWYSIWYG()}}removeSelection(){if(this.j.getRealMode()===c.MODE_WYSIWYG)return this.__lock=!0,this.j.s.restore(),void(this.__lock=!1);let e=this.getMirrorValue(),t=0,i=0;try{if(e=e.replace(/]+data-jodit-selection_marker=(["'])start\1[^>]*>[<>]*?<\/span>/gim,this.tempMarkerStart).replace(/]+data-jodit-selection_marker=(["'])end\1[^>]*>[<>]*?<\/span>/gim,this.tempMarkerEnd),!this.j.o.editHTMLDocumentMode&&this.j.o.beautifyHTML){const t=this.j.e.fire("beautifyHTML",e);(0,h.isString)(t)&&(e=t)}if(t=e.indexOf(this.tempMarkerStart),i=t,e=e.replace(this.tempMarkerStartReg,""),-1!==t){const t=e.indexOf(this.tempMarkerEnd);-1!==t&&(i=t)}e=e.replace(this.tempMarkerEndReg,"")}finally{e=e.replace(this.tempMarkerEndReg,"").replace(this.tempMarkerStartReg,"")}this.setMirrorValue(e),this.setMirrorSelectionRange(t,i),this.toWYSIWYG(),this.setFocusToMirror()}setMirrorSelectionRange(e,t){var i;null===(i=this.sourceEditor)||void 0===i||i.setSelectionRange(e,t)}onReadonlyReact(){var e;null===(e=this.sourceEditor)||void 0===e||e.setReadOnly(this.j.o.readonly)}afterInit(e){if(this.mirrorContainer=e.c.div("jodit-source"),e.workplace.appendChild(this.mirrorContainer),e.e.on("afterAddPlace changePlace afterInit",(()=>{e.workplace.appendChild(this.mirrorContainer)})),this.sourceEditor=si("area",e,this.mirrorContainer,this.toWYSIWYG,this.fromWYSIWYG),e.e.on(e.ow,"keydown",(e=>{var t;e.key===c.KEY_ESC&&(null===(t=this.sourceEditor)||void 0===t?void 0:t.isFocused)&&this.sourceEditor.blur()})),this.onReadonlyReact(),e.e.on("placeholder.source",(e=>{var t;null===(t=this.sourceEditor)||void 0===t||t.setPlaceHolder(e)})).on("change.source",this.syncValueFromWYSIWYG).on("beautifyHTML",(e=>e)),e.o.beautifyHTML){const t=()=>{var t;const i=e.ow.html_beautify;return!(!i||e.isInDestruct||(null===(t=e.events)||void 0===t||t.off("beautifyHTML").on("beautifyHTML",(e=>i(e))),0))};t()||(0,h.loadNext)(e,e.o.beautifyHTMLCDNUrlsJS).then(t)}this.syncValueFromWYSIWYG(!0),this.initSourceEditor(e)}syncValueFromWYSIWYG(e=!1){const t=this.j;t.getMode()!==c.MODE_SPLIT&&t.getMode()!==c.MODE_SOURCE||this.fromWYSIWYG(e)}initSourceEditor(e){var t;if("area"!==e.o.sourceEditor){const t=si(e.o.sourceEditor,e,this.mirrorContainer,this.toWYSIWYG,this.fromWYSIWYG);t.onReadyAlways((()=>{var i,s;null===(i=this.sourceEditor)||void 0===i||i.destruct(),this.sourceEditor=t,this.syncValueFromWYSIWYG(!0),null===(s=e.events)||void 0===s||s.fire("sourceEditorReady",e)}))}else null===(t=this.sourceEditor)||void 0===t||t.onReadyAlways((()=>{var t;this.syncValueFromWYSIWYG(!0),null===(t=e.events)||void 0===t||t.fire("sourceEditorReady",e)}))}beforeDestruct(){this.sourceEditor&&(this.sourceEditor.destruct(),delete this.sourceEditor),ne.i.safeRemove(this.mirrorContainer)}}(0,a.gn)([(0,m.watch)(":insertHTML.source")],oi.prototype,"onInsertHTML",null),(0,a.gn)([m.autobind],oi.prototype,"fromWYSIWYG",null),(0,a.gn)([m.autobind],oi.prototype,"toWYSIWYG",null),(0,a.gn)([m.autobind],oi.prototype,"getNormalPosition",null),(0,a.gn)([(0,m.watch)(":beforeCommand.source")],oi.prototype,"onSelectAll",null),(0,a.gn)([(0,m.watch)(":beforeSetMode.source")],oi.prototype,"saveSelection",null),(0,a.gn)([(0,m.watch)(":afterSetMode.source")],oi.prototype,"removeSelection",null),(0,a.gn)([m.autobind],oi.prototype,"setMirrorSelectionRange",null),(0,a.gn)([(0,m.watch)(":readonly.source")],oi.prototype,"onReadonlyReact",null),(0,a.gn)([m.autobind],oi.prototype,"syncValueFromWYSIWYG",null),p.pw.add("source",oi),l.D.prototype.spellcheck=!1,Q.J.set("spellcheck",s(69546)),l.D.prototype.controls.spellcheck={isActive:e=>e.o.spellcheck,icon:s(69546),name:"spellcheck",command:"toggleSpellcheck",tooltip:"Spellcheck"};class ri extends se.S{constructor(e){super(e),this.buttons=[{group:"state",name:"spellcheck"}],(0,p.xl)(s(37942))}afterInit(e){e.e.on("afterInit afterAddPlace prepareWYSIWYGEditor",this.toggleSpellcheck),this.toggleSpellcheck(),e.registerCommand("toggleSpellcheck",(()=>{this.jodit.o.spellcheck=!this.jodit.o.spellcheck,this.toggleSpellcheck(),this.j.e.fire("updateToolbar")}))}toggleSpellcheck(){(0,ae.Lj)(this.jodit.editor,"spellcheck",this.jodit.o.spellcheck)}beforeDestruct(e){}}(0,a.gn)([m.autobind],ri.prototype,"toggleSpellcheck",null),p.pw.add("spellcheck",ri),l.D.prototype.showCharsCounter=!0,l.D.prototype.countHTMLChars=!1,l.D.prototype.showWordsCounter=!0,p.pw.add("stat",class ni extends ge.S{constructor(){super(...arguments),this.charCounter=null,this.wordCounter=null,this.reInit=()=>{this.j.o.showCharsCounter&&this.charCounter&&this.j.statusbar.append(this.charCounter,!0),this.j.o.showWordsCounter&&this.wordCounter&&this.j.statusbar.append(this.wordCounter,!0),this.j.e.off("change keyup",this.calc).on("change keyup",this.calc),this.calc()},this.calc=this.j.async.throttle((()=>{const e=this.j.text;if(this.j.o.showCharsCounter&&this.charCounter){const t=this.j.o.countHTMLChars?this.j.value:e.replace((0,c.SPACE_REG_EXP)(),"");this.charCounter.textContent=this.j.i18n("Chars: %d",t.length)}this.j.o.showWordsCounter&&this.wordCounter&&(this.wordCounter.textContent=this.j.i18n("Words: %d",e.replace((0,c.INVISIBLE_SPACE_REG_EXP)(),"").split((0,c.SPACE_REG_EXP)()).filter((e=>e.length)).length))}),this.j.defaultTimeout)}afterInit(){this.charCounter=this.j.c.span(),this.wordCounter=this.j.c.span(),this.j.e.on("afterInit changePlace afterAddPlace",this.reInit),this.reInit()}beforeDestruct(){ne.i.safeRemove(this.charCounter),ne.i.safeRemove(this.wordCounter),this.j.e.off("afterInit changePlace afterAddPlace",this.reInit),this.charCounter=null,this.wordCounter=null}}),l.D.prototype.toolbarSticky=!0,l.D.prototype.toolbarDisableStickyForMobile=!0,l.D.prototype.toolbarStickyOffset=0;class ai extends ge.S{constructor(){super(...arguments),this.isToolbarSticked=!1,this.createDummy=e=>{},this.addSticky=e=>{this.isToolbarSticked||(this.createDummy(e),this.j.container.classList.add("jodit_sticky"),this.isToolbarSticked=!0),(0,h.css)(e,{top:this.j.o.toolbarStickyOffset||null,width:this.j.container.offsetWidth-2})},this.removeSticky=e=>{this.isToolbarSticked&&((0,h.css)(e,{width:"",top:""}),this.j.container.classList.remove("jodit_sticky"),this.isToolbarSticked=!1)}}afterInit(e){e.e.on(e.ow,"scroll.sticky wheel.sticky mousewheel.sticky resize.sticky",this.onScroll).on("getStickyState.sticky",(()=>this.isToolbarSticked))}onScroll(){const{jodit:e}=this,t=e.ow.pageYOffset||e.od.documentElement&&e.od.documentElement.scrollTop||0,i=(0,h.offset)(e.container,e,e.od,!0),s=e.getMode()===c.MODE_WYSIWYG&&t+e.o.toolbarStickyOffset>i.top&&i.top+i.height>t+e.o.toolbarStickyOffset&&!(e.o.toolbarDisableStickyForMobile&&this.isMobile());if(e.o.toolbarSticky&&!0===e.o.toolbar&&this.isToolbarSticked!==s){const t=e.toolbarContainer;t&&(s?this.addSticky(t):this.removeSticky(t)),e.e.fire("toggleSticky",s)}}isMobile(){return this.j&&this.j.options&&this.j.container&&this.j.o.sizeSM>=this.j.container.offsetWidth}beforeDestruct(e){this.dummyBox&&ne.i.safeRemove(this.dummyBox),e.e.off(e.ow,"scroll.sticky wheel.sticky mousewheel.sticky resize.sticky",this.onScroll).off(".sticky")}}(0,a.gn)([(0,m.throttle)()],ai.prototype,"onScroll",null),p.pw.add("sticky",ai),l.D.prototype.usePopupForSpecialCharacters=!1,l.D.prototype.specialCharacters=["!",""","#","$","%","&","'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","€","‘","’","“","”","–","—","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","»","¬","®","¯","°","²","³","´","µ","¶","·","¸","¹","º","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ","Œ","œ","Ŵ","Ŷ","ŵ","ŷ","‚","‛","„","…","™","►","•","→","⇒","⇔","♦","≈"],Q.J.set("symbols",s(43158)),l.D.prototype.controls.symbols={hotkeys:["ctrl+shift+i","cmd+shift+i"],tooltip:"Insert Special Character",popup(e,t,i,s){const o=e.e.fire("generateSpecialCharactersTable.symbols");if(o){if(e.o.usePopupForSpecialCharacters){const t=e.c.div();return t.classList.add("jodit-symbols"),t.appendChild(o),e.e.on(o,"close_dialog",s),t}{e.alert(o,"Select Special Character",void 0,"jodit-symbols").bindDestruct(e);const t=o.querySelector("a");t&&t.focus()}}}},p.pw.add("symbols",class li extends ge.S{constructor(e){super(e),this.buttons=[{name:"symbols",group:"insert"}],this.countInRow=17,(0,p.xl)(s(52546))}afterInit(e){e.e.on("generateSpecialCharactersTable.symbols",(()=>{const t=e.c.fromHTML('
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
'),i=t.querySelector(".jodit-symbols__preview"),s=t.querySelector("table").tBodies[0],o=[];for(let t=0;e.o.specialCharacters.length>t;){const i=e.c.element("tr");for(let s=0;this.countInRow>s&&e.o.specialCharacters.length>t;s+=1,t+=1){const r=e.c.element("td"),n=e.c.fromHTML(`${e.o.specialCharacters[t]}`);o.push(n),r.appendChild(n),i.appendChild(r)}s.appendChild(i)}const r=this;return e.e.on(o,"focus",(function(){i.innerHTML=this.innerHTML})).on(o,"mousedown",(function(t){ne.i.isTag(this,"a")&&(e.s.focus(),e.s.insertHTML(this.innerHTML),e.e.fire(this,"close_dialog"),t&&t.preventDefault(),t&&t.stopImmediatePropagation())})).on(o,"mouseenter",(function(){ne.i.isTag(this,"a")&&this.focus()})).on(o,"keydown",(t=>{const i=t.target;if(ne.i.isTag(i,"a")){const s=parseInt((0,he.attr)(i,"-index")||"0",10),n=parseInt((0,he.attr)(i,"data-index-j")||"0",10);let a;switch(t.key){case c.KEY_UP:case c.KEY_DOWN:a=t.key===c.KEY_UP?s-r.countInRow:s+r.countInRow,void 0===o[a]&&(a=t.key===c.KEY_UP?Math.floor(o.length/r.countInRow)*r.countInRow+n:n,a>o.length-1&&(a-=r.countInRow)),o[a]&&o[a].focus();break;case c.KEY_RIGHT:case c.KEY_LEFT:a=t.key===c.KEY_LEFT?s-1:s+1,void 0===o[a]&&(a=t.key===c.KEY_LEFT?o.length-1:0),o[a]&&o[a].focus();break;case c.KEY_ENTER:e.e.fire(i,"mousedown"),t.stopImmediatePropagation(),t.preventDefault()}}})),t}))}beforeDestruct(e){e.e.off("generateSpecialCharactersTable.symbols")}}),l.D.prototype.tab={tabInsideLiInsertNewList:!0};class ci extends se.S{afterInit(e){}onTab(e){if(e.key===c.KEY_TAB&&(e=>{if(!e.o.tab.tabInsideLiInsertNewList||!e.s.isCollapsed())return!1;const t=e.createInside.fake();e.s.insertNode(t);const i=ne.i.closest(t,"li",e.editor);if(i&&e.s.cursorOnTheLeft(i)&&ne.i.isTag(i.previousElementSibling,"li")){const s=ne.i.closest(i,["ol","ul"],e.editor);if(s){const o=e.createInside.element(s.tagName),r=i.previousElementSibling;return o.appendChild(i),r.appendChild(o),e.s.setCursorAfter(t),ne.i.safeRemove(t),!0}}return ne.i.safeRemove(t),!1})(this.j))return!1}beforeDestruct(e){}}(0,a.gn)([(0,m.watch)(":keydown.tab")],ci.prototype,"onTab",null),p.pw.add("tab",ci),l.D.prototype.table={selectionCellStyle:"border: 1px double #1e88e5 !important;",useExtraClassesOptions:!1},Q.J.set("table",s(51716)),l.D.prototype.controls.table={data:{cols:10,rows:10,classList:{"table table-bordered":"Bootstrap Bordered","table table-striped":"Bootstrap Striped","table table-dark":"Bootstrap Dark"}},popup(e,t,i,s,o){const r=i.data&&i.data.rows?i.data.rows:10,n=i.data&&i.data.cols?i.data.cols:10,a=e.c.fromHTML('
'+(()=>{if(!e.o.table.useExtraClassesOptions)return"";const t=[];if(i.data){const e=i.data.classList;Object.keys(e).forEach((i=>{t.push(``)}))}return t.join("")})()+'
'),l=a.querySelectorAll("span")[0],c=a.querySelectorAll("span")[1],d=a.querySelector(".jodit-form__container"),u=a.querySelector(".jodit-form__options"),p=[],m=r*n;for(let t=0;m>t;t+=1)p[t]||p.push(e.c.element("span",{dataIndex:t}));if(e.e.on(d,"mousemove",((e,t)=>{const i=e.target;if(!oe.i.isTag(i,"span"))return;const s=void 0===t||isNaN(t)?parseInt((0,he.attr)(i,"-index")||"0",10):t||0,o=Math.ceil((s+1)/n),r=s%n+1;for(let e=0;p.length>e;e+=1)p[e].className=e%n+1>r||Math.ceil((e+1)/n)>o?"":"jodit_hovered";c.textContent=""+r,l.textContent=""+o})).on(d,"touchstart mousedown",(t=>{const i=t.target;if(t.preventDefault(),t.stopImmediatePropagation(),!oe.i.isTag(i,"span"))return;const o=parseInt((0,he.attr)(i,"-index")||"0",10),r=Math.ceil((o+1)/n),a=o%n+1,l=e.createInside,c=l.element("tbody"),d=l.element("table");d.appendChild(c);let p,m,f=null;for(let e=1;r>=e;e+=1){p=l.element("tr");for(let e=1;a>=e;e+=1)m=l.element("td"),f||(f=m),(0,h.css)(m,"width",(100/a).toFixed(4)+"%"),m.appendChild(l.element("br")),p.appendChild(l.text("\n")),p.appendChild(l.text("\t")),p.appendChild(m);c.appendChild(l.text("\n")),c.appendChild(p)}(0,h.$$)("input[type=checkbox]:checked",u).forEach((e=>{e.value.split(/[\s]+/).forEach((e=>{d.classList.add(e)}))})),e.editor.firstChild&&e.s.insertNode(l.text("\n"),!1,!1),e.s.insertNode(d,!1),f&&(e.s.setCursorIn(f),(0,h.scrollIntoViewIfNeeded)(f,e.editor,e.ed)),s()})),o&&o.parentElement){for(let t=0;r>t;t+=1){const i=e.c.div();for(let e=0;n>e;e+=1)i.appendChild(p[t*n+e]);d.appendChild(i)}p[0]&&(p[0].className="hovered")}return a},tooltip:"Insert table"},p.pw.add("table",(e=>{e.registerButton({name:"table",group:"insert"})}));var di=s(70218);p.pw.add("tableKeyboardNavigation",(e=>{e.e.off(".tableKeyboardNavigation").on("keydown.tableKeyboardNavigation",(t=>{let i,s;if(t.key!==c.KEY_TAB&&t.key!==c.KEY_LEFT&&t.key!==c.KEY_RIGHT&&t.key!==c.KEY_UP&&t.key!==c.KEY_DOWN)return;{if(i=e.s.current(),s=ne.i.up(i,(e=>e&&e.nodeName&&/^td|th$/i.test(e.nodeName)),e.editor),!s)return;const o=e.s.range;if(t.key!==c.KEY_TAB&&i!==s&&((t.key===c.KEY_LEFT||t.key===c.KEY_UP)&&(ne.i.prev(i,(e=>t.key===c.KEY_UP?ne.i.isTag(e,"br"):!!e),s)||t.key!==c.KEY_UP&&ne.i.isText(i)&&0!==o.startOffset)||(t.key===c.KEY_RIGHT||t.key===c.KEY_DOWN)&&(ne.i.next(i,(e=>t.key===c.KEY_DOWN?ne.i.isTag(e,"br"):!!e),s)||t.key!==c.KEY_DOWN&&ne.i.isText(i)&&i.nodeValue&&o.startOffset!==i.nodeValue.length)))return}const o=ne.i.up(s,(e=>e&&/^table$/i.test(e.nodeName)),e.editor);let r=null;switch(t.key){case c.KEY_TAB:case c.KEY_LEFT:{const i=t.key===c.KEY_LEFT||t.shiftKey?"prev":"next";r=ne.i[i](s,(e=>e&&/^td|th$/i.test(e.tagName)),o),r||(di.i.appendRow(o,"next"!==i&&o.querySelector("tr"),"next"===i,e.createInside),r=ne.i[i](s,ne.i.isCell,o));break}case c.KEY_UP:case c.KEY_DOWN:{let e=0,i=0;const n=di.i.formalMatrix(o,((t,o,r)=>{t===s&&(e=o,i=r)}));t.key===c.KEY_UP?void 0!==n[e-1]&&(r=n[e-1][i]):void 0!==n[e+1]&&(r=n[e+1][i])}}if(r){if(r.firstChild)t.key===c.KEY_TAB?e.s.select(r,!0):e.s.setCursorIn(r,t.key===c.KEY_RIGHT||t.key===c.KEY_DOWN);else{const t=e.createInside.element("br");r.appendChild(t),e.s.setCursorBefore(t)}return!1}}))})),Q.J.set("video",s(49222)),l.D.prototype.controls.video={popup(e,t,i,s){const o=new ft.x4(e,[new ft.eC(e,[new ft.u3(e,{name:"url",required:!0,label:"URL",placeholder:"https://",validators:["url"]})]),new ft.eC(e,[(0,Qe.zx)(e,"","Insert","primary").onAction((()=>o.submit()))])]),r=new ft.x4(e,[new ft.eC(e,[new ft.GJ(e,{name:"code",required:!0,label:"Embed code"})]),new ft.eC(e,[(0,Qe.zx)(e,"","Insert","primary").onAction((()=>r.submit()))])]),n=[],a=t=>{e.s.restore(),e.s.insertHTML(t),s()};return e.s.save(),n.push({icon:"link",name:"Link",content:o.container},{icon:"source",name:"Code",content:r.container}),o.onSubmit((e=>{a((0,h.convertMediaUrlToVideoEmbed)(e.url))})),r.onSubmit((e=>{a(e.code)})),(0,Ae.IL)(e,n)},tags:["iframe"],tooltip:"Insert youtube/vimeo video"},p.pw.add("video",(e=>{e.registerButton({name:"video",group:"media"})})),l.D.prototype.wrapNodes={exclude:["hr","style","br"],emptyBlockAfterInit:!0};class hi extends se.S{constructor(){super(...arguments),this.isSuitableStart=e=>oe.i.isText(e)&&(0,ye.H)(e.nodeValue)&&/[^\s]/.test(e.nodeValue)||this.isNotClosed(e)&&!oe.i.isTemporary(e),this.isSuitable=e=>oe.i.isText(e)||this.isNotClosed(e),this.isNotClosed=e=>oe.i.isElement(e)&&!(oe.i.isBlock(e)||oe.i.isTag(e,this.j.o.wrapNodes.exclude))}afterInit(e){"br"!==e.o.enter.toLowerCase()&&e.e.on("drop.wtn focus.wtn keydown.wtn mousedown.wtn afterInit.wtn",this.preprocessInput,{top:!0}).on("afterInit.wtn postProcessSetEditorValue.wtn",this.postProcessSetEditorValue)}beforeDestruct(e){e.e.off(".wtn")}postProcessSetEditorValue(){const{jodit:e}=this;if(!e.isEditorMode())return;let t=e.editor.firstChild,i=!1;for(;t;){if(t=this.checkAloneListLeaf(t,e),this.isSuitableStart(t)){i||e.s.save(),i=!0;const s=e.createInside.element(e.o.enter);for(oe.i.before(t,s);t&&this.isSuitable(t);){const e=t.nextSibling;s.appendChild(t),t=e}s.normalize(),t=s}t=t&&t.nextSibling}i&&(e.s.restore(),"afterInit"===e.e.current&&e.e.fire("internalChange"))}checkAloneListLeaf(e,t){let i=e,s=e;do{if(!oe.i.isElement(s)||!oe.i.isTag(s,"li")||oe.i.isTag(s.parentElement,["ul","ol"]))break;{const e=oe.i.findNotEmptySibling(s,!1);oe.i.isTag(i,"ul")?i.appendChild(s):i=oe.i.wrap(s,"ul",t.createInside),s=e}}while(s);return i}preprocessInput(){const{jodit:e}=this,t="afterInit"===e.e.current;if(!e.isEditorMode()||e.editor.firstChild||!e.o.wrapNodes.emptyBlockAfterInit&&t)return;const i=e.createInside.element(e.o.enter),s=e.createInside.element("br");oe.i.append(i,s),oe.i.append(e.editor,i),e.s.isFocused()&&e.s.setCursorBefore(s),e.e.fire("internalChange")}}(0,a.gn)([m.autobind],hi.prototype,"postProcessSetEditorValue",null),(0,a.gn)([m.autobind],hi.prototype,"preprocessInput",null),p.pw.add("wrapNodes",hi);var ui=s(30192);function pi(e,t){if(ne.i.isFragment(t)&&(t=t.firstChild),e.o.dtd.checkBlockNesting&&ne.i.isBlock(t)){const t=ne.i.furthest(e.s.current(),ne.i.isBlock,e.editor);t&&!e.o.dtd.blockLimits[t.tagName.toLowerCase()]&&(e.s.setCursorAfter(t),ne.i.isEmpty(t)&&ne.i.safeRemove(t))}}function mi(e,t){if(!e.o.dtd.removeExtraBr||ne.i.isTag(t,"br"))return;const i=ne.i.furthest(t,ne.i.isBlock,e.editor);if(i&&!ne.i.isTag(i,["table","pre","blockquote","code"])){const i=ne.i.isTag(t,"br")?t:ne.i.findNotEmptySibling(t,!1);if(!ne.i.isTag(i,"br"))return;e.s.setCursorBefore(i),ne.i.safeRemove(i)}}l.D.prototype.dtd={removeExtraBr:!0,checkBlockNesting:!0,blockLimits:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,fieldset:1,figcaption:1,figure:1,footer:1,form:1,header:1,hgroup:1,main:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1}};class fi extends se.S{afterInit(e){}beforeDestruct(e){}__onBeforeInsertNode(e){Object.keys(i).forEach((t=>{i[t](this.j,e)}))}__onAfterInsertNode(e){Object.keys(r).forEach((t=>{r[t](this.j,e)}))}}(0,a.gn)([(0,ui.YP)(":beforeInsertNode")],fi.prototype,"__onBeforeInsertNode",null),(0,a.gn)([(0,ui.YP)(":afterInsertNode")],fi.prototype,"__onAfterInsertNode",null),p.pw.add("dtd",fi);var gi=s(82616);l.D.prototype.showXPathInStatusbar=!0,p.pw.add("xpath",class vi extends se.S{constructor(){super(...arguments),this.onContext=(e,t)=>(this.menu||(this.menu=new gi.x(this.j)),this.menu.show(t.clientX,t.clientY,[{icon:"bin",title:e===this.j.editor?"Clear":"Remove",exec:()=>{e!==this.j.editor?oe.i.safeRemove(e):this.j.value="",this.j.synchronizeValues()}},{icon:"select-all",title:"Select",exec:()=>{this.j.s.select(e)}}]),!1),this.onSelectPath=(e,t)=>{this.j.s.focus();const i=(0,h.attr)(t.target,"-path")||"/";if("/"===i)return this.j.execCommand("selectall"),!1;try{const e=this.j.ed.evaluate(i,this.j.editor,null,XPathResult.ANY_TYPE,null).iterateNext();if(e)return this.j.s.select(e),!1}catch(e){}return this.j.s.select(e),!1},this.tpl=(e,t,i,s)=>{const o=this.j.c.fromHTML(`${(0,h.trim)(i)}`),r=o.firstChild;return this.j.e.on(r,"click",this.onSelectPath.bind(this,e)).on(r,"contextmenu",this.onContext.bind(this,e)),o},this.removeSelectAll=()=>{this.selectAllButton&&(this.selectAllButton.destruct(),delete this.selectAllButton)},this.appendSelectAll=()=>{this.removeSelectAll(),this.selectAllButton=(0,at.g)(this.j,{name:"selectall",...this.j.o.controls.selectall}),this.selectAllButton.state.size="tiny",this.container&&this.container.insertBefore(this.selectAllButton.container,this.container.firstChild)},this.calcPathImd=()=>{if(this.isDestructed)return;const e=this.j.s.current();if(this.container&&(this.container.innerHTML=c.INVISIBLE_SPACE),e){let t,i,s;oe.i.up(e,(e=>{e&&this.j.editor!==e&&!oe.i.isText(e)&&(t=e.nodeName.toLowerCase(),i=(0,h.getXPathByElement)(e,this.j.editor).replace(/^\//,""),s=this.tpl(e,i,t,this.j.i18n("Select %s",t)),this.container&&this.container.insertBefore(s,this.container.firstChild))}),this.j.editor)}this.appendSelectAll()},this.calcPath=this.j.async.debounce(this.calcPathImd,2*this.j.defaultTimeout)}afterInit(){this.j.o.showXPathInStatusbar&&(this.container=this.j.c.div("jodit-xpath"),this.j.e.off(".xpath").on("mouseup.xpath change.xpath keydown.xpath changeSelection.xpath",this.calcPath).on("afterSetMode.xpath afterInit.xpath changePlace.xpath",(()=>{this.j.o.showXPathInStatusbar&&this.container&&(this.j.statusbar.append(this.container),this.j.getRealMode()===c.MODE_WYSIWYG?this.calcPath():(this.container&&(this.container.innerHTML=c.INVISIBLE_SPACE),this.appendSelectAll()))})),this.calcPath())}beforeDestruct(){this.j&&this.j.events&&this.j.e.off(".xpath"),this.removeSelectAll(),this.menu&&this.menu.destruct(),oe.i.safeRemove(this.container),delete this.menu,delete this.container}}),Object.keys(c).forEach((e=>{Jodit[e]=c[e]}));const bi=e=>"__esModule"!==e;Object.keys(e).filter(bi).forEach((t=>{d.Icon.set(t.replace("_","-"),e[t])})),Object.keys(d).filter(bi).forEach((e=>{Jodit.modules[e]=d[e]})),Object.keys(m).filter(bi).forEach((e=>{Jodit.decorators[e]=m[e]})),["Confirm","Alert","Prompt"].forEach((e=>{Jodit[e]=d[e]})),Object.keys(x).filter(bi).forEach((e=>{Jodit.lang[e]=x[e]}))}(),s.O(o)}()})); \ No newline at end of file +((e,t)=>{if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var s in i)("object"==typeof exports?exports:e)[s]=i[s]}})(self,(function(){return function(){var e,t={90643(e){e.exports.default=["إبدأ في الكتابة...","حول جوديت","محرر جوديت","دليل مستخدم جوديت","يحتوي على مساعدة مفصلة للاستخدام","للحصول على معلومات حول الترخيص، يرجى الذهاب لموقعنا:","شراء النسخة الكاملة","حقوق الطبع والنشر © XDSoft.net - Chupurnov Valeriy. كل الحقوق محفوظة.","مِرْساة","فتح في نافذة جديدة","فتح المحرر في الحجم الكامل","مسح التنسيق","ملء اللون أو تعيين لون النص","إعادة","تراجع","عريض","مائل","إدراج قائمة غير مرتبة","إدراج قائمة مرتبة","محاذاة للوسط","محاذاة مثبتة","محاذاة لليسار","محاذاة لليمين","إدراج خط أفقي","إدراج صورة","ادخال الملف","إدراج فيديو يوتيوب/فيميو ","إدراج رابط","حجم الخط","نوع الخط","إدراج كتلة تنسيق","عادي","عنوان 1","عنوان 2","عنوان 3","عنوان 4","إقتباس","كود","إدراج","إدراج جدول","تقليل المسافة البادئة","زيادة المسافة البادئة","تحديد أحرف خاصة","إدراج حرف خاص","تنسيق الرسم","تغيير الوضع","هوامش","أعلى","يمين","أسفل","يسار","الأنماط","الطبقات","محاذاة","اليمين","الوسط","اليسار","--غير مضبوط--","Src","العنوان","العنوان البديل","الرابط","افتح الرابط في نافذة جديدة","الصورة","ملف","متقدم","خصائص الصورة","إلغاء","حسنا","متصفح الملفات","حدث خطأ في تحميل القائمة ","حدث خطأ في تحميل المجلدات","هل أنت واثق؟","أدخل اسم المجلد","إنشاء مجلد","أكتب إسم","إسقاط صورة","إسقاط الملف","أو أنقر","النص البديل","رفع","تصفح","الخلفية","نص","أعلى","الوسط","الأسفل","إدراج عمود قبل","إدراج عمود بعد","إدراج صف أعلى","إدراج صف أسفل","حذف الجدول","حذف الصف","حذف العمود","خلية فارغة","%d حرف","%d كلام","اضرب من خلال","أكد","حرف فوقي","مخطوطة","قطع الاختيار","اختر الكل","استراحة","البحث عن","استبدل ب","محل","معجون","اختر محتوى للصق","مصدر","بالخط العريض","مائل","شغل","صلة","إلغاء","كرر","طاولة","صورة","نظيف","فقرة","حجم الخط","فيديو","الخط","حول المحرر","طباعة","أكد","شطب","المسافة البادئة","نتوء","ملء الشاشة","الحجم التقليدي","الخط","قائمة","قائمة مرقمة","قطع","اختر الكل","قانون","فتح الرابط","تعديل الرابط","سمة Nofollow","إزالة الرابط","تحديث","لتحرير","مراجعة","URL","تحرير","محاذاة أفقية","فلتر","عن طريق التغيير","بالاسم","حسب الحجم","إضافة مجلد","إعادة","احتفظ","حفظ باسم","تغيير الحجم","حجم القطع","عرض","ارتفاع","حافظ على النسب","أن","لا","حذف","تميز","تميز %s","محاذاة عمودية","انشق، مزق","اذهب","أضف العمود","اضف سطر","رخصة %s","حذف","انقسام عمودي","تقسيم أفقي","الحدود","يشبه الكود الخاص بك HTML. تبقي كما HTML؟","الصق ك HTML","احتفظ","إدراج كنص","إدراج النص فقط","يمكنك فقط تحرير صورك الخاصة. تحميل هذه الصورة على المضيف؟","تم تحميل الصورة بنجاح على الخادم!","لوحة","لا توجد ملفات في هذا الدليل.","إعادة تسمية","أدخل اسم جديد","معاينة","تحميل","لصق من الحافظة","متصفحك لا يدعم إمكانية الوصول المباشر إلى الحافظة.","نسخ التحديد","نسخ","دائرة نصف قطرها الحدود","عرض كل","تطبيق","يرجى ملء هذا المجال","يرجى إدخال عنوان ويب","الافتراضي","دائرة","نقطة","المربعة","البحث","تجد السابقة","تجد التالي","للصق المحتوى قادم من Microsoft Word/Excel الوثيقة. هل تريد أن تبقي شكل أو تنظيفه ؟ ","كلمة لصق الكشف عن","نظيفة","أدخل اسم الفصل","اضغط البديل لتغيير حجم مخصص"]},52532(e){e.exports.default=["Napiš něco","O Jodit","Editor Jodit","Jodit Uživatelská příručka","obsahuje detailní nápovědu","Pro informace o licenci, prosím, přejděte na naši stránku:","Koupit plnou verzi","Copyright © XDSoft.net - Chupurnov Valeriy. Všechna práva vyhrazena.","Anchor","Otevřít v nové záložce","Otevřít v celoobrazovkovém režimu","Vyčistit formátování","Barva výplně a písma","Vpřed","Zpět","Tučné","Kurzíva","Odrážky","Číslovaný seznam","Zarovnat na střed","Zarovnat do bloku","Zarovnat vlevo","Zarovnat vpravo","Vložit horizontální linku","Vložit obrázek","Vložit soubor","Vložit video (YT/Vimeo)","Vložit odkaz","Velikost písma","Typ písma","Formátovat blok","Normální text","Nadpis 1","Nadpis 2","Nadpis 3","Nadpis 4","Citát","Kód","Vložit","Vložit tabulku","Zmenšit odsazení","Zvětšit odsazení","Vybrat speciální symbol","Vložit speciální symbol","Použít formát","Změnit mód","Okraje","horní","pravý","spodní","levý","Styly","Třídy","Zarovnání","Vpravo","Na střed","Vlevo","--nenastaveno--","src","Titulek","Alternativní text (alt)","Link","Otevřít link v nové záložce","Obrázek","soubor","Rozšířené","Vlastnosti obrázku","Zpět","Ok","Prohlížeč souborů","Chyba při načítání seznamu souborů","Chyba při načítání složek","Jste si jistý(á)?","Název složky","Vytvořit složku","název","Přetáhněte sem obrázek","Přetáhněte sem soubor","nebo klikněte","Alternativní text","Nahrát","Server","Pozadí","Text","Nahoru","Na střed","Dolu","Vložit sloupec před","Vložit sloupec za","Vložit řádek nad","Vložit řádek pod","Vymazat tabulku","Vymazat řádku","Vymazat sloupec","Vyčistit buňku","Znaky: %d","Slova: %d","Přeškrtnuto","Podtrženo","Horní index","Dolní index","Vyjmout označené","Označit vše","Zalomení","Najdi","Nahradit za","Vyměňte","Vložit","Vyber obsah pro vložení","HTML","tučně","kurzíva","štětec","odkaz","zpět","vpřed","tabulka","obrázek","guma","odstavec","velikost písma","video","písmo","о editoru","tisk","podtrženo","přeškrtnuto","zvětšit odsazení","zmenšit odsazení","celoobrazovkový režim","smrsknout","Linka","Odrážka","Číslovaný seznam","Vyjmout","Označit vše","Kód","Otevřít odkaz","Upravit odkaz","Atribut no-follow","Odstranit odkaz","Aktualizovat","Chcete-li upravit","Zobrazit","URL","Editovat","Horizontální zarovnání","Filtr","Dle poslední změny","Dle názvu","Dle velikosti","Přidat složku","Reset","Uložit","Uložit jako...","Změnit rozměr","Ořezat","Šířka","Výška","Ponechat poměr","Ano","Ne","Vyjmout","Označit","Označit %s","Vertikální zarovnání","Rozdělit","Spojit","Přidat sloupec","Přidat řádek","Licence: %s","Vymazat","Rozdělit vertikálně","Rozdělit horizontálně","Okraj","Váš text se podobá HTML. Vložit ho jako HTML?","Vložit jako HTML","Ponechat originál","Vložit jako TEXT","Vložit pouze TEXT","Můžete upravovat pouze své obrázky. Načíst obrázek?","Obrázek byl úspěšně nahrán!","paleta","V tomto adresáři nejsou žádné soubory.","přejmenovat","Zadejte nový název","náhled","Stažení","Vložit ze schránky","Váš prohlížeč nepodporuje přímý přístup do schránky.","Kopírovat výběr","kopírování","Border radius","Zobrazit všechny","Platí","Prosím, vyplňte toto pole","Prosím, zadejte webovou adresu","Výchozí","Kruh","Dot","Quadrate","Najít","Najít Předchozí","Najít Další","Obsah, který vkládáte, je pravděpodobně z Microsoft Word / Excel. Chcete ponechat formát nebo vložit pouze text?","Detekován fragment z Wordu nebo Excelu","Vyčistit","Vložte název třídy","Stiskněte Alt pro vlastní změnu velikosti"]},75178(e){e.exports.default=["Bitte geben Sie einen Text ein","Über Jodit","Jodit Editor","Das Jodit Benutzerhandbuch","beinhaltet ausführliche Informationen wie Sie den Editor verwenden können.","Für Informationen zur Lizenz, besuchen Sie bitte unsere Web-Präsenz:","Vollversion kaufen","Copyright © XDSoft.net - Chupurnov Valeriy. Alle Rechte vorbehalten.","Anker","In neuer Registerkarte öffnen","Editor in voller Größe öffnen","Formatierung löschen","Füllfarbe oder Textfarbe ändern","Wiederholen","Rückgängig machen","Fett","Kursiv","Unsortierte Liste einfügen","Nummerierte Liste einfügen","Mittig ausrichten","Blocksatz","Links ausrichten","Rechts ausrichten","Horizontale Linie einfügen","Bild einfügen","Datei einfügen","Youtube/vimeo Video einfügen","Link einfügen","Schriftgröße","Schriftfamilie","Formatblock einfügen","Normal","Überschrift 1","Überschrift 2","Überschrift 3","Überschrift 4","Zitat","Code","Einfügen","Tabelle einfügen","Einzug verkleinern","Einzug vergrößern","Sonderzeichen auswählen","Sonderzeichen einfügen","Format kopieren","Änderungsmodus","Ränder","Oben","Rechts","Unten","Links","CSS Stil","CSS Klassen","Ausrichtung","Rechts","Zentriert","Links","Keine","Pfad","Titel","Alternativer Text","Link","Link in neuem Tab öffnen","Bild","Datei","Fortgeschritten","Bildeigenschaften","Abbrechen","OK","Dateibrowser","Fehler beim Laden der Liste","Fehler beim Laden der Ordner","Sind Sie sicher?","Geben Sie den Verzeichnisnamen ein","Verzeichnis erstellen","Typname","Bild hier hinziehen","Datei löschen","oder hier klicken","Alternativtext","Hochladen","Auswählen","Hintergrund","Text","Oben","Mittig","Unten","Spalte davor einfügen","Spalte danach einfügen","Zeile oberhalb einfügen","Zeile unterhalb einfügen","Tabelle löschen","Zeile löschen","Spalte löschen","Zelle leeren","Zeichen: %d","Wörter: %d","Durchstreichen","Unterstreichen","Hochgestellen","Tiefstellen","Auswahl ausschneiden","Alles markieren","Pause","Suche nach","Ersetzen durch","Ersetzen","Einfügen","Wählen Sie den Inhalt zum Einfügen aus","HTML","Fett gedruckt","Kursiv","Bürste","Verknüpfung","Rückgängig machen","Wiederholen","Tabelle","Bild","Radiergummi","Absatz","Schriftgröße","Video","Schriftart","Über","Drucken","Unterstreichen","Durchstreichen","Einzug","Herausstellen","Vollgröße","Schrumpfen","die Linie","Liste von","Nummerierte Liste","Schneiden","Wählen Sie Alle aus","Code einbetten","Link öffnen","Link bearbeiten","Nofollow-Attribut","Link entfernen","Aktualisieren","Bearbeiten","Ansehen","URL","Bearbeiten","Horizontale Ausrichtung","Filter","Sortieren nach geändert","Nach Name sortieren","Nach Größe sortiert","Ordner hinzufügen","Wiederherstellen","Speichern","Speichern als","Größe ändern","Größe anpassen","Breite","Höhe","Seitenverhältnis beibehalten","Ja","Nein","Entfernen","Markieren","Markieren: %s","Vertikale Ausrichtung","Unterteilen","Vereinen","Spalte hinzufügen","Zeile hinzufügen",null,"Löschen","Vertikal unterteilen","Horizontal unterteilen","Rand","Ihr Text ähnelt HTML-Code. Als HTML beibehalten?","Als HTML einfügen?","Original speichern","Als Text einfügen","Nur Text einfügen","Sie können nur Ihre eigenen Bilder bearbeiten. Dieses Bild auf den Host herunterladen?","Das Bild wurde erfolgreich auf den Server hochgeladen!","Palette","In diesem Verzeichnis befinden sich keine Dateien.","Umbenennen","Geben Sie einen neuen Namen ein","Vorschau","Herunterladen","Aus Zwischenablage einfügen","Ihr Browser unterstützt keinen direkten Zugriff auf die Zwischenablage.","Auswahl kopieren","Kopieren","Radius für abgerundete Ecken","Alle anzeigen","Anwenden","Bitte füllen Sie dieses Feld aus","Bitte geben Sie eine Web-Adresse ein","Standard","Kreis","Punkte","Quadrate","Suchen","Suche vorherige","Weitersuchen","Der Inhalt, den Sie einfügen, stammt aus einem Microsoft Word / Excel-Dokument. Möchten Sie das Format erhalten oder bereinigen?","In Word formatierter Text erkannt","Säubern","className (CSS) einfügen","Drücken Sie Alt für benutzerdefinierte Größenanpassung"]},51048(e){e.exports.default={"Type something":"Start writing...",pencil:"Edit",Quadrate:"Square"}},22999(e){e.exports.default=["Escriba algo...","Acerca de Jodit","Jodit Editor","Guía de usuario Jodit","contiene ayuda detallada para el uso.","Para información sobre la licencia, por favor visite nuestro sitio:","Compre la versión completa","Copyright © XDSoft.net - Chupurnov Valeriy. Todos los derechos reservados.","Anclar","Abrir en nueva pestaña","Abrir editor en pantalla completa","Limpiar formato","Color de relleno o de letra","Rehacer","Deshacer","Negrita","Cursiva","Insertar lista no ordenada","Insertar lista ordenada","Alinear Centrado","Alinear Justificado","Alinear Izquierda","Alinear Derecha","Insertar línea horizontal","Insertar imagen","Insertar archivo","Insertar video de Youtube/vimeo","Insertar vínculo","Tamaño de letra","Familia de letra","Insertar bloque","Normal","Encabezado 1","Encabezado 2","Encabezado 3","Encabezado 4","Cita","Código","Insertar","Insertar tabla","Disminuir sangría","Aumentar sangría","Seleccionar caracter especial","Insertar caracter especial","Copiar formato","Cambiar modo","Márgenes","arriba","derecha","abajo","izquierda","Estilos CSS","Clases CSS","Alinear","Derecha","Centrado","Izquierda","--No Establecido--","Fuente","Título","Texto Alternativo","Vínculo","Abrir vínculo en nueva pestaña","Imagen","Archivo","Avanzado","Propiedades de imagen","Cancelar","Aceptar","Buscar archivo","Error al cargar la lista","Error al cargar las carpetas","¿Está seguro?","Entre nombre de carpeta","Crear carpeta","Entre el nombre","Soltar imagen","Soltar archivo","o click","Texto alternativo","Subir","Buscar","Fondo","Texto","Arriba","Centro","Abajo","Insertar columna antes","Interar columna después","Insertar fila arriba","Insertar fila debajo","Borrar tabla","Borrar fila","Borrar columna","Vaciar celda","Caracteres: %d","Palabras: %d","Tachado","Subrayado","superíndice","subíndice","Cortar selección","Seleccionar todo","Pausa","Buscar","Reemplazar con","Reemplazar","Pegar","Seleccionar contenido para pegar","HTML","negrita","cursiva","Brocha","Vínculo","deshacer","rehacer","Tabla","Imagen","Borrar","Párrafo","Tamaño de letra","Video","Letra","Acerca de","Imprimir","subrayar","tachar","sangría","quitar sangría","Tamaño completo","encoger","línea horizontal","lista sin ordenar","lista ordenada","Cortar","Seleccionar todo","Incluir código","Abrir vínculo","Editar vínculo","No seguir","Desvincular","Actualizar","Para editar","Ver","URL","Editar","Alineación horizontal","filtrar","Ordenar por fecha modificación","Ordenar por nombre","Ordenar por tamaño","Agregar carpeta","Resetear","Guardar","Guardar como...","Redimensionar","Recortar","Ancho","Alto","Mantener relación de aspecto","Si","No","Quitar","Seleccionar","Seleccionar: %s","Alineación vertical","Dividir","Mezclar","Agregar columna","Agregar fila",null,"Borrar","Dividir vertical","Dividir horizontal","Borde","El código es similar a HTML. ¿Mantener como HTML?","Pegar como HTML?","Mantener","Insertar como texto","Insertar solo texto","Solo puedes editar tus propias imágenes. ¿Descargar esta imagen en el servidor?","¡La imagen se ha subido correctamente al servidor!","paleta","No hay archivos en este directorio.","renombrar","Ingresa un nuevo nombre","avance","Descargar","Pegar desde el portapapeles","Su navegador no soporta el acceso directo en el portapapeles.","Selección de copia","copia","Radio frontera","Mostrar todos los","Aplicar","Por favor, rellene este campo","Por favor, introduzca una dirección web","Predeterminado","Círculo","Punto","Cuadro","Encontrar","Buscar Anterior","Buscar Siguiente","El contenido pegado proviene de un documento de Microsoft Word/Excel. ¿Desea mantener el formato o limpiarlo?","Pegado desde Word detectado","Limpiar","Insertar nombre de clase","Presione Alt para cambiar el tamaño personalizado"]},34145(e){e.exports.default=["Ecrivez ici","A propos de Jodit","Editeur Jodit","Guide de l'utilisateur","Aide détaillée à l'utilisation","Consulter la licence sur notre site web:","Acheter la version complète","Copyright © XDSoft.net - Chupurnov Valeriy. Tous droits réservés.","Ancre","Ouvrir dans un nouvel onglet","Ouvrir l'éditeur en pleine page","Supprimer le formattage","Modifier la couleur du fond ou du texte","Refaire","Défaire","Gras","Italique","Liste non ordonnée","Liste ordonnée","Centrer","Justifier","Aligner à gauche ","Aligner à droite","Insérer une ligne horizontale","Insérer une image","Insérer un fichier","Insérer une vidéo","Insérer un lien","Taille des caractères","Famille des caractères","Bloc formatté","Normal","Titre 1","Titre 2","Titre 3","Titre 4","Citation","Code","Insérer","Insérer un tableau","Diminuer le retrait","Retrait plus","Sélectionnez un caractère spécial","Insérer un caractère spécial","Cloner le format","Mode wysiwyg <-> code html","Marges","haut","droite","Bas","gauche","Styles","Classes","Alignement","Droite","Centre","Gauche","--Non disponible--","Source","Titre","Alternative","Lien","Ouvrir le lien dans un nouvel onglet","Image","fichier","Avancé","Propriétés de l'image","Annuler","OK","Explorateur de fichiers","Erreur de liste de chargement","Erreur de dossier de chargement","Etes-vous sûrs ?","Entrer le non de dossier","Créer un dossier","type de fichier","Coller une image","Déposer un fichier","ou cliquer","Texte de remplacemement","Charger","Chercher","Arrière-plan","Texte","Haut","Milieu","Bas","Insérer une colonne avant","Insérer une colonne après","Insérer une ligne en dessus","Insérer une ligne en dessous","Supprimer le tableau","Supprimer la ligne","Supprimer la colonne","Vider la cellule","Symboles: %d","Mots: %d","Frapper à travers","Souligner","exposant","indice","Couper la sélection","Tout sélectionner","Pause","Rechercher","Remplacer par","Remplacer","Coller","Choisissez le contenu à coller","la source","graisseux","italique","verser","lien","abolir","prêt","graphique","Image","la gommen","clause","taille de police","Video","police","à propos de l'éditeur","impression","souligné","barré","indentation","indifférent","taille réelle","taille conventionnelle","la ligne","Liste des","Liste numérotée","Couper","Sélectionner tout",null,"Ouvrir le lien","Modifier le lien","Attribut Nofollow","Supprimer le lien","Mettre à jour","Pour éditer","Voir","URL",null,"Alignement horizontal","Filtre","Trier par modifié","Trier par nom","Classer par taille","Ajouter le dossier","Restaurer","Sauvegarder","Enregistrer sous","Changer la taille","Taille de garniture","Largeur","Hauteur","Garder les proportions","Oui","Non","Supprimer","Mettre en évidence","Mettre en évidence: %s","Alignement vertical","Split","aller","Ajouter une colonne","Ajouter une rangée",null,"Effacer","Split vertical","Split horizontal",null,"Votre texte que vous essayez de coller est similaire au HTML. Collez-le en HTML?","Coller en HTML?","Sauvegarder l'original","Coller en tant que texte","Coller le texte seulement","Vous ne pouvez éditer que vos propres images. Téléchargez cette image sur l'hôte?","L'image a été téléchargée avec succès sur le serveur!null","Palette","Il n'y a aucun fichier dans ce répertoire.","renommer","Entrez un nouveau nom","Aperçu","Télécharger","Coller à partir du presse-papiers","Votre navigateur ne prend pas en charge l'accès direct à la presse-papiers.","Copier la sélection","copie","Rayon des frontières","Afficher tous les","Appliquer","Veuillez remplir ce champ","Veuillez entrer une adresse web","Par défaut","Cercle","Dot","Quadrate","Trouver","Trouvez Précédente","Suivant","Le contenu que vous insérez provient d'un document Microsoft Word / Excel. Voulez-vous enregistrer le format ou l'effacer?","C'est peut-être un fragment de Word ou Excel","Nettoyer","Insérer un nom de classe","Appuyez sur Alt pour un redimensionnement personnalisé"]},40272(e){e.exports.default=["הקלד משהו...","About Jodit","Jodit Editor","Jodit User's Guide","contains detailed help for using.","For information about the license, please go to our website:","Buy full version","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","מקום עיגון","פתח בכרטיסיה חדשה","פתח את העורך בחלון חדש","נקה עיצוב","שנה צבע טקסט או רקע","בצע שוב","בטל","מודגש","נטוי","הכנס רשימת תבליטים","הכנס רשימה ממוספרת","מרכז","ישר ","ישר לשמאל","ישר לימין","הכנס קו אופקי","הכנס תמונה","הכנס קובץ","הכנס סרטון וידאו מYouTube/Vimeo","הכנס קישור","גודל גופן","גופן","מעוצב מראש","רגיל","כותרת 1","כותרת 2","כותרת 3","כותרת 4","ציטוט","קוד","הכנס","הכנס טבלה","הקטן כניסה","הגדל כניסה","בחר תו מיוחד","הכנס תו מיוחד","העתק עיצוב","החלף מצב","ריווח","עליון","ימין","תחתון","שמאל","עיצוב CSS","מחלקת CSS","יישור","ימין","מרכז","שמאל","--לא נקבע--","מקור","כותרת","כיתוב חלופי","קישור","פתח בכרטיסיה חדשה","תמונה","קובץ","מתקדם","מאפייני תמונה","ביטול","אישור","סייר הקבצים","שגיאה בזמן טעינת רשימה","שגיאה בזמן טעינת תקיות","האם אתה בטוח?","הכנס שם תקיה","צור תקיה","סוג הקובץ","הסר תמונה","הסר קובץ","או לחץ","כיתוב חלופי","העלה","סייר","רקע","טקסט","עליון","מרכז","תחתון","הכנס עמודה לפני","הכנס עמודה אחרי","הכנס שורה מעל","הכנס שורה מתחת","מחק טבלה","מחק שורה","מחק עמודה","רוקן תא","תווים: %d","מילים: %d","קו חוצה","קו תחתון","superscript","subscript","גזור בחירה","בחר הכל","שבירת שורה","חפש","החלף ב","להחליף","הדבק","בחר תוכן להדבקה","HTML","מודגש","נטוי","מברשת","קישור","בטל","בצע שוב","טבלה","תמונה","מחק","פסקה","גודל גופן","וידאו","גופן","עלינו","הדפס","קו תחתון","קו חוצה","הגדל כניסה","הקטן כניסה","גודל מלא","כווץ","קו אופקי","רשימת תבליטים","רשימה ממוספרת","חתוך","בחר הכל","הוסף קוד","פתח קישור","ערוך קישור","ללא מעקב","בטל קישור","עדכן","כדי לערוך","הצג","כתובת","ערוך","יישור אופקי","סנן","מין לפי שינוי","מיין לפי שם","מיין לפי גודל","הוסף תקייה","אפס","שמור","שמור בשם...","שנה גודל","חתוך","רוחב","גובה","שמור יחס","כן","לא","הסר","בחר","נבחר: %s","יישור אנכי","פיצול","מזג","הוסף עמודה","הוסף שורה",null,"מחק","פיצול אנכי","פיצול אופקי","מסגרת","הקוד דומה לHTML, האם להשאיר כHTML","הדבק כHTML","השאר","הכנס כטקסט","הכנס טקסט בלבד","רק קבצים המשוייכים שלך ניתנים לעריכה. האם להוריד את הקובץ?","התמונה עלתה בהצלחה!","לוח","אין קבצים בספריה זו.","הונגרית","הזן שם חדש","תצוגה מקדימה","הורד","להדביק מהלוח","הדפדפן שלך לא תומך גישה ישירה ללוח.","העתק בחירה","העתק","רדיוס הגבול","הצג את כל","החל","נא למלא שדה זה","אנא הזן כתובת אינטרנט","ברירת המחדל","מעגל","נקודה","הריבוע הזה","למצוא","מצא את הקודם","חפש את הבא","התוכן המודבק מגיע ממסמך וורד/אקסל. האם ברצונך להשאיר את העיצוב או לנקותו",'זוהתה הדבקה מ"וורד"',"נקה","הכנס את שם הכיתה","לחץ על אלט לשינוי גודל מותאם אישית"]},2978(e){e.exports.default=["Írjon be valamit","Joditról","Jodit Editor","Jodit útmutató","további segítséget tartalmaz","További licence információkért látogassa meg a weboldalunkat:","Teljes verzió megvásárlása","Copyright © XDSoft.net - Chupurnov Valeriy. Minden jog fenntartva.","Horgony","Megnyitás új lapon","Megnyitás teljes méretben","Formázás törlése","Háttér/szöveg szín","Újra","Visszavon","Félkövér","Dőlt","Pontozott lista","Számozott lista","Középre zárt","Sorkizárt","Balra zárt","Jobbra zárt","Vízszintes vonal beszúrása","Kép beszúrás","Fájl beszúrás","Youtube videó beszúrása","Link beszúrás","Betűméret","Betűtípus","Formázott blokk beszúrása","Normál","Fejléc 1","Fejléc 2","Fejléc 3","Fejléc 4","Idézet","Kód","Beszúr","Táblázat beszúrása","Behúzás csökkentése","Behúzás növelése","Speciális karakter kiválasztása","Speciális karakter beszúrása","Kép formázása","Nézet váltása","Szegélyek","felső","jobb","alsó","bal","CSS stílusok","CSS osztályok","Igazítás","Jobbra","Középre","Balra","Nincs","Forrás","Cím","Helyettesítő szöveg","Link","Link megnyitása új lapon","Kép","Fájl","Haladó","Kép tulajdonságai","Mégsem","OK","Fájl tallózó","Hiba a lista betöltése közben","Hiba a mappák betöltése közben","Biztosan ezt szeretné?","Írjon be egy mappanevet","Mappa létrehozása","írjon be bevet","Húzza ide a képet","Húzza ide a fájlt","vagy kattintson","Helyettesítő szöveg","Feltölt","Tallóz","Háttér","Szöveg","Fent","Középen","Lent","Oszlop beszúrás elé","Oszlop beszúrás utána","Sor beszúrás fölé","Sor beszúrás alá","Táblázat törlése","Sor törlése","Oszlop törlése","Cella tartalmának törlése","Karakterek száma: %d","Szavak száma: %d","Áthúzott","Aláhúzott","Felső index","Alsó index","Kivágás","Összes kijelölése","Szünet","Keresés","Csere erre","Cserélje ki","Beillesztés","Válasszon tartalmat a beillesztéshez","HTML","Félkövér","Dőlt","Ecset","Link","Visszavon","Újra","Táblázat","Kép","Törlés","Paragráfus","Betűméret","Videó","Betű","Rólunk","Nyomtat","Aláhúzott","Áthúzott","Behúzás","Aussenseiter","Teljes méret","Összenyom","Egyenes vonal","Lista","Számozott lista","Kivág","Összes kijelölése","Beágyazott kód","Link megnyitása","Link szerkesztése","Nincs követés","Link leválasztása","Frissít","Szerkesztés","felülvizsgálat","URL","Szerkeszt","Vízszintes igazítás","Szűrő","Rendezés módosítás szerint","Rendezés név szerint","Rendezés méret szerint","Mappa hozzáadás","Visszaállít","Mentés","Mentés másként...","Átméretezés","Kivág","Szélesség","Magasság","Képarány megtartása","Igen","Nem","Eltávolít","Kijelöl","Kijelöl: %s","Függőleges igazítás","Felosztás","Összevonás","Oszlop hozzáadás","Sor hozzáadás",null,"Törlés","Függőleges felosztás","Vízszintes felosztás","Szegély","A beillesztett szöveg HTML-nek tűnik. Megtartsuk HTML-ként?","Beszúrás HTML-ként","Megtartás","Beszúrás szövegként","Csak szöveg beillesztése","Csak a saját képeit tudja szerkeszteni. Letölti ezt a képet?","Kép sikeresen feltöltve!","Palette","Er zijn geen bestanden in deze map.","átnevezés","Adja meg az új nevet","előnézet","Letöltés","Illessze be a vágólap","A böngésző nem támogatja a közvetlen hozzáférést biztosít a vágólapra.","Másolás kiválasztása","másolás","Határ sugár","Összes","Alkalmazni","Kérjük, töltse ki ezt a mezőt,","Kérjük, írja be a webcímet","Alapértelmezett","Kör","Pont","Quadrate","Találni","Megtalálja Előző","Következő Keresése","A beillesztett tartalom Microsoft Word/Excel dokumentumból származik. Meg szeretné tartani a formátumát?","Word-ből másolt szöveg","Elvetés","Helyezze be az osztály nevét","Nyomja meg az Alt egyéni átméretezés"]},99113(e){e.exports.default=["Ketik sesuatu","Tentang Jodit","Editor Jodit","Panduan Pengguna Jodit","mencakup detail bantuan penggunaan","Untuk informasi tentang lisensi, silakan kunjungi website:","Beli versi lengkap","Hak Cipta © XDSoft.net - Chupurnov Valeriy. Hak cipta dilindungi undang-undang.","Tautan","Buka di tab baru","Buka editor dalam ukuran penuh","Hapus Pemformatan","Isi warna atau atur warna teks","Ulangi","Batalkan","Tebal","Miring","Sisipkan Daftar Tidak Berurut","Sisipkan Daftar Berurut","Tengah","Penuh","Kiri","Kanan","Sisipkan Garis Horizontal","Sisipkan Gambar","Sisipkan Berkas","Sisipkan video youtube/vimeo","Sisipkan tautan","Ukuran font","Keluarga font","Sisipkan blok format","Normal","Heading 1","Heading 2","Heading 3","Heading 4","Kutip","Kode","Sisipkan","Sisipkan tabel","Kurangi Indentasi","Tambah Indentasi","Pilih Karakter Spesial","Sisipkan Karakter Spesial","Formar warna","Ubah mode","Batas","atas","kanan","bawah","kiri","Gaya","Class","Rata","Kanan","Tengah","Kiri","--Tidak diset--","Src","Judul","Teks alternatif","Tautan","Buka tautan di tab baru","Gambar","berkas","Lanjutan","Properti gambar","Batal","Ya","Penjelajah Berkas","Error ketika memuat list","Error ketika memuat folder","Apakah Anda yakin?","Masukkan nama Direktori","Buat direktori","ketik nama","Letakkan gambar","Letakkan berkas","atau klik","Teks alternatif","Unggah","Jelajahi","Latar Belakang","Teks","Atas","Tengah","Bawah","Sisipkan kolom sebelumnya","Sisipkan kolom setelahnya","Sisipkan baris di atasnya","Sisipkan baris di bawahnya","Hapus tabel","Hapus baris","Hapus kolom","Kosongkan cell","Karakter: %d","Kata: %d","Coret","Garis Bawah","Superskrip","Subskrip","Potong pilihan","Pilih semua","Berhenti","Mencari","Ganti dengan","Mengganti","Paste","Pilih konten untuk dipaste","sumber","tebal","miring","sikat","tautan","batalkan","ulangi","tabel","gambar","penghapus","paragraf","ukuran font","video","font","tentang","cetak","garis bawah","coret","menjorok ke dalam","menjorok ke luar","ukuran penuh","menyusut","hr","ul","ol","potong","Pilih semua","Kode embed","Buka tautan","Edit tautan","No follow","Hapus tautan","Perbarui","pensil","Mata","URL","Edit","Perataan horizontal","Filter","Urutkan berdasarkan perubahan","Urutkan berdasarkan nama","Urutkan berdasarkan ukuran","Tambah folder","Reset","Simpan","Simpan sebagai...","Ubah ukuran","Crop","Lebar","Tinggi","Jaga aspek rasio","Ya","Tidak","Copot","Pilih","Pilih %s","Rata vertikal","Bagi","Gabungkan","Tambah kolom","tambah baris","Lisensi: %s","Hapus","Bagi secara vertikal","Bagi secara horizontal","Bingkai","Kode Anda cenderung ke HTML. Biarkan sebagai HTML?","Paste sebagai HTML","Jaga","Sisipkan sebagai teks","Sisipkan hanya teks","Anda hanya dapat mengedit gambar Anda sendiri. Unduh gambar ini di host?","Gambar telah sukses diunggah ke host!","palet","Tidak ada berkas","ganti nama","Masukkan nama baru","pratinjau","Unduh","Paste dari clipboard","Browser anda tidak mendukung akses langsung ke clipboard.","Copy seleksi","copy","Border radius","Tampilkan semua","Menerapkan","Silahkan mengisi kolom ini","Silahkan masukkan alamat web","Default","Lingkaran","Dot","Kuadrat","Menemukan","Menemukan Sebelumnya","Menemukan Berikutnya","Konten dipaste dari dokumen Microsoft Word/Excel. Apakah Anda ingin tetap menjaga format atau membersihkannya?","Terdeteksi paste dari Word","Bersih","Masukkan nama kelas","Tekan Alt untuk mengubah ukuran kustom"]},51923(e){e.exports.default=["Scrivi qualcosa...","A proposito di Jodit","Jodit Editor","Guida utente di Jodit","contiene una guida dettagliata per l'uso.","Per informazioni sulla licenza, si prega di visitare il nostro sito:","Acquista la versione completa","Copyright © XDSoft.net - Chupurnov Valeriy. Alle Rechte vorbehalten.","Ancora","Apri in una nuova scheda","Apri l'editor a schermo intero","Formato chiaro","Riempi colore o lettera","Ripristina","Annulla","Grassetto","Corsivo","Inserisci lista non ordinata","Inserisci l'elenco ordinato","Allinea Centra","Allineare Giustificato","Allinea a Sinistra","Allinea a Destra","Inserisci la linea orizzontale","Inserisci immagine","Inserisci un file","Inserisci video Youtube/Vimeo","Inserisci il link","Dimensione del carattere","Tipo di font","Inserisci blocco","Normale","Heading 1","Heading 2","Heading 3","Heading 4","Citazione","Codice","Inserisci","Inserisci tabella","Riduci il rientro","Aumenta il rientro","Seleziona una funzione speciale","Inserisci un carattere speciale","Copia formato","Cambia modo","Margini","su","destra","giù","sinistra","Stili CSS","Classi CSS","Allinea","Destra","Centro","Sinistra","--Non Impostato--","Fonte","Titolo","Testo Alternativo","Link","Apri il link in una nuova scheda","Immagine","Archivio","Avanzato","Proprietà dell'immagine","Annulla","Accetta","Cerca il file","Errore durante il caricamento dell'elenco","Errore durante il caricamento delle cartelle","Sei sicuro?","Inserisci il nome della cartella","Crea cartella","Entre el nombre","Rilascia l'immagine","Rilascia file","o click","Testo alternativo","Carica","Sfoglia","Sfondo","Testo","Su","Centro","Sotto","Inserisci prima la colonna","Inserisci colonna dopo","Inserisci la riga sopra","Inserisci la riga sotto","Elimina tabella","Elimina riga","Elimina colonna","Cella vuota","Caratteri: %d","Parole: %d","Barrato","Sottolineato","indice","deponente","Taglia la selezione","Seleziona tutto","Pausa","Cerca","Sostituisci con","Sostituire","Incolla","Seleziona il contenuto da incollare","HTML","Grassetto","Corsivo","Pennello","Link","Annulla","Ripristina","Tabella","Immagine","Gomma","Paragrafo","Dimensione del carattere","Video","Font","Approposito di","Stampa","Sottolineato","Barrato","trattino","annulla rientro","A grandezza normale","comprimere","linea orizzontale","lista non ordinata","lista ordinata","Taglia","Seleziona tutto","Includi codice","Apri link","Modifica link","Non seguire","Togli link","Aggiornare","Per modificare","Recensione"," URL","Modifica","Allineamento orizzontale","Filtro","Ordina per data di modifica","Ordina per nome","Ordina per dimensione","Aggiungi cartella","Reset","Salva","Salva con nome...","Ridimensiona","Tagliare","Larghezza","Altezza","Mantenere le proporzioni","Si","No","Rimuovere","Seleziona","Seleziona: %s","Allineamento verticala","Dividere","Fondi","Aggiungi colonna","Aggiungi riga",null,"Cancella","Dividere verticalmente","Diviso orizzontale","Bordo","Il codice è simile all'HTML. Mantieni come HTML?","Incolla come HTML?","Mantieni","Inserisci come testo","Inserisci solo il testo","Puoi modificare solo le tue immagini. Scarica questa immagine sul server?","L'immagine è stata caricata con successo sul server!","tavolozza","Non ci sono file in questa directory.","ungherese","Inserisci un nuovo nome","anteprima","Scaricare","Incolla dagli appunti","Il tuo browser non supporta l'accesso diretto agli appunti.","Selezione di copia","copia","Border radius","Mostra tutti","Applicare","Si prega di compilare questo campo","Si prega di inserire un indirizzo web","Di Default","Cerchio","Dot","Quadrate","Trovare","Trova Precedente","Trova Successivo","Il contenuto incollato proviene da un documento Microsoft Word / Excel. Vuoi mantenere il formato o pulirlo?","Incollato da Word rilevato","Pulisci","Inserisci il nome della classe","Premere Alt per il ridimensionamento personalizzato"]},21268(e){e.exports.default=["なにかタイプしてください","Joditについて","Jodit Editor","Jodit ユーザーズ・ガイド","詳しい使い方","ライセンス詳細についてはJodit Webサイトを確認ください:","フルバージョンを購入","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","新しいタブで開く","エディターのサイズ(フル/ノーマル)","書式をクリア","テキストの色","やり直し","元に戻す","太字","斜体","箇条書き","番号付きリスト","中央揃え","両端揃え","左揃え","右揃え","区切り線を挿入","画像を挿入","ファイルを挿入","Youtube/Vimeo 動画","リンクを挿入","フォントサイズ","フォント","テキストのスタイル","指定なし","タイトル1","タイトル2","タイトル3","タイトル4","引用","コード","挿入","表を挿入","インデント減","インデント増","特殊文字を選択","特殊文字を挿入","書式を貼付け","編集モード切替え","マージン","上","右","下","左","スタイル","クラス","配置","右寄せ","中央寄せ","左寄せ","指定なし","ソース","タイトル","代替テキスト","リンク","新しいタブで開く","画像","ファイル","高度な設定","画像のプロパティー","キャンセル","確定","File Browser","Error on load list","Error on load folders","Are you sure?","Enter Directory name","Create directory","type name","ここに画像をドロップ","ここにファイルをドロップ","or クリック","代替テキスト","アップロード","ブラウズ","背景","文字","上","中央","下","左に列を挿入","右に列を挿入","上に行を挿入","下に行を挿入","表を削除","行を削除","列を削除","セルを空にする","文字数: %d","単語数: %d","取り消し線","下線","上付き文字","下付き文字","切り取り","すべて選択","Pause","検索","置換","交換","貼付け","選択した内容を貼付け","source","bold","italic","brush","link","undo","redo","table","image","eraser","paragraph","fontsize","video","font","about","print","underline","strikethrough","indent","outdent","fullsize","shrink","分割線","箇条書き","番号付きリスト","切り取り","すべて選択","埋め込みコード","リンクを開く","リンクを編集","No follow","リンク解除","更新","鉛筆","サイトを確認","URL","編集","水平方向の配置","Filter","Sort by changed","Sort by name","Sort by size","Add folder","リセット","保存","Save as ...","リサイズ","Crop","幅","高さ","縦横比を保持","はい","いいえ","移除","選択","選択: %s","垂直方向の配置","分割","セルの結合","列を追加","行を追加",null,"削除","セルの分割(垂直方向)","セルの分割(水平方向)","境界線","HTMLコードを保持しますか?","HTMLで貼付け","HTMLを保持","HTMLをテキストにする","テキストだけ","You can only edit your own images. Download this image on the host?","The image has been successfully uploaded to the host!","パレット","There are no files","Rename","Enter new name","プレビュー","ダウンロード","貼り付け","お使いのブラウザはクリップボードを使用できません","コピー","copy","角の丸み","全て表示","適用","まだこの分野","を入力してくださいウェブアドレス","デフォルト","白丸","黒丸","四角","見","探前","由来","The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected","Clean","クラス名を挿入","カスタムサイズ変更のためのAltキーを押します"]},11399(e){e.exports.default=["Type something","About Jodit","Jodit Editor","Jodit User's Guide","contains detailed help for using","For information about the license, please go to our website:","Buy full version","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","Open in new tab","Open in fullsize","Clear Formatting","Fill color or set the text color","Redo","Undo","Bold","Italic","Insert Unordered List","Insert Ordered List","Align Center","Align Justify","Align Left","Align Right","Insert Horizontal Line","Insert Image","Insert file","Insert youtube/vimeo video","Insert link","Font size","Font family","Insert format block","Normal","Heading 1","Heading 2","Heading 3","Heading 4","Quote","Code","Insert","Insert table","Decrease Indent","Increase Indent","Select Special Character","Insert Special Character","Paint format","Change mode","Margins","top","right","bottom","left","Styles","Classes","Align","Right","Center","Left","--Not Set--","Src","Title","Alternative","Link","Open link in new tab","Image","file","Advanced","Image properties","Cancel","Ok","File Browser","Error on load list","Error on load folders","Are you sure?","Enter Directory name","Create directory","type name","Drop image","Drop file","or click","Alternative text","Upload","Browse","Background","Text","Top","Middle","Bottom","Insert column before","Insert column after","Insert row above","Insert row below","Delete table","Delete row","Delete column","Empty cell","Chars: %d","Words: %d","Strike through","Underline","superscript","subscript","Cut selection","Select all","Break","Search for","Replace with","Replace","Paste","Choose Content to Paste","source","bold","italic","brush","link","undo","redo","table","image","eraser","paragraph","fontsize","video","font","about","print","underline","strikethrough","indent","outdent","fullsize","shrink","hr","ul","ol","cut","selectall","Embed code","Open link","Edit link","No follow","Unlink","Update","pencil","Eye"," URL","Edit","Horizontal align","Filter","Sort by changed","Sort by name","Sort by size","Add folder","Reset","Save","Save as ...","Resize","Crop","Width","Height","Keep Aspect Ratio","Yes","No","Remove","Select","Select %s","Vertical align","Split","Merge","Add column","Add row","License: %s","Delete","Split vertical","Split horizontal","Border","Your code is similar to HTML. Keep as HTML?","Paste as HTML","Keep","Insert as Text","Insert only Text","You can only edit your own images. Download this image on the host?","The image has been successfully uploaded to the host!","palette","There are no files","Rename","Enter new name","preview","download","Paste from clipboard","Your browser doesn't support direct access to the clipboard.","Copy selection","copy","Border radius","Show all","Apply","Please fill out this field","Please enter a web address","Default","Circle","Dot","Quadrate","Find","Find Previous","Find Next","The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected","Clean","Insert className","Press Alt for custom resizing"]},37289(e){e.exports.default=["무엇이든 입력하세요","Jodit에 대하여","Jodit Editor","Jodit 사용자 안내서","자세한 도움말이 들어있어요","라이센스에 관해서는 Jodit 웹 사이트를 방문해주세요:","풀 버전 구입하기","© XDSoft.net - Chupurnov Valeriy. 에게 저작권과 모든 권리가 있습니다.","Anchor","새 탭에서 열기","전체 크기로 보기","서식 지우기","글씨 색상","재실행","실행 취소","굵게","기울임","글머리 목록","번호 목록","가운데 정렬","양쪽 정렬","왼쪽 정렬","오른쪽 정렬","수평 구분선 넣기","이미지 넣기","파일 넣기","Youtube/Vimeo 동영상","링크 넣기","글꼴 크기","글꼴","블록 요소 넣기","일반 텍스트","제목 1","제목 2","제목 3","제목 4","인용","코드","붙여 넣기","테이블","들여쓰기 감소","들여쓰기 증가","특수문자 선택","특수문자 입력","페인트 형식","편집모드 변경","마진","위","오른쪽","아래","왼쪽","스타일","클래스","정렬","오른쪽으로","가운데로","왼쪽으로","--지정 안 함--","경로(src)","제목","대체 텍스트(alt)","링크","새 탭에서 열기",null,"파일","고급","이미지 속성","취소","확인","파일 탐색기","목록 불러오기 에러","폴더 불러오기","정말 진행할까요?","디렉토리 이름 입력","디렉토리 생성","이름 입력","이미지 드래그","파일 드래그","혹은 클릭","대체 텍스트","업로드","탐색","배경","텍스트","위","중앙","아래","이전 열에 삽입","다음 열에 삽입","위 행에 삽입","아래 행에 삽입","테이블 삭제","행 삭제","열 삭제","빈 셀","문자수: %d","단어수: %d","취소선","밑줄","윗첨자","아래첨자","선택 잘라내기","모두 선택","구분자","검색","대체하기","대체","붙여넣기","붙여넣을 내용 선택","HTML 소스","볼드","이탤릭","브러시","링크","실행 취소","재실행","테이블","이미지","지우개","문단","글꼴 크기","비디오","글꼴","편집기 정보","프린트","밑줄","취소선","들여쓰기","내어쓰기","전체 화면","일반 화면","구분선","글머리 목록","번호 목록","잘라내기","모두 선택","Embed 코드","링크 열기","링크 편집","No follow","링크 제거","갱신","연필","사이트 확인","URL","편집","수평 정렬","필터","변경일 정렬","이름 정렬","크기 정렬","새 폴더","초기화","저장","새로 저장하기 ...","리사이즈","크롭","가로 길이","세로 높이","비율 유지하기","네","아니오","제거","선택","선택: %s","수직 정렬","분할","셀 병합","열 추가","행 추가","라이센스: %s","삭제","세로 셀 분할","가로 셀 분할","외곽선","HTML 코드로 감지했어요. 코드인채로 붙여넣을까요?","HTML로 붙여넣기","원본 유지","텍스트로 넣기","텍스트만 넣기","외부 이미지는 편집할 수 없어요. 외부 이미지를 다운로드 할까요?","이미지를 무사히 업로드 했어요!","팔레트","파일이 없어요","이름 변경","새 이름 입력","미리보기","다운로드","클립보드 붙여넣기","사용중인 브라우저가 클립보드 접근을 지원하지 않아요.","선택 복사","복사","둥근 테두리","모두 보기","적용","이 항목을 입력해주세요!","웹 URL을 입력해주세요.","기본","원","점","정사각형","찾기","이전 찾기","다음 찾기","Microsoft Word/Excel 문서로 감지했어요. 서식을 유지한채로 붙여넣을까요?","Word 붙여넣기 감지","지우기","className 입력","사용자 지정 크기 조정에 대 한 고도 누르십시오"]},17084(e){e.exports.default=["Begin met typen..","Over Jodit","Jodit Editor","Jodit gebruikershandleiding","bevat gedetailleerde informatie voor gebruik.","Voor informatie over de licentie, ga naar onze website:","Volledige versie kopen","Copyright © XDSoft.net - Chupurnov Valeriy. Alle rechten voorbehouden.","Anker","Open in nieuwe tab","Editor in volledig scherm openen","Opmaak verwijderen","Vulkleur of tekstkleur aanpassen","Opnieuw","Ongedaan maken","Vet","Cursief","Geordende list invoegen","Ongeordende lijst invoegen","Centreren","Uitlijnen op volledige breedte","Links uitlijnen","Rechts uitlijnen","Horizontale lijn invoegen","Afbeelding invoegen","Bestand invoegen","Youtube/Vimeo video invoegen","Link toevoegen","Tekstgrootte","Lettertype","Format blok invoegen","Normaal","Koptekst 1","Koptekst 2","Koptekst 3","Koptekst 4","Citaat","Code","Invoegen","Tabel invoegen","Inspringing verkleinen","Inspringing vergroten","Symbool selecteren","Symbool invoegen","Opmaak kopieren","Modus veranderen","Marges","Boven","Rechts","Onder","Links","CSS styles","CSS classes","Uitlijning","Rechts","Gecentreerd","Links","--Leeg--","Src","Titel","Alternatieve tekst","Link","Link in nieuwe tab openen","Afbeelding","Bestand","Geavanceerd","Afbeeldingseigenschappen","Annuleren","OK","Bestandsbrowser","Fout bij het laden van de lijst","Fout bij het laden van de mappenlijst","Weet je het zeker?","Geef de map een naam","Map aanmaken","Type naam","Sleep hier een afbeelding naartoe","Sleep hier een bestand naartoe","of klik","Alternatieve tekst","Uploaden","Bladeren","Achtergrond","Tekst","Boven","Midden","Onder","Kolom invoegen (voor)","Kolom invoegen (na)","Rij invoegen (boven)","Rij invoegen (onder)","Tabel verwijderen","Rij verwijderen","Kolom verwijderen","Cel leegmaken","Tekens: %d","Woorden: %d","Doorstrepen","Onderstrepen","Superscript","Subscript","Selectie knippen","Selecteer alles","Enter","Zoek naar","Vervangen door","Vervangen","Plakken","Kies content om te plakken","Broncode","vet","cursief","kwast","link","ongedaan maken","opnieuw","tabel","afbeelding","gum","paragraaf","lettergrootte","video","lettertype","over","afdrukken","onderstreept","doorgestreept","inspringen","minder inspringen","volledige grootte","kleiner maken","horizontale lijn","lijst","genummerde lijst","knip","alles selecteren","Embed code","link openen","link aanpassen","niet volgen","link verwijderen","Updaten","Om te bewerken","Recensie"," URL","Bewerken","Horizontaal uitlijnen","Filteren","Sorteren op wijzigingsdatum","Sorteren op naam","Sorteren op grootte","Map toevoegen","Herstellen","Opslaan","Opslaan als ...","Grootte aanpassen","Bijknippen","Breedte","Hoogte","Verhouding behouden","Ja","Nee","Verwijderen","Selecteren","Selecteer: %s","Verticaal uitlijnen","Splitsen","Samenvoegen","Kolom toevoegen","Rij toevoegen",null,"Verwijderen","Verticaal splitsen","Horizontaal splitsen","Rand","Deze code lijkt op HTML. Als HTML behouden?","Invoegen als HTML","Origineel behouden","Als tekst invoegen","Als onopgemaakte tekst invoegen","Je kunt alleen je eigen afbeeldingen aanpassen. Deze afbeelding downloaden?","De afbeelding is succesvol geüploadet!","Palette","Er zijn geen bestanden in deze map.","Hongaars","Voer een nieuwe naam in","voorvertoning","Download","Plakken van klembord","Uw browser ondersteunt geen directe toegang tot het klembord.","Selectie kopiëren","kopiëren","Border radius","Toon alle","Toepassing","Vul dit veld","Voer een webadres","Standaard","Cirkel","Dot","Quadrate","Zoeken","Vorige Zoeken","Volgende Zoeken","De geplakte tekst is afkomstig van een Microsoft Word/Excel document. Wil je de opmaak behouden of opschonen?","Word-tekst gedetecteerd","Opschonen","Voeg de klassenaam in","Druk op Alt voor aangepaste grootte"]},96891(e){e.exports.default=["Napisz coś","O Jodit","Edytor Jodit","Instrukcja Jodit","zawiera szczegółowe informacje dotyczące użytkowania.","Odwiedź naszą stronę, aby uzyskać więcej informacji na temat licencji:","Zakup pełnej wersji","Copyright © XDSoft.net - Chupurnov Valeriy. Wszystkie prawa zastrzeżone.","Kotwica","Otwórz w nowej zakładce","Otwórz edytor w pełnym rozmiarze","Wyczyść formatowanie","Kolor wypełnienia lub ustaw kolor tekstu","Ponów","Cofnij","Pogrubienie","Kursywa","Wstaw listę wypunktowaną","Wstaw listę numeryczną","Wyśrodkuj","Wyjustuj","Wyrównaj do lewej","Wyrównaj do prawej","Wstaw linię poziomą","Wstaw grafikę","Wstaw plik","Wstaw film Youtube/vimeo","Wstaw link","Rozmiar tekstu","Krój czcionki","Wstaw formatowanie","Normalne","Nagłówek 1","Nagłówek 2","Nagłówek 3","Nagłówek 4","Cytat","Kod","Wstaw","Wstaw tabelę","Zmniejsz wcięcie","Zwiększ wcięcie","Wybierz znak specjalny","Wstaw znak specjalny","Malarz formatów","Zmień tryb","Marginesy","Górny","Prawy","Dolny","Levy","Style CSS","Klasy CSS","Wyrównanie","Prawa","środek","Lewa","brak","Źródło","Tytuł","Tekst alternatywny","Link","Otwórz w nowej zakładce","Grafika","Plik","Zaawansowane","Właściwości grafiki","Anuluj","OK","Przeglądarka plików","Błąd ładowania listy plików","Błąd ładowania folderów","Czy jesteś pewien?","Wprowadź nazwę folderu","Utwórz folder","wprowadź nazwę","Upuść plik graficzny","Upuść plik","lub kliknij tu","Tekst alternatywny","Wczytaj","Przeglądaj","Tło","Treść","Góra","Środek","Dół","Wstaw kolumnę przed","Wstaw kolumnę po","Wstaw wiersz przed","Wstaw wiersz po","Usuń tabelę","Usuń wiersz","Usuń kolumnę","Wyczyść komórkę","Znaki: %d","Słowa: %d","Przekreślenie","Podkreślenie","indeks górny","index dolny","Wytnij zaznaczenie","Wybierz wszystko","Przerwa","Szukaj","Zamień na","Wymienić","Wklej","Wybierz zawartość do wklejenia","HTML","pogrubienie","kursywa","pędzel","link","cofnij","ponów","tabela","grafika","wyczyść","akapit","rozmiar czcionki","wideo","czcionka","O programie","drukuj","podkreślenie","przekreślenie","wcięcie","wycięcie","pełen rozmiar","przytnij","linia pozioma","lista","lista numerowana","wytnij","zaznacz wszystko","Wstaw kod","otwórz link","edytuj link","Atrybut no-follow","Usuń link","Aktualizuj","edytuj","szukaj","URL","Edytuj","Wyrównywanie w poziomie","Filtruj","Sortuj wg zmiany","Sortuj wg nazwy","Sortuj wg rozmiaru","Dodaj folder","wyczyść","zapisz","zapisz jako","Zmień rozmiar","Przytnij","Szerokość","Wysokość","Zachowaj proporcje","Tak","Nie","Usuń","Wybierz","Wybierz: %s","Wyrównywanie w pionie","Podziel","Scal","Dodaj kolumnę","Dodaj wiersz",null,"Usuń","Podziel w pionie","Podziel w poziomie","Obramowanie","Twój kod wygląda jak HTML. Zachować HTML?","Wkleić jako HTML?","Oryginalny tekst","Wstaw jako tekst","Wstaw tylko treść","Możesz edytować tylko swoje grafiki. Czy chcesz pobrać tą grafikę?","Grafika została pomyślnienie dodana na serwer","Paleta","Brak plików.","zmień nazwę","Wprowadź nową nazwę","podgląd","pobierz","Wklej ze schowka","Twoja przeglądarka nie obsługuje schowka","Kopiuj zaznaczenie","kopiuj","Zaokrąglenie krawędzi","Pokaż wszystkie","Zastosuj","Proszę wypełnić to pole","Proszę, wpisz adres sieci web","Domyślnie","Koło","Punkt","Kwadrat","Znaleźć","Znaleźć Poprzednie","Znajdź Dalej","Wklejany tekst pochodzi z dokumentu Microsoft Word/Excel. Chcesz zachować ten format czy wyczyścić go? ","Wykryto tekst w formacie Word","Wyczyść","Wstaw nazwę zajęć","Naciśnij Alt, aby zmienić rozmiar"]},31211(e){e.exports.default=["Escreva algo...","Sobre o Jodit","Editor Jodit","Guia de usuário Jodit","contém ajuda detalhada para o uso.","Para informação sobre a licença, por favor visite nosso site:","Compre a versão completa","Copyright © XDSoft.net - Chupurnov Valeriy. Todos os direitos reservados.","Link","Abrir em nova aba","Abrir editor em tela cheia","Limpar formatação","Cor de preenchimento ou cor do texto","Refazer","Desfazer","Negrito","Itálico","Inserir lista não ordenada","Inserir lista ordenada","Centralizar","Justificar","Alinhar à Esquerda","Alinhar à Direita","Inserir linha horizontal","Inserir imagem","Inserir arquivo","Inserir vídeo do Youtube/vimeo","Inserir link","Tamanho da letra","Fonte","Inserir bloco","Normal","Cabeçalho 1","Cabeçalho 2","Cabeçalho 3","Cabeçalho 4","Citação","Código","Inserir","Inserir tabela","Diminuir recuo","Aumentar recuo","Selecionar caractere especial","Inserir caractere especial","Copiar formato","Mudar modo","Margens","cima","direta","baixo","esquerda","Estilos CSS","Classes CSS","Alinhamento","Direita","Centro","Esquerda","--Não Estabelecido--","Fonte","Título","Texto Alternativo","Link","Abrir link em nova aba","Imagem","Arquivo","Avançado","Propriedades da imagem","Cancelar","Ok","Procurar arquivo","Erro ao carregar a lista","Erro ao carregar as pastas","Você tem certeza?","Escreva o nome da pasta","Criar pasta","Escreva seu nome","Soltar imagem","Soltar arquivo","ou clique","Texto alternativo","Upload","Explorar","Fundo","Texto","Cima","Meio","Baixo","Inserir coluna antes","Inserir coluna depois","Inserir linha acima","Inserir linha abaixo","Excluir tabela","Excluir linha","Excluir coluna","Limpar célula","Caracteres: %d","Palavras: %d","Tachado","Sublinhar","sobrescrito","subscrito","Cortar seleção","Selecionar tudo","Pausa","Procurar por","Substituir com","Substituir","Colar","Escolher conteúdo para colar","HTML","negrito","itálico","pincel","link","desfazer","refazer","tabela","imagem","apagar","parágrafo","tamanho da letra","vídeo","fonte","Sobre de","Imprimir","sublinhar","tachado","recuar","diminuir recuo","Tamanho completo","diminuir","linha horizontal","lista não ordenada","lista ordenada","Cortar","Selecionar tudo","Incluir código","Abrir link","Editar link","Não siga","Remover link","Atualizar","Editar","Visualizar","URL","Editar","Alinhamento horizontal","filtrar","Ordenar por modificação","Ordenar por nome","Ordenar por tamanho","Adicionar pasta","Resetar","Salvar","Salvar como...","Redimensionar","Recortar","Largura","Altura","Manter a proporção","Sim","Não","Remover","Selecionar","Selecionar: %s","Alinhamento vertical","Dividir","Mesclar","Adicionar coluna","Adicionar linha",null,"Excluir","Dividir vertical","Dividir horizontal","Borda","Seu código é similar ao HTML. Manter como HTML?","Colar como HTML?","Manter","Inserir como Texto","Inserir somente o Texto","Você só pode editar suas próprias imagens. Baixar essa imagem pro servidor?","A imagem foi enviada com sucesso para o servidor!","Palette","Não há arquivos nesse diretório.","Húngara","Digite um novo nome","preview","Baixar","Colar da área de transferência","O seu navegador não oferece suporte a acesso direto para a área de transferência.","Selecção de cópia","cópia","Border radius","Mostrar todos os","Aplicar","Por favor, preencha este campo","Por favor introduza um endereço web","Padrão","Círculo","Ponto","Quadro","Encontrar","Encontrar Anteriores","Localizar Próxima","O conteúdo colado veio de um documento Microsoft Word/Excel. Você deseja manter o formato ou limpa-lo?","Colado do Word Detectado","Limpar","Insira o nome da classe","Pressione Alt para redimensionamento personalizado"]},31109(e){e.exports.default=["Напишите что-либо","О Jodit","Редактор Jodit","Jodit Руководство пользователя","содержит детальную информацию по использованию","Для получения сведений о лицензии , пожалуйста, перейдите на наш сайт:","Купить полную версию","Авторские права © XDSoft.net - Чупурнов Валерий. Все права защищены.","Анкор","Открывать ссылку в новой вкладке","Открыть редактор в полном размере","Очистить форматирование","Цвет заливки или цвет текста","Повтор","Отмена","Жирный","Наклонный","Вставка маркированного списка","Вставить нумерованный список","Выровнять по центру","Выровнять по ширине","Выровнять по левому краю","Выровнять по правому краю","Вставить горизонтальную линию","Вставить изображение","Вставить файл","Вставьте видео","Вставить ссылку","Размер шрифта","Шрифт","Вставить блочный элемент","Нормальный текст","Заголовок 1","Заголовок 2","Заголовок 3","Заголовок 4","Цитата","Код","Вставить","Вставить таблицу","Уменьшить отступ","Увеличить отступ","Выберите специальный символ","Вставить специальный символ","Формат краски","Источник","Отступы","сверху","справа","снизу","слева","Стили","Классы","Выравнивание","По правому краю","По центру","По левому краю","--не устанавливать--","src","Заголовок","Альтернативный текст (alt)","Ссылка","Открывать ссылку в новом окне",null,"Файл","Расширенные","Свойства изображения","Отмена","Ок","Браузер файлов","Ошибка при загрузке списка изображений","Ошибка при загрузке списка директорий","Вы уверены?","Введите название директории","Создать директорию","введите название","Перетащите сюда изображение","Перетащите сюда файл","или нажмите","Альтернативный текст","Загрузка","Сервер","Фон","Текст"," К верху","По середине","К низу","Вставить столбец до","Вставить столбец после","Вставить ряд выше","Вставить ряд ниже","Удалить таблицу","Удалять ряд","Удалить столбец","Очистить ячейку","Символов: %d","Слов: %d","Перечеркнуть","Подчеркивание","верхний индекс","индекс","Вырезать","Выделить все","Разделитель","Найти","Заменить на","Заменить","Вставить","Выбрать контент для вставки","HTML","жирный","курсив","заливка","ссылка","отменить","повторить","таблица","Изображение","очистить","параграф","размер шрифта","видео","шрифт","о редакторе","печать","подчеркнутый","перечеркнутый","отступ","выступ","во весь экран","обычный размер","линия","Список","Нумерованный список","Вырезать","Выделить все","Код","Открыть ссылку","Редактировать ссылку","Атрибут nofollow","Убрать ссылку","Обновить","Редактировать","Просмотр","URL","Редактировать","Горизонтальное выравнивание","Фильтр","По изменению","По имени","По размеру","Добавить папку","Восстановить","Сохранить","Сохранить как","Изменить размер","Обрезать размер","Ширина","Высота","Сохранять пропорции","Да","Нет","Удалить","Выделить","Выделить: %s","Вертикальное выравнивание","Разделить","Объединить в одну","Добавить столбец","Добавить строку","Лицензия: %s","Удалить","Разделить по вертикали","Разделить по горизонтали","Рамка","Ваш текст, который вы пытаетесь вставить похож на HTML. Вставить его как HTML?","Вставить как HTML?","Сохранить оригинал","Вставить как текст","Вставить только текст","Вы можете редактировать только свои собственные изображения. Загрузить это изображение на ваш сервер?","Изображение успешно загружено на сервер!","палитра","В данном каталоге нет файлов","Переименовать","Введите новое имя","Предпросмотр","Скачать","Вставить из буфера обмена","Ваш браузер не поддерживает прямой доступ к буферу обмена.","Скопировать выделенное","копия","Радиус границы","Показать все","Применить","Пожалуйста, заполните это поле","Пожалуйста, введите веб-адрес","По умолчанию","Круг","Точка","Квадрат","Найти","Найти Предыдущие","Найти Далее","Контент который вы вставляете поступает из документа Microsoft Word / Excel. Вы хотите сохранить формат или очистить его?","Возможно это фрагмент Word или Excel","Почистить","Вставить название класса","Нажмите Alt для изменения пользовательского размера"]},79375(e){e.exports.default=["Bir şeyler yaz","Jodit Hakkında","Jodit Editor","Jodit Kullanım Kılavuzu","kullanım için detaylı bilgiler içerir","Lisans hakkında bilgi için lütfen web sitemize gidin:","Tam versiyonunu satın al","Copyright © XDSoft.net - Chupurnov Valeriy. Tüm hakları saklıdır.","Bağlantı","Yeni sekmede aç","Editörü tam ekranda aç","Stili temizle","Renk doldur veya yazı rengi seç","Yinele","Geri Al","Kalın","İtalik","Sırasız Liste Ekle","Sıralı Liste Ekle","Ortala","Kenarlara Yasla","Sola Yasla","Sağa Yasla","Yatay Çizgi Ekle","Resim Ekle","Dosya Ekle","Youtube/Vimeo Videosu Ekle","Bağlantı Ekle","Font Boyutu","Font Ailesi","Blok Ekle","Normal","Başlık 1","Başlık 2","Başlık 3","Başlık 4","Alıntı","Kod","Ekle","Tablo Ekle","Girintiyi Azalt","Girintiyi Arttır","Özel Karakter Seç","Özel Karakter Ekle","Resim Biçimi","Mod Değiştir","Boşluklar","Üst","Sağ","Alt","Sol","CSS Stilleri","CSS Sınıfları","Hizalama","Sağ","Ortalı","Sol","Belirsiz","Kaynak","Başlık","Alternatif Yazı","Link","Bağlantıyı yeni sekmede aç","Resim","Dosya","Gelişmiş","Resim özellikleri","İptal","Tamam","Dosya Listeleyici","Liste yüklenirken hata oluştu","Klasörler yüklenirken hata oluştur","Emin misiniz?","Dizin yolu giriniz","Dizin oluştur","İsim yaz","Resim bırak","Dosya bırak","veya tıkla","Alternatif yazı","Yükle","Gözat","Arka plan","Yazı","Üst","Orta","Aşağı","Öncesine kolon ekle","Sonrasına kolon ekle","Üstüne satır ekle","Altına satır ekle","Tabloyu sil","Satırı sil","Kolonu sil","Hücreyi temizle","Harfler: %d","Kelimeler: %d","Üstü çizili","Alt çizgi","Üst yazı","Alt yazı","Seçilimi kes","Tümünü seç","Satır sonu","Ara","Şununla değiştir","Değiştir","Yapıştır","Yapıştırılacak içerik seç","Kaynak","Kalın","italik","Fırça","Bağlantı","Geri al","Yinele","Tablo","Resim","Silgi","Paragraf","Font boyutu","Video","Font","Hakkında","Yazdır","Alt çizgi","Üstü çizili","Girinti","Çıkıntı","Tam ekran","Küçült","Ayraç","Sırasız liste","Sıralı liste","Kes","Tümünü seç","Kod ekle","Bağlantıyı aç","Bağlantıyı düzenle","Nofollow özelliği","Bağlantıyı kaldır","Güncelle","Düzenlemek için","Yorumu","URL","Düzenle","Yatay hizala","Filtre","Değişime göre sırala","İsme göre sırala","Boyuta göre sırala","Klasör ekle","Sıfırla","Kaydet","Farklı kaydet","Boyutlandır","Kırp","Genişlik","Yükseklik","En boy oranını koru","Evet","Hayır","Sil","Seç","Seç: %s","Dikey hizala","Ayır","Birleştir","Kolon ekle","Satır ekle",null,"Sil","Dikey ayır","Yatay ayır","Kenarlık","Kodunuz HTML koduna benziyor. HTML olarak devam etmek ister misiniz?","HTML olarak yapıştır","Sakla","Yazı olarak ekle","Sadece yazıyı ekle","Sadece kendi resimlerinizi düzenleyebilirsiniz. Bu görseli kendi hostunuza indirmek ister misiniz?","Görsel başarıyla hostunuza yüklendi","Palet","Bu dizinde dosya yok","Yeniden isimlendir","Yeni isim girin","Ön izleme","İndir","Panodan yapıştır ","Tarayıcınız panoya doğrudan erişimi desteklemiyor.","Seçimi kopyala","Kopyala","Sınır yarıçapı","Tümünü Göster","Uygula","Lütfen bu alanı doldurun","Lütfen bir web adresi girin","Varsayılan","Daire","Nokta","Kare","Bul","Öncekini Bul","Sonrakini Bul","Der Inhalt, den Sie einfügen, stammt aus einem Microsoft Word / Excel-Dokument. Möchten Sie das Format erhalten oder löschen?","Word biçiminde yapıştırma algılandı","Temizle","Sınıf adı girin","Özel yeniden boyutlandırma için Alt tuşuna basın"]},21042(e){e.exports.default=["输入一些内容","关于Jodit","Jodit Editor","开发者指南","使用帮助","有关许可证的信息,请访问我们的网站:","购买完整版本","Copyright © XDSoft.net - Chupurnov Valeriy. 版权所有","Anchor","在新窗口打开","全屏编辑","清除样式","颜色","重做","撤销","粗体","斜体","符号列表","编号","居中","对齐文本","左对齐","右对齐","分割线","图片","文件","视频","链接","字号","字体","格式块","默认","标题1","标题2","标题3","标题4","引用","代码","插入","表格","减少缩进","增加缩进","选择特殊符号","特殊符号","格式复制","改变模式","外边距(Margins)","top","right","bottom","left","样式","Classes","对齐方式","居右","居中","居左","无","Src","Title","Alternative","Link","在新窗口打开链接","图片","file","高级","图片属性","取消","确定","文件管理","加载list错误","加载folders错误","你确定吗?","输入路径","创建路径","type name","拖动图片到此","拖动文件到此","或点击","Alternative text","上传","浏览","背景色","文字","顶部","中间","底部","在之前插入列","在之后插入列","在之前插入行","在之后插入行","删除表格","删除行","删除列","清除内容","字符数: %d","单词数: %d","删除线","下划线","上标","下标","剪切","全选","Break","查找","替换为","替换","粘贴","选择内容并粘贴","源码","粗体","斜体","颜色","链接","撤销","重做","表格","图片","橡皮擦","段落","字号","视频","字体","关于","打印","下划线","上出现","增加缩进","减少缩进","全屏","收缩","分割线","无序列表","顺序列表","剪切","全选","嵌入代码","打开链接","编辑链接","No follow","取消链接","更新","铅笔","预览","URL","编辑","水平对齐","筛选","修改时间排序","名称排序","大小排序","新建文件夹","重置","保存","保存为","调整大小","剪切","宽","高","保持长宽比","是","不","移除","选择","选择: %s","垂直对齐","拆分","合并","添加列","添加行",null,"删除","垂直拆分","水平拆分","边框","你粘贴的文本是一段html代码,是否保留源格式","html粘贴","保留源格式","把html代码视为普通文本","只保留文本","你只能编辑你自己的图片。Download this image on the host?","图片上传成功","调色板","此目录中沒有文件。","重命名","输入新名称","预览","下载","粘贴从剪贴板","你浏览器不支持直接访问的剪贴板。","复制选中内容","复制","边界半径","显示所有","应用","请填写这个字段","请输入一个网址","默认","圆圈","点","方形","搜索","查找上一个","查找下一个","正在粘贴 Word/Excel 的文本,是否保留源格式?","文本粘贴","匹配目标格式","插入班级名称","按Alt自定义调整大小"]},73895(e){e.exports.default=["輸入一些內容","關於Jodit","Jodit Editor","開發者指南","使用幫助","有關許可證的信息,請訪問我們的網站:","購買完整版本","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","在新窗口打開","全屏編輯","清除樣式","顏色","重做","撤銷","粗體","斜體","符號列表","編號","居中","對齊文本","左對齊","右對齊","分割線","圖片","文件","youtube/vimeo 影片","鏈接","字號","字體","格式塊","文本","標題1","標題2","標題3","標題4","引用","代碼","插入","表格","減少縮進","增加縮進","選擇特殊符號","特殊符號","格式複製","改變模式","外邊距(Margins)","top","right","bottom","left","樣式","Classes","對齊方式","居右","居中","居左","無","Src","Title","替代","Link","在新窗口打開鏈接","圖片","file","高級","圖片屬性","取消","確定","文件管理","加載list錯誤","加載folders錯誤","你確定嗎?","輸入路徑","創建路徑","type name","拖動圖片到此","拖動文件到此","或點擊","替代文字","上傳","瀏覽","背景色","文字","頂部","中間","底部","在之前插入列","在之後插入列","在之前插入行","在之後插入行","刪除表格","刪除行","刪除列","清除內容","字符數: %d","單詞數: %d","刪除線","下劃線","上標","下標","剪切","全選","Pause","查找","替換為","แทนที่","黏貼","選擇內容並黏貼","源碼","粗體","斜體","顏色","鏈接","撤銷","重做","表格","圖片","橡皮擦","段落","字號","影片","字體","關於","打印","下劃線","上出現","增加縮進","減少縮進","全屏","收縮","分割線","無序列表","順序列表","剪切","全選","嵌入代碼","打開鏈接","編輯鏈接","No follow","取消連結","更新","鉛筆","回顧","URL",null,"水平對齊","篩選","修改時間排序","名稱排序","大小排序","新建文件夾","重置","保存","保存為","調整大小","Crop","寬","高","保存長寬比","是","不","移除","選擇","選擇: %s","垂直對齊","拆分","合併","添加列","添加行",null,"刪除","垂直拆分","水平拆分","邊框","你黏貼的文本是一段html代碼,是否保留源格式","html黏貼","保留源格式","把html代碼視為普通文本","只保留文本","你只能編輯你自己的圖片。是否下載此圖片到本地?","圖片上傳成功","調色板","此目錄中沒有文件。","重命名","輸入新名稱","預覽","下載","從剪貼板貼上","瀏覽器無法存取剪贴板。","複製已選取項目","複製","邊框圓角","顯示所有","應用","ได้โปรดกรอกช่องข้อมูลนี้","โปรดเติมที่อยู่บนเว็บ","ค่าปริยาย","วงกลม","จุด","Quadrate","ค้นหา","ค้นหาก่อนหน้านี้","ค้นหาถัดไป","正在黏貼 Word/Excel 的文本,是否保留源格式?","文本黏貼","匹配目標格式","ใส่ชื่อคลาส","กดอัลท์สำหรับการปรับขนาดที่กำหนดเอง"]},3610(e){e.exports=' '},56170(e){e.exports=' '},95331(e){e.exports=' '},84279(e){e.exports=' '},11257(e){e.exports=' '},25141(e){e.exports=' '},24557(e){e.exports=' '},10859(e){e.exports=' '},9813(e){e.exports=' '},93395(e){e.exports=' '},98213(e){e.exports=' '},20026(e){e.exports=' '},66911(e){e.exports=' '},50018(e){e.exports=' '},99738(e){e.exports=' '},9185(e){e.exports=' '},8619(e){e.exports=' '},73894(e){e.exports=' '},83301(e){e.exports=' '},84142(e){e.exports=' '},57292(e){e.exports=' '},18019(e){e.exports=''},45146(e){e.exports=' '},53576(e){e.exports=' '},14655(e){e.exports=' '},53477(e){e.exports=' '},90053(e){e.exports=' '},72230(e){e.exports=' '},78321(e){e.exports=' '},77654(e){e.exports=' '},43371(e){e.exports=' '},44563(e){e.exports=' '},53183(e){e.exports=' '},18548(e){e.exports=' '},52242(e){e.exports=' '},87498(e){e.exports=' '},7986(e){e.exports=' '},23075(e){e.exports=' '},10655(e){e.exports=' '},15476(e){e.exports=' '},59403(e){e.exports=' '},22860(e){e.exports=' '},95600(e){e.exports=' '},76214(e){e.exports=' '},41197(e){e.exports=' '},9342(e){e.exports=' '},69546(e){e.exports=' '},43158(e){e.exports=' '},51716(e){e.exports=' '},49222(e){e.exports=' '},1755(e){e.exports=' '},74911(e){e.exports=' '},8805(e){e.exports=' '},16547(e){e.exports=' '},10856(e){e.exports=' '},98441(e){e.exports=' '},52488(e){e.exports=' '},9370(e){e.exports=' '},66543(e){e.exports=' '},608(e){e.exports=' '},42840(e){e.exports=' '},79096(e){e.exports=' '},33014(e){e.exports=' '},91677(e){e.exports=' '},8259(e){e.exports=' '},64467(e){e.exports=''},86934(e){e.exports=' '},76133(e){e.exports=''},45519(e){e.exports=''},90265(e){e.exports=' '},81279(e){e.exports=' '},68899(e){e.exports=' '},70744(e){e.exports=' '},19201(e){e.exports=' '},84930(e){e.exports=' '},99704(e){e.exports=' '},2304(e){e.exports=' '},20255(e,t,i){"use strict";function s(e,t,i,s){var o,r=arguments.length,n=3>r?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(n=(3>r?o(n):r>3?o(t,i,n):o(t,i))||n);return r>3&&n&&Object.defineProperty(t,i,n),n}i.d(t,{gn(){return s}})},93166(e,t,i){"use strict";i.d(t,{D(){return o}});var s=i(86893);class o{constructor(){this.defaultTimeout=100,this.namespace="",this.safeMode=!1,this.width="auto",this.height="auto",this.safePluginsList=["about","enter","backspace"],this.license="",this.preset="custom",this.presets={inline:{inline:!0,toolbar:!1,toolbarInline:!0,toolbarInlineForSelection:!0,showXPathInStatusbar:!1,showCharsCounter:!1,showWordsCounter:!1,showPlaceholder:!1}},this.ownerDocument="undefined"!=typeof document?document:null,this.ownerWindow="undefined"!=typeof window?window:null,this.shadowRoot=null,this.zIndex=0,this.readonly=!1,this.disabled=!1,this.activeButtonsInReadOnly=["source","fullsize","print","about","dots","selectall"],this.allowCommandsInReadOnly=["selectall","preview","print"],this.toolbarButtonSize="middle",this.allowTabNavigation=!1,this.inline=!1,this.theme="default",this.saveModeInStorage=!1,this.editorClassName=!1,this.editorCssClass=!1,this.className=!1,this.style=!1,this.containerStyle=!1,this.styleValues={},this.triggerChangeEvent=!0,this.direction="",this.language="auto",this.debugLanguage=!1,this.i18n=!1,this.tabIndex=-1,this.toolbar=!0,this.statusbar=!0,this.showTooltip=!0,this.showTooltipDelay=1e3,this.useNativeTooltip=!1,this.defaultActionOnPaste=s.INSERT_AS_HTML,this.enter=s.PARAGRAPH,this.iframe=!1,this.editHTMLDocumentMode=!1,this.enterBlock="br"!==this.enter?this.enter:s.PARAGRAPH,this.defaultMode=s.MODE_WYSIWYG,this.useSplitMode=!1,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.extraIcons={},this.createAttributes={table:{style:"border-collapse:collapse;width: 100%;"}},this.sizeLG=900,this.sizeMD=700,this.sizeSM=400,this.buttons=[{group:"font-style",buttons:[]},{group:"list",buttons:[]},{group:"font",buttons:[]},"---",{group:"script",buttons:[]},{group:"media",buttons:[]},"\n",{group:"state",buttons:[]},{group:"clipboard",buttons:[]},{group:"insert",buttons:[]},{group:"indent",buttons:[]},{group:"color",buttons:[]},{group:"form",buttons:[]},"---",{group:"history",buttons:[]},{group:"search",buttons:[]},{group:"source",buttons:[]},{group:"other",buttons:[]},{group:"info",buttons:[]}],this.buttonsMD=["bold","italic","|","ul","ol","eraser","|","font","fontsize","---","image","table","|","link","\n","brush","paragraph","align","|","hr","copyformat","fullsize","---","undo","redo","|","dots"],this.buttonsSM=["bold","italic","|","ul","ol","eraser","|","fontsize","brush","paragraph","---","image","table","\n","link","|","align","|","undo","redo","|","copyformat","fullsize","---","dots"],this.buttonsXS=["bold","brush","paragraph","eraser","|","fontsize","---","image","\n","align","undo","redo","|","link","table","---","dots"],this.events={},this.textIcons=!1,this.showBrowserColorPicker=!0}static get defaultOptions(){return o.__defaultOptions||(o.__defaultOptions=new o),o.__defaultOptions}}o.prototype.controls={}},21317(e,t,i){"use strict";i.d(t,{e(){return c}});var s=i(27512),o=i(42096),r=i(79736),n=i(26335),a=i(24421),l=i(61817);i(52378);class c{constructor(){var e,t,i,s;this.timers=new Map,this.__callbacks=new Map,this.promisesRejections=new Set,this.requestsIdle=new Set,this.requestsRaf=new Set,this.requestIdleCallbackNative=null!==(t=null===(e=window.requestIdleCallback)||void 0===e?void 0:e.bind(window))&&void 0!==t?t:(e,t)=>{var i;const s=Date.now();return this.setTimeout((()=>{e({didTimeout:!1,timeRemaining(){return Math.max(0,50-(Date.now()-s))}})}),null!==(i=null==t?void 0:t.timeout)&&void 0!==i?i:1)},this.cancelIdleCallbackNative=null!==(s=null===(i=window.cancelIdleCallback)||void 0===i?void 0:i.bind(window))&&void 0!==s?s:e=>{this.clearTimeout(e)},this.isDestructed=!1}delay(e){return this.promise((t=>this.setTimeout(t,e)))}setTimeout(e,t,...i){if(this.isDestructed)return 0;let o={};(0,l.h)(t)||(o=t,t=o.timeout||0),o.label&&this.clearLabel(o.label);const r=(0,s.i)(e,t,...i),n=o.label||r;return this.timers.set(n,r),this.__callbacks.set(n,e),r}updateTimeout(e,t){if(!e||!this.timers.has(e))return null;const i=this.__callbacks.get(e);return this.setTimeout(i,{label:e,timeout:t})}clearLabel(e){e&&this.timers.has(e)&&((0,s.g)(this.timers.get(e)),this.timers.delete(e),this.__callbacks.delete(e))}clearTimeout(e){if((0,a.H)(e))return this.clearLabel(e);(0,s.g)(e),this.timers.delete(e),this.__callbacks.delete(e)}debounce(e,t,i=!1){let a=0,l=!1;const c=[],d=(...t)=>{if(!l){a=0;const i=e(...t);if(l=!0,c.length){const e=()=>{c.forEach((e=>e())),c.length=0};(0,n.t)(i)?i.finally(e):e()}}},h=(...r)=>{l=!1,t?(!a&&i&&d(...r),(0,s.g)(a),a=this.setTimeout((()=>d(...r)),(0,o.m)(t)?t():t),this.timers.set(e,a)):d(...r)};return(0,r.P)(t)&&t.promisify?(...e)=>{const t=this.promise((e=>{c.push(e)}));return h(...e),t}:h}throttle(e,t,i=!1){let s,r,n,a=null;return(...i)=>{s=!0,n=i,t?a||(r=()=>{s?(e(...n),s=!1,a=this.setTimeout(r,(0,o.m)(t)?t():t),this.timers.set(r,a)):a=null},r()):e(...n)}}promise(e){let t=()=>{};const i=new Promise(((i,s)=>(this.promisesRejections.add(s),t=s,e(i,s))));return i.finally((()=>{this.promisesRejections.delete(t)})).catch((()=>null)),i.rejectCallback=t,i}promiseState(e){if(e.status)return e.status;if(!Promise.race)return new Promise((t=>{e.then((e=>(t("fulfilled"),e)),(e=>{throw t("rejected"),e})),this.setTimeout((()=>{t("pending")}),100)}));const t={};return Promise.race([e,t]).then((e=>e===t?"pending":"fulfilled"),(()=>"rejected"))}requestIdleCallback(e,t){const i=this.requestIdleCallbackNative(e,t);return this.requestsIdle.add(i),i}requestIdlePromise(e){return this.promise((t=>{const i=this.requestIdleCallback((()=>t(i)),e)}))}cancelIdleCallback(e){return this.requestsIdle.delete(e),this.cancelIdleCallbackNative(e)}requestAnimationFrame(e){const t=requestAnimationFrame(e);return this.requestsRaf.add(t),t}cancelAnimationFrame(e){this.requestsRaf.delete(e),cancelAnimationFrame(e)}clear(){this.requestsIdle.forEach((e=>this.cancelIdleCallback(e))),this.requestsRaf.forEach((e=>this.cancelAnimationFrame(e))),this.timers.forEach((e=>(0,s.g)(this.timers.get(e)))),this.timers.clear(),this.promisesRejections.forEach((e=>e())),this.promisesRejections.clear()}destruct(){this.clear(),this.isDestructed=!0}}},45113(e,t,i){"use strict";i.d(t,{w(){return l}});var s=i(40332),o=i(17332),r=i(29411),n=i(21317);const a=new Map;class l{get componentName(){return this.__componentName||(this.__componentName="jodit-"+(0,s.kebabCase)(((0,s.isFunction)(this.className)?this.className():"")||(0,s.getClassName)(this))),this.__componentName}getFullElName(e,t,i){const o=[this.componentName];return e&&(e=e.replace(/[^a-z0-9-]/gi,"-"),o.push("__"+e)),t&&(o.push("_",t),o.push("_",(0,s.isVoid)(i)?"true":""+i)),o.join("")}get ownerDocument(){return this.ow.document}get od(){return this.ownerDocument}get ow(){return this.ownerWindow}get(e,t){return(0,s.get)(e,t||this)}get isReady(){return this.componentStatus===r.n.ready}get isDestructed(){return this.componentStatus===r.n.destructed}get isInDestruct(){return r.n.beforeDestruct===this.componentStatus||r.n.destructed===this.componentStatus}bindDestruct(e){return e.hookStatus(r.n.beforeDestruct,(()=>!this.isInDestruct&&this.destruct())),this}constructor(){this.async=new n.e,this.ownerWindow=window,this.__componentStatus=r.n.beforeInit,this.uid="jodit-uid-"+(0,o.fe)()}destruct(){this.setStatus(r.n.destructed),this.async.destruct(),a.get(this)&&a.delete(this)}get componentStatus(){return this.__componentStatus}set componentStatus(e){this.setStatus(e)}setStatus(e){return this.setStatusComponent(e,this)}setStatusComponent(e,t){if(e===this.__componentStatus)return;t===this&&(this.__componentStatus=e);const i=Object.getPrototypeOf(this);i&&(0,s.isFunction)(i.setStatusComponent)&&i.setStatusComponent(e,t);const o=a.get(this),r=null==o?void 0:o[e];r&&r.length&&r.forEach((e=>e(t)))}hookStatus(e,t){let i=a.get(this);i||(i={},a.set(this,i)),i[e]||(i[e]=[]),i[e].push(t)}static isInstanceOf(e,t){return e instanceof t}}l.STATUSES=r.n},90549(e,t,i){"use strict";i.d(t,{wA(){return o.w},n$(){return s.n},Hr(){return r}});var s=i(29411),o=i(45113);class r extends o.w{get j(){return this.jodit}get defaultTimeout(){return this.j.defaultTimeout}i18n(e,...t){return this.j.i18n(e,...t)}setParentView(e){return this.jodit=e,e.components.add(this),this}constructor(e){super(),this.setParentView(e)}destruct(){return this.j.components.delete(this),super.destruct()}}},29411(e,t,i){"use strict";i.d(t,{n(){return s}});const s={beforeInit:"beforeInit",ready:"ready",beforeDestruct:"beforeDestruct",destructed:"destructed"}},86893(e,t,i){"use strict";i.r(t),i.d(t,{ACCURACY(){return I},BASE_PATH(){return J},BR(){return M},CLIPBOARD_ID(){return Q},COMMAND_KEYS(){return L},EMULATE_DBLCLICK_TIMEOUT(){return F},INSEPARABLE_TAGS(){return m},INSERT_AS_HTML(){return V},INSERT_AS_TEXT(){return $},INSERT_CLEAR_HTML(){return W},INSERT_ONLY_TEXT(){return U},INVISIBLE_SPACE(){return s},INVISIBLE_SPACE_REG_EXP(){return r},INVISIBLE_SPACE_REG_EXP_END(){return n},INVISIBLE_SPACE_REG_EXP_START(){return a},IS_BLOCK(){return h},IS_IE(){return R},IS_INLINE(){return u},IS_MAC(){return G},KEY_ALIASES(){return K},KEY_ALT(){return k},KEY_BACKSPACE(){return v},KEY_DELETE(){return j},KEY_DOWN(){return E},KEY_ENTER(){return y},KEY_ESC(){return w},KEY_F3(){return z},KEY_LEFT(){return C},KEY_META(){return g},KEY_RIGHT(){return x},KEY_SPACE(){return _},KEY_TAB(){return b},KEY_UP(){return S},MARKER_CLASS(){return H},MODE_SOURCE(){return N},MODE_SPLIT(){return P},MODE_WYSIWYG(){return D},NBSP_SPACE(){return o},NEARBY(){return T},NO_EMPTY_TAGS(){return f},PARAGRAPH(){return A},SAFE_COUNT_CHANGE_CALL(){return Y},SOURCE_CONSUMER(){return ee},SPACE_REG_EXP(){return l},SPACE_REG_EXP_END(){return d},SPACE_REG_EXP_START(){return c},TEMP_ATTR(){return X},TEXT_HTML(){return B},TEXT_PLAIN(){return q},TEXT_RTF(){return O},lang(){return Z}});const s="\ufeff",o=" ",r=()=>/[\uFEFF]/g,n=()=>/[\uFEFF]+$/g,a=()=>/^[\uFEFF]+/g,l=()=>/[\s\n\t\r\uFEFF\u200b]+/g,c=()=>/^[\s\n\t\r\uFEFF\u200b]+/g,d=()=>/[\s\n\t\r\uFEFF\u200b]+$/g,h=/^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i,u=/^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i,p=["img","video","svg","iframe","script","input","textarea","link","jodit","jodit-media"],m=new Set([...p,"br","hr"]),f=new Set(p),g="Meta",v="Backspace",b="Tab",y="Enter",w="Escape",k="Alt",C="ArrowLeft",S="ArrowUp",x="ArrowRight",E="ArrowDown",_="Space",j="Delete",z="F3",T=5,I=10,L=[g,v,j,S,E,x,C,y,w,z,b],M="br",A="p",D=1,N=2,P=3,R="undefined"!=typeof navigator&&(-1!==navigator.userAgent.indexOf("MSIE")||/rv:11.0/i.test(navigator.userAgent)),q=R?"text":"text/plain",B=R?"html":"text/html",O=R?"rtf":"text/rtf",H="jodit-selection_marker",F=300,V="insert_as_html",W="insert_clear_html",$="insert_as_text",U="insert_only_text",Y=10,G="undefined"!=typeof window&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),K={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:G?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:" ",spacebar:" ",up:"arrowup",win:"meta",windows:"meta"},J=(()=>{if("undefined"==typeof document)return"";const e=document.currentScript,t=e=>{const t=e.split("/");return/\.js/.test(t[t.length-1])?t.slice(0,t.length-1).join("/")+"/":e};if(e)return t(e.src);const i=document.querySelectorAll("script[src]");return i&&i.length?t(i[i.length-1].src):window.location.href})(),X="data-jodit-temp",Z={},Q="clipboard",ee="source-consumer"},11441(e,t,i){"use strict";function s(e){class t extends e{constructor(...e){super(...e),this.constructor===t&&(this instanceof t||Object.setPrototypeOf(this,t.prototype),this.setStatus("ready"))}}return t}i.d(t,{w(){return s}})},55773(e,t,i){"use strict";i.d(t,{D(){return n},P(){return a}});var s=i(78411),o=i(90549),r=i(14582);function n(e,t=!1,i="debounce"){return(n,a)=>{const l=n[a];if(!(0,s.mf)(l))throw(0,r.vU)("Handler must be a Function");return n.hookStatus(o.n$.ready,(o=>{const{async:r}=o,n=(0,s.mf)(e)?e(o):e;Object.defineProperty(o,a,{configurable:!0,value:r[i](o[a].bind(o),(0,s.hj)(n)||(0,s.PO)(n)?n:o.defaultTimeout,t)})})),{configurable:!0,get(){return l.bind(this)}}}}function a(e,t=!1){return n(e,t,"throttle")}i(52378)},67493(e,t,i){"use strict";i.r(t),i.d(t,{autobind(){return k},cache(){return o},component(){return r.w},debounce(){return n.D},derive(){return v},getPropertyDescriptor(){return g.w7},hook(){return h},idle(){return l},nonenumerable(){return u},persistent(){return m},throttle(){return n.P},wait(){return f},watch(){return g.YP}});var s=i(40332);function o(e,t,i){const o=i.get;if(!o)throw(0,s.error)("Getter property descriptor expected");i.get=function(){const e=o.call(this);return e&&!0===e.noCache||Object.defineProperty(this,t,{configurable:i.configurable,enumerable:i.enumerable,writable:!1,value:e}),e}}var r=i(11441),n=i(55773),a=i(90549);function l(){return(e,t)=>{if(!(0,s.isFunction)(e[t]))throw(0,s.error)("Handler must be a Function");e.hookStatus(a.n$.ready,(e=>{const{async:i}=e,s=e[t];e[t]=(...t)=>i.requestIdleCallback(s.bind(e,...t))}))}}var c=i(78411),d=i(14582);function h(e){return(t,i)=>{if(!(0,c.mf)(t[i]))throw(0,d.vU)("Handler must be a Function");t.hookStatus(e,(e=>{e[i].call(e)}))}}const u=(e,t)=>{!1!==(Object.getOwnPropertyDescriptor(e,t)||{}).enumerable&&Object.defineProperty(e,t,{enumerable:!1,set(e){Object.defineProperty(this,t,{enumerable:!1,writable:!0,value:e})}})};var p=i(96574);function m(e,t){e.hookStatus(a.n$.ready,(e=>{const i=(0,p.f)(e)?e:e.jodit,s=`${i.options.namespace}${e.componentName}_prop_${t}`,o=e[t];Object.defineProperty(e,t,{get(){var e;return null!==(e=i.storage.get(s))&&void 0!==e?e:o},set(e){i.storage.set(s,e)}})}))}function f(e){return(t,i)=>{if(!(0,s.isFunction)(t[i]))throw(0,s.error)("Handler must be a Function");t.hookStatus(a.n$.ready,(t=>{const{async:s}=t,o=t[i];let r=0;Object.defineProperty(t,i,{configurable:!0,value:function i(...n){s.clearTimeout(r),e(t)?o.apply(t,n):r=s.setTimeout((()=>i(...n)),10)}})}))}}var g=i(46163);function v(...e){return t=>{const i=t.prototype;for(let t=0;e.length>t;t++){const s=e[t],o=Object.getOwnPropertyNames(s.prototype);for(let e=0;o.length>e;e++){const t=o[e],r=Object.getOwnPropertyDescriptor(s.prototype,t);null!=r&&(0,c.mf)(r.value)&&!(0,c.mf)(i[t])&&Object.defineProperty(i,t,{enumerable:!0,configurable:!0,writable:!0,value(...e){return r.value.call(this,...e)}})}}}}function b(e){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e=>typeof e:e=>e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e,b(e)}function y(e,t,i){var s=i.value;if("function"!=typeof s)throw new TypeError("@boundMethod decorator can only be applied to methods not: ".concat(b(s)));var o=!1;return{configurable:!0,get(){if(o||this===e.prototype||this.hasOwnProperty(t)||"function"!=typeof s)return s;var i=s.bind(this);return o=!0,Object.defineProperty(this,t,{configurable:!0,get(){return i},set(e){s=e,delete this[t]}}),o=!1,i},set(e){s=e}}}function w(e){var t;return"undefined"!=typeof Reflect&&"function"==typeof Reflect.ownKeys?t=Reflect.ownKeys(e.prototype):(t=Object.getOwnPropertyNames(e.prototype),"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(e.prototype)))),t.forEach((t=>{if("constructor"!==t){var i=Object.getOwnPropertyDescriptor(e.prototype,t);"function"==typeof i.value&&Object.defineProperty(e.prototype,t,y(e,t,i))}})),e}function k(){return 1===arguments.length?w.apply(void 0,arguments):y.apply(void 0,arguments)}},46163(e,t,i){"use strict";i.d(t,{YP(){return h},w7(){return d}});var s=i(42096),o=i(79736),r=i(96574),n=i(88418),a=i(29411),l=i(14556),c=i(14582);function d(e,t){let i;do{i=Object.getOwnPropertyDescriptor(e,t),e=Object.getPrototypeOf(e)}while(!i&&e);return i}function h(e,t){return(i,h)=>{if(!(0,s.m)(i[h]))throw(0,c.vU)("Handler must be a Function");const u=a=>{const c=(e,...t)=>{if(!a.isInDestruct)return a[h](e,...t)};(0,l.C)(e).forEach((e=>{if(/:/.test(e)){const[i,o]=e.split(":");let n=t;const l=(0,r.f)(a)?a:a.jodit;return i.length&&(n=a.get(i)),(0,s.m)(n)&&(n=n(a)),l.events.on(n||a,o,c),n||l.events.on(o,c),void a.hookStatus("beforeDestruct",(()=>{l.events.off(n||a,o,c).off(o,c)}))}const l=e.split("."),[h]=l,u=l.slice(1);let p=a[h];(0,o.P)(p)&&(0,n.L)(p).on("change."+u.join("."),c);const m=d(i,h);Object.defineProperty(a,h,{configurable:!0,set(e){const t=p;t!==e&&(p=e,m&&m.set&&m.set.call(a,e),(0,o.P)(p)&&(p=(0,n.L)(p),p.on("change."+u.join("."),c)),c(h,t,p))},get:()=>m&&m.get?m.get.call(a):p})}))};(0,s.m)(i.hookStatus)?i.hookStatus(a.n.ready,u):u(i)}}},24263(e,t,i){"use strict";i.d(t,{i(){return c}});var s=i(86893),o=i(78411),r=i(56888),n=i(89170),a=i(76502),l=i(37204);class c{static detach(e){for(;e.firstChild;)e.removeChild(e.firstChild)}static wrapInline(e,t,i){let s,r=e,n=e;i.s.save();let a=!1;do{a=!1,s=r.previousSibling,s&&!c.isBlock(s)&&(a=!0,r=s)}while(a);do{a=!1,s=n.nextSibling,s&&!c.isBlock(s)&&(a=!0,n=s)}while(a);const l=(0,o.HD)(t)?i.createInside.element(t):t;r.parentNode&&r.parentNode.insertBefore(l,r);let d=r;for(;d&&(d=r.nextSibling,l.appendChild(r),r!==n&&d);)r=d;return i.s.restore(),l}static wrap(e,t,i){const s=(0,o.HD)(t)?i.element(t):t;if(c.isNode(e)){if(!e.parentNode)throw(0,a.error)("Element should be in DOM");e.parentNode.insertBefore(s,e),s.appendChild(e)}else{const t=e.extractContents();e.insertNode(s),s.appendChild(t)}return s}static unwrap(e){const t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);c.safeRemove(e)}}static between(e,t,i){let s=e;for(;s&&s!==t&&(e===s||!i(s));){let e=s.firstChild||s.nextSibling;if(!e){for(;s&&!s.nextSibling;)s=s.parentNode;e=null==s?void 0:s.nextSibling}s=e}}static replace(e,t,i,s=!1,n=!1){(0,o.FP)(t)&&(t=i.fromHTML(t));const a=(0,o.HD)(t)?i.element(t):t;if(!n)for(;e.firstChild;)a.appendChild(e.firstChild);return s&&c.isElement(e)&&c.isElement(a)&&(0,r.qo)(e.attributes).forEach((e=>{a.setAttribute(e.name,e.value)})),e.parentNode&&e.parentNode.replaceChild(a,e),a}static isEmptyTextNode(e){return c.isText(e)&&(!e.nodeValue||0===e.nodeValue.replace(s.INVISIBLE_SPACE_REG_EXP(),"").trim().length)}static isEmptyContent(e){return c.each(e,(e=>c.isEmptyTextNode(e)))}static isContentEditable(e,t){return c.isNode(e)&&!c.closest(e,(e=>c.isElement(e)&&"false"===e.getAttribute("contenteditable")),t)}static isEmpty(e,t=s.NO_EMPTY_TAGS){if(!e)return!0;let i;i=(0,o.mf)(t)?t:e=>t.has(e.nodeName.toLowerCase());const r=e=>null==e.nodeValue||0===(0,n.fy)(e.nodeValue).length;return c.isText(e)?r(e):!(c.isElement(e)&&i(e))&&c.each(e,(e=>{if(c.isText(e)&&!r(e)||c.isElement(e)&&i(e))return!1}))}static isNode(e){return!!(e&&(0,o.HD)(e.nodeName)&&"number"==typeof e.nodeType&&e.childNodes&&(0,o.mf)(e.appendChild))}static isCell(e){return c.isNode(e)&&/^(td|th)$/i.test(e.nodeName)}static isImage(e){return c.isNode(e)&&/^(img|svg|picture|canvas)$/i.test(e.nodeName)}static isBlock(e){return!(0,o.nj)(e)&&"object"==typeof e&&c.isNode(e)&&s.IS_BLOCK.test(e.nodeName)}static isText(e){return!(!e||e.nodeType!==Node.TEXT_NODE)}static isElement(e){var t;return!!c.isNode(e)&&!(!(null===(t=e.ownerDocument)||void 0===t?void 0:t.defaultView)||e.nodeType!==Node.ELEMENT_NODE)}static isFragment(e){var t;return!!c.isNode(e)&&!(!(null===(t=e.ownerDocument)||void 0===t?void 0:t.defaultView)||e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)}static isHTMLElement(e){var t;if(!c.isNode(e))return!1;const i=null===(t=e.ownerDocument)||void 0===t?void 0:t.defaultView;return!!(i&&e instanceof i.HTMLElement)}static isInlineBlock(e){return c.isElement(e)&&!/^(BR|HR)$/i.test(e.tagName)&&-1!==["inline","inline-block"].indexOf(""+(0,a.css)(e,"display"))}static canSplitBlock(e){return!(0,o.nj)(e)&&c.isHTMLElement(e)&&c.isBlock(e)&&!/^(TD|TH|CAPTION|FORM)$/.test(e.nodeName)&&void 0!==e.style&&!/^(fixed|absolute)/i.test(e.style.position)}static last(e,t){let i=null==e?void 0:e.lastChild;if(!i)return null;do{if(t(i))return i;let s=i.lastChild;if(s||(s=i.previousSibling),!s&&i.parentNode!==e){do{i=i.parentNode}while(i&&!(null==i?void 0:i.previousSibling)&&i.parentNode!==e);s=null==i?void 0:i.previousSibling}i=s}while(i);return null}static prev(e,t,i,s=!0){return c.find(e,t,i,!1,s)}static next(e,t,i,s=!0){return c.find(e,t,i,!0,s)}static prevWithClass(e,t){return c.prev(e,(e=>c.isElement(e)&&e.classList.contains(t)),e.parentNode)}static nextWithClass(e,t){return c.next(e,(e=>c.isElement(e)&&e.classList.contains(t)),e.parentNode)}static find(e,t,i,s=!0,o=!0){const r=this.nextGen(e,i,s,o);let n=r.next();for(;!n.done;){if(t(n.value))return n.value;n=r.next()}return null}static*nextGen(e,t,i=!0,s=!0){const o=[];let r=e;do{let t=i?r.nextSibling:r.previousSibling;for(;t;)o.unshift(t),t=i?t.nextSibling:t.previousSibling;yield*this.runInStack(e,o,i,s),r=r.parentNode}while(r&&r!==t);return null}static each(e,t,i=!0){const s=this.eachGen(e,i);let o=s.next();for(;!o.done;){if(!1===t(o.value))return!1;o=s.next()}return!0}static eachGen(e,t=!0){return this.runInStack(e,[e],t)}static*runInStack(e,t,i,s=!0){for(;t.length;){const o=t.pop();if(s){let e=i?o.lastChild:o.firstChild;for(;e;)t.push(e),e=i?e.previousSibling:e.nextSibling}e!==o&&(yield o)}}static findWithCurrent(e,t,i,s="nextSibling",o="firstChild"){let r=e;do{if(t(r))return r||null;if(o&&r&&r[o]){const e=c.findWithCurrent(r[o],t,r,s,o);if(e)return e}for(;r&&!r[s]&&r!==i;)r=r.parentNode;r&&r[s]&&r!==i&&(r=r[s])}while(r&&r!==i);return null}static findSibling(e,t=!0,i=(e=>!c.isEmptyTextNode(e))){let s=c.sibling(e,t);for(;s&&!i(s);)s=c.sibling(s,t);return s&&i(s)?s:null}static findNotEmptySibling(e,t){return c.findSibling(e,t,(e=>{var t;return!c.isEmptyTextNode(e)&&!!(!c.isText(e)||(null===(t=e.nodeValue)||void 0===t?void 0:t.length)&&(0,n.fy)(e.nodeValue))}))}static findNotEmptyNeighbor(e,t,i){return(0,a.call)(t?c.prev:c.next,e,(e=>!(!e||c.isText(e)&&!(0,n.fy)((null==e?void 0:e.nodeValue)||"").length)),i)}static sibling(e,t){return t?e.previousSibling:e.nextSibling}static up(e,t,i,s=!1){let o=e;if(!o)return null;do{if(t(o))return o;if(o===i||!o.parentNode)break;o=o.parentNode}while(o&&o!==i);return o===i&&s&&t(o)?o:null}static closest(e,t,i){let s;const r=e=>e.toLowerCase();if((0,o.mf)(t))s=t;else if((0,o.kJ)(t)){const e=new Set(t.map(r));s=t=>!(!t||!e.has(r(t.nodeName)))}else s=e=>!(!e||r(t)!==r(e.nodeName));return c.up(e,s,i)}static furthest(e,t,i){let s=null,o=null==e?void 0:e.parentElement;for(;o&&o!==i;)t(o)&&(s=o),o=null==o?void 0:o.parentElement;return s}static appendChildFirst(e,t){const i=e.firstChild;i?i!==t&&e.insertBefore(t,i):e.appendChild(t)}static after(e,t){const{parentNode:i}=e;i&&(i.lastChild===e?i.appendChild(t):i.insertBefore(t,e.nextSibling))}static before(e,t){const{parentNode:i}=e;i&&i.insertBefore(t,e)}static prepend(e,t){e.insertBefore(t,e.firstChild)}static append(e,t){(0,o.kJ)(t)?t.forEach((t=>{this.append(e,t)})):e.appendChild(t)}static moveContent(e,t,i=!1,s=(()=>!0)){const o=(e.ownerDocument||document).createDocumentFragment();(0,r.qo)(e.childNodes).filter((e=>!!s(e)||(c.safeRemove(e),!1))).forEach((e=>{o.appendChild(e)})),i&&t.firstChild?t.insertBefore(o,t.firstChild):t.appendChild(o)}static isOrContains(e,t,i=!1){return e===t?!i:!!(t&&e&&this.up(t,(t=>t===e),e,!0))}static safeRemove(...e){e.forEach((e=>c.isNode(e)&&e.parentNode&&e.parentNode.removeChild(e)))}static safeInsertNode(e,t){e.collapsed||e.deleteContents(),e.insertNode(t),[t.nextSibling,t.previousSibling].forEach((e=>c.isText(e)&&!e.nodeValue&&c.safeRemove(e)))}static hide(e){e&&((0,a.dataBind)(e,"__old_display",e.style.display),e.style.display="none")}static show(e){if(!e)return;const t=(0,a.dataBind)(e,"__old_display");"none"===e.style.display&&(e.style.display=t||"")}static isTag(e,t){if(!this.isElement(e))return!1;const i=e.tagName.toLowerCase(),s=e.tagName.toUpperCase();if(t instanceof Set)return t.has(i)||t.has(s);const o=(0,r._2)(t).map((e=>(e+"").toLowerCase()));for(let e=0;o.length>e;e+=1)if(i===o[e]||s===o[e])return!0;return!1}static markTemporary(e,t){return t&&(0,a.attr)(e,t),(0,a.attr)(e,s.TEMP_ATTR,!0),e}static isTemporary(e){return!!c.isElement(e)&&((0,l._)(e)||"true"===(0,a.attr)(e,s.TEMP_ATTR))}static replaceTemporaryFromString(e){return e.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi,"$2")}static temporaryList(e){return(0,a.$$)(`[${s.TEMP_ATTR}]`,e)}}},64968(e,t,i){"use strict";i.d(t,{b(){return o.b},i(){return s.i}});var s=i(24263),o=i(33841)},33841(e,t,i){"use strict";i.d(t,{b(){return a}});var s=i(20255),o=i(73852),r=i(67493),n=i(24263);class a extends o.a{setWork(e){return this.isWorked&&this.break(),this.workNodes=n.i.eachGen(e,!this.options.reverse),this.isFinished=!1,this.startIdleRequest(),this}constructor(e,t={}){super(),this.async=e,this.options=t,this.workNodes=null,this.hadAffect=!1,this.isWorked=!1,this.isFinished=!1,this.idleId=0}startIdleRequest(){var e;this.idleId=this.async.requestIdleCallback(this.workPerform,{timeout:null!==(e=this.options.timeout)&&void 0!==e?e:10})}break(e){this.isWorked&&(this.stop(),this.emit("break",e))}end(){this.isWorked&&(this.stop(),this.emit("end",this.hadAffect),this.hadAffect=!1)}stop(){this.isWorked=!1,this.isFinished=!0,this.workNodes=null,this.async.cancelIdleCallback(this.idleId)}destruct(){super.destruct(),this.stop()}workPerform(e){var t;if(this.workNodes){this.isWorked=!0;let i=0;const s=null!==(t=this.options.timeoutChunkSize)&&void 0!==t?t:50;for(;!this.isFinished&&(e.timeRemaining()>0||e.didTimeout&&s>=i);){const e=this.workNodes.next();if(i+=1,this.visitNode(e.value)&&(this.hadAffect=!0),e.done)return void this.end()}}else this.end();this.isFinished||this.startIdleRequest()}visitNode(e){var t;return!(!e||void 0!==this.options.whatToShow&&e.nodeType!==this.options.whatToShow)&&null!==(t=this.emit("visit",e))&&void 0!==t&&t}}(0,s.gn)([r.autobind],a.prototype,"workPerform",null)},73852(e,t,i){"use strict";i.d(t,{a(){return s}});class s{constructor(){this.__map=new Map}on(e,t){var i;return this.__map.has(e)||this.__map.set(e,new Set),null===(i=this.__map.get(e))||void 0===i||i.add(t),this}off(e,t){var i;return this.__map.has(e)&&(null===(i=this.__map.get(e))||void 0===i||i.delete(t)),this}destruct(){this.__map.clear()}emit(e,...t){var i;let s;return this.__map.has(e)&&(null===(i=this.__map.get(e))||void 0===i||i.forEach((e=>{s=e(...t)}))),s}}},4567(e,t,i){"use strict";i.d(t,{vp(){return h},DG(){return r},aN(){return u.a},rO(){return o},LO(){return p.L}}),i(52378);var s=i(1853);const o="JoditEventDefaultNamespace";class r{constructor(){this.__store=new Map}get(e,t){if(this.__store.has(t))return this.__store.get(t)[e]}indexOf(e,t,i){const s=this.get(e,t);if(s)for(let e=0;s.length>e;e+=1)if(s[e].originalCallback===i)return e;return!1}namespaces(e=!1){const t=(0,s.q)(this.__store.keys());return e?t.filter((e=>e!==o)):t}events(e){const t=this.__store.get(e);return t?Object.keys(t):[]}set(e,t,i,s=!1){let o=this.__store.get(t);o||(o={},this.__store.set(t,o)),void 0===o[e]&&(o[e]=[]),s?o[e].unshift(i):o[e].push(i)}clear(){this.__store.clear()}clearEvents(e,t){const i=this.__store.get(e);i&&i[t]&&(delete i[t],Object.keys(i).length||this.__store.delete(e))}isEmpty(){return 0===this.__store.size}}var n=i(24421),a=i(42096),l=i(49781),c=i(14582),d=i(14556);class h{mute(e){return this.__mutedEvents.add(null!=e?e:"*"),this}isMuted(e){return!(!e||!this.__mutedEvents.has(e))||this.__mutedEvents.has("*")}unmute(e){return this.__mutedEvents.delete(null!=e?e:"*"),this}__eachEvent(e,t){(0,d.C)(e).map((e=>e.trim())).forEach((e=>{const i=e.split(".");t.call(this,i[0],i[1]||o)}))}__getStore(e){if(!e)throw(0,c.vU)("Need subject");if(void 0===e[this.__key]){const t=new r;Object.defineProperty(e,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:t})}return e[this.__key]}__removeStoreFromSubject(e){void 0!==e[this.__key]&&Object.defineProperty(e,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:void 0})}__triggerNativeEvent(e,t){const i=this.__doc.createEvent("HTMLEvents");(0,n.H)(t)?i.initEvent(t,!0,!0):(i.initEvent(t.type,t.bubbles,t.cancelable),["screenX","screenY","clientX","clientY","target","srcElement","currentTarget","timeStamp","which","keyCode"].forEach((e=>{Object.defineProperty(i,e,{value:t[e],enumerable:!0})})),Object.defineProperty(i,"originalEvent",{value:t,enumerable:!0})),e.dispatchEvent(i)}get current(){return this.currents[this.currents.length-1]}on(e,t,i,s){let o,r,d,h;if((0,n.H)(e)||(0,n.G)(e)?(o=this,r=e,d=t,h=i):(o=e,r=t,d=i,h=s),!(0,n.H)(r)&&!(0,n.G)(r)||0===r.length)throw(0,c.vU)("Need events names");if(!(0,a.m)(d))throw(0,c.vU)("Need event handler");if((0,l.k)(o))return o.forEach((e=>{this.on(e,r,d,h)})),this;const u=o,p=this.__getStore(u),m=(0,a.m)(u.addEventListener),f=this;let g=function(e,...t){if(!f.isMuted(e))return d&&d.call(this,...t)};return m&&(g=function(e){if(!f.isMuted(e.type))return f.__prepareEvent(e),d&&!1===d.call(this,e)?(e.preventDefault(),e.stopImmediatePropagation(),!1):void 0}),this.__eachEvent(r,((e,t)=>{if(0===e.length)throw(0,c.vU)("Need event name");if(!1===p.indexOf(e,t,d)&&(p.set(e,t,{event:e,originalCallback:d,syntheticCallback:g},null==h?void 0:h.top),m)){const t=!!["touchstart","touchend","scroll","mousewheel","mousemove","touchmove"].includes(e)&&{passive:!0};u.addEventListener(e,g,t)}})),this}one(e,t,i,s){let o,r,a,l;(0,n.H)(e)||(0,n.G)(e)?(o=this,r=e,a=t,l=i):(o=e,r=t,a=i,l=s);const c=(...e)=>(this.off(o,r,c),a(...e));return this.on(o,r,c,l),this}off(e,t,i){let s,r,c;if((0,n.H)(e)||(0,n.G)(e)?(s=this,r=e,c=t):(s=e,r=t,c=i),(0,l.k)(s))return s.forEach((e=>{this.off(e,r,c)})),this;const d=s,h=this.__getStore(d);if(!(0,n.H)(r)&&!(0,n.G)(r)||0===r.length)return h.namespaces().forEach((e=>{this.off(d,"."+e)})),this.__removeStoreFromSubject(d),this;const u=(0,a.m)(d.removeEventListener),p=e=>{u&&d.removeEventListener(e.event,e.syntheticCallback,!1)},m=(e,t)=>{if(""===e)return void h.events(t).forEach((e=>{""!==e&&m(e,t)}));const i=h.get(e,t);if(i&&i.length)if((0,a.m)(c)){const s=h.indexOf(e,t,c);!1!==s&&(p(i[s]),i.splice(s,1),i.length||h.clearEvents(t,e))}else i.forEach(p),i.length=0,h.clearEvents(t,e)};return this.__eachEvent(r,((e,t)=>{t===o?h.namespaces().forEach((t=>{m(e,t)})):m(e,t)})),h.isEmpty()&&this.__removeStoreFromSubject(d),this}stopPropagation(e,t){const i=(0,n.H)(e)?this:e,s=(0,n.H)(e)?e:t;if("string"!=typeof s)throw(0,c.vU)("Need event names");const r=this.__getStore(i);this.__eachEvent(s,((e,t)=>{const s=r.get(e,t);s&&this.__stopped.push(s),t===o&&r.namespaces(!0).forEach((t=>this.stopPropagation(i,e+"."+t)))}))}__removeStop(e){if(e){const t=this.__stopped.indexOf(e);-1!==t&&this.__stopped.splice(0,t+1)}}__isStopped(e){return void 0!==e&&-1!==this.__stopped.indexOf(e)}fire(e,t,...i){let s,r;const l=(0,n.H)(e)?this:e,d=(0,n.H)(e)?e:t,h=(0,n.H)(e)?[t,...i]:i,u=(0,a.m)(l.dispatchEvent);if(!u&&!(0,n.H)(d))throw(0,c.vU)("Need events names");const p=this.__getStore(l);return!(0,n.H)(d)&&u?this.__triggerNativeEvent(l,t):this.__eachEvent(d,((e,t)=>{if(u)this.__triggerNativeEvent(l,e);else{const i=p.get(e,t);if(i)try{[...i].every((t=>!this.__isStopped(i)&&(this.currents.push(e),r=t.syntheticCallback.call(l,e,...h),this.currents.pop(),void 0!==r&&(s=r),!0)))}finally{this.__removeStop(i)}t!==o||u||p.namespaces().filter((e=>e!==t)).forEach((t=>{const i=this.fire.call(this,l,e+"."+t,...h);void 0!==i&&(s=i)}))}})),s}constructor(e){this.__mutedEvents=new Set,this.__key="__JoditEventEmitterNamespaces",this.__doc=document,this.__prepareEvent=e=>{e.cancelBubble||(e.composed&&(0,a.m)(e.composedPath)&&e.composedPath()[0]&&Object.defineProperty(e,"target",{value:e.composedPath()[0],configurable:!0,enumerable:!0}),e.type.match(/^touch/)&&e.changedTouches&&e.changedTouches.length&&["clientX","clientY","pageX","pageY"].forEach((t=>{Object.defineProperty(e,t,{value:e.changedTouches[0][t],configurable:!0,enumerable:!0})})),e.originalEvent||(e.originalEvent=e),"paste"===e.type&&void 0===e.clipboardData&&this.__doc.defaultView.clipboardData&&Object.defineProperty(e,"clipboardData",{get:()=>this.__doc.defaultView.clipboardData,configurable:!0,enumerable:!0}))},this.currents=[],this.__stopped=[],this.__isDestructed=!1,e&&(this.__doc=e),this.__key+=(new Date).getTime()}destruct(){this.__isDestructed&&(this.__isDestructed=!0,this.off(this),this.__getStore(this).clear(),this.__removeStoreFromSubject(this))}}var u=i(73852),p=i(88418)},88418(e,t,i){"use strict";i.d(t,{L(){return c}});var s=i(49781),o=i(32756),r=i(79736),n=i(46163);const a=Symbol("observable-object");function l(e){return void 0!==e[a]}function c(e){if(l(e))return e;const t={},i={},c=(t,o)=>(0,s.k)(t)?(t.map((e=>c(e,o))),e):(i[t]||(i[t]=[]),i[t].push(o),e),d=(o,...r)=>{if((0,s.k)(o))o.map((e=>d(e,...r)));else try{!t[o]&&i[o]&&(t[o]=!0,i[o].forEach((t=>t.call(e,...r))))}finally{t[o]=!1}},h=(t,i=[])=>{const s={};l(t)||(Object.defineProperty(t,a,{enumerable:!1,value:!0}),Object.keys(t).forEach((a=>{const l=a,c=i.concat(l).filter((e=>e.length));s[l]=t[l];const u=(0,n.w7)(t,l);Object.defineProperty(t,l,{set(t){const i=s[l];if(!(0,o.L)(s[l],t)){d(["beforeChange","beforeChange."+c.join(".")],l,t),(0,r.P)(t)&&h(t,c),u&&u.set?u.set.call(e,t):s[l]=t;const o=[];d(["change",...c.reduce(((e,t)=>(o.push(t),e.push("change."+o.join(".")),e)),[])],c.join("."),i,(null==t?void 0:t.valueOf)?t.valueOf():t)}},get(){return u&&u.get?u.get.call(e):s[l]},enumerable:!0,configurable:!0}),(0,r.P)(s[l])&&h(s[l],c)})),Object.defineProperty(e,"on",{value:c}))};return h(e),e}},17332(e,t,i){"use strict";i.d(t,{TB(){return w},ZO(){return y},as(){return h},fe(){return m},pw(){return f},qz(){return g},xl(){return v}});var s=i(44540),o=i(64968),r=i(4567),n=i(77892),a=i(96574),l=i(87247),c=i(11278),d=i(86893);const h={};let u=1;const p=new Set;function m(){function e(){return u+=10*(Math.random()+1),Math.round(u).toString(16)}let t=e();for(;p.has(t);)t=e();return p.add(t),t}const f=new s.h,g={},v=e=>{Object.keys(e).forEach((t=>{d.lang[t]?Object.assign(d.lang[t],e[t]):d.lang[t]=e[t]}))},b=new WeakMap;function y(e,t,i="div",s=!1){const r=t?(0,l.g)(t.prototype):"jodit-utils",d=b.get(e)||{},h=r+i,u=(0,a.f)(e)?e:e.j;if(!d[h]){let t=u.c,a=(0,n.Z)(e)&&e.o.shadowRoot?e.o.shadowRoot:e.od.body;if(s&&(0,n.Z)(e)&&e.od!==e.ed){t=e.createInside;const s="style"===i?e.ed.head:e.ed.body;a=(0,n.Z)(e)&&e.o.shadowRoot?e.o.shadowRoot:s}const l=t.element(i,{className:`jodit jodit-${(0,c.G)(r)}-container jodit-box`});l.classList.add("jodit_theme_"+(u.o.theme||"default")),a.appendChild(l),d[h]=l,e.hookStatus("beforeDestruct",(()=>{o.i.safeRemove(l),delete d[h],Object.keys(d).length&&b.delete(e)})),b.set(e,d)}return d[h].classList.remove("jodit_theme_default","jodit_theme_dark"),d[h].classList.add("jodit_theme_"+(u.o.theme||"default")),d[h]}const w=new r.vp},56888(e,t,i){"use strict";i.d(t,{_2(){return o},C1(){return r.C},qo(){return n.q}});var s=i(49781);const o=e=>(0,s.k)(e)?e:[e];var r=i(14556),n=i(1853)},14556(e,t,i){"use strict";function s(e){return Array.isArray(e)?e:e.split(/[,\s]+/)}i.d(t,{C(){return s}})},1853(e,t,i){"use strict";i.d(t,{q(){return r}});var s=i(80861),o=i(28069);const r=(...e)=>{var t;return((0,o.Q)(Array.from)?Array.from:null!==(t=(0,s.m)("Array.from"))&&void 0!==t?t:Array.from).apply(Array,e)}},4696(e,t,i){"use strict";i.d(t,{g(){return s.g},i(){return s.i}});var s=i(27512)},27512(e,t,i){"use strict";function s(e,t,...i){return t?window.setTimeout(e,t,...i):(e.call(null,...i),0)}function o(e){window.clearTimeout(e)}i.d(t,{g(){return o},i(){return s}})},78411(e,t,i){"use strict";function s(){let e=!0;try{const t=document.createElement("input");t.type="color",t.value="!",e="color"===t.type&&"!"!==t.value}catch(t){e=!1}return e}i.d(t,{EO(){return s},Zt(){return f},kJ(){return o.k},jn(){return r.j},Z$(){return m},Xy(){return n.X},LP(){return n.L},mf(){return a.m},FP(){return c},I4(){return d},Gu(){return p},GN(){return v},Zu(){return b.Z},A1(){return w},_V(){return z._},QC(){return k.Q},hj(){return C.h},kE(){return g.k},PO(){return S.P},tI(){return x.t},HD(){return l.H},GI(){return l.G},PX(){return E.P},r1(){return _},f2(){return y.f},nj(){return u.n},FJ(){return j.F}});var o=i(49781),r=i(67749),n=i(32756),a=i(42096),l=i(24421);const c=e=>(0,l.H)(e)&&/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(e.replace(/[\r\n]/g,""));function d(e){return-1!==e.search(//)||-1!==e.search(//)||-1!==e.search(/style="[^"]*mso-/)&&-1!==e.search(/(0,l.H)(e)&&23===e.length&&/^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(e);var k=i(28069),C=i(61817),S=i(79736),x=i(26335),E=i(64350);function _(e){return!!e.length&&!/[^0-9A-Za-zа-яА-ЯЁё\w\-_.]/.test(e)}var j=i(85994),z=i(37204)},49781(e,t,i){"use strict";function s(e){return Array.isArray(e)}i.d(t,{k(){return s}})},67749(e,t,i){"use strict";function s(e){return"boolean"==typeof e}i.d(t,{j(){return s}})},32756(e,t,i){"use strict";i.d(t,{L(){return r},X(){return o}});var s=i(42554);function o(e,t){return e===t||(0,s.P)(e)===(0,s.P)(t)}function r(e,t){return e===t}},42096(e,t,i){"use strict";function s(e){return"function"==typeof e}i.d(t,{m(){return s}})},77892(e,t,i){"use strict";i.d(t,{Z(){return o}});var s=i(42096);function o(e){return!!(e&&e instanceof Object&&(0,s.m)(e.constructor)&&("undefined"!=typeof Jodit&&e instanceof Jodit||e.isJodit))}},37204(e,t,i){"use strict";i.d(t,{_(){return r}});var s=i(24263),o=i(86893);function r(e){return s.i.isNode(e)&&s.i.isTag(e,"span")&&e.hasAttribute("data-"+o.MARKER_CLASS)}},28069(e,t,i){"use strict";function s(e){return!!e&&"function"===(typeof e).toLowerCase()&&(e===Function.prototype||/^\s*function\s*(\b[a-z$_][a-z0-9$_]*\b)*\s*\((|([a-z$_][a-z0-9$_]*)(\s*,[a-z$_][a-z0-9$_]*)*)\)\s*{\s*\[native code]\s*}\s*$/i.test(e+""))}i.d(t,{Q(){return s}})},61817(e,t,i){"use strict";function s(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}i.d(t,{h(){return s}})},57649(e,t,i){"use strict";i.d(t,{k(){return o}});var s=i(24421);function o(e){if((0,s.H)(e)){if(!e.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/))return!1;e=parseFloat(e)}return"number"==typeof e&&!isNaN(e)&&isFinite(e)}},79736(e,t,i){"use strict";i.d(t,{P(){return o}});var s=i(85994);function o(e){return!(!e||"object"!=typeof e||e.nodeType||(0,s.F)(e)||e.constructor&&!{}.hasOwnProperty.call(e.constructor.prototype,"isPrototypeOf"))}},26335(e,t,i){"use strict";function s(e){return e&&"function"==typeof e.then}i.d(t,{t(){return s}})},24421(e,t,i){"use strict";i.d(t,{G(){return r},H(){return o}});var s=i(49781);function o(e){return"string"==typeof e}function r(e){return(0,s.k)(e)&&o(e[0])}},64350(e,t,i){"use strict";function s(e){if(e.includes(" "))return!1;if("undefined"!=typeof URL)try{const t=new URL(e);return["https:","http:","ftp:","file:","rtmp:"].includes(t.protocol)}catch(e){return!1}const t=document.createElement("a");return t.href=e,!!t.hostname}i.d(t,{P(){return s}})},96574(e,t,i){"use strict";i.d(t,{f(){return o}});var s=i(42096);function o(e){return!!(e&&e instanceof Object&&(0,s.m)(e.constructor)&&e.isView)}},24021(e,t,i){"use strict";function s(e){return null==e}i.d(t,{n(){return s}})},85994(e,t,i){"use strict";function s(e){return null!=e&&e===e.window}i.d(t,{F(){return s}})},13203(e,t,i){"use strict";i.d(t,{h(){return s}});const s=e=>{if("rgba(0, 0, 0, 0)"===e||""===e)return!1;if(!e)return"#000000";if("#"===e.substr(0,1))return e;const t=/([\s\n\t\r]*?)rgb\((\d+), (\d+), (\d+)\)/.exec(e)||/([\s\n\t\r]*?)rgba\((\d+), (\d+), (\d+), ([\d.]+)\)/.exec(e);if(!t)return"#000000";const i=parseInt(t[2],10),s=parseInt(t[3],10);let o=(parseInt(t[4],10)|s<<8|i<<16).toString(16).toUpperCase();for(;6>o.length;)o="0"+o;return t[1]+"#"+o}},61354(e,t,i){"use strict";i.d(t,{h(){return s.h}});var s=i(13203)},69678(e,t,i){"use strict";i.d(t,{Zs(){return a},pQ(){return c},$_(){return d},hU(){return m},eV(){return p.e},nA(){return p.n},oN(){return u}});var s=i(24263),o=i(76502),r=i(33941);function n(e){return e.replace(/mso-[a-z-]+:[\s]*[^;]+;/gi,"").replace(/mso-[a-z-]+:[\s]*[^";']+$/gi,"").replace(/border[a-z-]*:[\s]*[^;]+;/gi,"").replace(/([0-9.]+)(pt|cm)/gi,((e,t,i)=>{switch(i.toLowerCase()){case"pt":return(1.328*parseFloat(t)).toFixed(0)+"px";case"cm":return(.02645833*parseFloat(t)).toFixed(0)+"px"}return e}))}function a(e){if(-1===e.indexOf("")+7);const t=document.createElement("iframe");t.style.display="none",document.body.appendChild(t);let i="",a=[];try{const l=t.contentDocument||(t.contentWindow?t.contentWindow.document:null);if(l){l.open(),l.write(e),l.close();try{for(let e=0;l.styleSheets.length>e;e+=1){const t=l.styleSheets[e].cssRules;for(let e=0;t.length>e;e+=1)""!==t[e].selectorText&&(a=(0,o.$$)(t[e].selectorText,l.body),a.forEach((i=>{i.style.cssText=n(t[e].style.cssText+";"+i.style.cssText)})))}}catch(e){}s.i.each(l.body,(e=>{if(s.i.isElement(e)){const t=e,i=t.getAttribute("style");i&&(t.style.cssText=n(i)),t.hasAttribute("style")&&!t.getAttribute("style")&&t.removeAttribute("style")}})),i=l.firstChild?(0,r.f)(l.body.innerHTML):""}}catch(e){}finally{s.i.safeRemove(t)}return i&&(e=i),(0,r.f)(e.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,"").replace(//i);-1!==t&&(e=e.substring(t+20));const i=e.search(//i);return-1!==i&&(e=e.substring(0,i)),e})(i)),t.s.insertHTML(i)}function _t(e,t,i,s,o){if(!1===e.e.fire("beforeOpenPasteDialog",t,i,s,o))return;const r=e.confirm(`
${e.i18n(t)}
`,e.i18n(i)),n=o.map((({text:t,value:i})=>(0,xt.zx)(e,{text:t,name:t.toLowerCase(),tabIndex:0}).onAction((()=>{r.close(),s(i)}))));r.e.one(r,"afterClose",(()=>{e.s.isFocused()||e.s.focus()}));const a=(0,xt.zx)(e,{text:"Cancel",tabIndex:0}).onAction((()=>{r.close()}));return r.setFooter([...n,a]),n[0].focus(),n[0].state.variant="primary",e.e.fire("afterOpenPasteDialog",r,t,i,s,o),r}l.D.prototype.askBeforePasteHTML=!0,l.D.prototype.processPasteHTML=!0,l.D.prototype.pasteHTMLActionList=[{value:c.INSERT_AS_HTML,text:"Keep"},{value:c.INSERT_AS_TEXT,text:"Insert as Text"},{value:c.INSERT_ONLY_TEXT,text:"Insert only Text"}],l.D.prototype.memorizeChoiceWhenPasteFragment=!1,l.D.prototype.nl2brInPlainText=!0;const jt="pasteStorage";l.D.prototype.controls.paste={tooltip:"Paste from clipboard",async exec(e,t,{control:i}){if(i.name===jt)return void e.execCommand("showPasteStorage");e.s.focus();let s="",o=!0;if(navigator.clipboard){try{const e=await navigator.clipboard.read();if(e&&e.length){const t=await e[0].getType(c.TEXT_PLAIN);s=await new Response(t).text()}o=!1}catch(e){}if(o)try{s=await navigator.clipboard.readText(),o=!1}catch(e){}}o&&(s=e.buffer.get(c.CLIPBOARD_ID)||"",o=0===s.length);const r=e.value;o?(e.ed.execCommand("paste"),o=r===e.value,!o&&e.e.fire("afterPaste")):s.length?(Et(null,e,s),e.e.fire("afterPaste")):o&&e.alert("Your browser doesn't support direct access to the clipboard.",(()=>{e.s.focus()}))},list:{[jt]:"Paste Storage"},isChildDisabled:e=>2>e.e.fire("pasteStorageList")};class zt extends ve.S{constructor(){super(...arguments),this.pasteStack=new h.LimitedStack(20),this._isDialogOpened=!1}afterInit(e){e.e.on("paste.paste",this.onPaste).on("pasteStack.paste",(e=>this.pasteStack.push(e))),e.o.nl2brInPlainText&&this.j.e.on("processPaste.paste",this.onProcessPasteReplaceNl2Br)}beforeDestruct(e){e.e.off("paste.paste",this.onPaste).off("processPaste.paste",this.onProcessPasteReplaceNl2Br).off(".paste")}onPaste(e){try{if(!1===this.customPasteProcess(e)||!1===this.j.e.fire("beforePaste",e))return e.preventDefault(),!1;this.defaultPasteProcess(e)}finally{this.j.e.fire("afterPaste",e)}}customPasteProcess(e){if(!this.j.o.processPasteHTML)return;const t=(0,h.getDataTransfer)(e),i={html:null==t?void 0:t.getData(c.TEXT_HTML),plain:null==t?void 0:t.getData(c.TEXT_PLAIN),rtf:null==t?void 0:t.getData(c.TEXT_RTF)};let s;for(s in i){const t=i[s];if((0,h.isHTML)(t)&&(this.j.e.fire("processHTML",e,t,i)||this.processHTML(e,t)))return!1}}defaultPasteProcess(e){const t=(0,h.getDataTransfer)(e);let i=(null==t?void 0:t.getData(c.TEXT_HTML))||(null==t?void 0:t.getData(c.TEXT_PLAIN));if(t&&i&&""!==(0,h.trim)(i)){const s=this.j.e.fire("processPaste",e,i,(e=>{const t=e.types;let i="";if((0,w.kJ)(t)||"[object DOMStringList]"==={}.toString.call(t))for(let e=0;t.length>e;e+=1)i+=t[e]+";";else i=(t||c.TEXT_PLAIN)+";";return i})(t));void 0!==s&&(i=s),((0,h.isString)(i)||ne.i.isNode(i))&&this.insertByType(e,i,this.j.o.defaultActionOnPaste),e.preventDefault(),e.stopPropagation()}}processHTML(e,t){if(this.j.o.askBeforePasteHTML){if(this.j.o.memorizeChoiceWhenPasteFragment){const i=this.pasteStack.find((e=>e.html===t));if(i)return this.insertByType(e,t,i.action||this.j.o.defaultActionOnPaste),!0}if(this._isDialogOpened)return!0;const i=_t(this.j,"Your code is similar to HTML. Keep as HTML?","Paste as HTML",(i=>{this._isDialogOpened=!1,this.insertByType(e,t,i)}),this.j.o.pasteHTMLActionList);return i&&(this._isDialogOpened=!0,i.e.on("beforeClose",(()=>{this._isDialogOpened=!1}))),!0}return!1}insertByType(e,t,i){if(this.pasteStack.push({html:t,action:i}),(0,h.isString)(t))switch(this.j.buffer.set(c.CLIPBOARD_ID,t),i){case c.INSERT_CLEAR_HTML:t=(0,h.cleanFromWord)(t);break;case c.INSERT_ONLY_TEXT:t=(0,h.stripTags)(t);break;case c.INSERT_AS_TEXT:t=(0,h.htmlspecialchars)(t)}Et(e,this.j,t)}onProcessPasteReplaceNl2Br(e,t,i){if(i===c.TEXT_PLAIN+";"&&!(0,h.isHTML)(t))return(0,h.nl2br)(t)}}(0,a.gn)([m.autobind],zt.prototype,"onPaste",null),(0,a.gn)([m.autobind],zt.prototype,"onProcessPasteReplaceNl2Br",null),p.pw.add("paste",zt),l.D.prototype.askBeforePasteFromWord=!0,l.D.prototype.processPasteFromWord=!0,l.D.prototype.defaultActionOnPasteFromWord=null,l.D.prototype.pasteFromWordActionList=[{value:c.INSERT_AS_HTML,text:"Keep"},{value:c.INSERT_AS_TEXT,text:"Clean"},{value:c.INSERT_ONLY_TEXT,text:"Insert only Text"}];class Tt extends se.S{constructor(){super(...arguments),this.requires=["paste"]}afterInit(e){}beforeDestruct(e){}processWordHTML(e,t,i){const{j:s}=this,{processPasteFromWord:o,askBeforePasteFromWord:r,defaultActionOnPasteFromWord:n,defaultActionOnPaste:a,pasteFromWordActionList:l}=s.o;return!(!o||!(0,h.isHtmlFromWord)(t)||(r?_t(s,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected",(s=>{this.insertFromWordByType(e,t,s,i)}),l):this.insertFromWordByType(e,t,n||a,i),0))}insertFromWordByType(e,t,i,s){var o;switch(i){case c.INSERT_AS_HTML:{t=(0,h.applyStyles)(t);const e=null===(o=this.j.events)||void 0===o?void 0:o.fire("beautifyHTML",t);(0,h.isString)(e)&&(t=e);break}case c.INSERT_AS_TEXT:t=(0,h.cleanFromWord)(t);break;case c.INSERT_ONLY_TEXT:t=(0,h.stripTags)((0,h.cleanFromWord)(t))}Et(e,this.j,t)}}(0,a.gn)([(0,m.watch)(":processHTML")],Tt.prototype,"processWordHTML",null),p.pw.add("pasteFromWord",Tt),p.pw.add("pasteStorage",class It extends ve.S{constructor(){super(...arguments),this.currentIndex=0,this.list=[],this.container=null,this.listBox=null,this.previewBox=null,this.dialog=null,this.paste=()=>{if(this.j.s.focus(),this.j.s.insertHTML(this.list[this.currentIndex]),0!==this.currentIndex){const e=this.list[0];this.list[0]=this.list[this.currentIndex],this.list[this.currentIndex]=e}this.dialog&&this.dialog.close(),this.j.synchronizeValues(),this.j.e.fire("afterPaste")},this.onKeyDown=e=>{let t=this.currentIndex;-1!==[c.KEY_UP,c.KEY_DOWN,c.KEY_ENTER].indexOf(e.key)&&(e.key===c.KEY_UP&&(0===t?t=this.list.length-1:t-=1),e.key===c.KEY_DOWN&&(t===this.list.length-1?t=0:t+=1),e.key!==c.KEY_ENTER?(t!==this.currentIndex&&this.selectIndex(t),e.stopImmediatePropagation(),e.preventDefault()):this.paste())},this.selectIndex=e=>{this.listBox&&(0,h.toArray)(this.listBox.childNodes).forEach(((t,i)=>{t.classList.remove("jodit_active"),e===i&&this.previewBox&&(t.classList.add("jodit_active"),this.previewBox.innerHTML=this.list[e],t.focus())})),this.currentIndex=e},this.showDialog=()=>{2>this.list.length||(this.dialog||this.createDialog(),this.listBox&&(this.listBox.innerHTML=""),this.previewBox&&(this.previewBox.innerHTML=""),this.list.forEach(((e,t)=>{const i=this.j.c.element("a");i.textContent=t+1+". "+e.replace((0,c.SPACE_REG_EXP)(),""),this.j.e.on(i,"keydown",this.onKeyDown),(0,h.attr)(i,"href","#"),(0,h.attr)(i,"data-index",""+t),(0,h.attr)(i,"tab-index","-1"),this.listBox&&this.listBox.appendChild(i)})),this.dialog&&this.dialog.open(),this.j.async.setTimeout((()=>{this.selectIndex(0)}),100))}}createDialog(){this.dialog=this.j.dlg();const e=(0,xt.zx)(this.j,"paste","Paste","primary");e.onAction(this.paste);const t=(0,xt.zx)(this.j,"","Cancel");t.onAction(this.dialog.close),this.container=this.j.c.div(),this.container.classList.add("jodit-paste-storage"),this.listBox=this.j.c.div(),this.previewBox=this.j.c.div(),this.container.appendChild(this.listBox),this.container.appendChild(this.previewBox),this.dialog.setHeader(this.j.i18n("Choose Content to Paste")),this.dialog.setContent(this.container),this.dialog.setFooter([e,t]),this.j.e.on(this.listBox,"click dblclick",(e=>{const t=e.target;return ne.i.isTag(t,"a")&&t.hasAttribute("data-index")&&this.selectIndex(parseInt((0,h.attr)(t,"-index")||"0",10)),"dblclick"===e.type&&this.paste(),!1}))}afterInit(){this.j.e.off("afterCopy.paste-storage").on("pasteStorageList.paste-storage",(()=>this.list.length)).on("afterCopy.paste-storage",(e=>{-1!==this.list.indexOf(e)&&this.list.splice(this.list.indexOf(e),1),this.list.unshift(e),this.list.length>5&&(this.list.length=5)})),this.j.registerCommand("showPasteStorage",{exec:this.showDialog,hotkeys:["ctrl+shift+v","cmd+shift+v"]})}beforeDestruct(){this.dialog&&this.dialog.destruct(),this.j.e.off(".paste-storage"),ne.i.safeRemove(this.previewBox),ne.i.safeRemove(this.listBox),ne.i.safeRemove(this.container),this.container=null,this.listBox=null,this.previewBox=null,this.dialog=null,this.list=[]}});var Lt=s(37204);l.D.prototype.showPlaceholder=!0,l.D.prototype.placeholder="Type something",l.D.prototype.useInputsPlaceholder=!0;class Mt extends ve.S{constructor(){super(...arguments),this.addNativeListeners=()=>{this.j.e.off(this.j.editor,"input.placeholder keydown.placeholder").on(this.j.editor,"input.placeholder keydown.placeholder",this.toggle)},this.addEvents=()=>{const e=this.j;e.o.useInputsPlaceholder&&e.element.hasAttribute("placeholder")&&(this.placeholderElm.innerHTML=(0,ae.Lj)(e.element,"placeholder")||""),e.e.fire("placeholder",this.placeholderElm.innerHTML),e.e.off(".placeholder").on("changePlace.placeholder",this.addNativeListeners).on("change.placeholder focus.placeholder keyup.placeholder mouseup.placeholder keydown.placeholder mousedown.placeholder afterSetMode.placeholder changePlace.placeholder",this.toggle).on(window,"load",this.toggle),this.addNativeListeners(),this.toggle()}}afterInit(e){e.o.showPlaceholder&&(this.placeholderElm=e.c.fromHTML(``),"rtl"===e.o.direction&&(this.placeholderElm.style.right="0px",this.placeholderElm.style.direction="rtl"),e.e.on("readonly",(e=>{e?this.hide():this.toggle()})).on("changePlace",this.addEvents),this.addEvents())}show(){const e=this.j;if(e.o.readonly)return;let t=0,i=0;const s=e.s.current(),o=s&&ne.i.closest(s,ne.i.isBlock,e.editor)||e.editor,r=e.ew.getComputedStyle(o),n=e.ew.getComputedStyle(e.editor);e.workplace.appendChild(this.placeholderElm);const{firstChild:a}=e.editor;if(ne.i.isElement(a)&&!(0,Lt._)(a)){const s=e.ew.getComputedStyle(a);t=parseInt(s.getPropertyValue("margin-top"),10),i=parseInt(s.getPropertyValue("margin-left"),10),this.placeholderElm.style.fontSize=parseInt(s.getPropertyValue("font-size"),10)+"px",this.placeholderElm.style.lineHeight=s.getPropertyValue("line-height")}else this.placeholderElm.style.fontSize=parseInt(r.getPropertyValue("font-size"),10)+"px",this.placeholderElm.style.lineHeight=r.getPropertyValue("line-height");(0,Ne.i)(this.placeholderElm,{display:"block",textAlign:r.getPropertyValue("text-align"),paddingTop:parseInt(n.paddingTop,10)+"px",paddingLeft:parseInt(n.paddingLeft,10)+"px",paddingRight:parseInt(n.paddingRight,10)+"px",marginTop:Math.max(parseInt(r.getPropertyValue("margin-top"),10),t),marginLeft:Math.max(parseInt(r.getPropertyValue("margin-left"),10),i)})}hide(){ne.i.safeRemove(this.placeholderElm)}toggle(){const e=this.j;e.editor&&!e.isInDestruct&&(e.getRealMode()===c.MODE_WYSIWYG&&(e=>{var t;if(!e.firstChild)return!0;const i=e.firstChild;if(c.INSEPARABLE_TAGS.has(null===(t=i.nodeName)||void 0===t?void 0:t.toLowerCase())||/^(TABLE)$/i.test(i.nodeName))return!1;const s=ne.i.next(i,(e=>e&&!ne.i.isEmptyTextNode(e)),e);return ne.i.isText(i)&&!s?ne.i.isEmptyTextNode(i):!s&&ne.i.each(i,(e=>!ne.i.isTag(e,["ul","li","ol"])&&(ne.i.isEmpty(e)||ne.i.isTag(e,"br"))))})(e.editor)?this.show():this.hide())}beforeDestruct(e){this.hide(),e.e.off(".placeholder").off(window,"load",this.toggle)}}(0,a.gn)([(0,m.debounce)((e=>e.defaultTimeout/10),!0)],Mt.prototype,"toggle",null),p.pw.add("placeholder",Mt),p.pw.add("poweredByJodit",(e=>{const{o:t}=e;t.hidePoweredByJodit||t.inline||!(t.showCharsCounter||t.showWordsCounter||t.showXPathInStatusbar)||e.hookStatus("ready",(()=>{e.statusbar.append(e.create.fromHTML('\n\t\t\t\t\t\t\tPowered by Jodit\n\t\t\t\t\t\t'),!0)}))}));var At=s(21498);l.D.prototype.controls.preview={icon:"eye",command:"preview",mode:c.MODE_SOURCE+c.MODE_WYSIWYG,tooltip:"Preview"},p.pw.add("preview",(e=>{e.registerButton({name:"preview"}),e.registerCommand("preview",((t,i,s)=>{const o=e.dlg();o.setSize(1024,600).open("",e.i18n("Preview")).setModal(!0),(0,At.$)(e,s,"px",o.getElm("content"))}))}));var Dt=s(93351),Nt=s(1853);Q.J.set("print",s(22860)),l.D.prototype.controls.print={exec(e){const t=e.create.element("iframe");Object.assign(t.style,{position:"fixed",right:0,bottom:0,width:0,height:0,border:0}),(0,p.ZO)(e,l.D).appendChild(t);const i=()=>{e.e.off(e.ow,"mousemove",i),oe.i.safeRemove(t)},s=t.contentWindow;if(s){e.e.on(s,"onbeforeunload onafterprint",i).on(e.ow,"mousemove",i),e.o.iframe?(e.e.fire("generateDocumentStructure.iframe",s.document,e),s.document.body.innerHTML=e.value):(s.document.write('"),s.document.close(),(0,At.$)(e,void 0,"px",s.document.body));const t=s.document.createElement("style");t.innerHTML="@media print {\n\t\t\t\t\tbody {\n\t\t\t\t\t\t\t-webkit-print-color-adjust: exact;\n\t\t\t\t\t}\n\t\t\t}",s.document.head.appendChild(t),s.focus(),s.print()}},mode:c.MODE_SOURCE+c.MODE_WYSIWYG,tooltip:"Print"},p.pw.add("print",(e=>{e.registerButton({name:"print"})})),Q.J.set("redo",s(95600)).set("undo",s(76214)),l.D.prototype.controls.redo={mode:c.MODE_SPLIT,isDisabled(e){return!e.history.canRedo()},tooltip:"Redo"},l.D.prototype.controls.undo={mode:c.MODE_SPLIT,isDisabled(e){return!e.history.canUndo()},tooltip:"Undo"},p.pw.add("redoUndo",class Pt extends ve.S{constructor(){super(...arguments),this.buttons=[{name:"undo",group:"history"},{name:"redo",group:"history"}]}beforeDestruct(){}afterInit(e){const t=t=>(e.history[t](),!1);e.registerCommand("redo",{exec:t,hotkeys:["ctrl+y","ctrl+shift+z","cmd+y","cmd+shift+z"]}),e.registerCommand("undo",{exec:t,hotkeys:["ctrl+z","cmd+z"]})}}),l.D.prototype.tableAllowCellResize=!0;const Rt="table_processor_observer-resize";class qt extends d.Plugin{constructor(){super(...arguments),this.selectMode=!1,this.resizeDelta=0,this.createResizeHandle=()=>{this.resizeHandler||(this.resizeHandler=this.j.c.div("jodit-table-resizer"),this.j.e.on(this.resizeHandler,"mousedown.table touchstart.table",this.onHandleMouseDown).on(this.resizeHandler,"mouseenter.table",(()=>{this.j.async.clearTimeout(this.hideTimeout)})))},this.hideTimeout=0,this.drag=!1,this.minX=0,this.maxX=0,this.startX=0}get module(){return this.j.getInstance("Table",this.j.o)}get isRTL(){return"rtl"===this.j.o.direction}showResizeHandle(){this.j.async.clearTimeout(this.hideTimeout),this.j.workplace.appendChild(this.resizeHandler)}hideResizeHandle(){this.hideTimeout=this.j.async.setTimeout((()=>{ne.i.safeRemove(this.resizeHandler)}),{timeout:this.j.defaultTimeout,label:"hideResizer"})}onHandleMouseDown(e){if(this.j.isLocked)return;this.drag=!0,this.j.e.on(this.j.ow,"mouseup.resize-cells touchend.resize-cells",this.onMouseUp).on(this.j.ew,"mousemove.table touchmove.table",this.onMouseMove),this.startX=e.clientX,this.j.lock(Rt),this.resizeHandler.classList.add("jodit-table-resizer_moved");let t,i=this.workTable.getBoundingClientRect();if(this.minX=0,this.maxX=1e6,null!=this.wholeTable)i=this.workTable.parentNode.getBoundingClientRect(),this.minX=i.left,this.maxX=this.minX+i.width;else{const e=d.Table.formalCoordinate(this.workTable,this.workCell,!0);d.Table.formalMatrix(this.workTable,((i,s,o)=>{e[1]===o&&(t=i.getBoundingClientRect(),this.minX=Math.max(t.left+c.NEARBY/2,this.minX)),e[1]+(this.isRTL?-1:1)===o&&(t=i.getBoundingClientRect(),this.maxX=Math.min(t.left+t.width-c.NEARBY/2,this.maxX))}))}return!1}onMouseMove(e){if(!this.drag)return;this.j.e.fire("closeAllPopups");let t=e.clientX;const i=(0,h.offset)(this.resizeHandler.parentNode||this.j.od.documentElement,this.j,this.j.od,!0);this.minX>t&&(t=this.minX),t>this.maxX&&(t=this.maxX),this.resizeDelta=t-this.startX+(this.j.o.iframe?i.left:0),this.resizeHandler.style.left=t-(this.j.o.iframe?0:i.left)+"px";const s=this.j.s.sel;s&&s.removeAllRanges()}onMouseUp(e){(this.selectMode||this.drag)&&(this.selectMode=!1,this.j.unlock()),this.resizeHandler&&this.drag&&(this.drag=!1,this.j.e.off(this.j.ew,"mousemove.table touchmove.table",this.onMouseMove),this.resizeHandler.classList.remove("jodit-table-resizer_moved"),this.startX!==e.clientX&&(null==this.wholeTable?this.resizeColumns():this.resizeTable()),this.j.synchronizeValues(),this.j.s.focus())}resizeColumns(){const e=this.resizeDelta,t=[];d.Table.setColumnWidthByDelta(this.workTable,d.Table.formalCoordinate(this.workTable,this.workCell,!0)[1],e,!0,t);const i=(0,h.call)(this.isRTL?ne.i.prev:ne.i.next,this.workCell,ne.i.isCell,this.workCell.parentNode);d.Table.setColumnWidthByDelta(this.workTable,d.Table.formalCoordinate(this.workTable,i)[1],-e,!1,t)}resizeTable(){const e=this.resizeDelta*(this.isRTL?-1:1),t=this.workTable.offsetWidth,i=(0,h.getContentWidth)(this.workTable.parentNode,this.j.ew),s=!this.wholeTable;if(this.isRTL?!s:s)this.workTable.style.width=(t+e)/i*100+"%";else{const s=this.isRTL?"marginRight":"marginLeft",o=parseInt(this.j.ew.getComputedStyle(this.workTable)[s]||"0",10);this.workTable.style.width=(t-e)/i*100+"%",this.workTable.style[s]=(o+e)/i*100+"%"}}setWorkCell(e,t=null){this.wholeTable=t,this.workCell=e,this.workTable=ne.i.up(e,(e=>ne.i.isTag(e,"table")),this.j.editor)}calcHandlePosition(e,t,i=0,s=0){const o=(0,h.offset)(t,this.j,this.j.ed);if(i>c.NEARBY&&o.width-c.NEARBY>i)return void this.hideResizeHandle();const r=(0,h.offset)(this.j.workplace,this.j,this.j.od,!0),n=(0,h.offset)(e,this.j,this.j.ed);if(this.resizeHandler.style.left=(i>c.NEARBY?o.left+o.width:o.left)-r.left+s+"px",Object.assign(this.resizeHandler.style,{height:n.height+"px",top:n.top-r.top+"px"}),this.showResizeHandle(),i>c.NEARBY){const e=(0,h.call)(this.isRTL?ne.i.prev:ne.i.next,t,ne.i.isCell,t.parentNode);this.setWorkCell(t,!!e&&null)}else{const e=(0,h.call)(this.isRTL?ne.i.next:ne.i.prev,t,ne.i.isCell,t.parentNode);this.setWorkCell(e||t,!e||null)}}afterInit(e){e.o.tableAllowCellResize&&e.e.off(this.j.ow,".resize-cells").off(".resize-cells").on("change.resize-cells afterCommand.resize-cells afterSetMode.resize-cells",(()=>{(0,h.$$)("table",e.editor).forEach(this.observe)})).on(this.j.ow,"scroll.resize-cells",(()=>{if(!this.drag)return;const t=ne.i.up(this.workCell,(e=>ne.i.isTag(e,"table")),e.editor);if(t){const e=t.getBoundingClientRect();this.resizeHandler.style.top=e.top+"px"}})).on("beforeSetMode.resize-cells",(()=>{this.module.getAllSelectedCells().forEach((t=>{this.module.removeSelection(t),d.Table.normalizeTable(ne.i.closest(t,"table",e.editor))}))}))}observe(e){(0,h.dataBind)(e,Rt)||((0,h.dataBind)(e,Rt,!0),this.j.e.on(e,"mouseleave.resize-cells",(e=>{this.resizeHandler&&this.resizeHandler!==e.relatedTarget&&this.hideResizeHandle()})).on(e,"mousemove.resize-cells touchmove.resize-cells",this.j.async.throttle((t=>{if(this.j.isLocked)return;const i=ne.i.up(t.target,ne.i.isCell,e);i&&this.calcHandlePosition(e,i,t.offsetX)}),{timeout:this.j.defaultTimeout})),this.createResizeHandle())}beforeDestruct(e){e.events&&(e.e.off(this.j.ow,".resize-cells"),e.e.off(".resize-cells"))}}(0,a.gn)([m.autobind],qt.prototype,"onHandleMouseDown",null),(0,a.gn)([m.autobind],qt.prototype,"onMouseMove",null),(0,a.gn)([m.autobind],qt.prototype,"onMouseUp",null),(0,a.gn)([m.autobind],qt.prototype,"observe",null),p.pw.add("resizeCells",qt),l.D.prototype.allowResizeX=!1,l.D.prototype.allowResizeY=!0;let Bt=class e extends se.S{constructor(){super(...arguments),this.isResized=!1,this.start={x:0,y:0,w:0,h:0},this.handle=this.j.c.div("jodit-editor__resize",ee.JO.get("resize_handler"))}afterInit(e){const{height:t,width:i,allowResizeX:s}=e.o;let{allowResizeY:o}=e.o;"auto"===t&&"auto"!==i&&(o=!1),"auto"===t&&"auto"===i||!s&&!o||(e.statusbar.setMod("resize-handle",!0),e.e.on("toggleFullSize.resizeHandler",(()=>{this.handle.style.display=e.isFullSize?"none":"block"})).on(this.handle,"mousedown touchstart",this.onHandleResizeStart).on(e.ow,"mouseup touchend",this.onHandleResizeEnd),e.container.appendChild(this.handle))}onHandleResizeStart(e){this.isResized=!0,this.start.x=e.clientX,this.start.y=e.clientY,this.start.w=this.j.container.offsetWidth,this.start.h=this.j.container.offsetHeight,this.j.lock(),this.j.e.on(this.j.ow,"mousemove touchmove",this.onHandleResize),e.preventDefault()}onHandleResize(e){this.isResized&&(this.j.o.allowResizeY&&this.j.e.fire("setHeight",this.start.h+e.clientY-this.start.y),this.j.o.allowResizeX&&this.j.e.fire("setWidth",this.start.w+e.clientX-this.start.x),this.j.e.fire("resize"))}onHandleResizeEnd(){this.isResized&&(this.isResized=!1,this.j.e.off(this.j.ow,"mousemove touchmove",this.onHandleResize),this.j.unlock())}beforeDestruct(){oe.i.safeRemove(this.handle),this.j.e.off(this.j.ow,"mouseup touchsend",this.onHandleResizeEnd)}};Bt.requires=["size"],Bt=(0,a.gn)([m.autobind],Bt),p.pw.add("resizeHandler",Bt),l.D.prototype.allowResizeTags=["img","iframe","table","jodit"],l.D.prototype.resizer={showSize:!0,hideSizeTimeout:1e3,forImageChangeAttributes:!0,min_width:10,min_height:10,useAspectRatio:["img"]};const Ot="__jodit-resizer_binded";class Ht extends ve.S{constructor(){super(...arguments),this.LOCK_KEY="resizer",this.element=null,this.isResizeMode=!1,this.isShown=!1,this.startX=0,this.startY=0,this.width=0,this.height=0,this.ratio=0,this.rect=this.j.c.fromHTML(`
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t100x100\n\t\t\t
`),this.sizeViewer=this.rect.getElementsByTagName("span")[0],this.pointerX=0,this.pointerY=0,this.isAltMode=!1,this.onClickElement=e=>{this.isResizeMode||this.element===e&&this.isShown||(this.element=e,this.show(),ne.i.isTag(this.element,"img")&&!this.element.complete&&this.j.e.one(this.element,"load",this.updateSize))},this.updateSize=()=>{if(!this.isInDestruct&&this.isShown&&this.element&&this.rect){const e=this.getWorkplacePosition(),t=(0,h.offset)(this.element,this.j,this.j.ed),i=parseInt(this.rect.style.left||"0",10),s=this.rect.offsetWidth,o=this.rect.offsetHeight,r=t.top-e.top,n=t.left-e.left;parseInt(this.rect.style.top||"0",10)===r&&i===n&&s===this.element.offsetWidth&&o===this.element.offsetHeight||((0,h.css)(this.rect,{top:r,left:n,width:this.element.offsetWidth,height:this.element.offsetHeight}),this.j.events&&(this.j.e.fire(this.element,"changesize"),isNaN(i)||this.j.e.fire("resize")))}},this.hideSizeViewer=()=>{this.sizeViewer.style.opacity="0"}}afterInit(e){(0,h.$$)("div",this.rect).forEach((t=>{e.e.on(t,"mousedown.resizer touchstart.resizer",this.onStartResizing.bind(this,t))})),p.TB.on("hideHelpers",this.hide),e.e.on("readonly",(e=>{e&&this.hide()})).on("afterInit changePlace",this.addEventListeners.bind(this)).on("afterGetValueFromEditor.resizer",(e=>{const t=/]+data-jodit_iframe_wrapper[^>]+>(.*?]*>.*?<\/iframe>.*?)<\/jodit>/gi;t.test(e.value)&&(e.value=e.value.replace(t,"$1"))})).on("hideResizer",this.hide).on("change afterInit afterSetMode",this.onChangeEditor),this.addEventListeners(),this.onChangeEditor()}onEditorClick(e){let t=e.target;const{editor:i,options:{allowResizeTags:s}}=this.j;for(;t&&t!==i;){if(ne.i.isTag(t,s))return this.bind(t),void this.onClickElement(t);t=t.parentNode}}addEventListeners(){const e=this.j;e.e.off(e.editor,".resizer").off(e.ow,".resizer").on(e.editor,"keydown.resizer",(e=>{this.isShown&&e.key===c.KEY_DELETE&&this.element&&!ne.i.isTag(this.element,"table")&&this.onDelete(e)})).on(e.ow,"resize.resizer",this.updateSize).on("resize.resizer",this.updateSize).on([e.ow,e.editor],"scroll.resizer",(()=>{this.isShown&&!this.isResizeMode&&this.hide()})).on(e.ow,"keydown.resizer",this.onKeyDown).on(e.ow,"keyup.resizer",this.onKeyUp).on(e.ow,"mouseup.resizer touchend.resizer",this.onClickOutside)}onStartResizing(e,t){if(!this.element||!this.element.parentNode)return this.hide(),!1;this.handle=e,t.cancelable&&t.preventDefault(),t.stopImmediatePropagation(),this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.ratio=this.width/this.height,this.isResizeMode=!0,this.startX=t.clientX,this.startY=t.clientY,this.pointerX=t.clientX,this.pointerY=t.clientY;const{j:i}=this;i.e.fire("hidePopup"),i.lock(this.LOCK_KEY),i.e.on(i.ow,"mousemove.resizer touchmove.resizer",this.onResize)}onEndResizing(){const{j:e}=this;e.unlock(),this.isResizeMode=!1,this.isAltMode=!1,e.synchronizeValues(),e.e.off(e.ow,"mousemove.resizer touchmove.resizer",this.onResize)}onResize(e){if(this.isResizeMode){if(!this.element)return;let t,i;if(this.pointerX=e.clientX,this.pointerY=e.clientY,this.j.options.iframe){const s=this.getWorkplacePosition();t=e.clientX+s.left-this.startX,i=e.clientY+s.top-this.startY}else t=this.pointerX-this.startX,i=this.pointerY-this.startY;const s=this.handle.className;let o=0,r=0;const n=this.j.o.resizer.useAspectRatio;!this.isAltMode&&(!0===n||Array.isArray(n)&&ne.i.isTag(this.element,n))?(t?(o=this.width+(s.match(/left/)?-1:1)*t,r=Math.round(o/this.ratio)):(r=this.height+(s.match(/top/)?-1:1)*i,o=Math.round(r*this.ratio)),o>(0,h.innerWidth)(this.j.editor,this.j.ow)&&(o=(0,h.innerWidth)(this.j.editor,this.j.ow),r=Math.round(o/this.ratio))):(o=this.width+(s.match(/left/)?-1:1)*t,r=this.height+(s.match(/top/)?-1:1)*i),o>this.j.o.resizer.min_width&&this.applySize(this.element,"width",this.rect.parentNode.offsetWidth>o?o:"100%"),r>this.j.o.resizer.min_height&&this.applySize(this.element,"height",r),this.updateSize(),this.showSizeViewer(this.element.offsetWidth,this.element.offsetHeight),e.stopImmediatePropagation()}}onKeyDown(e){this.isAltMode=e.key===c.KEY_ALT,!this.isAltMode&&this.isResizeMode&&this.onEndResizing()}onKeyUp(){this.isAltMode&&this.isResizeMode&&this.element&&(this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.ratio=this.width/this.height,this.startX=this.pointerX,this.startY=this.pointerY),this.isAltMode=!1}onClickOutside(e){if(this.isShown){if(!this.isResizeMode)return this.hide();e.stopImmediatePropagation(),this.onEndResizing()}}getWorkplacePosition(){return(0,h.offset)(this.rect.parentNode||this.j.od.documentElement,this.j,this.j.od,!0)}applySize(e,t,i){const s=ne.i.isImage(e)&&this.j.o.resizer.forImageChangeAttributes;s&&(0,h.attr)(e,t,i),s&&!e.style[t]||(0,h.css)(e,t,i)}onDelete(e){this.element&&("JODIT"!==this.element.tagName?this.j.s.select(this.element):(ne.i.safeRemove(this.element),this.hide(),e.preventDefault()))}onChangeEditor(){this.isShown&&(this.element&&this.element.parentNode?this.updateSize():this.hide()),(0,h.$$)("iframe",this.j.editor).forEach(this.bind)}bind(e){if(!ne.i.isHTMLElement(e)||!this.j.o.allowResizeTags.includes(e.tagName.toLowerCase())||(0,h.dataBind)(e,Ot))return;let t;if((0,h.dataBind)(e,Ot,!0),ne.i.isTag(e,"iframe")){const i=e;ne.i.isHTMLElement(e.parentNode)&&(0,h.attr)(e.parentNode,"-jodit_iframe_wrapper")?e=e.parentNode:(t=this.j.createInside.element("jodit",{"data-jodit-temp":1,contenteditable:!1,draggable:!0,"data-jodit_iframe_wrapper":1}),(0,h.attr)(t,"style",(0,h.attr)(e,"style")),(0,h.css)(t,{display:"inline-block"===e.style.display?"inline-block":"block",width:e.offsetWidth,height:e.offsetHeight}),e.parentNode&&e.parentNode.insertBefore(t,e),t.appendChild(e),this.j.e.on(t,"click",(()=>{(0,h.attr)(t,"data-jodit-wrapper_active",!0)})),e=t),this.j.e.off(e,"mousedown.select touchstart.select").on(e,"mousedown.select touchstart.select",(()=>{this.j.s.select(e)})).off(e,"changesize").on(e,"changesize",(()=>{i.setAttribute("width",e.offsetWidth+"px"),i.setAttribute("height",e.offsetHeight+"px")}))}this.j.e.on(e,"dragstart",this.hide)}showSizeViewer(e,t){this.j.o.resizer.showSize&&(this.sizeViewer.offsetWidth>e||this.sizeViewer.offsetHeight>t?this.hideSizeViewer():(this.sizeViewer.style.opacity="1",this.sizeViewer.textContent=`${e} x ${t}`,this.j.async.setTimeout(this.hideSizeViewer,{timeout:this.j.o.resizer.hideSizeTimeout,label:"hideSizeViewer"})))}show(){this.j.o.readonly||this.isShown||(this.isShown=!0,this.rect.parentNode||((0,h.markOwner)(this.j,this.rect),this.j.workplace.appendChild(this.rect)),this.j.isFullSize&&(this.rect.style.zIndex=""+(0,h.css)(this.j.container,"zIndex")),this.updateSize())}hide(){this.isResizeMode||(this.isResizeMode=!1,this.isShown=!1,this.element=null,ne.i.safeRemove(this.rect),(0,h.$$)("[data-jodit-wrapper_active='true']",this.j.editor).forEach((e=>(0,h.attr)(e,"data-jodit-wrapper_active",!1))))}beforeDestruct(e){this.hide(),p.TB.off("hideHelpers",this.hide),e.e.off(this.j.ow,".resizer").off(".resizer")}}(0,a.gn)([(0,m.watch)(":click")],Ht.prototype,"onEditorClick",null),(0,a.gn)([m.autobind],Ht.prototype,"onStartResizing",null),(0,a.gn)([m.autobind],Ht.prototype,"onEndResizing",null),(0,a.gn)([m.autobind],Ht.prototype,"onResize",null),(0,a.gn)([m.autobind],Ht.prototype,"onKeyDown",null),(0,a.gn)([m.autobind],Ht.prototype,"onKeyUp",null),(0,a.gn)([m.autobind],Ht.prototype,"onClickOutside",null),(0,a.gn)([(0,m.debounce)()],Ht.prototype,"onChangeEditor",null),(0,a.gn)([m.autobind],Ht.prototype,"bind",null),(0,a.gn)([m.autobind],Ht.prototype,"hide",null),p.pw.add("resizer",Ht);let Ft=class e extends ee.u1{className(){return"UISearch"}render(){return`
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t0/0\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
`}get currentIndex(){return this._currentIndex}set currentIndex(e){this._currentIndex=e,this.currentBox.innerText=""+e}set count(e){this.countBox.innerText=""+e}get query(){return this.queryInput.value}get replace(){return this.replaceInput.value}constructor(e){super(e),this.selInfo=null,this._currentIndex=0,this.isOpened=!1;const{query:t,replace:i,cancel:s,next:o,prev:r,replaceBtn:n,current:a,count:l}=(0,h.refs)(this.container);this.queryInput=t,this.replaceInput=i,this.closeButton=s,this.replaceButton=n,this.currentBox=a,this.countBox=l,e.e.on(this.closeButton,"pointerdown",(()=>(this.close(),!1))).on(this.queryInput,"input",(()=>{this.currentIndex=0})).on(this.queryInput,"pointerdown",(()=>{e.s.isFocused()&&(e.s.removeMarkers(),this.selInfo=e.s.save())})).on(this.replaceButton,"pointerdown",(()=>(e.e.fire(this,"pressReplaceButton"),!1))).on(o,"pointerdown",(()=>(e.e.fire("searchNext"),!1))).on(r,"pointerdown",(()=>(e.e.fire("searchPrevious"),!1))).on(this.queryInput,"input",(()=>{this.setMod("empty-query",!(0,h.trim)(this.queryInput.value).length)})).on(this.queryInput,"keydown",this.j.async.debounce((t=>{t.key===c.KEY_ENTER?(t.preventDefault(),t.stopImmediatePropagation(),e.e.fire("searchNext")&&this.close()):e.e.fire(this,"needUpdateCounters")}),this.j.defaultTimeout))}onEditorKeyDown(e){if(!this.isOpened)return;const{j:t}=this;if(t.getRealMode()===c.MODE_WYSIWYG)switch(e.key){case c.KEY_ESC:this.close();break;case c.KEY_F3:this.queryInput.value&&(t.e.fire(e.shiftKey?"searchPrevious":"searchNext"),e.preventDefault())}}open(e,t,i=!1){this.isOpened||(this.j.workplace.appendChild(this.container),this.isOpened=!0),this.calcSticky(this.j.e.fire("getStickyState.sticky")||!1),this.j.e.fire("hidePopup"),this.setMod("replace",i);const s=null!=e?e:""+(this.j.s.sel||"");s&&(this.queryInput.value=s),t&&(this.replaceInput.value=t),this.setMod("empty-query",!s.length),this.j.e.fire(this,"needUpdateCounters"),s?this.queryInput.select():this.queryInput.focus()}close(){this.isOpened&&(this.j.s.restore(),oe.i.safeRemove(this.container),this.isOpened=!1,this.j.e.fire(this,"afterClose"))}calcSticky(e){if(this.isOpened)if(this.setMod("sticky",e),e){const e=(0,h.position)(this.j.toolbarContainer);(0,h.css)(this.container,{top:e.top+e.height,left:e.left+e.width})}else(0,h.css)(this.container,{top:null,left:null})}};(0,a.gn)([(0,m.watch)([":keydown","queryInput:keydown"])],Ft.prototype,"onEditorKeyDown",null),(0,a.gn)([m.autobind],Ft.prototype,"open",null),(0,a.gn)([m.autobind],Ft.prototype,"close",null),(0,a.gn)([(0,m.watch)(":toggleSticky")],Ft.prototype,"calcSticky",null),Ft=(0,a.gn)([m.component],Ft);var Vt=s(93163);class Wt{constructor(e=Vt.Q){this.searchIndex=e,this.queue=[],this.value=""}add(e){var t;const i=(null!==(t=e.nodeValue)&&void 0!==t?t:"").toLowerCase();if(!i.length)return;const s=this.value.length;this.queue.push({startIndex:s,endIndex:s+i.length,node:e}),this.value+=i}ranges(e,t=0){const i=[];let s=t,o=0,r=0;do{if([s,o]=this.searchIndex(e,this.value,s),-1!==s){let e,t,n=0,a=0;for(let i=r;this.queue.length>i;i+=1)if(!e&&this.queue[i].endIndex>s&&(e=this.queue[i].node,n=s-this.queue[i].startIndex),e&&this.queue[i].endIndex>=s+o){t=this.queue[i].node,a=s+o-this.queue[i].startIndex,r=i;break}e&&t&&i.push({startContainer:e,startOffset:n,endContainer:t,endOffset:a}),s+=o}}while(-1!==s);return 0===i.length?null:i}}const $t="jd-tmp-selection";function Ut(e,t,i,s){if(null==e.startContainer.nodeValue||null==e.endContainer.nodeValue)return;const o=i.element("span",{[$t]:!0});ne.i.markTemporary(o);const r=e.startContainer.nodeValue;let n=0;if(0!==e.startOffset){const t=i.text(r.substring(0,e.startOffset));e.startContainer.nodeValue=r.substring(e.startOffset),ne.i.before(e.startContainer,t),e.startContainer===e.endContainer&&(n=e.startOffset,e.endOffset-=n),e.startOffset=0}const a=e.endContainer.nodeValue;if(e.endOffset!==a.length){const s=i.text(a.substring(e.endOffset));e.endContainer.nodeValue=a.substring(0,e.endOffset),ne.i.after(e.endContainer,s);for(const i of t){if(i.startContainer!==e.endContainer)break;i.startContainer=s,i.startOffset=i.startOffset-e.endOffset-n,i.endContainer===e.endContainer&&(i.endContainer=s,i.endOffset=i.endOffset-e.endOffset-n)}e.endOffset=e.endContainer.nodeValue.length}let l=e.startContainer;do{if(!l)break;if(!ne.i.isText(l)||ne.i.isElement(c=l.parentNode)&&c.hasAttribute($t)||ne.i.wrap(l,o.cloneNode(),i),l===e.endContainer)break;let t=l.firstChild||l.nextSibling;if(!t){for(;l&&!l.nextSibling&&l!==s;)l=l.parentNode;t=null==l?void 0:l.nextSibling}l=t}while(l&&l!==s);var c}function Yt(e){return(0,$e.$$)(`[${$t}]`,e)}function Gt(e){Yt(e).forEach((e=>ne.i.unwrap(e)))}l.D.prototype.useSearch=!0,l.D.prototype.search={lazyIdleTimeout:0},Q.J.set("search",s(41197)),l.D.prototype.controls.find={tooltip:"Find",icon:"search",exec(e,t,{control:i}){switch(i.args&&i.args[0]){case"findPrevious":e.e.fire("searchPrevious");break;case"findNext":e.e.fire("searchNext");break;case"replace":e.execCommand("openReplaceDialog");break;default:e.execCommand("openSearchDialog")}},list:{search:"Find",findNext:"Find Next",findPrevious:"Find Previous",replace:"Replace"},childTemplate(e,t,i){return i}};class Kt extends se.S{constructor(){super(...arguments),this.buttons=[{name:"find",group:"search"}],this.previousQuery="",this.drawPromise=null,this.walker=null,this.walkerCount=null,this.cache={},this.wrapFrameRequest=0}get ui(){return new Ft(this.j)}async updateCounters(){this.ui.isOpened&&(this.ui.count=await this.calcCounts(this.ui.query))}onPressReplaceButton(){this.findAndReplace(this.ui.query),this.updateCounters()}tryScrollToElement(e){let t=oe.i.closest(e,oe.i.isElement,this.j.editor);t||(t=oe.i.prev(e,oe.i.isElement,this.j.editor)),t&&t!==this.j.editor&&(0,h.scrollIntoViewIfNeeded)(t,this.j.editor,this.j.ed)}async calcCounts(e){return(await this.findQueryBounds(e,"walkerCount")).length}async findQueryBounds(e,t){let i=this[t];return i&&i.break(),i=new oe.b(this.j.async,{timeout:this.j.o.search.lazyIdleTimeout}),this[t]=i,this.find(i,e).catch((e=>[]))}async findAndReplace(e){const t=await this.findQueryBounds(e,"walker");if(!t.length)return!1;let i=this.findCurrentIndexInRanges(t,this.j.s.range);-1===i&&(i=0);const s=t[i];if(s){try{const t=this.j.ed.createRange();t.setStart(s.startContainer,s.startOffset),t.setEnd(s.endContainer,s.endOffset),t.deleteContents();const o=this.j.createInside.text(this.ui.replace);oe.i.safeInsertNode(t,o),Gt(this.j.editor),this.j.s.setCursorAfter(o),this.tryScrollToElement(o),this.cache={},this.ui.currentIndex=i,await this.findAndSelect(e,!0).catch((e=>null))}finally{this.j.synchronizeValues()}return this.j.e.fire("afterFindAndReplace"),!0}return!1}async findAndSelect(e,t){var i;const s=await this.findQueryBounds(e,"walker");if(!s.length)return!1;this.previousQuery===e&&Yt(this.j.editor).length||(null===(i=this.drawPromise)||void 0===i||i.rejectCallback(),this.j.async.cancelAnimationFrame(this.wrapFrameRequest),Gt(this.j.editor),this.drawPromise=this.drawSelectionRanges(s)),this.previousQuery=e;let o=this.ui.currentIndex-1;o=-1===o?0:t?o===s.length-1?0:o+1:0===o?s.length-1:o-1,this.ui.currentIndex=o+1;const r=s[o];if(r){const e=this.j.ed.createRange();try{e.setStart(r.startContainer,r.startOffset),e.setEnd(r.endContainer,r.endOffset),this.j.s.selectRange(e)}catch(e){}return this.tryScrollToElement(r.startContainer),await this.updateCounters(),await this.drawPromise,this.j.e.fire("afterFindAndSelect"),!0}return!1}findCurrentIndexInRanges(e,t){return e.findIndex((e=>e.startContainer===t.startContainer&&e.startOffset===t.startOffset&&e.endContainer===t.startContainer&&e.endOffset===t.endOffset))}async isValidCache(e){return(await e).every((e=>{var t,i,s,o;return e.startContainer.isConnected&&e.startOffset<=(null!==(i=null===(t=e.startContainer.nodeValue)||void 0===t?void 0:t.length)&&void 0!==i?i:0)&&e.endContainer.isConnected&&e.endOffset<=(null!==(o=null===(s=e.endContainer.nodeValue)||void 0===s?void 0:s.length)&&void 0!==o?o:0)}))}async find(e,t){if(!t.length)return[];const i=this.cache[t];return i&&await this.isValidCache(i)?i:(this.cache[t]=this.j.async.promise((i=>{const s=new Wt(this.j.o.search.fuzzySearch);e.on("break",(()=>{i([])})).on("visit",(e=>(oe.i.isText(e)&&s.add(e),!1))).on("end",(()=>{var e;i(null!==(e=s.ranges(t))&&void 0!==e?e:[])})).setWork(this.j.editor)})),this.cache[t])}drawSelectionRanges(e){const{async:t,createInside:i,editor:s}=this.j;t.cancelAnimationFrame(this.wrapFrameRequest);const o=[...e];let r,n=0;return t.promise((e=>{const a=()=>{do{r=o.shift(),r&&Ut(r,o,i,s),n+=1}while(r&&5>=n);o.length?this.wrapFrameRequest=t.requestAnimationFrame(a):e()};a()}))}onAfterGetValueFromEditor(e){e.value=e.value.replace(RegExp(`]+${$t}[^>]+>(.*?)`,"g"),"$1")}afterInit(e){if(e.o.useSearch){const t=this;e.e.on("beforeSetMode.search",(()=>{this.ui.close()})).on(this.ui,"afterClose",(()=>{Gt(e.editor),this.ui.currentIndex=0,this.ui.count=0,this.cache={}})).on("click",(()=>{this.ui.currentIndex=0,Gt(e.editor)})).on("change.search",(()=>{this.cache={}})).on("keydown.search mousedown.search",e.async.debounce((()=>{this.ui.selInfo&&(e.s.removeMarkers(),this.ui.selInfo=null),this.ui.isOpened&&this.updateCounters()}),e.defaultTimeout)).on("searchNext.search searchPrevious.search",(()=>(this.ui.isOpened||this.ui.open(),t.findAndSelect(t.ui.query,"searchNext"===e.e.current).catch((e=>{}))))).on("search.search",((e,i=!0)=>(this.ui.currentIndex=0,t.findAndSelect(e||"",i).catch((e=>{}))))),e.registerCommand("search",{exec(e,i,s=!0){return i&&t.findAndSelect(i,s).catch((e=>{})),!1}}).registerCommand("openSearchDialog",{exec(e,i){return t.ui.open(i),!1},hotkeys:["ctrl+f","cmd+f"]}).registerCommand("openReplaceDialog",{exec(i,s,o){return e.o.readonly||t.ui.open(s,o,!0),!1},hotkeys:["ctrl+h","cmd+h"]})}}beforeDestruct(e){this.ui.destruct(),e.e.off(".search")}}(0,a.gn)([m.cache],Kt.prototype,"ui",null),(0,a.gn)([(0,m.watch)("ui:needUpdateCounters")],Kt.prototype,"updateCounters",null),(0,a.gn)([(0,m.watch)("ui:pressReplaceButton")],Kt.prototype,"onPressReplaceButton",null),(0,a.gn)([m.autobind],Kt.prototype,"findQueryBounds",null),(0,a.gn)([m.autobind],Kt.prototype,"findAndReplace",null),(0,a.gn)([m.autobind],Kt.prototype,"findAndSelect",null),(0,a.gn)([m.autobind],Kt.prototype,"find",null),(0,a.gn)([(0,m.watch)(":afterGetValueFromEditor")],Kt.prototype,"onAfterGetValueFromEditor",null),p.pw.add("search",Kt);var Jt=s(26596);l.D.prototype.select={normalizeSelectionBeforeCutAndCopy:!1};class Xt extends se.S{constructor(){super(...arguments),this.proxyEventsList=["click","mousedown","touchstart","mouseup","touchend"]}afterInit(e){this.proxyEventsList.forEach((t=>{e.e.on(t+".select",this.onStartSelection)}))}beforeDestruct(e){this.proxyEventsList.forEach((t=>{e.e.on(t+".select",this.onStartSelection)}))}onStartSelection(e){const{j:t}=this;let i,s=e.target;for(;void 0===i&&s&&s!==t.editor;)i=t.e.fire((0,Jt.e)(e.type+"_"+s.nodeName.toLowerCase()),s,e),s=s.parentElement;"click"===e.type&&void 0===i&&s===t.editor&&t.e.fire(e.type+"Editor",s,e)}onOutsideClick(e){const t=e.target;ne.i.up(t,(e=>e===this.j.editor))||ee.u1.closestElement(t,ee.GI)||this.j.e.fire("outsideClick",e)}beforeCommandCut(e){const{s:t}=this.j;if("cut"===e&&!t.isCollapsed()){const e=t.current();e&&ne.i.isOrContains(this.j.editor,e)&&this.onCopyNormalizeSelectionBound()}}onCopyNormalizeSelectionBound(e){const{s:t,editor:i,o:s}=this.j;s.select.normalizeSelectionBeforeCutAndCopy&&!t.isCollapsed()&&(!e||e.isTrusted&&ne.i.isNode(e.target)&&ne.i.isOrContains(i,e.target))&&this.jodit.s.expandSelection()}}(0,a.gn)([m.autobind],Xt.prototype,"onStartSelection",null),(0,a.gn)([(0,m.watch)("ow:click")],Xt.prototype,"onOutsideClick",null),(0,a.gn)([(0,m.watch)([":beforeCommand"])],Xt.prototype,"beforeCommandCut",null),(0,a.gn)([(0,m.watch)([":copy",":cut"])],Xt.prototype,"onCopyNormalizeSelectionBound",null),p.pw.add("select",Xt),l.D.prototype.tableAllowCellSelection=!0;const Zt="table_processor_observer",Qt="onMoveTableSelectCell";class ei extends se.S{constructor(){super(...arguments),this.requires=["select"],this.selectedCell=null,this.isSelectionMode=!1}get module(){return this.j.getInstance("Table",this.j.o)}afterInit(e){e.o.tableAllowCellSelection&&e.e.on("keydown.select-cells",(e=>{e.key===c.KEY_TAB&&this.unselectCells()})).on("beforeCommand.select-cells",this.onExecCommand).on("afterCommand.select-cells",this.onAfterCommand).on(["clickEditor","mousedownTd","mousedownTh","touchstartTd","touchstartTh"].map((e=>e+".select-cells")).join(" "),this.onStartSelection).on("clickTr clickTbody",(()=>{var e;const t=this.module.getAllSelectedCells().length;if(t)return t>1&&(null===(e=this.j.s.sel)||void 0===e||e.removeAllRanges()),!1}))}onStartSelection(e){if(this.j.o.readonly)return;if(this.unselectCells(),e===this.j.editor)return;const t=ne.i.closest(e,"table",this.j.editor);return e&&t?(e.firstChild||e.appendChild(this.j.createInside.element("br")),this.isSelectionMode=!0,this.selectedCell=e,this.module.addSelection(e),this.j.e.on(t,"mousemove.select-cells touchmove.select-cells",this.j.async.throttle(this.onMove.bind(this,t),{label:Qt,timeout:this.j.defaultTimeout/2})).on(t,"mouseup.select-cells touchend.select-cells",this.onStopSelection.bind(this,t)),!1):void 0}onOutsideClick(){this.selectedCell=null,this.onRemoveSelection()}onChange(){this.j.isLocked||this.isSelectionMode||this.onRemoveSelection()}onMove(e,t){var i;if(this.j.o.readonly&&!this.j.isLocked)return;if(this.j.isLockedNotBy(Zt))return;const s=this.j.ed.elementFromPoint(t.clientX,t.clientY);if(!s)return;const o=ne.i.closest(s,["td","th"],e);if(!o||!this.selectedCell)return;o!==this.selectedCell&&this.j.lock(Zt),this.unselectCells();const r=d.Table.getSelectedBound(e,[o,this.selectedCell]),n=d.Table.formalMatrix(e);for(let e=r[0][0];r[1][0]>=e;e+=1)for(let t=r[0][1];r[1][1]>=t;t+=1)this.module.addSelection(n[e][t]);this.module.getAllSelectedCells().length>1&&(null===(i=this.j.s.sel)||void 0===i||i.removeAllRanges()),this.j.e.fire("hidePopup"),t.stopPropagation(),(()=>{const e=this.j.createInside.fromHTML('
 
');o.appendChild(e),this.j.async.setTimeout((()=>{var t;null===(t=e.parentNode)||void 0===t||t.removeChild(e)}),this.j.defaultTimeout/5)})()}onRemoveSelection(e){var t;if(!(null===(t=null==e?void 0:e.buffer)||void 0===t?void 0:t.actionTrigger)&&!this.selectedCell&&this.module.getAllSelectedCells().length)return this.j.unlock(),this.unselectCells(),void this.j.e.fire("hidePopup","cells");this.isSelectionMode=!1,this.selectedCell=null}onStopSelection(e,t){if(!this.selectedCell)return;this.isSelectionMode=!1,this.j.unlock();const i=this.j.ed.elementFromPoint(t.clientX,t.clientY);if(!i)return;const s=ne.i.closest(i,["td","th"],e);if(!s)return;const o=ne.i.closest(s,"table",e);if(o&&o!==e)return;const r=d.Table.getSelectedBound(e,[s,this.selectedCell]),n=d.Table.formalMatrix(e),a=n[r[1][0]][r[1][1]],l=n[r[0][0]][r[0][1]];this.j.e.fire("showPopup",e,(()=>{const e=(0,h.position)(l,this.j),t=(0,h.position)(a,this.j);return{left:e.left,top:e.top,width:t.left-e.left+t.width,height:t.top-e.top+t.height}}),"cells"),(0,h.$$)("table",this.j.editor).forEach((e=>{this.j.e.off(e,"mousemove.select-cells touchmove.select-cells mouseup.select-cells touchend.select-cells")})),this.j.async.clearTimeout(Qt)}unselectCells(e){const t=this.module,i=t.getAllSelectedCells();i.length&&i.forEach((i=>{e&&e===i||t.removeSelection(i)}))}onExecCommand(e){if(/table(splitv|splitg|merge|empty|bin|binrow|bincolumn|addcolumn|addrow)/.test(e)){e=e.replace("table","");const t=this.module.getAllSelectedCells();if(t.length){const[i]=t;if(!i)return;const s=ne.i.closest(i,"table",this.j.editor);if(!s)return;switch(e){case"splitv":d.Table.splitVertical(s,this.j);break;case"splitg":d.Table.splitHorizontal(s,this.j);break;case"merge":d.Table.mergeSelected(s,this.j);break;case"empty":t.forEach((e=>ne.i.detach(e)));break;case"bin":ne.i.safeRemove(s);break;case"binrow":new Set(t.map((e=>e.parentNode))).forEach((e=>{d.Table.removeRow(s,e.rowIndex)}));break;case"bincolumn":{const e=new Set;t.reduce(((t,i)=>(e.has(i.cellIndex)||(t.push(i),e.add(i.cellIndex)),t)),[]).forEach((e=>{d.Table.removeColumn(s,e.cellIndex)}))}break;case"addcolumnafter":case"addcolumnbefore":d.Table.appendColumn(s,i.cellIndex,"addcolumnafter"===e,this.j.createInside);break;case"addrowafter":case"addrowbefore":d.Table.appendRow(s,i.parentNode,"addrowafter"===e,this.j.createInside)}}return!1}}onAfterCommand(e){/^justify/.test(e)&&this.module.getAllSelectedCells().forEach((t=>(0,h.alignElement)(e,t)))}beforeDestruct(e){this.onRemoveSelection(),e.e.off(".select-cells")}}(0,a.gn)([m.autobind],ei.prototype,"onStartSelection",null),(0,a.gn)([(0,m.watch)(":outsideClick")],ei.prototype,"onOutsideClick",null),(0,a.gn)([(0,m.watch)(":change")],ei.prototype,"onChange",null),(0,a.gn)([m.autobind],ei.prototype,"onRemoveSelection",null),(0,a.gn)([m.autobind],ei.prototype,"onStopSelection",null),(0,a.gn)([m.autobind],ei.prototype,"onExecCommand",null),(0,a.gn)([m.autobind],ei.prototype,"onAfterCommand",null),p.pw.add("selectCells",ei),l.D.prototype.minWidth=200,l.D.prototype.maxWidth="100%",l.D.prototype.minHeight=200,l.D.prototype.maxHeight="auto",l.D.prototype.saveHeightInStorage=!1;let ti=class e extends ve.S{constructor(){super(...arguments),this.resizeWorkspaces=this.j.async.debounce(this.resizeWorkspaceImd,this.j.defaultTimeout,!0)}afterInit(e){e.e.on("setHeight.size",this.setHeight).on("setWidth.size",this.setWidth).on("afterInit.size changePlace.size",this.initialize,{top:!0}).on(e.ow,"load.size",this.resizeWorkspaces).on("afterInit.size resize.size afterUpdateToolbar.size scroll.size afterResize.size",this.resizeWorkspaces).on("toggleFullSize.size toggleToolbar.size",this.resizeWorkspaceImd),this.initialize()}initialize(){const{j:e}=this;if(e.o.inline)return;let{height:t}=e.o;if(e.o.saveHeightInStorage&&"auto"!==t){const i=e.storage.get("height");i&&(t=i)}(0,h.css)(e.editor,{minHeight:"100%"}),(0,h.css)(e.container,{minHeight:e.o.minHeight,maxHeight:e.o.maxHeight,minWidth:e.o.minWidth,maxWidth:e.o.maxWidth}),this.setHeight(t),this.setWidth(e.o.width)}setHeight(e){if((0,h.isNumber)(e)){const{minHeight:t,maxHeight:i}=this.j.o;(0,h.isNumber)(t)&&t>e&&(e=t),(0,h.isNumber)(i)&&e>i&&(e=i)}(0,h.css)(this.j.container,"height",e),this.j.o.saveHeightInStorage&&this.j.storage.set("height",e),this.resizeWorkspaceImd()}setWidth(e){if((0,h.isNumber)(e)){const{minWidth:t,maxWidth:i}=this.j.o;(0,h.isNumber)(t)&&t>e&&(e=t),(0,h.isNumber)(i)&&e>i&&(e=i)}(0,h.css)(this.j.container,"width",e),this.resizeWorkspaceImd()}getNotWorkHeight(){var e,t;return((null===(e=this.j.toolbarContainer)||void 0===e?void 0:e.offsetHeight)||0)+((null===(t=this.j.statusbar)||void 0===t?void 0:t.getHeight())||0)+2}resizeWorkspaceImd(){if(!this.j||this.j.isDestructed||!this.j.o||this.j.o.inline)return;if(!this.j.container||!this.j.container.parentNode)return;const e=((0,h.css)(this.j.container,"minHeight")||0)-this.getNotWorkHeight();if((0,h.isNumber)(e)&&e>0&&([this.j.workplace,this.j.iframe,this.j.editor].map((t=>{t&&(0,h.css)(t,"minHeight",e)})),this.j.e.fire("setMinHeight",e)),(0,h.isNumber)(this.j.o.maxHeight)){const e=this.j.o.maxHeight-this.getNotWorkHeight();[this.j.workplace,this.j.iframe,this.j.editor].map((t=>{t&&(0,h.css)(t,"maxHeight",e)})),this.j.e.fire("setMaxHeight",e)}this.j.container&&(0,h.css)(this.j.workplace,"height","auto"!==this.j.o.height||this.j.isFullSize?this.j.container.offsetHeight-this.getNotWorkHeight():"auto")}beforeDestruct(e){e.e.off(e.ow,"load.size",this.resizeWorkspaces).off(".size")}};(0,a.gn)([m.autobind],ti.prototype,"resizeWorkspaceImd",null),ti=(0,a.gn)([m.autobind],ti),p.pw.add("size",ti);class ii{constructor(e,t,i,s){this.jodit=e,this.container=t,this.toWYSIWYG=i,this.fromWYSIWYG=s,this.className="",this.isReady=!1}get j(){return this.jodit}onReady(){this.replaceUndoManager(),this.isReady=!0,this.j.e.fire(this,"ready")}onReadyAlways(e){var t;this.isReady?e():null===(t=this.j.events)||void 0===t||t.on(this,"ready",e)}}class si extends ii{constructor(){super(...arguments),this.autosize=this.j.async.debounce((()=>{this.instance.style.height="auto",this.instance.style.height=this.instance.scrollHeight+"px"}),this.j.defaultTimeout)}init(e){this.instance=e.c.element("textarea",{class:"jodit-source__mirror"}),this.container.appendChild(this.instance),e.e.on(this.instance,"mousedown keydown touchstart input",e.async.debounce(this.toWYSIWYG,e.defaultTimeout)).on("setMinHeight.source",(e=>{(0,Ne.i)(this.instance,"minHeight",e)})).on(this.instance,"change keydown mousedown touchstart input",this.autosize).on("afterSetMode.source",this.autosize).on(this.instance,"mousedown focus",(t=>{e.e.fire(t.type,t)})),this.autosize(),this.onReady()}destruct(){ne.i.safeRemove(this.instance)}getValue(){return this.instance.value}setValue(e){this.instance.value=e}insertRaw(e){const t=this.getValue();if(0>this.getSelectionStart())this.setValue(t+e);else{const i=this.getSelectionStart(),s=this.getSelectionEnd();this.setValue(t.substring(0,i)+e+t.substring(s,t.length))}}getSelectionStart(){return this.instance.selectionStart}getSelectionEnd(){return this.instance.selectionEnd}setSelectionRange(e,t=e){this.instance.setSelectionRange(e,t)}get isFocused(){return this.instance===this.j.od.activeElement}focus(){this.instance.focus()}blur(){this.instance.blur()}setPlaceHolder(e){this.instance.setAttribute("placeholder",e)}setReadOnly(e){e?this.instance.setAttribute("readonly","true"):this.instance.removeAttribute("readonly")}selectAll(){this.instance.select()}replaceUndoManager(){const{history:e}=this.jodit;this.j.e.on(this.instance,"keydown",(t=>{if((t.ctrlKey||t.metaKey)&&"z"===t.key)return t.shiftKey?e.redo():e.undo(),this.setSelectionRange(this.getValue().length),!1}))}}class oi extends ii{constructor(){super(...arguments),this.className="jodit_ace_editor",this.proxyOnBlur=e=>{this.j.e.fire("blur",e)},this.proxyOnFocus=e=>{this.j.e.fire("focus",e)},this.proxyOnMouseDown=e=>{this.j.e.fire("mousedown",e)}}aceExists(){return void 0!==this.j.ow.ace}getLastColumnIndex(e){return this.instance.session.getLine(e).length}getLastColumnIndices(){const e=this.instance.session.getLength(),t=[];let i=0;for(let s=0;e>s;s++)i+=this.getLastColumnIndex(s),s>0&&(i+=1),t[s]=i;return t}getRowColumnIndices(e){const t=this.getLastColumnIndices();if(t[0]>=e)return{row:0,column:e};let i=1;for(let s=1;t.length>s;s++)e>t[s]&&(i=s+1);return{row:i,column:e-t[i-1]-1}}setSelectionRangeIndices(e,t){const i=this.getRowColumnIndices(e),s=this.getRowColumnIndices(t);this.instance.getSelection().setSelectionRange({start:i,end:s})}getIndexByRowColumn(e,t){return this.getLastColumnIndices()[e]-this.getLastColumnIndex(e)+t}init(e){const t=()=>{if(void 0!==this.instance||!this.aceExists())return;const t=this.j.c.div("jodit-source__mirror-fake");this.container.appendChild(t),this.instance=e.ow.ace.edit(t),this.instance.setTheme(e.o.sourceEditorNativeOptions.theme),this.instance.renderer.setShowGutter(e.o.sourceEditorNativeOptions.showGutter),this.instance.getSession().setMode(e.o.sourceEditorNativeOptions.mode),this.instance.setHighlightActiveLine(e.o.sourceEditorNativeOptions.highlightActiveLine),this.instance.getSession().setUseWrapMode(!0),this.instance.setOption("indentedSoftWrap",!1),this.instance.setOption("wrap",e.o.sourceEditorNativeOptions.wrap),this.instance.getSession().setUseWorker(!1),this.instance.$blockScrolling=1/0,this.instance.on("change",this.toWYSIWYG),this.instance.on("focus",this.proxyOnFocus),this.instance.on("mousedown",this.proxyOnMouseDown),this.instance.on("blur",this.proxyOnBlur),e.getRealMode()!==c.MODE_WYSIWYG&&this.setValue(this.getValue());const i=this.j.async.debounce((()=>{e.isInDestruct||(this.instance.setOption("maxLines","auto"!==e.o.height?e.workplace.offsetHeight/this.instance.renderer.lineHeight:1/0),this.instance.resize())}),2*this.j.defaultTimeout);e.e.on("afterResize afterSetMode",i),i(),this.onReady()};e.e.on("afterSetMode",(()=>{e.getRealMode()!==c.MODE_SOURCE&&e.getMode()!==c.MODE_SPLIT||(this.fromWYSIWYG(),t())})),t(),this.aceExists()||(0,h.loadNext)(e,e.o.sourceEditorCDNUrlsJS).then((()=>{e.isInDestruct||t()})).catch((()=>null))}destruct(){var e,t;this.instance.off("change",this.toWYSIWYG),this.instance.off("focus",this.proxyOnFocus),this.instance.off("mousedown",this.proxyOnMouseDown),this.instance.destroy(),null===(t=null===(e=this.j)||void 0===e?void 0:e.events)||void 0===t||t.off("aceInited.source")}setValue(e){if(!this.j.o.editHTMLDocumentMode&&this.j.o.beautifyHTML){const t=this.j.e.fire("beautifyHTML",e);(0,h.isString)(t)&&(e=t)}this.instance.setValue(e),this.instance.clearSelection()}getValue(){return this.instance.getValue()}setReadOnly(e){this.instance.setReadOnly(e)}get isFocused(){return this.instance.isFocused()}focus(){this.instance.focus()}blur(){this.instance.blur()}getSelectionStart(){const e=this.instance.selection.getRange();return this.getIndexByRowColumn(e.start.row,e.start.column)}getSelectionEnd(){const e=this.instance.selection.getRange();return this.getIndexByRowColumn(e.end.row,e.end.column)}selectAll(){this.instance.selection.selectAll()}insertRaw(e){const t=this.instance.selection.getCursor(),i=this.instance.session.insert(t,e);this.instance.selection.setRange({start:t,end:i},!1)}setSelectionRange(e,t){this.setSelectionRangeIndices(e,t)}setPlaceHolder(e){}replaceUndoManager(){const{history:e}=this.jodit;this.instance.commands.addCommand({name:"Undo",bindKey:{win:"Ctrl-Z",mac:"Command-Z"},exec(){e.undo()}}),this.instance.commands.addCommand({name:"Redo",bindKey:{win:"Ctrl-Shift-Z",mac:"Command-Shift-Z"},exec(){e.redo()}})}}function ri(e,t,i,s,o){let r;if((0,h.isFunction)(e))r=e(t);else switch(e){case"ace":if(!t.o.shadowRoot){r=new oi(t,i,s,o);break}default:r=new si(t,i,s,o)}return r.init(t),r.onReadyAlways((()=>{r.setReadOnly(t.o.readonly)})),r}l.D.prototype.beautifyHTML=!c.IS_IE,l.D.prototype.sourceEditor="ace",l.D.prototype.sourceEditorNativeOptions={showGutter:!0,theme:"ace/theme/idle_fingers",mode:"ace/mode/html",wrap:!0,highlightActiveLine:!0},l.D.prototype.sourceEditorCDNUrlsJS=["https://cdnjs.cloudflare.com/ajax/libs/ace/1.4.2/ace.js"],l.D.prototype.beautifyHTMLCDNUrlsJS=["https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.14.4/beautify.min.js","https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.14.4/beautify-html.min.js"],Q.J.set("source",s(9342)),l.D.prototype.controls.source={mode:c.MODE_SPLIT,exec(e){e.toggleMode()},isActive(e){return e.getRealMode()===c.MODE_SOURCE},tooltip:"Change mode"};class ni extends se.S{constructor(){super(...arguments),this.buttons=[{name:"source",group:"source"}],this.__lock=!1,this.__oldMirrorValue="",this.tempMarkerStart="{start-jodit-selection}",this.tempMarkerStartReg=/{start-jodit-selection}/g,this.tempMarkerEnd="{end-jodit-selection}",this.tempMarkerEndReg=/{end-jodit-selection}/g,this.getSelectionStart=()=>{var e,t;return null!==(t=null===(e=this.sourceEditor)||void 0===e?void 0:e.getSelectionStart())&&void 0!==t?t:0},this.getSelectionEnd=()=>{var e,t;return null!==(t=null===(e=this.sourceEditor)||void 0===e?void 0:e.getSelectionEnd())&&void 0!==t?t:0}}onInsertHTML(e){var t;if(!this.j.o.readonly&&!this.j.isEditorMode())return null===(t=this.sourceEditor)||void 0===t||t.insertRaw(e),this.toWYSIWYG(),!1}fromWYSIWYG(e=!1){if(!this.__lock||!0===e){this.__lock=!0;const e=this.j.getEditorValue(!1,c.SOURCE_CONSUMER);e!==this.getMirrorValue()&&this.setMirrorValue(e),this.__lock=!1}}toWYSIWYG(){if(this.__lock)return;const e=this.getMirrorValue();e!==this.__oldMirrorValue&&(this.__lock=!0,this.j.value=e,this.__lock=!1,this.__oldMirrorValue=e)}getNormalPosition(e,t){for(t=t.replace(/<(script|style|iframe)[^>]*>[^]*?<\/\1>/im,(e=>{let t="";for(let i=0;e.length>i;i+=1)t+=c.INVISIBLE_SPACE;return t}));e>0&&t[e]===c.INVISIBLE_SPACE;)e--;let i=e;for(;i>0;){if(i--,"<"===t[i]&&void 0!==t[i+1]&&t[i+1].match(/[\w/]+/i))return i;if(">"===t[i])return e}return e}clnInv(e){return e.replace(c.INVISIBLE_SPACE_REG_EXP(),"")}onSelectAll(e){var t;if("selectall"===e.toLowerCase()&&this.j.getRealMode()===c.MODE_SOURCE)return null===(t=this.sourceEditor)||void 0===t||t.selectAll(),!1}getMirrorValue(){var e;return(null===(e=this.sourceEditor)||void 0===e?void 0:e.getValue())||""}setMirrorValue(e){var t;null===(t=this.sourceEditor)||void 0===t||t.setValue(e)}setFocusToMirror(){var e;null===(e=this.sourceEditor)||void 0===e||e.focus()}saveSelection(){if(this.j.getRealMode()===c.MODE_WYSIWYG)this.j.s.save(),this.j.synchronizeValues(),this.fromWYSIWYG(!0);else{if(this.j.o.editHTMLDocumentMode)return;const e=this.getMirrorValue();if(this.getSelectionStart()===this.getSelectionEnd()){const t=this.j.s.marker(!0),i=this.getNormalPosition(this.getSelectionStart(),this.getMirrorValue());this.setMirrorValue(e.substring(0,i)+this.clnInv(t.outerHTML)+e.substring(i))}else{const t=this.j.s.marker(!0),i=this.j.s.marker(!1),s=this.getNormalPosition(this.getSelectionStart(),e),o=this.getNormalPosition(this.getSelectionEnd(),e);this.setMirrorValue(e.substring(0,s)+this.clnInv(t.outerHTML)+e.substring(s,o-s)+this.clnInv(i.outerHTML)+e.substring(o))}this.toWYSIWYG()}}removeSelection(){if(this.j.getRealMode()===c.MODE_WYSIWYG)return this.__lock=!0,this.j.s.restore(),void(this.__lock=!1);let e=this.getMirrorValue(),t=0,i=0;try{if(e=e.replace(/]+data-jodit-selection_marker=(["'])start\1[^>]*>[<>]*?<\/span>/gim,this.tempMarkerStart).replace(/]+data-jodit-selection_marker=(["'])end\1[^>]*>[<>]*?<\/span>/gim,this.tempMarkerEnd),!this.j.o.editHTMLDocumentMode&&this.j.o.beautifyHTML){const t=this.j.e.fire("beautifyHTML",e);(0,h.isString)(t)&&(e=t)}if(t=e.indexOf(this.tempMarkerStart),i=t,e=e.replace(this.tempMarkerStartReg,""),-1!==t){const t=e.indexOf(this.tempMarkerEnd);-1!==t&&(i=t)}e=e.replace(this.tempMarkerEndReg,"")}finally{e=e.replace(this.tempMarkerEndReg,"").replace(this.tempMarkerStartReg,"")}this.setMirrorValue(e),this.setMirrorSelectionRange(t,i),this.toWYSIWYG(),this.setFocusToMirror()}setMirrorSelectionRange(e,t){var i;null===(i=this.sourceEditor)||void 0===i||i.setSelectionRange(e,t)}onReadonlyReact(){var e;null===(e=this.sourceEditor)||void 0===e||e.setReadOnly(this.j.o.readonly)}afterInit(e){if(this.mirrorContainer=e.c.div("jodit-source"),e.workplace.appendChild(this.mirrorContainer),e.e.on("afterAddPlace changePlace afterInit",(()=>{e.workplace.appendChild(this.mirrorContainer)})),this.sourceEditor=ri("area",e,this.mirrorContainer,this.toWYSIWYG,this.fromWYSIWYG),e.e.on(e.ow,"keydown",(e=>{var t;e.key===c.KEY_ESC&&(null===(t=this.sourceEditor)||void 0===t?void 0:t.isFocused)&&this.sourceEditor.blur()})),this.onReadonlyReact(),e.e.on("placeholder.source",(e=>{var t;null===(t=this.sourceEditor)||void 0===t||t.setPlaceHolder(e)})).on("change.source",this.syncValueFromWYSIWYG).on("beautifyHTML",(e=>e)),e.o.beautifyHTML){const t=()=>{var t;const i=e.ow.html_beautify;return!(!i||e.isInDestruct||(null===(t=e.events)||void 0===t||t.off("beautifyHTML").on("beautifyHTML",(e=>i(e))),0))};t()||(0,h.loadNext)(e,e.o.beautifyHTMLCDNUrlsJS).then(t)}this.syncValueFromWYSIWYG(!0),this.initSourceEditor(e)}syncValueFromWYSIWYG(e=!1){const t=this.j;t.getMode()!==c.MODE_SPLIT&&t.getMode()!==c.MODE_SOURCE||this.fromWYSIWYG(e)}initSourceEditor(e){var t;if("area"!==e.o.sourceEditor){const t=ri(e.o.sourceEditor,e,this.mirrorContainer,this.toWYSIWYG,this.fromWYSIWYG);t.onReadyAlways((()=>{var i,s;null===(i=this.sourceEditor)||void 0===i||i.destruct(),this.sourceEditor=t,this.syncValueFromWYSIWYG(!0),null===(s=e.events)||void 0===s||s.fire("sourceEditorReady",e)}))}else null===(t=this.sourceEditor)||void 0===t||t.onReadyAlways((()=>{var t;this.syncValueFromWYSIWYG(!0),null===(t=e.events)||void 0===t||t.fire("sourceEditorReady",e)}))}beforeDestruct(){this.sourceEditor&&(this.sourceEditor.destruct(),delete this.sourceEditor),ne.i.safeRemove(this.mirrorContainer)}}(0,a.gn)([(0,m.watch)(":insertHTML.source")],ni.prototype,"onInsertHTML",null),(0,a.gn)([m.autobind],ni.prototype,"fromWYSIWYG",null),(0,a.gn)([m.autobind],ni.prototype,"toWYSIWYG",null),(0,a.gn)([m.autobind],ni.prototype,"getNormalPosition",null),(0,a.gn)([(0,m.watch)(":beforeCommand.source")],ni.prototype,"onSelectAll",null),(0,a.gn)([(0,m.watch)(":beforeSetMode.source")],ni.prototype,"saveSelection",null),(0,a.gn)([(0,m.watch)(":afterSetMode.source")],ni.prototype,"removeSelection",null),(0,a.gn)([m.autobind],ni.prototype,"setMirrorSelectionRange",null),(0,a.gn)([(0,m.watch)(":readonly.source")],ni.prototype,"onReadonlyReact",null),(0,a.gn)([m.autobind],ni.prototype,"syncValueFromWYSIWYG",null),p.pw.add("source",ni),l.D.prototype.spellcheck=!1,Q.J.set("spellcheck",s(69546)),l.D.prototype.controls.spellcheck={isActive:e=>e.o.spellcheck,icon:s(69546),name:"spellcheck",command:"toggleSpellcheck",tooltip:"Spellcheck"};class ai extends se.S{constructor(e){super(e),this.buttons=[{group:"state",name:"spellcheck"}],(0,p.xl)(s(87882))}afterInit(e){e.e.on("afterInit afterAddPlace prepareWYSIWYGEditor",this.toggleSpellcheck),this.toggleSpellcheck(),e.registerCommand("toggleSpellcheck",(()=>{this.jodit.o.spellcheck=!this.jodit.o.spellcheck,this.toggleSpellcheck(),this.j.e.fire("updateToolbar")}))}toggleSpellcheck(){(0,ae.Lj)(this.jodit.editor,"spellcheck",this.jodit.o.spellcheck)}beforeDestruct(e){}}(0,a.gn)([m.autobind],ai.prototype,"toggleSpellcheck",null),p.pw.add("spellcheck",ai),l.D.prototype.showCharsCounter=!0,l.D.prototype.countHTMLChars=!1,l.D.prototype.showWordsCounter=!0,p.pw.add("stat",class li extends ve.S{constructor(){super(...arguments),this.charCounter=null,this.wordCounter=null,this.reInit=()=>{this.j.o.showCharsCounter&&this.charCounter&&this.j.statusbar.append(this.charCounter,!0),this.j.o.showWordsCounter&&this.wordCounter&&this.j.statusbar.append(this.wordCounter,!0),this.j.e.off("change keyup",this.calc).on("change keyup",this.calc),this.calc()},this.calc=this.j.async.throttle((()=>{const e=this.j.text;if(this.j.o.showCharsCounter&&this.charCounter){const t=this.j.o.countHTMLChars?this.j.value:e.replace((0,c.SPACE_REG_EXP)(),"");this.charCounter.textContent=this.j.i18n("Chars: %d",t.length)}this.j.o.showWordsCounter&&this.wordCounter&&(this.wordCounter.textContent=this.j.i18n("Words: %d",e.replace((0,c.INVISIBLE_SPACE_REG_EXP)(),"").split((0,c.SPACE_REG_EXP)()).filter((e=>e.length)).length))}),this.j.defaultTimeout)}afterInit(){this.charCounter=this.j.c.span(),this.wordCounter=this.j.c.span(),this.j.e.on("afterInit changePlace afterAddPlace",this.reInit),this.reInit()}beforeDestruct(){ne.i.safeRemove(this.charCounter),ne.i.safeRemove(this.wordCounter),this.j.e.off("afterInit changePlace afterAddPlace",this.reInit),this.charCounter=null,this.wordCounter=null}}),l.D.prototype.toolbarSticky=!0,l.D.prototype.toolbarDisableStickyForMobile=!0,l.D.prototype.toolbarStickyOffset=0;class ci extends ve.S{constructor(){super(...arguments),this.isToolbarSticked=!1,this.createDummy=e=>{},this.addSticky=e=>{this.isToolbarSticked||(this.createDummy(e),this.j.container.classList.add("jodit_sticky"),this.isToolbarSticked=!0),(0,h.css)(e,{top:this.j.o.toolbarStickyOffset||null,width:this.j.container.offsetWidth-2})},this.removeSticky=e=>{this.isToolbarSticked&&((0,h.css)(e,{width:"",top:""}),this.j.container.classList.remove("jodit_sticky"),this.isToolbarSticked=!1)}}afterInit(e){e.e.on(e.ow,"scroll.sticky wheel.sticky mousewheel.sticky resize.sticky",this.onScroll).on("getStickyState.sticky",(()=>this.isToolbarSticked))}onScroll(){const{jodit:e}=this,t=e.ow.pageYOffset||e.od.documentElement&&e.od.documentElement.scrollTop||0,i=(0,h.offset)(e.container,e,e.od,!0),s=e.getMode()===c.MODE_WYSIWYG&&t+e.o.toolbarStickyOffset>i.top&&i.top+i.height>t+e.o.toolbarStickyOffset&&!(e.o.toolbarDisableStickyForMobile&&this.isMobile());if(e.o.toolbarSticky&&!0===e.o.toolbar&&this.isToolbarSticked!==s){const t=e.toolbarContainer;t&&(s?this.addSticky(t):this.removeSticky(t)),e.e.fire("toggleSticky",s)}}isMobile(){return this.j&&this.j.options&&this.j.container&&this.j.o.sizeSM>=this.j.container.offsetWidth}beforeDestruct(e){this.dummyBox&&ne.i.safeRemove(this.dummyBox),e.e.off(e.ow,"scroll.sticky wheel.sticky mousewheel.sticky resize.sticky",this.onScroll).off(".sticky")}}(0,a.gn)([(0,m.throttle)()],ci.prototype,"onScroll",null),p.pw.add("sticky",ci),l.D.prototype.usePopupForSpecialCharacters=!1,l.D.prototype.specialCharacters=["!",""","#","$","%","&","'","(",")","*","+","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","€","‘","’","“","”","–","—","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","»","¬","®","¯","°","²","³","´","µ","¶","·","¸","¹","º","¼","½","¾","¿","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","×","Ø","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ","Œ","œ","Ŵ","Ŷ","ŵ","ŷ","‚","‛","„","…","™","►","•","→","⇒","⇔","♦","≈"],Q.J.set("symbols",s(43158)),l.D.prototype.controls.symbols={hotkeys:["ctrl+shift+i","cmd+shift+i"],tooltip:"Insert Special Character",popup(e,t,i,s){const o=e.e.fire("generateSpecialCharactersTable.symbols");if(o){if(e.o.usePopupForSpecialCharacters){const t=e.c.div();return t.classList.add("jodit-symbols"),t.appendChild(o),e.e.on(o,"close_dialog",s),t}{e.alert(o,"Select Special Character",void 0,"jodit-symbols").bindDestruct(e);const t=o.querySelector("a");t&&t.focus()}}}},p.pw.add("symbols",class di extends ve.S{constructor(e){super(e),this.buttons=[{name:"symbols",group:"insert"}],this.countInRow=17,(0,p.xl)(s(21236))}afterInit(e){e.e.on("generateSpecialCharactersTable.symbols",(()=>{const t=e.c.fromHTML('
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
'),i=t.querySelector(".jodit-symbols__preview"),s=t.querySelector("table").tBodies[0],o=[];for(let t=0;e.o.specialCharacters.length>t;){const i=e.c.element("tr");for(let s=0;this.countInRow>s&&e.o.specialCharacters.length>t;s+=1,t+=1){const r=e.c.element("td"),n=e.c.fromHTML(`${e.o.specialCharacters[t]}`);o.push(n),r.appendChild(n),i.appendChild(r)}s.appendChild(i)}const r=this;return e.e.on(o,"focus",(function(){i.innerHTML=this.innerHTML})).on(o,"mousedown",(function(t){ne.i.isTag(this,"a")&&(e.s.focus(),e.s.insertHTML(this.innerHTML),e.e.fire(this,"close_dialog"),t&&t.preventDefault(),t&&t.stopImmediatePropagation())})).on(o,"mouseenter",(function(){ne.i.isTag(this,"a")&&this.focus()})).on(o,"keydown",(t=>{const i=t.target;if(ne.i.isTag(i,"a")){const s=parseInt((0,ue.attr)(i,"-index")||"0",10),n=parseInt((0,ue.attr)(i,"data-index-j")||"0",10);let a;switch(t.key){case c.KEY_UP:case c.KEY_DOWN:a=t.key===c.KEY_UP?s-r.countInRow:s+r.countInRow,void 0===o[a]&&(a=t.key===c.KEY_UP?Math.floor(o.length/r.countInRow)*r.countInRow+n:n,a>o.length-1&&(a-=r.countInRow)),o[a]&&o[a].focus();break;case c.KEY_RIGHT:case c.KEY_LEFT:a=t.key===c.KEY_LEFT?s-1:s+1,void 0===o[a]&&(a=t.key===c.KEY_LEFT?o.length-1:0),o[a]&&o[a].focus();break;case c.KEY_ENTER:e.e.fire(i,"mousedown"),t.stopImmediatePropagation(),t.preventDefault()}}})),t}))}beforeDestruct(e){e.e.off("generateSpecialCharactersTable.symbols")}}),s(603),l.D.prototype.tab={tabInsideLiInsertNewList:!0};class hi extends se.S{afterInit(e){}__onTab(e){if(e.key===c.KEY_TAB&&this.__onShift(e.shiftKey))return!1}__onCommand(e){if(("indent"===e||"outdent"===e)&&this.__onShift("outdent"===e))return!1}__onShift(e){const t=((e,t=!1)=>{if(!e.o.tab.tabInsideLiInsertNewList)return!1;const[i,s]=(e=>{const t=e.createInside.fake(),i=e.createInside.fake(),s=e.s.range.cloneRange();s.collapse(!0),s.insertNode(t);const o=e.s.range.cloneRange();return o.collapse(!1),o.insertNode(i),[t,i]})(e);try{const o=((e,t,i)=>{const s=ne.i.closest(t,"li",e.editor);return!!s&&!(!i&&!ne.i.isTag(s.previousElementSibling,"li"))&&!(i&&!ne.i.closest(s,"li",e.editor))&&s})(e,i,t);if(!o)return!1;if(!((e,t,i)=>{const s=ne.i.closest(i,"li",t.editor);return!(!s||s!==e&&!e.contains(s))})(o,e,i))return!1;const r=ne.i.closest(o,["ol","ul"],e.editor);return!(!r||t&&!ne.i.closest(r,"li",e.editor)||(t?((e,t,i)=>{const s=ne.i.closest(t,"li",e.editor),o=Array.from(t.children).filter((e=>ne.i.isTag(e,"li")));ne.i.after(s,i);const r=o.indexOf(i);if(0!==r&&1!==o.length||ne.i.safeRemove(t),r!==o.length-1){const e=t.cloneNode();ne.i.append(i,e);for(let t=r+1;o.length>t;t+=1)ne.i.append(e,o[t])}})(e,r,o):((e,t,i)=>{const s=i.previousElementSibling,o=s.lastElementChild,r=ne.i.isTag(o,t.tagName)?o:e.createInside.element(t.tagName,Array.from(t.attributes).reduce(((e,t)=>(e[t.name]=t.value,e)),{}));r.appendChild(i),o!==r&&s.appendChild(r)})(e,r,o),0))}finally{const t=e.s.createRange();t.setStartAfter(i),t.setEndBefore(s),e.s.selectRange(t),ne.i.safeRemove(i),ne.i.safeRemove(s)}return!1})(this.j,e);return t&&this.j.e.fire("afterTab",e),t}beforeDestruct(e){}}(0,a.gn)([(0,m.watch)(":keydown.tab")],hi.prototype,"__onTab",null),(0,a.gn)([(0,m.watch)(":beforeCommand.tab")],hi.prototype,"__onCommand",null),p.pw.add("tab",hi),l.D.prototype.table={selectionCellStyle:"border: 1px double #1e88e5 !important;",useExtraClassesOptions:!1},Q.J.set("table",s(51716)),l.D.prototype.controls.table={data:{cols:10,rows:10,classList:{"table table-bordered":"Bootstrap Bordered","table table-striped":"Bootstrap Striped","table table-dark":"Bootstrap Dark"}},popup(e,t,i,s,o){const r=i.data&&i.data.rows?i.data.rows:10,n=i.data&&i.data.cols?i.data.cols:10,a=e.c.fromHTML('
'+(()=>{if(!e.o.table.useExtraClassesOptions)return"";const t=[];if(i.data){const e=i.data.classList;Object.keys(e).forEach((i=>{t.push(``)}))}return t.join("")})()+'
'),l=a.querySelectorAll("span")[0],c=a.querySelectorAll("span")[1],d=a.querySelector(".jodit-form__container"),u=a.querySelector(".jodit-form__options"),p=[],m=r*n;for(let t=0;m>t;t+=1)p[t]||p.push(e.c.element("span",{dataIndex:t}));if(e.e.on(d,"mousemove",((e,t)=>{const i=e.target;if(!oe.i.isTag(i,"span"))return;const s=void 0===t||isNaN(t)?parseInt((0,ue.attr)(i,"-index")||"0",10):t||0,o=Math.ceil((s+1)/n),r=s%n+1;for(let e=0;p.length>e;e+=1)p[e].className=e%n+1>r||Math.ceil((e+1)/n)>o?"":"jodit_hovered";c.textContent=""+r,l.textContent=""+o})).on(d,"touchstart mousedown",(t=>{const i=t.target;if(t.preventDefault(),t.stopImmediatePropagation(),!oe.i.isTag(i,"span"))return;const o=parseInt((0,ue.attr)(i,"-index")||"0",10),r=Math.ceil((o+1)/n),a=o%n+1,l=e.createInside,c=l.element("tbody"),d=l.element("table");d.appendChild(c);let p,m,f=null;for(let e=1;r>=e;e+=1){p=l.element("tr");for(let e=1;a>=e;e+=1)m=l.element("td"),f||(f=m),(0,h.css)(m,"width",(100/a).toFixed(4)+"%"),m.appendChild(l.element("br")),p.appendChild(l.text("\n")),p.appendChild(l.text("\t")),p.appendChild(m);c.appendChild(l.text("\n")),c.appendChild(p)}(0,h.$$)("input[type=checkbox]:checked",u).forEach((e=>{e.value.split(/[\s]+/).forEach((e=>{d.classList.add(e)}))})),e.editor.firstChild&&e.s.insertNode(l.text("\n"),!1,!1),e.s.insertNode(d,!1),f&&(e.s.setCursorIn(f),(0,h.scrollIntoViewIfNeeded)(f,e.editor,e.ed)),s()})),o&&o.parentElement){for(let t=0;r>t;t+=1){const i=e.c.div();for(let e=0;n>e;e+=1)i.appendChild(p[t*n+e]);d.appendChild(i)}p[0]&&(p[0].className="hovered")}return a},tooltip:"Insert table"},p.pw.add("table",(e=>{e.registerButton({name:"table",group:"insert"})}));var ui=s(25120);p.pw.add("tableKeyboardNavigation",(e=>{e.e.off(".tableKeyboardNavigation").on("keydown.tableKeyboardNavigation",(t=>{let i,s;if(t.key!==c.KEY_TAB&&t.key!==c.KEY_LEFT&&t.key!==c.KEY_RIGHT&&t.key!==c.KEY_UP&&t.key!==c.KEY_DOWN)return;{if(i=e.s.current(),s=ne.i.up(i,(e=>e&&e.nodeName&&/^td|th$/i.test(e.nodeName)),e.editor),!s)return;const o=e.s.range;if(t.key!==c.KEY_TAB&&i!==s&&((t.key===c.KEY_LEFT||t.key===c.KEY_UP)&&(ne.i.prev(i,(e=>t.key===c.KEY_UP?ne.i.isTag(e,"br"):!!e),s)||t.key!==c.KEY_UP&&ne.i.isText(i)&&0!==o.startOffset)||(t.key===c.KEY_RIGHT||t.key===c.KEY_DOWN)&&(ne.i.next(i,(e=>t.key===c.KEY_DOWN?ne.i.isTag(e,"br"):!!e),s)||t.key!==c.KEY_DOWN&&ne.i.isText(i)&&i.nodeValue&&o.startOffset!==i.nodeValue.length)))return}const o=ne.i.up(s,(e=>e&&/^table$/i.test(e.nodeName)),e.editor);let r=null;switch(t.key){case c.KEY_TAB:case c.KEY_LEFT:{const i=t.key===c.KEY_LEFT||t.shiftKey?"prev":"next";r=ne.i[i](s,(e=>e&&/^td|th$/i.test(e.tagName)),o),r||(ui.i.appendRow(o,"next"!==i&&o.querySelector("tr"),"next"===i,e.createInside),r=ne.i[i](s,ne.i.isCell,o));break}case c.KEY_UP:case c.KEY_DOWN:{let e=0,i=0;const n=ui.i.formalMatrix(o,((t,o,r)=>{t===s&&(e=o,i=r)}));t.key===c.KEY_UP?void 0!==n[e-1]&&(r=n[e-1][i]):void 0!==n[e+1]&&(r=n[e+1][i])}}if(r){if(r.firstChild)t.key===c.KEY_TAB?e.s.select(r,!0):e.s.setCursorIn(r,t.key===c.KEY_RIGHT||t.key===c.KEY_DOWN);else{const t=e.createInside.element("br");r.appendChild(t),e.s.setCursorBefore(t)}return!1}}))})),Q.J.set("video",s(49222)),l.D.prototype.controls.video={popup(e,t,i,s){const o=new vt.x4(e,[new vt.eC(e,[new vt.u3(e,{name:"url",required:!0,label:"URL",placeholder:"https://",validators:["url"]})]),new vt.eC(e,[(0,tt.zx)(e,"","Insert","primary").onAction((()=>o.submit()))])]),r=new vt.x4(e,[new vt.eC(e,[new vt.GJ(e,{name:"code",required:!0,label:"Embed code"})]),new vt.eC(e,[(0,tt.zx)(e,"","Insert","primary").onAction((()=>r.submit()))])]),n=[],a=t=>{e.s.restore(),e.s.insertHTML(t),s()};return e.s.save(),n.push({icon:"link",name:"Link",content:o.container},{icon:"source",name:"Code",content:r.container}),o.onSubmit((e=>{a((0,h.convertMediaUrlToVideoEmbed)(e.url))})),r.onSubmit((e=>{a(e.code)})),(0,De.IL)(e,n)},tags:["iframe"],tooltip:"Insert youtube/vimeo video"},p.pw.add("video",(e=>{e.registerButton({name:"video",group:"media"})})),l.D.prototype.wrapNodes={exclude:["hr","style","br"],emptyBlockAfterInit:!0};class pi extends se.S{constructor(){super(...arguments),this.isSuitableStart=e=>oe.i.isText(e)&&(0,we.H)(e.nodeValue)&&/[^\s]/.test(e.nodeValue)||this.isNotClosed(e)&&!oe.i.isTemporary(e),this.isSuitable=e=>oe.i.isText(e)||this.isNotClosed(e),this.isNotClosed=e=>oe.i.isElement(e)&&!(oe.i.isBlock(e)||oe.i.isTag(e,this.j.o.wrapNodes.exclude))}afterInit(e){"br"!==e.o.enter.toLowerCase()&&e.e.on("drop.wtn focus.wtn keydown.wtn mousedown.wtn afterInit.wtn",this.preprocessInput,{top:!0}).on("afterInit.wtn postProcessSetEditorValue.wtn",this.postProcessSetEditorValue)}beforeDestruct(e){e.e.off(".wtn")}postProcessSetEditorValue(){const{jodit:e}=this;if(!e.isEditorMode())return;let t=e.editor.firstChild,i=!1;for(;t;){if(t=this.checkAloneListLeaf(t,e),this.isSuitableStart(t)){i||e.s.save(),i=!0;const s=e.createInside.element(e.o.enter);for(oe.i.before(t,s);t&&this.isSuitable(t);){const e=t.nextSibling;s.appendChild(t),t=e}s.normalize(),t=s}t=t&&t.nextSibling}i&&(e.s.restore(),"afterInit"===e.e.current&&e.e.fire("internalChange"))}checkAloneListLeaf(e,t){let i=e,s=e;do{if(!oe.i.isElement(s)||!oe.i.isTag(s,"li")||oe.i.isTag(s.parentElement,["ul","ol"]))break;{const e=oe.i.findNotEmptySibling(s,!1);oe.i.isTag(i,"ul")?i.appendChild(s):i=oe.i.wrap(s,"ul",t.createInside),s=e}}while(s);return i}preprocessInput(){const{jodit:e}=this,t="afterInit"===e.e.current;if(!e.isEditorMode()||e.editor.firstChild||!e.o.wrapNodes.emptyBlockAfterInit&&t)return;const i=e.createInside.element(e.o.enter),s=e.createInside.element("br");oe.i.append(i,s),oe.i.append(e.editor,i),e.s.isFocused()&&e.s.setCursorBefore(s),e.e.fire("internalChange")}}(0,a.gn)([m.autobind],pi.prototype,"postProcessSetEditorValue",null),(0,a.gn)([m.autobind],pi.prototype,"preprocessInput",null),p.pw.add("wrapNodes",pi);var mi=s(46163);function fi(e,t){if(ne.i.isFragment(t)&&(t=t.firstChild),e.o.dtd.checkBlockNesting&&ne.i.isBlock(t)){const t=ne.i.furthest(e.s.current(),ne.i.isBlock,e.editor);t&&!e.o.dtd.blockLimits[t.tagName.toLowerCase()]&&(e.s.setCursorAfter(t),ne.i.isEmpty(t)&&ne.i.safeRemove(t))}}function gi(e,t){if(!e.o.dtd.removeExtraBr||ne.i.isTag(t,"br"))return;const i=ne.i.furthest(t,ne.i.isBlock,e.editor);if(i&&!ne.i.isTag(i,["table","pre","blockquote","code"])){const i=ne.i.isTag(t,"br")?t:ne.i.findNotEmptySibling(t,!1);if(!ne.i.isTag(i,"br"))return;e.s.setCursorBefore(i),ne.i.safeRemove(i)}}l.D.prototype.dtd={removeExtraBr:!0,checkBlockNesting:!0,blockLimits:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,fieldset:1,figcaption:1,figure:1,footer:1,form:1,header:1,hgroup:1,main:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1}};class vi extends se.S{afterInit(e){}beforeDestruct(e){}__onBeforeInsertNode(e){Object.keys(i).forEach((t=>{i[t](this.j,e)}))}__onAfterInsertNode(e){Object.keys(r).forEach((t=>{r[t](this.j,e)}))}}(0,a.gn)([(0,mi.YP)(":beforeInsertNode")],vi.prototype,"__onBeforeInsertNode",null),(0,a.gn)([(0,mi.YP)(":afterInsertNode")],vi.prototype,"__onAfterInsertNode",null),p.pw.add("dtd",vi);var bi=s(60403);l.D.prototype.showXPathInStatusbar=!0,p.pw.add("xpath",class yi extends se.S{constructor(){super(...arguments),this.onContext=(e,t)=>(this.menu||(this.menu=new bi.x(this.j)),this.menu.show(t.clientX,t.clientY,[{icon:"bin",title:e===this.j.editor?"Clear":"Remove",exec:()=>{e!==this.j.editor?oe.i.safeRemove(e):this.j.value="",this.j.synchronizeValues()}},{icon:"select-all",title:"Select",exec:()=>{this.j.s.select(e)}}]),!1),this.onSelectPath=(e,t)=>{this.j.s.focus();const i=(0,h.attr)(t.target,"-path")||"/";if("/"===i)return this.j.execCommand("selectall"),!1;try{const e=this.j.ed.evaluate(i,this.j.editor,null,XPathResult.ANY_TYPE,null).iterateNext();if(e)return this.j.s.select(e),!1}catch(e){}return this.j.s.select(e),!1},this.tpl=(e,t,i,s)=>{const o=this.j.c.fromHTML(`${(0,h.trim)(i)}`),r=o.firstChild;return this.j.e.on(r,"click",this.onSelectPath.bind(this,e)).on(r,"contextmenu",this.onContext.bind(this,e)),o},this.removeSelectAll=()=>{this.selectAllButton&&(this.selectAllButton.destruct(),delete this.selectAllButton)},this.appendSelectAll=()=>{this.removeSelectAll(),this.selectAllButton=(0,ct.g)(this.j,{name:"selectall",...this.j.o.controls.selectall}),this.selectAllButton.state.size="tiny",this.container&&this.container.insertBefore(this.selectAllButton.container,this.container.firstChild)},this.calcPathImd=()=>{if(this.isDestructed)return;const e=this.j.s.current();if(this.container&&(this.container.innerHTML=c.INVISIBLE_SPACE),e){let t,i,s;oe.i.up(e,(e=>{e&&this.j.editor!==e&&!oe.i.isText(e)&&(t=e.nodeName.toLowerCase(),i=(0,h.getXPathByElement)(e,this.j.editor).replace(/^\//,""),s=this.tpl(e,i,t,this.j.i18n("Select %s",t)),this.container&&this.container.insertBefore(s,this.container.firstChild))}),this.j.editor)}this.appendSelectAll()},this.calcPath=this.j.async.debounce(this.calcPathImd,2*this.j.defaultTimeout)}afterInit(){this.j.o.showXPathInStatusbar&&(this.container=this.j.c.div("jodit-xpath"),this.j.e.off(".xpath").on("mouseup.xpath change.xpath keydown.xpath changeSelection.xpath",this.calcPath).on("afterSetMode.xpath afterInit.xpath changePlace.xpath",(()=>{this.j.o.showXPathInStatusbar&&this.container&&(this.j.statusbar.append(this.container),this.j.getRealMode()===c.MODE_WYSIWYG?this.calcPath():(this.container&&(this.container.innerHTML=c.INVISIBLE_SPACE),this.appendSelectAll()))})),this.calcPath())}beforeDestruct(){this.j&&this.j.events&&this.j.e.off(".xpath"),this.removeSelectAll(),this.menu&&this.menu.destruct(),oe.i.safeRemove(this.container),delete this.menu,delete this.container}}),Object.keys(c).forEach((e=>{Jodit[e]=c[e]}));const wi=e=>"__esModule"!==e;Object.keys(e).filter(wi).forEach((t=>{d.Icon.set(t.replace("_","-"),e[t])})),Object.keys(d).filter(wi).forEach((e=>{Jodit.modules[e]=d[e]})),Object.keys(m).filter(wi).forEach((e=>{Jodit.decorators[e]=m[e]})),["Confirm","Alert","Prompt"].forEach((e=>{Jodit[e]=d[e]})),Object.keys(E).filter(wi).forEach((e=>{Jodit.lang[e]=E[e]}));class ki{}}(),s.O(o)}()})); \ No newline at end of file diff --git a/build/jodit.js b/build/jodit.js index 0335d3bec..27bf6ff57 100644 --- a/build/jodit.js +++ b/build/jodit.js @@ -1,7 +1,7 @@ /*! * jodit - Jodit is awesome and usefully wysiwyg editor with filebrowser * Author: Chupurnov (https://xdsoft.net/) - * Version: v3.23.3 + * Version: v3.24.1 * Url: https://xdsoft.net/jodit/ * License(s): MIT */ @@ -390,7 +390,7 @@ module.exports = " /***/ }), -/***/ 6102: +/***/ 18548: /***/ (function(module) { module.exports = " " @@ -1861,9 +1861,9 @@ module.exports = function (exec, SKIP_CLOSING) { "use strict"; -var uncurryThisRaw = __webpack_require__(75223); -var toString = uncurryThisRaw({}.toString); -var stringSlice = uncurryThisRaw(''.slice); +var uncurryThis = __webpack_require__(90838); +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); module.exports = function (it) { return stringSlice(toString(it), 8, -1); }; @@ -2292,7 +2292,7 @@ module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? c "use strict"; -var uncurryThis = __webpack_require__(90838); +var uncurryThis = __webpack_require__(75114); var aCallable = __webpack_require__(98061); var NATIVE_BIND = __webpack_require__(32610); var bind = uncurryThis(uncurryThis.bind); @@ -2355,19 +2355,16 @@ module.exports = { /***/ }), -/***/ 75223: +/***/ 75114: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; -var NATIVE_BIND = __webpack_require__(32610); -var FunctionPrototype = Function.prototype; -var call = FunctionPrototype.call; -var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); -module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { - return function () { - return call.apply(fn, arguments); - }; +var classofRaw = __webpack_require__(6285); +var uncurryThis = __webpack_require__(90838); +module.exports = function (fn) { + if (classofRaw(fn) === 'Function') + return uncurryThis(fn); }; @@ -2378,11 +2375,14 @@ module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { "use strict"; -var classofRaw = __webpack_require__(6285); -var uncurryThisRaw = __webpack_require__(75223); -module.exports = function (fn) { - if (classofRaw(fn) === 'Function') - return uncurryThisRaw(fn); +var NATIVE_BIND = __webpack_require__(32610); +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; }; @@ -3637,10 +3637,10 @@ var store = __webpack_require__(45752); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.26.0', + version: '3.26.1', mode: IS_PURE ? 'pure' : 'global', copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.26.0/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE', source: 'https://github.com/zloirock/core-js' }); @@ -5734,7 +5734,7 @@ exports.__classPrivateFieldIn = __classPrivateFieldIn; /***/ }), -/***/ 80031: +/***/ 93166: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -5746,8 +5746,8 @@ exports.__classPrivateFieldIn = __classPrivateFieldIn; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Config = void 0; -var consts = __webpack_require__(47386); -var constants_1 = __webpack_require__(47386); +var consts = __webpack_require__(86893); +var constants_1 = __webpack_require__(86893); var Config = (function () { function Config() { this.defaultTimeout = 100; @@ -6087,7 +6087,7 @@ Config.prototype.controls = {}; /***/ }), -/***/ 36171: +/***/ 77536: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -6100,13 +6100,13 @@ Config.prototype.controls = {}; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Async = void 0; var tslib_1 = __webpack_require__(20255); -var async_1 = __webpack_require__(45044); -var is_function_1 = __webpack_require__(87385); -var is_plain_object_1 = __webpack_require__(76856); -var is_promise_1 = __webpack_require__(15199); -var is_string_1 = __webpack_require__(86129); -var is_number_1 = __webpack_require__(98296); -__webpack_require__(52378); +var async_1 = __webpack_require__(4696); +var is_function_1 = __webpack_require__(42096); +var is_plain_object_1 = __webpack_require__(79736); +var is_promise_1 = __webpack_require__(26335); +var is_string_1 = __webpack_require__(24421); +var is_number_1 = __webpack_require__(61817); +var assert_1 = __webpack_require__(52378); var Async = (function () { function Async() { var _this = this; @@ -6157,10 +6157,12 @@ var Async = (function () { return timer; }; Async.prototype.updateTimeout = function (label, timeout) { + void 0; if (!label || !this.timers.has(label)) { return null; } var callback = this.__callbacks.get(label); + void 0; return this.setTimeout(callback, { label: label, timeout: timeout }); }; Async.prototype.clearLabel = function (label) { @@ -6354,7 +6356,7 @@ exports.Async = Async; /***/ }), -/***/ 68029: +/***/ 22630: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -6366,12 +6368,12 @@ exports.Async = Async; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(36171), exports); +tslib_1.__exportStar(__webpack_require__(77536), exports); /***/ }), -/***/ 16867: +/***/ 45113: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -6383,10 +6385,10 @@ tslib_1.__exportStar(__webpack_require__(36171), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Component = void 0; -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -var statuses_1 = __webpack_require__(71685); -var async_1 = __webpack_require__(68029); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +var statuses_1 = __webpack_require__(29411); +var async_1 = __webpack_require__(22630); var StatusListHandlers = new Map(); var Component = (function () { function Component() { @@ -6529,7 +6531,7 @@ exports.Component = Component; /***/ }), -/***/ 95448: +/***/ 56562: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -6541,14 +6543,14 @@ exports.Component = Component; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(71685), exports); -tslib_1.__exportStar(__webpack_require__(16867), exports); -tslib_1.__exportStar(__webpack_require__(87785), exports); +tslib_1.__exportStar(__webpack_require__(29411), exports); +tslib_1.__exportStar(__webpack_require__(45113), exports); +tslib_1.__exportStar(__webpack_require__(39840), exports); /***/ }), -/***/ 71685: +/***/ 29411: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -6570,7 +6572,7 @@ exports.STATUSES = { /***/ }), -/***/ 87785: +/***/ 39840: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -6583,7 +6585,7 @@ exports.STATUSES = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ViewComponent = void 0; var tslib_1 = __webpack_require__(20255); -var component_1 = __webpack_require__(16867); +var component_1 = __webpack_require__(45113); var ViewComponent = (function (_super) { tslib_1.__extends(ViewComponent, _super); function ViewComponent(jodit) { @@ -6629,8 +6631,8 @@ exports.ViewComponent = ViewComponent; /***/ }), -/***/ 47386: -/***/ (function(__unused_webpack_module, exports) { +/***/ 86893: +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -6640,8 +6642,9 @@ exports.ViewComponent = ViewComponent; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.CLIPBOARD_ID = exports.lang = exports.TEMP_ATTR = 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_RTF = exports.TEXT_HTML = exports.TEXT_PLAIN = 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_SPACE = exports.KEY_DOWN = exports.KEY_RIGHT = exports.KEY_UP = exports.KEY_LEFT = exports.KEY_ALT = exports.KEY_ESC = exports.KEY_ENTER = exports.KEY_TAB = exports.KEY_BACKSPACE = exports.KEY_META = 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.NBSP_SPACE = exports.INVISIBLE_SPACE = void 0; +exports.CLIPBOARD_ID = exports.lang = exports.TEMP_ATTR = 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_RTF = exports.TEXT_HTML = exports.TEXT_PLAIN = 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_SPACE = exports.KEY_DOWN = exports.KEY_RIGHT = exports.KEY_UP = exports.KEY_LEFT = exports.KEY_ALT = exports.KEY_ESC = exports.KEY_ENTER = exports.KEY_TAB = exports.KEY_BACKSPACE = exports.KEY_META = exports.NO_EMPTY_TAGS = 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.NBSP_SPACE = exports.INVISIBLE_SPACE = void 0; exports.SOURCE_CONSUMER = void 0; +var tslib_1 = __webpack_require__(20255); exports.INVISIBLE_SPACE = '\uFEFF'; exports.NBSP_SPACE = '\u00A0'; var INVISIBLE_SPACE_REG_EXP = function () { return /[\uFEFF]/g; }; @@ -6658,20 +6661,23 @@ var SPACE_REG_EXP_END = function () { return /[\s\n\t\r\uFEFF\u200b]+$/g; }; exports.SPACE_REG_EXP_END = SPACE_REG_EXP_END; exports.IS_BLOCK = /^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i; exports.IS_INLINE = /^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i; -exports.INSEPARABLE_TAGS = [ +var __UNSEPARABLE_TAGS = [ 'img', - 'br', 'video', + 'svg', 'iframe', 'script', 'input', 'textarea', - 'hr', 'link', 'jodit', 'jodit-media' ]; -exports.MAY_BE_REMOVED_WITH_KEY = RegExp("^".concat(exports.INSEPARABLE_TAGS.join('|'), "$"), 'i'); +exports.INSEPARABLE_TAGS = new Set(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(__UNSEPARABLE_TAGS), false), [ + 'br', + 'hr' +], false)); +exports.NO_EMPTY_TAGS = new Set(__UNSEPARABLE_TAGS); exports.KEY_META = 'Meta'; exports.KEY_BACKSPACE = 'Backspace'; exports.KEY_TAB = 'Tab'; @@ -6771,7 +6777,7 @@ exports.SOURCE_CONSUMER = 'source-consumer'; /***/ }), -/***/ 67006: +/***/ 31897: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -6783,10 +6789,10 @@ exports.SOURCE_CONSUMER = 'source-consumer'; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Create = void 0; -var helpers_1 = __webpack_require__(83370); -__webpack_require__(52378); -var dom_1 = __webpack_require__(36516); -var constants_1 = __webpack_require__(47386); +var helpers_1 = __webpack_require__(40332); +var assert_1 = __webpack_require__(52378); +var dom_1 = __webpack_require__(64968); +var constants_1 = __webpack_require__(86893); var Create = (function () { function Create(document, createAttributes) { this.document = document; @@ -6830,6 +6836,7 @@ var Create = (function () { var iframe = this.element('iframe', { sandbox: 'allow-same-origin' }); this.doc.body.appendChild(iframe); var doc = (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.document; + void 0; if (!doc) { throw Error('Iframe error'); } @@ -6900,7 +6907,7 @@ exports.Create = Create; /***/ }), -/***/ 98693: +/***/ 42841: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -6912,12 +6919,12 @@ exports.Create = Create; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(67006), exports); +tslib_1.__exportStar(__webpack_require__(31897), exports); /***/ }), -/***/ 13818: +/***/ 32358: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -6929,7 +6936,7 @@ tslib_1.__exportStar(__webpack_require__(67006), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.cache = void 0; -var helpers_1 = __webpack_require__(83370); +var helpers_1 = __webpack_require__(40332); function cache(target, name, descriptor) { var getter = descriptor.get; if (!getter) { @@ -6954,7 +6961,7 @@ exports.cache = cache; /***/ }), -/***/ 45466: +/***/ 11441: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -6994,7 +7001,7 @@ exports.component = component; /***/ }), -/***/ 2830: +/***/ 55773: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -7006,10 +7013,10 @@ exports.component = component; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.throttle = exports.debounce = void 0; -var checker_1 = __webpack_require__(80450); -var component_1 = __webpack_require__(95448); -var error_1 = __webpack_require__(93108); -__webpack_require__(52378); +var checker_1 = __webpack_require__(10172); +var component_1 = __webpack_require__(56562); +var error_1 = __webpack_require__(56964); +var assert_1 = __webpack_require__(52378); function debounce(timeout, firstCallImmediately, method) { if (firstCallImmediately === void 0) { firstCallImmediately = false; } if (method === void 0) { method = 'debounce'; } @@ -7020,6 +7027,7 @@ function debounce(timeout, firstCallImmediately, method) { } target.hookStatus(component_1.STATUSES.ready, function (component) { var async = component.async; + void 0; var realTimeout = (0, checker_1.isFunction)(timeout) ? timeout(component) : timeout; @@ -7048,7 +7056,7 @@ exports.throttle = throttle; /***/ }), -/***/ 94867: +/***/ 70669: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -7061,7 +7069,7 @@ exports.throttle = throttle; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.derive = void 0; var tslib_1 = __webpack_require__(20255); -var checker_1 = __webpack_require__(80450); +var checker_1 = __webpack_require__(10172); function derive() { var traits = []; for (var _i = 0; _i < arguments.length; _i++) { @@ -7104,7 +7112,7 @@ exports.derive = derive; /***/ }), -/***/ 9479: +/***/ 64522: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -7116,8 +7124,8 @@ exports.derive = derive; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.hook = void 0; -var checker_1 = __webpack_require__(80450); -var error_1 = __webpack_require__(93108); +var checker_1 = __webpack_require__(10172); +var error_1 = __webpack_require__(56964); function hook(status) { return function (target, propertyKey) { if (!(0, checker_1.isFunction)(target[propertyKey])) { @@ -7133,7 +7141,7 @@ exports.hook = hook; /***/ }), -/***/ 68032: +/***/ 58682: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -7146,8 +7154,8 @@ exports.hook = hook; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.idle = void 0; var tslib_1 = __webpack_require__(20255); -var component_1 = __webpack_require__(95448); -var helpers_1 = __webpack_require__(83370); +var component_1 = __webpack_require__(56562); +var helpers_1 = __webpack_require__(40332); function idle() { return function (target, propertyKey) { if (!(0, helpers_1.isFunction)(target[propertyKey])) { @@ -7171,7 +7179,7 @@ exports.idle = idle; /***/ }), -/***/ 18731: +/***/ 43441: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -7184,23 +7192,23 @@ exports.idle = idle; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.autobind = void 0; var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(13818), exports); -tslib_1.__exportStar(__webpack_require__(45466), exports); -tslib_1.__exportStar(__webpack_require__(2830), exports); -tslib_1.__exportStar(__webpack_require__(68032), exports); -tslib_1.__exportStar(__webpack_require__(9479), exports); -tslib_1.__exportStar(__webpack_require__(53043), exports); -tslib_1.__exportStar(__webpack_require__(90100), exports); -tslib_1.__exportStar(__webpack_require__(37901), exports); -tslib_1.__exportStar(__webpack_require__(30192), exports); -tslib_1.__exportStar(__webpack_require__(94867), exports); +tslib_1.__exportStar(__webpack_require__(32358), exports); +tslib_1.__exportStar(__webpack_require__(11441), exports); +tslib_1.__exportStar(__webpack_require__(55773), exports); +tslib_1.__exportStar(__webpack_require__(58682), exports); +tslib_1.__exportStar(__webpack_require__(64522), exports); +tslib_1.__exportStar(__webpack_require__(91627), exports); +tslib_1.__exportStar(__webpack_require__(31418), exports); +tslib_1.__exportStar(__webpack_require__(67587), exports); +tslib_1.__exportStar(__webpack_require__(46163), exports); +tslib_1.__exportStar(__webpack_require__(70669), exports); var autobind_decorator_1 = __webpack_require__(70631); Object.defineProperty(exports, "autobind", ({ enumerable: true, get: function () { return autobind_decorator_1.default; } })); /***/ }), -/***/ 53043: +/***/ 91627: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -7232,7 +7240,7 @@ exports.nonenumerable = nonenumerable; /***/ }), -/***/ 90100: +/***/ 31418: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -7244,8 +7252,8 @@ exports.nonenumerable = nonenumerable; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.persistent = void 0; -var component_1 = __webpack_require__(95448); -var is_view_object_1 = __webpack_require__(33679); +var component_1 = __webpack_require__(56562); +var is_view_object_1 = __webpack_require__(96574); function persistent(target, propertyKey) { target.hookStatus(component_1.STATUSES.ready, function (component) { var jodit = (0, is_view_object_1.isViewObject)(component) @@ -7267,7 +7275,7 @@ exports.persistent = persistent; /***/ }), -/***/ 37901: +/***/ 67587: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -7280,8 +7288,8 @@ exports.persistent = persistent; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.wait = void 0; var tslib_1 = __webpack_require__(20255); -var helpers_1 = __webpack_require__(83370); -var component_1 = __webpack_require__(95448); +var helpers_1 = __webpack_require__(40332); +var component_1 = __webpack_require__(56562); function wait(condition) { return function (target, propertyKey) { var fn = target[propertyKey]; @@ -7316,7 +7324,7 @@ exports.wait = wait; /***/ }), -/***/ 30192: +/***/ 46163: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -7329,13 +7337,13 @@ exports.wait = wait; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.watch = exports.getPropertyDescriptor = void 0; var tslib_1 = __webpack_require__(20255); -var is_function_1 = __webpack_require__(87385); -var is_plain_object_1 = __webpack_require__(76856); -var is_view_object_1 = __webpack_require__(33679); -var observable_1 = __webpack_require__(34526); -var statuses_1 = __webpack_require__(71685); -var split_array_1 = __webpack_require__(11986); -var error_1 = __webpack_require__(93108); +var is_function_1 = __webpack_require__(42096); +var is_plain_object_1 = __webpack_require__(79736); +var is_view_object_1 = __webpack_require__(96574); +var observable_1 = __webpack_require__(88418); +var statuses_1 = __webpack_require__(29411); +var split_array_1 = __webpack_require__(14556); +var error_1 = __webpack_require__(56964); function getPropertyDescriptor(obj, prop) { var desc; do { @@ -7432,7 +7440,7 @@ exports["default"] = watch; /***/ }), -/***/ 65401: +/***/ 24263: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -7445,10 +7453,13 @@ exports["default"] = watch; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Dom = void 0; var tslib_1 = __webpack_require__(20255); -var consts = __webpack_require__(47386); -var helpers_1 = __webpack_require__(83370); -var selection_1 = __webpack_require__(74700); -var constants_1 = __webpack_require__(47386); +var consts = __webpack_require__(86893); +var checker_1 = __webpack_require__(10172); +var array_1 = __webpack_require__(12557); +var string_1 = __webpack_require__(19035); +var utils_1 = __webpack_require__(76502); +var is_marker_1 = __webpack_require__(37204); +var constants_1 = __webpack_require__(86893); var Dom = (function () { function Dom() { } @@ -7477,7 +7488,7 @@ var Dom = (function () { last = tmp; } } while (needFindNext); - var wrapper = (0, helpers_1.isString)(tag) ? editor.createInside.element(tag) : tag; + var wrapper = (0, checker_1.isString)(tag) ? editor.createInside.element(tag) : tag; if (first.parentNode) { first.parentNode.insertBefore(wrapper, first); } @@ -7494,10 +7505,10 @@ var Dom = (function () { return wrapper; }; Dom.wrap = function (current, tag, create) { - var wrapper = (0, helpers_1.isString)(tag) ? create.element(tag) : tag; + var wrapper = (0, checker_1.isString)(tag) ? create.element(tag) : tag; if (Dom.isNode(current)) { if (!current.parentNode) { - throw (0, helpers_1.error)('Element should be in DOM'); + throw (0, utils_1.error)('Element should be in DOM'); } current.parentNode.insertBefore(wrapper, current); wrapper.appendChild(current); @@ -7537,10 +7548,10 @@ var Dom = (function () { Dom.replace = function (elm, newTagName, create, withAttributes, notMoveContent) { if (withAttributes === void 0) { withAttributes = false; } if (notMoveContent === void 0) { notMoveContent = false; } - if ((0, helpers_1.isHTML)(newTagName)) { + if ((0, checker_1.isHTML)(newTagName)) { newTagName = create.fromHTML(newTagName); } - var tag = (0, helpers_1.isString)(newTagName) + var tag = (0, checker_1.isString)(newTagName) ? create.element(newTagName) : newTagName; if (!notMoveContent) { @@ -7549,7 +7560,7 @@ var Dom = (function () { } } if (withAttributes && Dom.isElement(elm) && Dom.isElement(tag)) { - (0, helpers_1.toArray)(elm.attributes).forEach(function (attr) { + (0, array_1.toArray)(elm.attributes).forEach(function (attr) { tag.setAttribute(attr.name, attr.value); }); } @@ -7578,30 +7589,39 @@ var Dom = (function () { }, root)); }; Dom.isEmpty = function (node, condNoEmptyElement) { - if (condNoEmptyElement === void 0) { condNoEmptyElement = /^(img|svg|canvas|input|textarea|form)$/; } + if (condNoEmptyElement === void 0) { condNoEmptyElement = constants_1.NO_EMPTY_TAGS; } if (!node) { return true; } + var cond; + if (!(0, checker_1.isFunction)(condNoEmptyElement)) { + cond = function (elm) { + return condNoEmptyElement.has(elm.nodeName.toLowerCase()); + }; + } + else { + cond = condNoEmptyElement; + } + var emptyText = function (node) { + return node.nodeValue == null || (0, string_1.trim)(node.nodeValue).length === 0; + }; if (Dom.isText(node)) { - return node.nodeValue == null || (0, helpers_1.trim)(node.nodeValue).length === 0; + return emptyText(node); } - return (!condNoEmptyElement.test(node.nodeName.toLowerCase()) && + return (!(Dom.isElement(node) && cond(node)) && Dom.each(node, function (elm) { - if ((Dom.isText(elm) && - elm.nodeValue != null && - (0, helpers_1.trim)(elm.nodeValue).length !== 0) || - (Dom.isElement(elm) && - condNoEmptyElement.test(elm.nodeName.toLowerCase()))) { + if ((Dom.isText(elm) && !emptyText(elm)) || + (Dom.isElement(elm) && cond(elm))) { return false; } })); }; Dom.isNode = function (object) { return Boolean(object && - (0, helpers_1.isString)(object.nodeName) && + (0, checker_1.isString)(object.nodeName) && typeof object.nodeType === 'number' && object.childNodes && - (0, helpers_1.isFunction)(object.appendChild)); + (0, checker_1.isFunction)(object.appendChild)); }; Dom.isCell = function (elm) { return Dom.isNode(elm) && /^(td|th)$/i.test(elm.nodeName); @@ -7610,7 +7630,7 @@ var Dom = (function () { return (Dom.isNode(elm) && /^(img|svg|picture|canvas)$/i.test(elm.nodeName)); }; Dom.isBlock = function (node) { - return (!(0, helpers_1.isVoid)(node) && + return (!(0, checker_1.isVoid)(node) && typeof node === 'object' && Dom.isNode(node) && consts.IS_BLOCK.test(node.nodeName)); @@ -7645,10 +7665,10 @@ var Dom = (function () { Dom.isInlineBlock = function (node) { return (Dom.isElement(node) && !/^(BR|HR)$/i.test(node.tagName) && - ['inline', 'inline-block'].indexOf((0, helpers_1.css)(node, 'display').toString()) !== -1); + ['inline', 'inline-block'].indexOf((0, utils_1.css)(node, 'display').toString()) !== -1); }; Dom.canSplitBlock = function (node) { - return (!(0, helpers_1.isVoid)(node) && + return (!(0, checker_1.isVoid)(node) && Dom.isHTMLElement(node) && Dom.isBlock(node) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && @@ -7820,12 +7840,12 @@ var Dom = (function () { return Dom.findSibling(node, left, function (n) { var _a; return (!Dom.isEmptyTextNode(n) && - Boolean(!Dom.isText(n) || (((_a = n.nodeValue) === null || _a === void 0 ? void 0 : _a.length) && (0, helpers_1.trim)(n.nodeValue)))); + Boolean(!Dom.isText(n) || (((_a = n.nodeValue) === null || _a === void 0 ? void 0 : _a.length) && (0, string_1.trim)(n.nodeValue)))); }); }; Dom.findNotEmptyNeighbor = function (node, left, root) { - return (0, helpers_1.call)(left ? Dom.prev : Dom.next, node, function (n) { - return Boolean(n && (!Dom.isText(n) || (0, helpers_1.trim)((n === null || n === void 0 ? void 0 : n.nodeValue) || '').length)); + return (0, utils_1.call)(left ? Dom.prev : Dom.next, node, function (n) { + return Boolean(n && (!Dom.isText(n) || (0, string_1.trim)((n === null || n === void 0 ? void 0 : n.nodeValue) || '').length)); }, root); }; Dom.sibling = function (node, left) { @@ -7853,18 +7873,19 @@ var Dom = (function () { }; Dom.closest = function (node, tagsOrCondition, root) { var condition; - if ((0, helpers_1.isFunction)(tagsOrCondition)) { + var lc = function (s) { return s.toLowerCase(); }; + if ((0, checker_1.isFunction)(tagsOrCondition)) { condition = tagsOrCondition; } - else if ((0, helpers_1.isArray)(tagsOrCondition)) { + else if ((0, checker_1.isArray)(tagsOrCondition)) { + var set_1 = new Set(tagsOrCondition.map(lc)); condition = function (tag) { - return Boolean(tag && - tagsOrCondition.includes(tag.nodeName.toLowerCase())); + return Boolean(tag && set_1.has(lc(tag.nodeName))); }; } else { condition = function (tag) { - return Boolean(tag && tagsOrCondition === tag.nodeName.toLowerCase()); + return Boolean(tag && lc(tagsOrCondition) === lc(tag.nodeName)); }; } return Dom.up(node, condition, root); @@ -7914,7 +7935,7 @@ var Dom = (function () { }; Dom.append = function (root, newElement) { var _this = this; - if ((0, helpers_1.isArray)(newElement)) { + if ((0, checker_1.isArray)(newElement)) { newElement.forEach(function (node) { _this.append(root, node); }); @@ -7923,10 +7944,19 @@ var Dom = (function () { root.appendChild(newElement); } }; - Dom.moveContent = function (from, to, inStart) { + Dom.moveContent = function (from, to, inStart, filter) { if (inStart === void 0) { inStart = false; } + if (filter === void 0) { filter = function () { return true; }; } var fragment = (from.ownerDocument || document).createDocumentFragment(); - (0, helpers_1.toArray)(from.childNodes).forEach(function (node) { + (0, array_1.toArray)(from.childNodes) + .filter(function (elm) { + if (filter(elm)) { + return true; + } + Dom.safeRemove(elm); + return false; + }) + .forEach(function (node) { fragment.appendChild(node); }); if (!inStart || !to.firstChild) { @@ -7963,44 +7993,51 @@ var Dom = (function () { if (!node) { return; } - (0, helpers_1.dataBind)(node, '__old_display', node.style.display); + (0, utils_1.dataBind)(node, '__old_display', node.style.display); node.style.display = 'none'; }; Dom.show = function (node) { if (!node) { return; } - var display = (0, helpers_1.dataBind)(node, '__old_display'); + var display = (0, utils_1.dataBind)(node, '__old_display'); if (node.style.display === 'none') { node.style.display = display || ''; } }; Dom.isTag = function (node, tagNames) { - var tags = (0, helpers_1.asArray)(tagNames).map(String); + if (!this.isElement(node)) { + return false; + } + var nameL = node.tagName.toLowerCase(); + var nameU = node.tagName.toUpperCase(); + if (tagNames instanceof Set) { + return tagNames.has(nameL) || tagNames.has(nameU); + } + var tags = (0, array_1.asArray)(tagNames).map(function (s) { return String(s).toLowerCase(); }); for (var i = 0; i < tags.length; i += 1) { - if (this.isElement(node) && - node.tagName.toLowerCase() === tags[i].toLowerCase()) { + if (nameL === tags[i] || nameU === tags[i]) { return true; } } return false; }; Dom.markTemporary = function (element, attributes) { - attributes && (0, helpers_1.attr)(element, attributes); - (0, helpers_1.attr)(element, constants_1.TEMP_ATTR, true); + attributes && (0, utils_1.attr)(element, attributes); + (0, utils_1.attr)(element, constants_1.TEMP_ATTR, true); return element; }; Dom.isTemporary = function (element) { if (!Dom.isElement(element)) { return false; } - return selection_1.Select.isMarker(element) || (0, helpers_1.attr)(element, constants_1.TEMP_ATTR) === 'true'; + return (0, is_marker_1.isMarker)(element) || (0, utils_1.attr)(element, constants_1.TEMP_ATTR) === 'true'; }; Dom.replaceTemporaryFromString = function (value) { return value.replace(/<([a-z]+)[^>]+data-jodit-temp[^>]+>(.+?)<\/\1>/gi, '$2'); }; Dom.temporaryList = function (root) { - return (0, helpers_1.$$)("[".concat(constants_1.TEMP_ATTR, "]"), root); + return (0, utils_1.$$)("[".concat(constants_1.TEMP_ATTR, "]"), root); }; return Dom; }()); @@ -8009,7 +8046,7 @@ exports.Dom = Dom; /***/ }), -/***/ 36516: +/***/ 64968: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -8021,13 +8058,13 @@ exports.Dom = Dom; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(65401), exports); -tslib_1.__exportStar(__webpack_require__(20847), exports); +tslib_1.__exportStar(__webpack_require__(24263), exports); +tslib_1.__exportStar(__webpack_require__(33841), exports); /***/ }), -/***/ 20847: +/***/ 33841: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -8040,9 +8077,9 @@ tslib_1.__exportStar(__webpack_require__(20847), exports); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.LazyWalker = void 0; var tslib_1 = __webpack_require__(20255); -var eventify_1 = __webpack_require__(36090); -var decorators_1 = __webpack_require__(18731); -var dom_1 = __webpack_require__(65401); +var eventify_1 = __webpack_require__(73852); +var decorators_1 = __webpack_require__(43441); +var dom_1 = __webpack_require__(24263); var LazyWalker = (function (_super) { tslib_1.__extends(LazyWalker, _super); function LazyWalker(async, options) { @@ -8141,7 +8178,7 @@ exports.LazyWalker = LazyWalker; /***/ }), -/***/ 80192: +/***/ 3808: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -8154,12 +8191,12 @@ exports.LazyWalker = LazyWalker; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.EventEmitter = void 0; var tslib_1 = __webpack_require__(20255); -var store_1 = __webpack_require__(8554); -var is_string_1 = __webpack_require__(86129); -var is_function_1 = __webpack_require__(87385); -var is_array_1 = __webpack_require__(41515); -var error_1 = __webpack_require__(93108); -var split_array_1 = __webpack_require__(11986); +var store_1 = __webpack_require__(83611); +var is_string_1 = __webpack_require__(24421); +var is_function_1 = __webpack_require__(42096); +var is_array_1 = __webpack_require__(49781); +var error_1 = __webpack_require__(56964); +var split_array_1 = __webpack_require__(14556); var EventEmitter = (function () { function EventEmitter(doc) { var _this = this; @@ -8615,7 +8652,7 @@ exports.EventEmitter = EventEmitter; /***/ }), -/***/ 36090: +/***/ 73852: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -8671,7 +8708,7 @@ exports.Eventify = Eventify; /***/ }), -/***/ 51850: +/***/ 55395: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -8683,15 +8720,15 @@ exports.Eventify = Eventify; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(80192), exports); -tslib_1.__exportStar(__webpack_require__(36090), exports); -tslib_1.__exportStar(__webpack_require__(34526), exports); -tslib_1.__exportStar(__webpack_require__(8554), exports); +tslib_1.__exportStar(__webpack_require__(3808), exports); +tslib_1.__exportStar(__webpack_require__(73852), exports); +tslib_1.__exportStar(__webpack_require__(88418), exports); +tslib_1.__exportStar(__webpack_require__(83611), exports); /***/ }), -/***/ 34526: +/***/ 88418: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -8704,10 +8741,10 @@ tslib_1.__exportStar(__webpack_require__(8554), exports); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.observable = void 0; var tslib_1 = __webpack_require__(20255); -var is_array_1 = __webpack_require__(41515); -var is_equal_1 = __webpack_require__(13739); -var is_plain_object_1 = __webpack_require__(76856); -var watch_1 = __webpack_require__(30192); +var is_array_1 = __webpack_require__(49781); +var is_equal_1 = __webpack_require__(32756); +var is_plain_object_1 = __webpack_require__(79736); +var watch_1 = __webpack_require__(46163); var OBSERVABLE_OBJECT = Symbol('observable-object'); function isObservableObject(obj) { return obj[OBSERVABLE_OBJECT] !== undefined; @@ -8817,7 +8854,7 @@ exports.observable = observable; /***/ }), -/***/ 8554: +/***/ 83611: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -8829,8 +8866,8 @@ exports.observable = observable; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.EventHandlersStore = exports.defaultNameSpace = void 0; -__webpack_require__(52378); -var to_array_1 = __webpack_require__(58260); +var assert_1 = __webpack_require__(52378); +var to_array_1 = __webpack_require__(1853); exports.defaultNameSpace = 'JoditEventDefaultNamespace'; var EventHandlersStore = (function () { function EventHandlersStore() { @@ -8839,6 +8876,7 @@ var EventHandlersStore = (function () { EventHandlersStore.prototype.get = function (event, namespace) { if (this.__store.has(namespace)) { var ns = this.__store.get(namespace); + void 0; return ns[event]; } }; @@ -8901,7 +8939,7 @@ exports.EventHandlersStore = EventHandlersStore; /***/ }), -/***/ 16672: +/***/ 17332: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -8913,14 +8951,14 @@ exports.EventHandlersStore = EventHandlersStore; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.eventEmitter = exports.getContainer = exports.extendLang = exports.modules = exports.pluginSystem = exports.uniqueUid = exports.instances = void 0; -var plugin_system_1 = __webpack_require__(60154); -var dom_1 = __webpack_require__(36516); -var event_emitter_1 = __webpack_require__(51850); -var is_jodit_object_1 = __webpack_require__(12866); -var is_view_object_1 = __webpack_require__(33679); -var get_class_name_1 = __webpack_require__(870); -var kebab_case_1 = __webpack_require__(72919); -var constants_1 = __webpack_require__(47386); +var plugin_system_1 = __webpack_require__(44540); +var dom_1 = __webpack_require__(64968); +var event_emitter_1 = __webpack_require__(55395); +var is_jodit_object_1 = __webpack_require__(77892); +var is_view_object_1 = __webpack_require__(96574); +var get_class_name_1 = __webpack_require__(87247); +var kebab_case_1 = __webpack_require__(11278); +var constants_1 = __webpack_require__(86893); exports.instances = {}; var counter = 1; var uuids = new Set(); @@ -8996,7 +9034,7 @@ exports.eventEmitter = new event_emitter_1.EventEmitter(); /***/ }), -/***/ 6663: +/***/ 34578: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9008,14 +9046,14 @@ exports.eventEmitter = new event_emitter_1.EventEmitter(); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.asArray = void 0; -var is_array_1 = __webpack_require__(41515); +var is_array_1 = __webpack_require__(49781); var asArray = function (a) { return ((0, is_array_1.isArray)(a) ? a : [a]); }; exports.asArray = asArray; /***/ }), -/***/ 47968: +/***/ 12557: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9027,17 +9065,17 @@ exports.asArray = asArray; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.toArray = exports.splitArray = exports.asArray = void 0; -var as_array_1 = __webpack_require__(6663); +var as_array_1 = __webpack_require__(34578); Object.defineProperty(exports, "asArray", ({ enumerable: true, get: function () { return as_array_1.asArray; } })); -var split_array_1 = __webpack_require__(11986); +var split_array_1 = __webpack_require__(14556); Object.defineProperty(exports, "splitArray", ({ enumerable: true, get: function () { return split_array_1.splitArray; } })); -var to_array_1 = __webpack_require__(58260); +var to_array_1 = __webpack_require__(1853); Object.defineProperty(exports, "toArray", ({ enumerable: true, get: function () { return to_array_1.toArray; } })); /***/ }), -/***/ 11986: +/***/ 14556: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9057,7 +9095,7 @@ exports.splitArray = splitArray; /***/ }), -/***/ 58260: +/***/ 1853: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9069,8 +9107,8 @@ exports.splitArray = splitArray; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.toArray = void 0; -var reset_1 = __webpack_require__(943); -var is_native_function_1 = __webpack_require__(67940); +var reset_1 = __webpack_require__(80861); +var is_native_function_1 = __webpack_require__(28069); exports.toArray = function toArray() { var _a; var args = []; @@ -9086,7 +9124,7 @@ exports.toArray = function toArray() { /***/ }), -/***/ 45044: +/***/ 4696: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9098,12 +9136,12 @@ exports.toArray = function toArray() { */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(81778), exports); +tslib_1.__exportStar(__webpack_require__(27512), exports); /***/ }), -/***/ 81778: +/***/ 27512: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9138,7 +9176,7 @@ exports.clearTimeout = clearTimeout; /***/ }), -/***/ 31987: +/***/ 31553: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9155,8 +9193,8 @@ function hasBrowserColorPicker() { try { var a = document.createElement('input'); a.type = 'color'; - supportsColor = - a.type === 'color' && typeof a.selectionStart !== 'number'; + a.value = '!'; + supportsColor = a.type === 'color' && a.value !== '!'; } catch (e) { supportsColor = false; @@ -9168,7 +9206,7 @@ exports.hasBrowserColorPicker = hasBrowserColorPicker; /***/ }), -/***/ 80450: +/***/ 10172: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9180,33 +9218,34 @@ exports.hasBrowserColorPicker = hasBrowserColorPicker; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(31987), exports); -tslib_1.__exportStar(__webpack_require__(41515), exports); -tslib_1.__exportStar(__webpack_require__(10152), exports); -tslib_1.__exportStar(__webpack_require__(13739), exports); -tslib_1.__exportStar(__webpack_require__(87385), exports); -tslib_1.__exportStar(__webpack_require__(22372), exports); -tslib_1.__exportStar(__webpack_require__(25348), exports); -tslib_1.__exportStar(__webpack_require__(30529), exports); -tslib_1.__exportStar(__webpack_require__(45845), exports); -tslib_1.__exportStar(__webpack_require__(12866), exports); -tslib_1.__exportStar(__webpack_require__(33679), exports); -tslib_1.__exportStar(__webpack_require__(28060), exports); -tslib_1.__exportStar(__webpack_require__(67940), exports); -tslib_1.__exportStar(__webpack_require__(98296), exports); -tslib_1.__exportStar(__webpack_require__(37381), exports); -tslib_1.__exportStar(__webpack_require__(76856), exports); -tslib_1.__exportStar(__webpack_require__(15199), exports); -tslib_1.__exportStar(__webpack_require__(86129), exports); -tslib_1.__exportStar(__webpack_require__(42139), exports); -tslib_1.__exportStar(__webpack_require__(12027), exports); -tslib_1.__exportStar(__webpack_require__(62061), exports); -tslib_1.__exportStar(__webpack_require__(64892), exports); - - -/***/ }), - -/***/ 41515: +tslib_1.__exportStar(__webpack_require__(31553), exports); +tslib_1.__exportStar(__webpack_require__(49781), exports); +tslib_1.__exportStar(__webpack_require__(67749), exports); +tslib_1.__exportStar(__webpack_require__(32756), exports); +tslib_1.__exportStar(__webpack_require__(42096), exports); +tslib_1.__exportStar(__webpack_require__(66869), exports); +tslib_1.__exportStar(__webpack_require__(72543), exports); +tslib_1.__exportStar(__webpack_require__(33156), exports); +tslib_1.__exportStar(__webpack_require__(93578), exports); +tslib_1.__exportStar(__webpack_require__(77892), exports); +tslib_1.__exportStar(__webpack_require__(96574), exports); +tslib_1.__exportStar(__webpack_require__(60280), exports); +tslib_1.__exportStar(__webpack_require__(28069), exports); +tslib_1.__exportStar(__webpack_require__(61817), exports); +tslib_1.__exportStar(__webpack_require__(57649), exports); +tslib_1.__exportStar(__webpack_require__(79736), exports); +tslib_1.__exportStar(__webpack_require__(26335), exports); +tslib_1.__exportStar(__webpack_require__(24421), exports); +tslib_1.__exportStar(__webpack_require__(64350), exports); +tslib_1.__exportStar(__webpack_require__(19179), exports); +tslib_1.__exportStar(__webpack_require__(24021), exports); +tslib_1.__exportStar(__webpack_require__(85994), exports); +tslib_1.__exportStar(__webpack_require__(37204), exports); + + +/***/ }), + +/***/ 49781: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9226,7 +9265,7 @@ exports.isArray = isArray; /***/ }), -/***/ 10152: +/***/ 67749: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9246,7 +9285,7 @@ exports.isBoolean = isBoolean; /***/ }), -/***/ 13739: +/***/ 32756: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9258,7 +9297,7 @@ exports.isBoolean = isBoolean; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isFastEqual = exports.isEqual = void 0; -var stringify_1 = __webpack_require__(58753); +var stringify_1 = __webpack_require__(42554); function isEqual(a, b) { return a === b || (0, stringify_1.stringify)(a) === (0, stringify_1.stringify)(b); } @@ -9271,7 +9310,7 @@ exports.isFastEqual = isFastEqual; /***/ }), -/***/ 87385: +/***/ 42096: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9291,7 +9330,7 @@ exports.isFunction = isFunction; /***/ }), -/***/ 25348: +/***/ 72543: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9313,7 +9352,7 @@ exports.isHtmlFromWord = isHtmlFromWord; /***/ }), -/***/ 22372: +/***/ 66869: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9325,7 +9364,7 @@ exports.isHtmlFromWord = isHtmlFromWord; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isHTML = void 0; -var is_string_1 = __webpack_require__(86129); +var is_string_1 = __webpack_require__(24421); var isHTML = function (str) { return (0, is_string_1.isString)(str) && /<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(str.replace(/[\r\n]/g, '')); @@ -9335,7 +9374,7 @@ exports.isHTML = isHTML; /***/ }), -/***/ 30529: +/***/ 33156: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9347,9 +9386,9 @@ exports.isHTML = isHTML; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.hasContainer = exports.isDestructable = exports.isInitable = void 0; -var is_function_1 = __webpack_require__(87385); -var dom_1 = __webpack_require__(65401); -var is_void_1 = __webpack_require__(62061); +var is_function_1 = __webpack_require__(42096); +var dom_1 = __webpack_require__(24263); +var is_void_1 = __webpack_require__(24021); function isInitable(value) { return !(0, is_void_1.isVoid)(value) && (0, is_function_1.isFunction)(value.init); } @@ -9366,7 +9405,7 @@ exports.hasContainer = hasContainer; /***/ }), -/***/ 45845: +/***/ 93578: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9378,8 +9417,8 @@ exports.hasContainer = hasContainer; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isInt = void 0; -var is_numeric_1 = __webpack_require__(37381); -var is_string_1 = __webpack_require__(86129); +var is_numeric_1 = __webpack_require__(57649); +var is_string_1 = __webpack_require__(24421); function isInt(value) { if ((0, is_string_1.isString)(value) && (0, is_numeric_1.isNumeric)(value)) { value = parseFloat(value); @@ -9391,7 +9430,7 @@ exports.isInt = isInt; /***/ }), -/***/ 12866: +/***/ 77892: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9403,7 +9442,7 @@ exports.isInt = isInt; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isJoditObject = void 0; -var is_function_1 = __webpack_require__(87385); +var is_function_1 = __webpack_require__(42096); function isJoditObject(jodit) { return Boolean(jodit && jodit instanceof Object && @@ -9416,7 +9455,7 @@ exports.isJoditObject = isJoditObject; /***/ }), -/***/ 28060: +/***/ 60280: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9428,7 +9467,7 @@ exports.isJoditObject = isJoditObject; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isLicense = void 0; -var is_string_1 = __webpack_require__(86129); +var is_string_1 = __webpack_require__(24421); var isLicense = function (license) { return (0, is_string_1.isString)(license) && license.length === 23 && @@ -9439,7 +9478,31 @@ exports.isLicense = isLicense; /***/ }), -/***/ 67940: +/***/ 37204: +/***/ (function(__unused_webpack_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-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.isMarker = void 0; +var dom_1 = __webpack_require__(24263); +var constants_1 = __webpack_require__(86893); +function isMarker(elm) { + return (dom_1.Dom.isNode(elm) && + dom_1.Dom.isTag(elm, 'span') && + elm.hasAttribute('data-' + constants_1.MARKER_CLASS)); +} +exports.isMarker = isMarker; + + +/***/ }), + +/***/ 28069: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9462,7 +9525,7 @@ exports.isNativeFunction = isNativeFunction; /***/ }), -/***/ 98296: +/***/ 61817: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9482,7 +9545,7 @@ exports.isNumber = isNumber; /***/ }), -/***/ 37381: +/***/ 57649: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9494,7 +9557,7 @@ exports.isNumber = isNumber; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isNumeric = void 0; -var is_string_1 = __webpack_require__(86129); +var is_string_1 = __webpack_require__(24421); function isNumeric(value) { if ((0, is_string_1.isString)(value)) { if (!value.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/)) { @@ -9509,7 +9572,7 @@ exports.isNumeric = isNumeric; /***/ }), -/***/ 76856: +/***/ 79736: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9521,7 +9584,7 @@ exports.isNumeric = isNumeric; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isPlainObject = void 0; -var is_window_1 = __webpack_require__(64892); +var is_window_1 = __webpack_require__(85994); function isPlainObject(obj) { if (!obj || typeof obj !== 'object' || obj.nodeType || (0, is_window_1.isWindow)(obj)) { return false; @@ -9534,7 +9597,7 @@ exports.isPlainObject = isPlainObject; /***/ }), -/***/ 15199: +/***/ 26335: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9554,7 +9617,7 @@ exports.isPromise = isPromise; /***/ }), -/***/ 86129: +/***/ 24421: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9566,7 +9629,7 @@ exports.isPromise = isPromise; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isStringArray = exports.isString = void 0; -var is_array_1 = __webpack_require__(41515); +var is_array_1 = __webpack_require__(49781); function isString(value) { return typeof value === 'string'; } @@ -9579,7 +9642,7 @@ exports.isStringArray = isStringArray; /***/ }), -/***/ 42139: +/***/ 64350: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9613,7 +9676,7 @@ exports.isURL = isURL; /***/ }), -/***/ 12027: +/***/ 19179: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9636,7 +9699,7 @@ exports.isValidName = isValidName; /***/ }), -/***/ 33679: +/***/ 96574: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9648,7 +9711,7 @@ exports.isValidName = isValidName; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isViewObject = void 0; -var is_function_1 = __webpack_require__(87385); +var is_function_1 = __webpack_require__(42096); function isViewObject(jodit) { return Boolean(jodit && jodit instanceof Object && @@ -9660,7 +9723,7 @@ exports.isViewObject = isViewObject; /***/ }), -/***/ 62061: +/***/ 24021: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9680,7 +9743,7 @@ exports.isVoid = isVoid; /***/ }), -/***/ 64892: +/***/ 85994: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9700,7 +9763,7 @@ exports.isWindow = isWindow; /***/ }), -/***/ 96485: +/***/ 13203: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -9739,7 +9802,7 @@ exports.colorToHex = colorToHex; /***/ }), -/***/ 24044: +/***/ 61354: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9751,12 +9814,12 @@ exports.colorToHex = colorToHex; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(96485), exports); +tslib_1.__exportStar(__webpack_require__(13203), exports); /***/ }), -/***/ 65083: +/***/ 66546: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9768,9 +9831,9 @@ tslib_1.__exportStar(__webpack_require__(96485), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.applyStyles = void 0; -var dom_1 = __webpack_require__(65401); -var utils_1 = __webpack_require__(38301); -var trim_1 = __webpack_require__(89681); +var dom_1 = __webpack_require__(24263); +var utils_1 = __webpack_require__(76502); +var trim_1 = __webpack_require__(33941); function normalizeCSS(s) { return s .replace(/mso-[a-z-]+:[\s]*[^;]+;/gi, '') @@ -9863,7 +9926,7 @@ exports.applyStyles = applyStyles; /***/ }), -/***/ 35728: +/***/ 33316: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -9875,9 +9938,9 @@ exports.applyStyles = applyStyles; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.cleanFromWord = void 0; -var dom_1 = __webpack_require__(65401); -var trim_1 = __webpack_require__(89681); -var to_array_1 = __webpack_require__(58260); +var dom_1 = __webpack_require__(24263); +var trim_1 = __webpack_require__(33941); +var to_array_1 = __webpack_require__(1853); function cleanFromWord(html) { if (html.indexOf(' 0) { - Object.keys(style).forEach(function (rule) { - var inlineValue = elm.style.getPropertyValue((0, kebab_case_1.kebabCase)(rule)); - if (inlineValue === '' && style[rule] == null) { - return; - } - if (getNativeCSSValue(jodit, elm, rule) === - (0, normalize_css_value_1.normalizeCssValue)(rule, style[rule])) { - !dry && (0, css_1.css)(elm, rule, null); - mode = commit_style_1.UNSET; - mode = removeExtraStyleAttribute(commitStyle, elm, mode); - return; - } - mode = commit_style_1.CHANGE; - !dry && (0, css_1.css)(elm, rule, style[rule]); - if (!dry) { - mode = removeExtraStyleAttribute(commitStyle, elm, mode); + if (!dry && commitStyle.isApplied(elm, tak)) { + return mode; + } + !dry && commitStyle.setApplied(elm, tak); + var attributes = commitStyle.options.attributes; + if (attributes && (0, object_size_1.size)(attributes) > 0) { + Object.keys(attributes).forEach(function (key) { + var value = attributes[key]; + switch (key) { + case 'style': { + mode = toggleStyle(commitStyle, jodit, value, elm, dry, mode); + break; + } + case 'class': + mode = toggleClass(jodit, value, elm, mode, dry); + break; + default: + mode = toggleAttribute(jodit, value, elm, key, dry, mode); } }); } - if (className) { - if (elm.classList.contains(className)) { - elm.classList.remove(className); + return mode; +} +exports.toggleAttributes = toggleAttributes; +function toggleStyle(commitStyle, jodit, style, elm, dry, mode) { + void 0; + Object.keys(style).forEach(function (rule) { + var inlineValue = elm.style.getPropertyValue((0, kebab_case_1.kebabCase)(rule)); + var newValue = style[rule]; + if (inlineValue === '' && newValue == null) { + return; + } + if (getNativeCSSValue(jodit, elm, rule) === + (0, normalize_css_value_1.normalizeCssValue)(rule, newValue)) { + if (!inlineValue) { + return; + } + !dry && (0, css_1.css)(elm, rule, null); mode = commit_style_1.UNSET; + mode = removeExtraStyleAttribute(commitStyle, elm, mode); + return; } - else { - elm.classList.add(className); - mode = commit_style_1.CHANGE; + mode = commit_style_1.CHANGE; + if (!dry) { + (0, css_1.css)(elm, rule, newValue); + mode = removeExtraStyleAttribute(commitStyle, elm, mode); + } + }); + return mode; +} +function toggleClass(jodit, value, elm, mode, dry) { + void 0; + var hook = jodit.e.fire.bind(jodit.e, "".concat(commit_style_1._PREFIX, "AfterToggleAttribute")); + if (elm.classList.contains(value.toString())) { + mode = commit_style_1.UNSET; + if (!dry) { + elm.classList.remove(value); + if (elm.classList.length === 0) { + (0, utils_1.attr)(elm, 'class', null); + hook(mode, elm, 'class', null); + } + } + } + else { + mode = commit_style_1.CHANGE; + if (!dry) { + elm.classList.add(value); + hook(mode, elm, 'class', value); } } return mode; } -exports.toggleCSS = toggleCSS; +function toggleAttribute(jodit, value, elm, key, dry, mode) { + void 0; + var hook = jodit.e.fire.bind(jodit.e, "".concat(commit_style_1._PREFIX, "AfterToggleAttribute")); + if ((0, utils_1.attr)(elm, key) === value) { + !dry && (0, utils_1.attr)(elm, key, null); + mode = commit_style_1.UNSET; + !dry && hook(mode, elm, key, value); + return mode; + } + mode = commit_style_1.CHANGE; + if (!dry) { + (0, utils_1.attr)(elm, key, value); + hook(mode, elm, key, value); + } + return mode; +} function removeExtraStyleAttribute(commitStyle, elm, mode) { if (!(0, utils_1.attr)(elm, 'style')) { (0, utils_1.attr)(elm, 'style', null); @@ -14824,49 +15144,7 @@ function getNativeCSSValue(jodit, elm, key) { /***/ }), -/***/ 42597: -/***/ (function(__unused_webpack_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-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.toggleOrderedList = void 0; -var dom_1 = __webpack_require__(36516); -var extract_1 = __webpack_require__(93369); -var commit_style_1 = __webpack_require__(17846); -var toggle_css_1 = __webpack_require__(36924); -function toggleOrderedList(style, li, jodit, mode) { - if (!li) { - return mode; - } - var list = li.parentElement; - if (!list) { - return mode; - } - if (list.tagName.toLowerCase() !== style.element) { - var newList = dom_1.Dom.replace(list, style.element, jodit.createInside); - (0, toggle_css_1.toggleCSS)(style, newList, jodit, mode); - return commit_style_1.REPLACE; - } - if ((0, toggle_css_1.toggleCSS)(style, li.parentElement, jodit, commit_style_1.INITIAL, true) === commit_style_1.CHANGE) { - return (0, toggle_css_1.toggleCSS)(style, li.parentElement, jodit, mode); - } - (0, extract_1.extractSelectedPart)(list, li, jodit); - dom_1.Dom.unwrap(li.parentElement); - dom_1.Dom.replace(li, jodit.o.enter, jodit.createInside); - return mode; -} -exports.toggleOrderedList = toggleOrderedList; - - -/***/ }), - -/***/ 65837: +/***/ 26707: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -14878,22 +15156,23 @@ exports.toggleOrderedList = toggleOrderedList; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.unwrapChildren = void 0; -var dom_1 = __webpack_require__(36516); -var is_suit_element_1 = __webpack_require__(55649); -var helpers_1 = __webpack_require__(83370); -var element_has_same_style_1 = __webpack_require__(49771); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(40332); +var has_same_style_1 = __webpack_require__(18387); +var is_suit_element_1 = __webpack_require__(74477); function unwrapChildren(style, font) { + var _a; var needUnwrap = []; var needChangeStyle = []; var firstElementSuit; - var cssStyle = style.options.style; + var cssStyle = (_a = style.options.attributes) === null || _a === void 0 ? void 0 : _a.style; if (font.firstChild) { var gen = dom_1.Dom.eachGen(font); var item = gen.next(); var _loop_1 = function () { var elm = item.value; if ((0, is_suit_element_1.isSuitElement)(style, elm, true) && - (!cssStyle || (0, element_has_same_style_1.elementHasSameStyleKeys)(elm, cssStyle))) { + (!cssStyle || (0, has_same_style_1.hasSameStyleKeys)(elm, cssStyle))) { if (firstElementSuit === undefined) { firstElementSuit = true; } @@ -14937,92 +15216,7 @@ exports.unwrapChildren = unwrapChildren; /***/ }), -/***/ 30149: -/***/ (function(__unused_webpack_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-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.wrapAndCommitStyle = void 0; -var dom_1 = __webpack_require__(36516); -var wrap_unwrapped_text_1 = __webpack_require__(46679); -var helpers_1 = __webpack_require__(83370); -var wrap_ordered_list_1 = __webpack_require__(43294); -function wrapAndCommitStyle(commitStyle, font, jodit) { - var wrapper = findOrCreateWrapper(commitStyle, font, jodit); - return commitStyle.elementIsList - ? (0, wrap_ordered_list_1.wrapOrderedList)(commitStyle, wrapper, jodit) - : dom_1.Dom.replace(wrapper, commitStyle.element, jodit.createInside, true); -} -exports.wrapAndCommitStyle = wrapAndCommitStyle; -function findOrCreateWrapper(commitStyle, font, jodit) { - if (commitStyle.elementIsBlock) { - var box = dom_1.Dom.up(font, function (node) { - return dom_1.Dom.isBlock(node) && - !dom_1.Dom.isTag(node, [ - 'td', - 'th', - 'tr', - 'tbody', - 'table', - 'li', - 'ul', - 'ol' - ]); - }, jodit.editor); - if (box) { - return box; - } - } - if (commitStyle.elementIsBlock) { - return (0, wrap_unwrapped_text_1.wrapUnwrappedText)(commitStyle, font, jodit, jodit.s.createRange); - } - (0, helpers_1.attr)(font, 'size', null); - return font; -} - - -/***/ }), - -/***/ 43294: -/***/ (function(__unused_webpack_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-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net - */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.wrapOrderedList = void 0; -var dom_1 = __webpack_require__(36516); -function wrapOrderedList(commitStyle, wrapper, jodit) { - var newWrapper = dom_1.Dom.replace(wrapper, 'li', jodit.createInside); - var list = newWrapper.previousElementSibling || newWrapper.nextElementSibling; - if (!dom_1.Dom.isTag(list, ['ul', 'ol'])) { - list = jodit.createInside.element(commitStyle.element); - dom_1.Dom.before(newWrapper, list); - } - if (newWrapper.previousElementSibling === list) { - dom_1.Dom.append(list, newWrapper); - } - else { - dom_1.Dom.prepend(list, newWrapper); - } - return list; -} -exports.wrapOrderedList = wrapOrderedList; - - -/***/ }), - -/***/ 46679: +/***/ 6278: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15034,12 +15228,13 @@ exports.wrapOrderedList = wrapOrderedList; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.wrapUnwrappedText = void 0; -var dom_1 = __webpack_require__(36516); -function wrapUnwrappedText(style, elm, jodit, getRange) { +var dom_1 = __webpack_require__(24263); +var is_marker_1 = __webpack_require__(37204); +function wrapUnwrappedText(style, elm, jodit) { var root = jodit.editor, ci = jodit.createInside, edge = function (n, key) { if (key === void 0) { key = 'previousSibling'; } var edgeNode = n, node = n; - while (node) { + while (node && !(0, is_marker_1.isMarker)(node)) { if (dom_1.Dom.isTag(node, jodit.o.enter)) { break; } @@ -15062,7 +15257,7 @@ function wrapUnwrappedText(style, elm, jodit, getRange) { return edgeNode; }; var start = edge(elm), end = edge(elm, 'nextSibling'); - var range = getRange(); + var range = jodit.s.createRange(); range.setStartBefore(start); range.setEndAfter(end); var fragment = range.extractContents(); @@ -15082,7 +15277,57 @@ exports.wrapUnwrappedText = wrapUnwrappedText; /***/ }), -/***/ 15137: +/***/ 8298: +/***/ (function(__unused_webpack_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-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.wrap = void 0; +var dom_1 = __webpack_require__(64968); +var wrap_unwrapped_text_1 = __webpack_require__(6278); +var utils_1 = __webpack_require__(67309); +var wrap_list_1 = __webpack_require__(29271); +function wrap(commitStyle, font, jodit) { + var wrapper = findOrCreateWrapper(commitStyle, font, jodit); + return commitStyle.elementIsList + ? (0, wrap_list_1.wrapList)(commitStyle, wrapper, jodit) + : dom_1.Dom.replace(wrapper, commitStyle.element, jodit.createInside, true); +} +exports.wrap = wrap; +function findOrCreateWrapper(commitStyle, font, jodit) { + if (commitStyle.elementIsBlock) { + var box = dom_1.Dom.up(font, function (node) { + return dom_1.Dom.isBlock(node) && + !dom_1.Dom.isTag(node, [ + 'td', + 'th', + 'tr', + 'tbody', + 'table', + 'li', + 'ul', + 'ol' + ]); + }, jodit.editor); + if (box) { + return box; + } + return (0, wrap_unwrapped_text_1.wrapUnwrappedText)(commitStyle, font, jodit); + } + (0, utils_1.attr)(font, 'size', null); + return font; +} + + +/***/ }), + +/***/ 3097: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15094,147 +15339,39 @@ exports.wrapUnwrappedText = wrapUnwrappedText; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ApplyStyle = void 0; -var helpers_1 = __webpack_require__(83370); -var api_1 = __webpack_require__(44205); -var commit_style_1 = __webpack_require__(17846); -var dom_1 = __webpack_require__(36516); -var api_2 = __webpack_require__(44205); +var normalize_node_1 = __webpack_require__(74504); +var api_1 = __webpack_require__(66162); +var transactions_1 = __webpack_require__(33090); +var commit_style_1 = __webpack_require__(70851); function ApplyStyle(jodit, cs) { var sel = jodit.s, editor = jodit.editor; - var fsm = new api_2.FiniteStateMachine('start', { - start: { - start: function () { - sel.save(); - (0, helpers_1.normalizeNode)(editor.firstChild); - this.setState('generator'); - } - }, - generator: { - initGenerator: function () { - return jodit.s.wrapInTagGen(); - }, - nextFont: function (gen) { - var font = gen.next(); - if (font.done) { - this.setState('end'); - return; - } - if ((0, api_1.isInsideInvisibleElement)(font.value, editor) || - dom_1.Dom.isEmptyContent(font.value)) { - return; - } - this.setState('check'); - return font.value; - } - }, - check: { - work: function (font) { - var elm = (0, api_1.getSuitParent)(cs, font, jodit.editor) || - (0, api_1.getSuitChild)(cs, font); - if (elm) { - this.setState('wholeElement'); - return elm; - } - elm = dom_1.Dom.closest(font, function (node) { return (0, api_2.isSuitElement)(cs, node, true); }, jodit.editor); - if (elm) { - if (!cs.elementIsBlock) { - (0, api_2.extractSelectedPart)(elm, font, jodit); - } - } - if (cs.elementIsList && dom_1.Dom.isTag(elm, ['ul', 'ol'])) { - this.setState('orderList'); - return font; - } - if (elm) { - this.setState('wholeElement'); - return elm; - } - if ((0, api_1.unwrapChildren)(cs, font)) { - this.setState('endProcess'); - return null; - } - this.setState('wrap'); - return font; - } - }, - wholeElement: { - toggleStyles: function (toggleElm) { - var mode = commit_style_1.INITIAL; - if ((0, api_1.toggleCommitStyles)(cs, toggleElm, jodit)) { - mode = commit_style_1.UNWRAP; - } - else { - mode = (0, api_2.toggleCSS)(cs, toggleElm, jodit, mode); - } - this.setState('generator', mode); - } - }, - orderList: { - toggleStyles: function (font) { - var mode = commit_style_1.INITIAL; - var li = dom_1.Dom.closest(font, 'li', jodit.editor); - if (!li) { - this.setState('generator'); - return; - } - var ul = dom_1.Dom.closest(font, ['ul', 'ol'], jodit.editor); - if (!ul) { - this.setState('generator'); - return; - } - mode = (0, api_2.toggleOrderedList)(cs, li, jodit, mode); - if (mode === commit_style_1.REPLACE || mode === commit_style_1.UNWRAP || mode === commit_style_1.CHANGE) { - this.setState('endWhile'); - return; - } - this.setState('generator'); - } - }, - wrap: { - toggleStyles: function (font) { - if (this.getSubState() !== 'unwrap') { - var toggleElm = (0, api_2.wrapAndCommitStyle)(cs, font, jodit); - (0, api_2.toggleCSS)(cs, toggleElm, jodit, commit_style_1.WRAP); - } - this.setState('generator'); - } - }, - endWhile: { - nextFont: function (gen) { - var font = gen.next(); - if (font.done) { - this.setState('end'); - } - } - }, - endProcess: { - toggleStyles: function () { - this.setState('generator'); - } - }, - end: { - finalize: function () { - sel.restore(); - } - } - }); - fsm.dispatch('start'); - var gen = fsm.dispatch('initGenerator'); - while (fsm.getState() !== 'end') { - var font = fsm.dispatch('nextFont', gen); - if (font) { - var wrapper = fsm.dispatch('work', font); - fsm.dispatch('toggleStyles', wrapper); - } - } - fsm.dispatch('finalize', gen); + sel.save(); + (0, normalize_node_1.normalizeNode)(editor.firstChild); + var gen = jodit.s.wrapInTagGen(); + var font = gen.next(); + var state = { + mode: commit_style_1.INITIAL, + element: font.value, + next: transactions_1.states.START, + jodit: jodit, + style: cs + }; + while (font && !font.done) { + var machine = new api_1.FiniteStateMachine(transactions_1.states.START, transactions_1.transactions); + state.element = font.value; + while (machine.getState() !== transactions_1.states.END) { + state = machine.dispatch('exec', state); + } + font = gen.next(); + } + sel.restore(); } exports.ApplyStyle = ApplyStyle; /***/ }), -/***/ 17846: +/***/ 70851: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15245,19 +15382,36 @@ exports.ApplyStyle = ApplyStyle; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.CommitStyle = exports.REPLACE = exports.INITIAL = exports.UNSET = exports.CHANGE = exports.UNWRAP = exports.WRAP = void 0; -var constants_1 = __webpack_require__(47386); -var apply_style_1 = __webpack_require__(15137); +exports.CommitStyle = exports._PREFIX = exports.REPLACE = exports.INITIAL = exports.UNSET = exports.CHANGE = exports.UNWRAP = exports.WRAP = void 0; +var constants_1 = __webpack_require__(86893); +var camel_case_1 = __webpack_require__(26596); +var apply_style_1 = __webpack_require__(3097); exports.WRAP = 'wrap'; exports.UNWRAP = 'unwrap'; exports.CHANGE = 'change'; exports.UNSET = 'unset'; exports.INITIAL = 'initial'; exports.REPLACE = 'replace'; +exports._PREFIX = 'commitStyle'; var CommitStyle = (function () { function CommitStyle(options) { this.options = options; + this.__applyMap = new WeakMap(); + options.attributes = deprecatedUsing(this, options.attributes); } + CommitStyle.prototype.isApplied = function (elm, key) { + var data = this.__applyMap.get(elm); + if (!data) { + return false; + } + return data[key]; + }; + CommitStyle.prototype.setApplied = function (elm, key) { + var _a; + var data = (_a = this.__applyMap.get(elm)) !== null && _a !== void 0 ? _a : {}; + data[key] = true; + this.__applyMap.set(elm, data); + }; Object.defineProperty(CommitStyle.prototype, "elementIsList", { get: function () { return Boolean(this.options.element && ['ul', 'ol'].includes(this.options.element)); @@ -15305,16 +15459,205 @@ var CommitStyle = (function () { configurable: true }); CommitStyle.prototype.apply = function (jodit) { - (0, apply_style_1.ApplyStyle)(jodit, this); + var hooks = this.options.hooks; + try { + hooks && + Object.keys(hooks).forEach(function (key) { + jodit.e.on((0, camel_case_1.camelCase)(exports._PREFIX + '_' + key), hooks[key]); + }); + (0, apply_style_1.ApplyStyle)(jodit, this); + } + finally { + hooks && + Object.keys(hooks).forEach(function (key) { + jodit.e.off((0, camel_case_1.camelCase)(exports._PREFIX + '_' + key), hooks[key]); + }); + this.__applyMap = new WeakMap(); + } }; return CommitStyle; }()); exports.CommitStyle = CommitStyle; +function deprecatedUsing(commitStyle, attributes) { + var _a = commitStyle.options, style = _a.style, className = _a.className; + if (style) { + if (attributes) { + attributes.style = style; + } + else { + attributes = { style: style }; + } + delete commitStyle.options.style; + } + if (className) { + if (attributes) { + attributes['class'] = className; + } + else { + attributes = { class: className }; + } + delete commitStyle.options.className; + } + return attributes; +} /***/ }), -/***/ 21525: +/***/ 33090: +/***/ (function(__unused_webpack_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-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.transactions = exports.states = void 0; +var tslib_1 = __webpack_require__(20255); +var selection_1 = __webpack_require__(46325); +var api_1 = __webpack_require__(66162); +var dom_1 = __webpack_require__(64968); +var selection_2 = __webpack_require__(46325); +var assert_1 = __webpack_require__(52378); +exports.states = { + START: 'START', + ELEMENT: 'ELEMENT', + UNWRAP: 'UNWRAP', + UNWRAP_CHILDREN: 'UNWRAP_CHILDREN', + CHANGE: 'CHANGE', + REPLACE_DEFAULT: 'REPLACE_DEFAULT', + LIST: 'LIST', + TOGGLE_LIST: 'TOGGLE_LIST', + WRAP: 'WRAP', + EXTRACT: 'EXTRACT', + END: 'END' +}; +exports.transactions = (_a = {}, + _a[exports.states.START] = { + exec: function (value) { + var element = value.element, jodit = value.jodit, style = value.style, mode = value.mode; + if ((0, api_1.isInsideInvisibleElement)(element, jodit.editor) || + dom_1.Dom.isEmptyContent(element)) { + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.END }); + } + var elm = (0, api_1.getSuitParent)(style, element, jodit.editor) || + (0, api_1.getSuitChild)(style, element); + if (elm) { + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.ELEMENT, element: elm }); + } + var suit = (0, api_1.findSuitClosest)(style, element, jodit.editor); + if (style.elementIsList && dom_1.Dom.isTag(suit, ['ul', 'ol'])) { + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.LIST }); + } + if (suit) { + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.EXTRACT }); + } + return tslib_1.__assign(tslib_1.__assign({}, value), { next: mode !== selection_2.UNWRAP ? exports.states.UNWRAP_CHILDREN : exports.states.END }); + } + }, + _a[exports.states.LIST] = { + exec: function (value) { + var element = value.element, jodit = value.jodit, mode = value.mode; + if (mode !== selection_2.INITIAL && mode !== selection_2.UNWRAP && mode !== selection_1.REPLACE) { + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.END }); + } + var li = dom_1.Dom.closest(element, 'li', jodit.editor); + if (!li) { + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.END }); + } + var list = dom_1.Dom.closest(element, ['ul', 'ol'], jodit.editor); + if (list) { + return tslib_1.__assign(tslib_1.__assign({}, value), { element: li, next: exports.states.TOGGLE_LIST }); + } + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.END }); + } + }, + _a[exports.states.TOGGLE_LIST] = { + exec: function (value) { + return tslib_1.__assign(tslib_1.__assign({}, value), { mode: (0, api_1.toggleOrderedList)(value.style, value.element, value.jodit, value.mode), next: exports.states.END }); + } + }, + _a[exports.states.EXTRACT] = { + exec: function (value) { + var element = value.element, jodit = value.jodit, style = value.style; + var suit = (0, api_1.findSuitClosest)(style, element, jodit.editor); + void 0; + if (!style.elementIsBlock) { + (0, api_1.extractSelectedPart)(suit, element, jodit); + } + return tslib_1.__assign(tslib_1.__assign({}, value), { element: suit, next: exports.states.ELEMENT }); + } + }, + _a[exports.states.UNWRAP_CHILDREN] = { + exec: function (value) { + var element = value.element, style = value.style; + if (!(0, api_1.unwrapChildren)(style, element)) { + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.WRAP }); + } + return tslib_1.__assign(tslib_1.__assign({}, value), { mode: selection_2.UNWRAP, next: exports.states.END }); + } + }, + _a[exports.states.WRAP] = { + exec: function (value) { + var element = value.element, jodit = value.jodit, style = value.style; + var wrapper = (0, api_1.wrap)(style, element, jodit); + return tslib_1.__assign(tslib_1.__assign({}, value), { next: style.elementIsList ? exports.states.END : exports.states.CHANGE, mode: selection_2.WRAP, element: wrapper }); + } + }, + _a[exports.states.ELEMENT] = { + exec: function (value) { + var style = value.style, element = value.element, jodit = value.jodit; + if ((0, api_1.toggleAttributes)(style, element, jodit, selection_2.INITIAL, true) !== + selection_2.INITIAL) { + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.CHANGE }); + } + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.UNWRAP }); + } + }, + _a[exports.states.CHANGE] = { + exec: function (value) { + var style = value.style, element = value.element, jodit = value.jodit, mode = value.mode; + var newMode = (0, api_1.toggleAttributes)(style, element, jodit, value.mode); + if (mode !== selection_2.WRAP && + newMode === selection_2.UNSET && + !element.attributes.length && + dom_1.Dom.isTag(element, style.element)) { + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.UNWRAP }); + } + return tslib_1.__assign(tslib_1.__assign({}, value), { mode: newMode, next: exports.states.END }); + } + }, + _a[exports.states.UNWRAP] = { + exec: function (value) { + if (value.element.attributes.length && + dom_1.Dom.isTag(value.element, value.style.element)) { + return tslib_1.__assign(tslib_1.__assign({}, value), { next: exports.states.REPLACE_DEFAULT }); + } + dom_1.Dom.unwrap(value.element); + return tslib_1.__assign(tslib_1.__assign({}, value), { mode: selection_2.UNWRAP, next: exports.states.END }); + } + }, + _a[exports.states.REPLACE_DEFAULT] = { + exec: function (value) { + dom_1.Dom.replace(value.element, value.style.defaultTag, value.jodit.createInside, true); + return tslib_1.__assign(tslib_1.__assign({}, value), { mode: selection_1.REPLACE, next: exports.states.END }); + } + }, + _a[exports.states.END] = { + exec: function (value) { + return value; + } + }, + _a); + + +/***/ }), + +/***/ 75764: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -15392,7 +15735,7 @@ exports.LocalStorageProvider = LocalStorageProvider; /***/ }), -/***/ 73849: +/***/ 79905: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -15433,7 +15776,7 @@ exports.MemoryStorageProvider = MemoryStorageProvider; /***/ }), -/***/ 95704: +/***/ 77462: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15445,14 +15788,14 @@ exports.MemoryStorageProvider = MemoryStorageProvider; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(73849), exports); -tslib_1.__exportStar(__webpack_require__(21525), exports); -tslib_1.__exportStar(__webpack_require__(68305), exports); +tslib_1.__exportStar(__webpack_require__(79905), exports); +tslib_1.__exportStar(__webpack_require__(75764), exports); +tslib_1.__exportStar(__webpack_require__(52015), exports); /***/ }), -/***/ 68305: +/***/ 52015: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15464,9 +15807,9 @@ tslib_1.__exportStar(__webpack_require__(68305), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Storage = exports.StorageKey = void 0; -var helpers_1 = __webpack_require__(83370); -var local_storage_provider_1 = __webpack_require__(21525); -var memory_storage_provider_1 = __webpack_require__(73849); +var helpers_1 = __webpack_require__(40332); +var local_storage_provider_1 = __webpack_require__(75764); +var memory_storage_provider_1 = __webpack_require__(79905); exports.StorageKey = 'Jodit_'; var Storage = (function () { function Storage(provider, suffix) { @@ -15512,7 +15855,7 @@ exports.Storage = Storage; /***/ }), -/***/ 36766: +/***/ 59363: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15525,8 +15868,8 @@ exports.Storage = Storage; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Dlgs = void 0; var tslib_1 = __webpack_require__(20255); -var modules_1 = __webpack_require__(18870); -var helpers_1 = __webpack_require__(83370); +var modules_1 = __webpack_require__(87837); +var helpers_1 = __webpack_require__(40332); var Dlgs = (function () { function Dlgs() { } @@ -15567,7 +15910,7 @@ exports.Dlgs = Dlgs; /***/ }), -/***/ 21996: +/***/ 14089: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15579,7 +15922,7 @@ exports.Dlgs = Dlgs; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Elms = void 0; -var to_array_1 = __webpack_require__(58260); +var to_array_1 = __webpack_require__(1853); var Elms = (function () { function Elms() { } @@ -15596,7 +15939,7 @@ exports.Elms = Elms; /***/ }), -/***/ 44535: +/***/ 59829: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15608,14 +15951,14 @@ exports.Elms = Elms; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(21996), exports); -tslib_1.__exportStar(__webpack_require__(50463), exports); -tslib_1.__exportStar(__webpack_require__(36766), exports); +tslib_1.__exportStar(__webpack_require__(14089), exports); +tslib_1.__exportStar(__webpack_require__(41681), exports); +tslib_1.__exportStar(__webpack_require__(59363), exports); /***/ }), -/***/ 50463: +/***/ 41681: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15627,8 +15970,8 @@ tslib_1.__exportStar(__webpack_require__(36766), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Mods = void 0; -var to_array_1 = __webpack_require__(58260); -var is_void_1 = __webpack_require__(62061); +var to_array_1 = __webpack_require__(1853); +var is_void_1 = __webpack_require__(24021); var Mods = (function () { function Mods() { } @@ -15662,7 +16005,7 @@ exports.Mods = Mods; /***/ }), -/***/ 6816: +/***/ 96031: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15676,15 +16019,15 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Button = exports.UIButton = exports.UIButtonState = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(93330); -var element_1 = __webpack_require__(96659); -var dom_1 = __webpack_require__(65401); -var utils_1 = __webpack_require__(38301); -var is_string_1 = __webpack_require__(86129); -var is_function_1 = __webpack_require__(87385); -var icon_1 = __webpack_require__(80353); -var list_1 = __webpack_require__(81287); -var decorators_1 = __webpack_require__(18731); -var statuses_1 = __webpack_require__(71685); +var element_1 = __webpack_require__(53929); +var dom_1 = __webpack_require__(24263); +var utils_1 = __webpack_require__(76502); +var is_string_1 = __webpack_require__(24421); +var is_function_1 = __webpack_require__(42096); +var icon_1 = __webpack_require__(77904); +var list_1 = __webpack_require__(47970); +var decorators_1 = __webpack_require__(43441); +var statuses_1 = __webpack_require__(29411); var UIButtonState = function () { return ({ size: 'middle', type: 'button', @@ -15885,7 +16228,7 @@ exports.Button = Button; /***/ }), -/***/ 22261: +/***/ 67252: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15899,10 +16242,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UIButtonGroup = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(45066); -var group_1 = __webpack_require__(31454); -var component_1 = __webpack_require__(45466); -var button_1 = __webpack_require__(6816); -__webpack_require__(52378); +var group_1 = __webpack_require__(61479); +var component_1 = __webpack_require__(11441); +var button_1 = __webpack_require__(96031); +var assert_1 = __webpack_require__(52378); var UIButtonGroup = (function (_super) { tslib_1.__extends(UIButtonGroup, _super); function UIButtonGroup(jodit, options) { @@ -15934,6 +16277,7 @@ var UIButtonGroup = (function (_super) { }; UIButtonGroup.prototype.appendChildToContainer = function (childContainer) { var options = this.getElm('options'); + void 0; options.appendChild(childContainer); }; UIButtonGroup.prototype.select = function (indexOrValue) { @@ -15966,7 +16310,7 @@ exports.UIButtonGroup = UIButtonGroup; /***/ }), -/***/ 25242: +/***/ 96516: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15978,14 +16322,14 @@ exports.UIButtonGroup = UIButtonGroup; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(6816), exports); -tslib_1.__exportStar(__webpack_require__(22261), exports); -tslib_1.__exportStar(__webpack_require__(86130), exports); +tslib_1.__exportStar(__webpack_require__(96031), exports); +tslib_1.__exportStar(__webpack_require__(67252), exports); +tslib_1.__exportStar(__webpack_require__(33627), exports); /***/ }), -/***/ 86130: +/***/ 33627: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -15999,10 +16343,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UITooltip = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(99895); -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -var decorators_1 = __webpack_require__(18731); -var element_1 = __webpack_require__(96659); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +var decorators_1 = __webpack_require__(43441); +var element_1 = __webpack_require__(53929); var UITooltip = (function (_super) { tslib_1.__extends(UITooltip, _super); function UITooltip(view) { @@ -16093,7 +16437,7 @@ exports.UITooltip = UITooltip; /***/ }), -/***/ 96659: +/***/ 53929: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16106,12 +16450,12 @@ exports.UITooltip = UITooltip; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UIElement = void 0; var tslib_1 = __webpack_require__(20255); -var component_1 = __webpack_require__(95448); -var dom_1 = __webpack_require__(65401); -var traits_1 = __webpack_require__(44535); -var is_string_1 = __webpack_require__(86129); -var icon_1 = __webpack_require__(80353); -var decorators_1 = __webpack_require__(18731); +var component_1 = __webpack_require__(56562); +var dom_1 = __webpack_require__(24263); +var traits_1 = __webpack_require__(59829); +var is_string_1 = __webpack_require__(24421); +var icon_1 = __webpack_require__(77904); +var decorators_1 = __webpack_require__(43441); var UIElement = (function (_super) { tslib_1.__extends(UIElement, _super); function UIElement(jodit, options) { @@ -16230,7 +16574,7 @@ exports.UIElement = UIElement; /***/ }), -/***/ 15324: +/***/ 38318: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16244,9 +16588,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UIBlock = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(87682); -var group_1 = __webpack_require__(31454); -var utils_1 = __webpack_require__(38301); -var component_1 = __webpack_require__(45466); +var group_1 = __webpack_require__(61479); +var utils_1 = __webpack_require__(76502); +var component_1 = __webpack_require__(11441); var UIBlock = (function (_super) { tslib_1.__extends(UIBlock, _super); function UIBlock(jodit, elements, options) { @@ -16277,7 +16621,7 @@ exports.UIBlock = UIBlock; /***/ }), -/***/ 7281: +/***/ 26207: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16290,12 +16634,12 @@ exports.UIBlock = UIBlock; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UIForm = void 0; var tslib_1 = __webpack_require__(20255); -var group_1 = __webpack_require__(31454); -var input_1 = __webpack_require__(97288); -var select_1 = __webpack_require__(54619); -var utils_1 = __webpack_require__(38301); -var component_1 = __webpack_require__(45466); -var component_2 = __webpack_require__(16867); +var group_1 = __webpack_require__(61479); +var input_1 = __webpack_require__(30194); +var select_1 = __webpack_require__(75840); +var utils_1 = __webpack_require__(76502); +var component_1 = __webpack_require__(11441); +var component_2 = __webpack_require__(45113); var UIForm = (function (_super) { tslib_1.__extends(UIForm, _super); function UIForm() { @@ -16389,7 +16733,7 @@ exports.UIForm = UIForm; /***/ }), -/***/ 20935: +/***/ 95963: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16401,14 +16745,14 @@ exports.UIForm = UIForm; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(7281), exports); -tslib_1.__exportStar(__webpack_require__(28116), exports); -tslib_1.__exportStar(__webpack_require__(15324), exports); +tslib_1.__exportStar(__webpack_require__(26207), exports); +tslib_1.__exportStar(__webpack_require__(63034), exports); +tslib_1.__exportStar(__webpack_require__(38318), exports); /***/ }), -/***/ 61986: +/***/ 21639: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16422,8 +16766,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UITextArea = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(50905); -var input_1 = __webpack_require__(97288); -var component_1 = __webpack_require__(45466); +var input_1 = __webpack_require__(30194); +var component_1 = __webpack_require__(11441); var UITextArea = (function (_super) { tslib_1.__extends(UITextArea, _super); function UITextArea(jodit, state) { @@ -16455,7 +16799,7 @@ exports.UITextArea = UITextArea; /***/ }), -/***/ 82082: +/***/ 63747: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16469,9 +16813,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UICheckbox = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(70446); -var input_1 = __webpack_require__(97288); -var decorators_1 = __webpack_require__(18731); -var dom_1 = __webpack_require__(65401); +var input_1 = __webpack_require__(30194); +var decorators_1 = __webpack_require__(43441); +var dom_1 = __webpack_require__(24263); var UICheckbox = (function (_super) { tslib_1.__extends(UICheckbox, _super); function UICheckbox(jodit, options) { @@ -16533,7 +16877,7 @@ exports.UICheckbox = UICheckbox; /***/ }), -/***/ 32460: +/***/ 41374: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16547,9 +16891,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UIFileInput = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(18984); -var input_1 = __webpack_require__(97288); -var component_1 = __webpack_require__(45466); -var button_1 = __webpack_require__(6816); +var input_1 = __webpack_require__(30194); +var component_1 = __webpack_require__(11441); +var button_1 = __webpack_require__(96031); var UIFileInput = (function (_super) { tslib_1.__extends(UIFileInput, _super); function UIFileInput(jodit, options) { @@ -16589,7 +16933,7 @@ exports.UIFileInput = UIFileInput; /***/ }), -/***/ 28116: +/***/ 63034: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16601,16 +16945,16 @@ exports.UIFileInput = UIFileInput; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(97288), exports); -tslib_1.__exportStar(__webpack_require__(61986), exports); -tslib_1.__exportStar(__webpack_require__(82082), exports); -tslib_1.__exportStar(__webpack_require__(54619), exports); -tslib_1.__exportStar(__webpack_require__(32460), exports); +tslib_1.__exportStar(__webpack_require__(30194), exports); +tslib_1.__exportStar(__webpack_require__(21639), exports); +tslib_1.__exportStar(__webpack_require__(63747), exports); +tslib_1.__exportStar(__webpack_require__(75840), exports); +tslib_1.__exportStar(__webpack_require__(41374), exports); /***/ }), -/***/ 97288: +/***/ 30194: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16624,13 +16968,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UIInput = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(4591); -var element_1 = __webpack_require__(96659); -var utils_1 = __webpack_require__(38301); -var to_array_1 = __webpack_require__(58260); -var dom_1 = __webpack_require__(65401); -var decorators_1 = __webpack_require__(18731); -var icon_1 = __webpack_require__(80353); -var validators_1 = __webpack_require__(96238); +var element_1 = __webpack_require__(53929); +var utils_1 = __webpack_require__(76502); +var to_array_1 = __webpack_require__(1853); +var dom_1 = __webpack_require__(24263); +var decorators_1 = __webpack_require__(43441); +var icon_1 = __webpack_require__(77904); +var validators_1 = __webpack_require__(60081); var UIInput = (function (_super) { tslib_1.__extends(UIInput, _super); function UIInput(jodit, options) { @@ -16846,7 +17190,7 @@ exports.UIInput = UIInput; /***/ }), -/***/ 54619: +/***/ 75840: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16860,10 +17204,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UISelect = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(64194); -var utils_1 = __webpack_require__(32389); -var component_1 = __webpack_require__(45466); -var input_1 = __webpack_require__(97288); -var validators_1 = __webpack_require__(96238); +var utils_1 = __webpack_require__(67309); +var component_1 = __webpack_require__(11441); +var input_1 = __webpack_require__(30194); +var validators_1 = __webpack_require__(60081); var UISelect = (function (_super) { tslib_1.__extends(UISelect, _super); function UISelect(jodit, state) { @@ -16923,7 +17267,7 @@ exports.UISelect = UISelect; /***/ }), -/***/ 96238: +/***/ 60081: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16935,13 +17279,13 @@ exports.UISelect = UISelect; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.selectValidators = exports.inputValidators = void 0; -exports.inputValidators = __webpack_require__(15061); -exports.selectValidators = __webpack_require__(29800); +exports.inputValidators = __webpack_require__(63355); +exports.selectValidators = __webpack_require__(65935); /***/ }), -/***/ 15061: +/***/ 63355: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16953,8 +17297,8 @@ exports.selectValidators = __webpack_require__(29800); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.url = exports.required = void 0; -var is_url_1 = __webpack_require__(42139); -var trim_1 = __webpack_require__(89681); +var is_url_1 = __webpack_require__(64350); +var trim_1 = __webpack_require__(33941); exports.required = function (input) { if (!(0, trim_1.trim)(input.value).length) { input.error = 'Please fill out this field'; @@ -16973,7 +17317,7 @@ exports.url = function (input) { /***/ }), -/***/ 29800: +/***/ 65935: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -16985,7 +17329,7 @@ exports.url = function (input) { */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.required = void 0; -var trim_1 = __webpack_require__(89681); +var trim_1 = __webpack_require__(33941); exports.required = function (select) { if (!(0, trim_1.trim)(select.value).length) { select.error = 'Please fill out this field'; @@ -16997,7 +17341,7 @@ exports.required = function (select) { /***/ }), -/***/ 31454: +/***/ 61479: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17011,12 +17355,12 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UIGroup = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(70375); -var element_1 = __webpack_require__(96659); -var decorators_1 = __webpack_require__(18731); -var helpers_1 = __webpack_require__(83370); -__webpack_require__(52378); -var dom_1 = __webpack_require__(65401); -var component_1 = __webpack_require__(16867); +var element_1 = __webpack_require__(53929); +var decorators_1 = __webpack_require__(43441); +var helpers_1 = __webpack_require__(40332); +var assert_1 = __webpack_require__(52378); +var dom_1 = __webpack_require__(24263); +var component_1 = __webpack_require__(45113); var UIGroup = (function (_super) { tslib_1.__extends(UIGroup, _super); function UIGroup(jodit, elements, options) { @@ -17072,6 +17416,7 @@ var UIGroup = (function (_super) { } if (distElement) { var distElm = this.getElm(distElement); + void 0; distElm.appendChild(elm.container); } else { @@ -17121,7 +17466,7 @@ exports.UIGroup = UIGroup; /***/ }), -/***/ 86586: +/***/ 3249: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17133,15 +17478,15 @@ exports.UIGroup = UIGroup; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(31454), exports); -tslib_1.__exportStar(__webpack_require__(81287), exports); -tslib_1.__exportStar(__webpack_require__(33250), exports); -tslib_1.__exportStar(__webpack_require__(81402), exports); +tslib_1.__exportStar(__webpack_require__(61479), exports); +tslib_1.__exportStar(__webpack_require__(47970), exports); +tslib_1.__exportStar(__webpack_require__(75018), exports); +tslib_1.__exportStar(__webpack_require__(58495), exports); /***/ }), -/***/ 81287: +/***/ 47970: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17155,16 +17500,16 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UIList = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(90235); -var get_strong_control_types_1 = __webpack_require__(20704); -var decorators_1 = __webpack_require__(18731); -var group_1 = __webpack_require__(31454); -var separator_1 = __webpack_require__(33250); -var spacer_1 = __webpack_require__(81402); -var button_1 = __webpack_require__(6816); -var buttons_1 = __webpack_require__(20220); -var get_control_type_1 = __webpack_require__(58240); -var split_array_1 = __webpack_require__(11986); -var component_1 = __webpack_require__(16867); +var get_strong_control_types_1 = __webpack_require__(32070); +var decorators_1 = __webpack_require__(43441); +var group_1 = __webpack_require__(61479); +var separator_1 = __webpack_require__(75018); +var spacer_1 = __webpack_require__(58495); +var button_1 = __webpack_require__(96031); +var buttons_1 = __webpack_require__(97642); +var get_control_type_1 = __webpack_require__(38546); +var split_array_1 = __webpack_require__(14556); +var component_1 = __webpack_require__(45113); var UIList = (function (_super) { tslib_1.__extends(UIList, _super); function UIList(jodit) { @@ -17291,7 +17636,7 @@ exports.UIList = UIList; /***/ }), -/***/ 33250: +/***/ 75018: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17304,8 +17649,8 @@ exports.UIList = UIList; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UISeparator = void 0; var tslib_1 = __webpack_require__(20255); -var element_1 = __webpack_require__(96659); -var component_1 = __webpack_require__(45466); +var element_1 = __webpack_require__(53929); +var component_1 = __webpack_require__(11441); var UISeparator = (function (_super) { tslib_1.__extends(UISeparator, _super); function UISeparator() { @@ -17324,7 +17669,7 @@ exports.UISeparator = UISeparator; /***/ }), -/***/ 81402: +/***/ 58495: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17337,8 +17682,8 @@ exports.UISeparator = UISeparator; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UISpacer = void 0; var tslib_1 = __webpack_require__(20255); -var element_1 = __webpack_require__(96659); -var component_1 = __webpack_require__(45466); +var element_1 = __webpack_require__(53929); +var component_1 = __webpack_require__(11441); var UISpacer = (function (_super) { tslib_1.__extends(UISpacer, _super); function UISpacer() { @@ -17357,7 +17702,7 @@ exports.UISpacer = UISpacer; /***/ }), -/***/ 20220: +/***/ 97642: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17370,7 +17715,7 @@ exports.UISpacer = UISpacer; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.flatButtonsSet = exports.isButtonGroup = void 0; var tslib_1 = __webpack_require__(20255); -var is_array_1 = __webpack_require__(41515); +var is_array_1 = __webpack_require__(49781); var isButtonGroup = function (item) { return (0, is_array_1.isArray)(item.buttons); }; @@ -17393,7 +17738,7 @@ exports.flatButtonsSet = flatButtonsSet; /***/ }), -/***/ 58240: +/***/ 38546: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17406,8 +17751,8 @@ exports.flatButtonsSet = flatButtonsSet; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.findControlType = exports.getControlType = void 0; var tslib_1 = __webpack_require__(20255); -var helpers_1 = __webpack_require__(83370); -var config_1 = __webpack_require__(80031); +var helpers_1 = __webpack_require__(40332); +var config_1 = __webpack_require__(93166); function getControlType(button, controls) { var buttonControl; if (!controls) { @@ -17448,7 +17793,7 @@ exports.findControlType = findControlType; /***/ }), -/***/ 20704: +/***/ 32070: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17460,10 +17805,10 @@ exports.findControlType = findControlType; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getStrongControlTypes = void 0; -var get_control_type_1 = __webpack_require__(58240); -var config_1 = __webpack_require__(80031); -var is_array_1 = __webpack_require__(41515); -var utils_1 = __webpack_require__(38301); +var get_control_type_1 = __webpack_require__(38546); +var config_1 = __webpack_require__(93166); +var is_array_1 = __webpack_require__(49781); +var utils_1 = __webpack_require__(76502); function getStrongControlTypes(items, controls) { var elements = (0, is_array_1.isArray)(items) ? items @@ -17480,7 +17825,7 @@ exports.getStrongControlTypes = getStrongControlTypes; /***/ }), -/***/ 80353: +/***/ 77904: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17492,8 +17837,8 @@ exports.getStrongControlTypes = getStrongControlTypes; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Icon = void 0; -var css_1 = __webpack_require__(76239); -var helpers_1 = __webpack_require__(83370); +var css_1 = __webpack_require__(26911); +var helpers_1 = __webpack_require__(40332); var Icon = (function () { function Icon() { } @@ -17558,7 +17903,7 @@ exports.Icon = Icon; /***/ }), -/***/ 77688: +/***/ 2074: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17570,18 +17915,18 @@ exports.Icon = Icon; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(96659), exports); -tslib_1.__exportStar(__webpack_require__(25242), exports); -tslib_1.__exportStar(__webpack_require__(36649), exports); -tslib_1.__exportStar(__webpack_require__(86586), exports); -tslib_1.__exportStar(__webpack_require__(20935), exports); -tslib_1.__exportStar(__webpack_require__(80353), exports); -tslib_1.__exportStar(__webpack_require__(43862), exports); +tslib_1.__exportStar(__webpack_require__(53929), exports); +tslib_1.__exportStar(__webpack_require__(96516), exports); +tslib_1.__exportStar(__webpack_require__(35799), exports); +tslib_1.__exportStar(__webpack_require__(3249), exports); +tslib_1.__exportStar(__webpack_require__(95963), exports); +tslib_1.__exportStar(__webpack_require__(77904), exports); +tslib_1.__exportStar(__webpack_require__(63682), exports); /***/ }), -/***/ 36649: +/***/ 35799: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17593,12 +17938,12 @@ tslib_1.__exportStar(__webpack_require__(43862), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(78900), exports); +tslib_1.__exportStar(__webpack_require__(12680), exports); /***/ }), -/***/ 78900: +/***/ 12680: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17612,13 +17957,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Popup = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(88477); -var dom_1 = __webpack_require__(65401); -var helpers_1 = __webpack_require__(83370); -__webpack_require__(52378); -var element_1 = __webpack_require__(96659); -var decorators_1 = __webpack_require__(18731); -var component_1 = __webpack_require__(16867); -var global_1 = __webpack_require__(16672); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(40332); +var assert_1 = __webpack_require__(52378); +var element_1 = __webpack_require__(53929); +var decorators_1 = __webpack_require__(43441); +var component_1 = __webpack_require__(45113); +var global_1 = __webpack_require__(17332); var Popup = (function (_super) { tslib_1.__extends(Popup, _super); function Popup(jodit, smart) { @@ -17878,6 +18223,7 @@ var Popup = (function (_super) { .off(this.container, 'scroll mousewheel', up) .off(ow, 'scroll', up) .off(ow, 'resize', up); + void 0; dom_1.Dom.up(this.j.container, function (box) { box && _this.j.e.off(box, 'scroll mousewheel', up); }); @@ -17909,7 +18255,7 @@ exports.Popup = Popup; /***/ }), -/***/ 43862: +/***/ 63682: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17923,8 +18269,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ProgressBar = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(50197); -var dom_1 = __webpack_require__(65401); -var element_1 = __webpack_require__(96659); +var dom_1 = __webpack_require__(24263); +var element_1 = __webpack_require__(53929); var ProgressBar = (function (_super) { tslib_1.__extends(ProgressBar, _super); function ProgressBar() { @@ -17960,7 +18306,7 @@ exports.ProgressBar = ProgressBar; /***/ }), -/***/ 67555: +/***/ 43608: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -17974,13 +18320,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ViewWithToolbar = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(39008); -var view_1 = __webpack_require__(49896); -var helpers_1 = __webpack_require__(83370); -var dom_1 = __webpack_require__(36516); -var factory_1 = __webpack_require__(5243); -var component_1 = __webpack_require__(95448); -var buttons_1 = __webpack_require__(20220); -var decorators_1 = __webpack_require__(18731); +var view_1 = __webpack_require__(75902); +var helpers_1 = __webpack_require__(40332); +var dom_1 = __webpack_require__(64968); +var factory_1 = __webpack_require__(81438); +var component_1 = __webpack_require__(56562); +var buttons_1 = __webpack_require__(97642); +var decorators_1 = __webpack_require__(43441); var ViewWithToolbar = (function (_super) { tslib_1.__extends(ViewWithToolbar, _super); function ViewWithToolbar(options, isJodit) { @@ -18092,7 +18438,7 @@ exports.ViewWithToolbar = ViewWithToolbar; /***/ }), -/***/ 49896: +/***/ 75902: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -18105,15 +18451,15 @@ exports.ViewWithToolbar = ViewWithToolbar; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.View = void 0; var tslib_1 = __webpack_require__(20255); -var storage_1 = __webpack_require__(95704); -var helpers_1 = __webpack_require__(83370); -var constants_1 = __webpack_require__(47386); -var modules_1 = __webpack_require__(18870); -var global_1 = __webpack_require__(16672); -var decorators_1 = __webpack_require__(18731); -var traits_1 = __webpack_require__(44535); -var event_emitter_1 = __webpack_require__(51850); -var messages_1 = __webpack_require__(23895); +var storage_1 = __webpack_require__(77462); +var helpers_1 = __webpack_require__(40332); +var constants_1 = __webpack_require__(86893); +var modules_1 = __webpack_require__(87837); +var global_1 = __webpack_require__(17332); +var decorators_1 = __webpack_require__(43441); +var traits_1 = __webpack_require__(59829); +var event_emitter_1 = __webpack_require__(55395); +var messages_1 = __webpack_require__(71014); var View = (function (_super) { tslib_1.__extends(View, _super); function View(options, isJodit) { @@ -18124,7 +18470,7 @@ var View = (function (_super) { _this.parent = null; _this.mods = {}; _this.components = new Set(); - _this.version = "3.23.3"; + _this.version = "3.24.1"; _this.buffer = storage_1.Storage.makeStorage(); _this.storage = storage_1.Storage.makeStorage(true, _this.componentName); _this.OPTIONS = View_1.defaultOptions; @@ -18142,7 +18488,7 @@ var View = (function (_super) { _this.create = new modules_1.Create(_this.od); _this.container = _this.c.div("jodit ".concat(_this.componentName)); _this.progressbar = new modules_1.ProgressBar(_this); - _this.message = new messages_1.UIMessages(_this); + _this.message = new messages_1.UIMessages(_this, _this.container); return _this; } View_1 = View; @@ -18251,10 +18597,10 @@ var View = (function (_super) { configurable: true }); View.prototype.getVersion = function () { - return "3.23.3"; + return "3.24.1"; }; View.getVersion = function () { - return "3.23.3"; + return "3.24.1"; }; View.prototype.initOptions = function (options) { this.options = (0, helpers_1.ConfigProto)(options || {}, (0, helpers_1.ConfigProto)(this.options || {}, View_1.defaultOptions)); @@ -18348,7 +18694,7 @@ View.defaultOptions = { /***/ }), -/***/ 57468: +/***/ 37920: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -18361,16 +18707,16 @@ View.defaultOptions = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Jodit = void 0; var tslib_1 = __webpack_require__(20255); -var config_1 = __webpack_require__(80031); -var constants = __webpack_require__(47386); -var modules_1 = __webpack_require__(18870); -var helpers_1 = __webpack_require__(83370); -var storage_1 = __webpack_require__(95704); -var constants_1 = __webpack_require__(47386); -var global_1 = __webpack_require__(16672); -var decorators_1 = __webpack_require__(18731); -var traits_1 = __webpack_require__(44535); -var request_1 = __webpack_require__(40803); +var config_1 = __webpack_require__(93166); +var constants = __webpack_require__(86893); +var modules_1 = __webpack_require__(87837); +var helpers_1 = __webpack_require__(40332); +var storage_1 = __webpack_require__(77462); +var constants_1 = __webpack_require__(86893); +var global_1 = __webpack_require__(17332); +var decorators_1 = __webpack_require__(43441); +var traits_1 = __webpack_require__(59829); +var request_1 = __webpack_require__(30056); var __defaultStyleDisplayKey = 'data-jodit-default-style-display'; var __defaultClassesKey = 'data-jodit-default-classes'; var Jodit = (function (_super) { @@ -19104,6 +19450,8 @@ var Jodit = (function (_super) { contenteditable: false }); container.appendChild(workplace); + this.message.destruct(); + this.message = new modules_1.UIMessages(this, workplace); if (element.parentNode && element !== container) { element.parentNode.insertBefore(container, element); } @@ -19408,7 +19756,7 @@ function addClassNames(className, elm) { /***/ }), -/***/ 63851: +/***/ 26435: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -19419,7 +19767,7 @@ function addClassNames(className, elm) { * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var checker_1 = __webpack_require__(80450); +var checker_1 = __webpack_require__(10172); var exp = {}; if (true) { var ar = __webpack_require__(90643); @@ -19489,7 +19837,7 @@ exports["default"] = exp; /***/ }), -/***/ 82616: +/***/ 60403: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -19503,10 +19851,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ContextMenu = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(47086); -var popup_1 = __webpack_require__(36649); -var button_1 = __webpack_require__(25242); -var checker_1 = __webpack_require__(80450); -var component_1 = __webpack_require__(45466); +var popup_1 = __webpack_require__(35799); +var button_1 = __webpack_require__(96516); +var checker_1 = __webpack_require__(10172); +var component_1 = __webpack_require__(11441); var ContextMenu = (function (_super) { tslib_1.__extends(ContextMenu, _super); function ContextMenu() { @@ -19548,7 +19896,7 @@ exports.ContextMenu = ContextMenu; /***/ }), -/***/ 3510: +/***/ 97528: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -19560,10 +19908,10 @@ exports.ContextMenu = ContextMenu; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Alert = void 0; -var dialog_1 = __webpack_require__(91180); -var helpers_1 = __webpack_require__(83370); -var dom_1 = __webpack_require__(36516); -var ui_1 = __webpack_require__(77688); +var dialog_1 = __webpack_require__(6690); +var helpers_1 = __webpack_require__(40332); +var dom_1 = __webpack_require__(64968); +var ui_1 = __webpack_require__(2074); function Alert(msg, title, callback, className) { if (className === void 0) { className = 'jodit-dialog_alert'; } if ((0, helpers_1.isFunction)(title)) { @@ -19589,7 +19937,7 @@ exports.Alert = Alert; /***/ }), -/***/ 83933: +/***/ 47360: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -19601,9 +19949,9 @@ exports.Alert = Alert; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Confirm = void 0; -var dialog_1 = __webpack_require__(91180); -var is_function_1 = __webpack_require__(87385); -var button_1 = __webpack_require__(6816); +var dialog_1 = __webpack_require__(6690); +var is_function_1 = __webpack_require__(42096); +var button_1 = __webpack_require__(96031); function Confirm(msg, title, callback) { var dialog = this instanceof dialog_1.Dialog ? this : new dialog_1.Dialog(), $div = dialog.c.fromHTML('
'), $label = dialog.c.element('label'); if ((0, is_function_1.isFunction)(title)) { @@ -19635,7 +19983,7 @@ exports.Confirm = Confirm; /***/ }), -/***/ 91180: +/***/ 6690: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -19649,24 +19997,27 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Dialog = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(16462); -var config_1 = __webpack_require__(80031); -var constants_1 = __webpack_require__(47386); -var helpers_1 = __webpack_require__(83370); -__webpack_require__(52378); -var view_with_toolbar_1 = __webpack_require__(67555); -var dom_1 = __webpack_require__(36516); -var component_1 = __webpack_require__(95448); -var global_1 = __webpack_require__(16672); -var decorators_1 = __webpack_require__(18731); -var view_1 = __webpack_require__(49896); -var ui_1 = __webpack_require__(77688); +var config_1 = __webpack_require__(93166); +var constants_1 = __webpack_require__(86893); +var helpers_1 = __webpack_require__(40332); +var assert_1 = __webpack_require__(52378); +var view_with_toolbar_1 = __webpack_require__(43608); +var dom_1 = __webpack_require__(64968); +var component_1 = __webpack_require__(56562); +var global_1 = __webpack_require__(17332); +var decorators_1 = __webpack_require__(43441); +var view_1 = __webpack_require__(75902); +var ui_1 = __webpack_require__(2074); +var messages_1 = __webpack_require__(71014); config_1.Config.prototype.dialog = { namespace: '', extraButtons: [], resizable: true, draggable: true, buttons: ['dialog.close'], - removeButtons: [] + removeButtons: [], + toolbarButtonSize: 'middle', + zIndex: 'inherit' }; config_1.Config.prototype.controls.dialog = { close: { @@ -19679,6 +20030,7 @@ config_1.Config.prototype.controls.dialog = { var Dialog = (function (_super) { tslib_1.__extends(Dialog, _super); function Dialog(options) { + if (options === void 0) { options = {}; } var _this = _super.call(this, options) || this; _this.destroyAfterClose = false; _this.moved = false; @@ -19706,23 +20058,32 @@ var Dialog = (function (_super) { _this.isModal = false; _this.isOpened = false; var self = _this; - self.options = (0, helpers_1.ConfigProto)(options !== null && options !== void 0 ? options : {}, (0, helpers_1.ConfigProto)({ - toolbarButtonSize: 'middle' - }, (0, helpers_1.ConfigProto)(config_1.Config.prototype.dialog, view_1.View.defaultOptions))); + self.options = (0, helpers_1.ConfigProto)(options, (0, helpers_1.ConfigProto)(config_1.Config.prototype.dialog, view_1.View.defaultOptions)); dom_1.Dom.safeRemove(self.container); var n = _this.getFullElName.bind(_this); - self.container = _this.c.fromHTML("
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
").concat(ui_1.Icon.get('resize_handler'), "
\n\t\t\t\t
\n\t\t\t
")); + self.container = _this.c.fromHTML("
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
").concat(ui_1.Icon.get('resize_handler'), "
\n\t\t\t\t
\n\t\t\t
")); + if (_this.o.zIndex) { + _this.container.style.zIndex = _this.o.zIndex.toString(); + } (0, helpers_1.attr)(self.container, 'role', 'dialog'); Object.defineProperty(self.container, 'component', { value: _this }); self.setMod('theme', self.o.theme || 'default').setMod('resizable', Boolean(self.o.resizable)); var dialog = self.getElm('panel'); + void 0; var resizer = self.getElm('resizer'); + void 0; var dialogbox_header = self.getElm('header-title'); + void 0; var dialogbox_content = self.getElm('content'); + void 0; var dialogbox_footer = self.getElm('footer'); + void 0; var dialogbox_toolbar = self.getElm('header-toolbar'); + void 0; + _this.message.destruct(); + _this.message = new messages_1.UIMessages(_this, dialog); _this.dialog = dialog; _this.resizer = resizer; _this.dialogbox_header = dialogbox_header; @@ -19936,6 +20297,8 @@ var Dialog = (function (_super) { return res; }; Dialog.prototype.setMaxZIndex = function () { + if (this.getMod('static')) + return; var maxZIndex = 20000004, zIndex = 0; (0, helpers_1.$$)('.jodit-dialog', this.destination).forEach(function (dialog) { zIndex = parseInt((0, helpers_1.css)(dialog, 'zIndex'), 10); @@ -19974,8 +20337,13 @@ var Dialog = (function (_super) { this.isOpened = true; this.setModal(modal); this.destination.appendChild(this.container); - this.setPosition(this.offsetX, this.offsetY); - this.setMaxZIndex(); + if (this.getMod('static') !== true) { + this.setPosition(this.offsetX, this.offsetY); + this.setMaxZIndex(); + } + else { + this.container.style.removeProperty('z-index'); + } if (this.o.fullsize) { this.toggleFullSize(true); } @@ -20065,7 +20433,7 @@ exports.Dialog = Dialog; /***/ }), -/***/ 60169: +/***/ 92080: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -20077,19 +20445,19 @@ exports.Dialog = Dialog; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Confirm = exports.Prompt = exports.Alert = exports.Dialog = void 0; -var dialog_1 = __webpack_require__(91180); +var dialog_1 = __webpack_require__(6690); Object.defineProperty(exports, "Dialog", ({ enumerable: true, get: function () { return dialog_1.Dialog; } })); -var alert_1 = __webpack_require__(3510); +var alert_1 = __webpack_require__(97528); Object.defineProperty(exports, "Alert", ({ enumerable: true, get: function () { return alert_1.Alert; } })); -var prompt_1 = __webpack_require__(29816); +var prompt_1 = __webpack_require__(35789); Object.defineProperty(exports, "Prompt", ({ enumerable: true, get: function () { return prompt_1.Prompt; } })); -var confirm_1 = __webpack_require__(83933); +var confirm_1 = __webpack_require__(47360); Object.defineProperty(exports, "Confirm", ({ enumerable: true, get: function () { return confirm_1.Confirm; } })); /***/ }), -/***/ 29816: +/***/ 35789: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -20101,9 +20469,9 @@ Object.defineProperty(exports, "Confirm", ({ enumerable: true, get: function () */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Prompt = void 0; -var dialog_1 = __webpack_require__(60169); -var ui_1 = __webpack_require__(77688); -var helpers_1 = __webpack_require__(83370); +var dialog_1 = __webpack_require__(92080); +var ui_1 = __webpack_require__(2074); +var helpers_1 = __webpack_require__(40332); function Prompt(msg, title, callback, placeholder, defaultValue) { var dialog = this instanceof dialog_1.Dialog ? this : new dialog_1.Dialog(), cancelButton = (0, ui_1.Button)(dialog, 'cancel', 'Cancel'), okButton = (0, ui_1.Button)(dialog, 'ok', 'Ok'), form = dialog.c.element('form', { class: 'jodit-dialog_prompt' @@ -20148,7 +20516,7 @@ exports.Prompt = Prompt; /***/ }), -/***/ 30262: +/***/ 34468: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -20160,15 +20528,15 @@ exports.Prompt = Prompt; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var factories_1 = __webpack_require__(30371); -var ui_1 = __webpack_require__(77688); -var native_listeners_1 = __webpack_require__(7928); -var image_editor_1 = __webpack_require__(55506); -var elements_map_1 = __webpack_require__(77382); -var load_tree_1 = __webpack_require__(26476); -var delete_file_1 = __webpack_require__(23086); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var factories_1 = __webpack_require__(46341); +var ui_1 = __webpack_require__(2074); +var native_listeners_1 = __webpack_require__(21347); +var image_editor_1 = __webpack_require__(35503); +var elements_map_1 = __webpack_require__(66267); +var load_tree_1 = __webpack_require__(36303); +var delete_file_1 = __webpack_require__(48096); var CLASS_PREVIEW = 'jodit-filebrowser-preview', preview_tpl_next = function (next, right) { if (next === void 0) { next = 'next'; } if (right === void 0) { right = 'right'; } @@ -20333,7 +20701,7 @@ exports["default"] = (function (self) { /***/ }), -/***/ 77382: +/***/ 66267: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -20359,7 +20727,7 @@ exports.elementsMap = elementsMap; /***/ }), -/***/ 6093: +/***/ 63511: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -20371,7 +20739,7 @@ exports.elementsMap = elementsMap; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.FileBrowserItem = void 0; -var helpers_1 = __webpack_require__(83370); +var helpers_1 = __webpack_require__(40332); var FileBrowserItem = (function () { function FileBrowserItem(data) { var _this = this; @@ -20457,7 +20825,7 @@ exports.FileBrowserItem = FileBrowserItem; /***/ }), -/***/ 78219: +/***/ 38097: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -20469,10 +20837,10 @@ exports.FileBrowserItem = FileBrowserItem; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -var config_1 = __webpack_require__(80031); -var checker_1 = __webpack_require__(80450); -var file_1 = __webpack_require__(32460); -var human_size_to_bytes_1 = __webpack_require__(24891); +var config_1 = __webpack_require__(93166); +var checker_1 = __webpack_require__(10172); +var file_1 = __webpack_require__(41374); +var human_size_to_bytes_1 = __webpack_require__(6102); config_1.Config.prototype.filebrowser = { namespace: '', extraButtons: [], @@ -20750,7 +21118,7 @@ config_1.Config.prototype.controls.filebrowser = { /***/ }), -/***/ 53402: +/***/ 82530: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -20763,10 +21131,10 @@ config_1.Config.prototype.controls.filebrowser = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DEFAULT_SOURCE_NAME = void 0; var tslib_1 = __webpack_require__(20255); -var helpers_1 = __webpack_require__(83370); -var request_1 = __webpack_require__(40803); -var decorators_1 = __webpack_require__(18731); -var item_1 = __webpack_require__(6093); +var helpers_1 = __webpack_require__(40332); +var request_1 = __webpack_require__(30056); +var decorators_1 = __webpack_require__(43441); +var item_1 = __webpack_require__(63511); exports.DEFAULT_SOURCE_NAME = 'default'; var possibleRules = (/* unused pure expression or super */ null && ([ 'allowFiles', @@ -20871,9 +21239,8 @@ var DataProvider = (function () { this.__currentPermissions[rule] === undefined || this.__currentPermissions[rule]); }; - DataProvider.prototype.items = function (path, source, mods) { + DataProvider.prototype.__items = function (path, source, mods, onResult) { var _this = this; - if (mods === void 0) { mods = {}; } var opt = this.options; if (!opt.items) { return Promise.reject('Set Items api options'); @@ -20889,16 +21256,38 @@ var DataProvider = (function () { if (process) { resp = process.call(self, resp); } + return onResult(resp); + }); + }; + DataProvider.prototype.items = function (path, source, mods) { + var _this = this; + if (mods === void 0) { mods = {}; } + return this.__items(path, source, mods, function (resp) { return _this.generateItemsList(resp.data.sources, mods); }); }; + DataProvider.prototype.itemsEx = function (path, source, mods) { + var _this = this; + if (mods === void 0) { mods = {}; } + var calcTotal = function (sources) { + return sources.reduce(function (acc, source) { return acc + source.files.length; }, 0); + }; + return this.__items(path, source, mods, function (resp) { return ({ + items: _this.generateItemsList(resp.data.sources, mods), + loadedTotal: calcTotal(resp.data.sources) + }); }); + }; DataProvider.prototype.generateItemsList = function (sources, mods) { var _this = this; if (mods === void 0) { mods = {}; } var elements = []; var canBeFile = function (item) { - return !mods.onlyImages || item.isImage === undefined || item.isImage; - }, inFilter = function (item) { + return item.type === 'folder' || + !mods.onlyImages || + item.isImage === undefined || + item.isImage; + }; + var inFilter = function (item) { var _a; return !((_a = mods.filterWord) === null || _a === void 0 ? void 0 : _a.length) || _this.o.filter === undefined || @@ -21087,7 +21476,7 @@ exports["default"] = DataProvider; /***/ }), -/***/ 30371: +/***/ 46341: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -21099,8 +21488,8 @@ exports["default"] = DataProvider; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.makeContextMenu = exports.makeDataProvider = void 0; -var data_provider_1 = __webpack_require__(53402); -var context_menu_1 = __webpack_require__(82616); +var data_provider_1 = __webpack_require__(82530); +var context_menu_1 = __webpack_require__(60403); function makeDataProvider(parent, options) { return new data_provider_1.default(parent, options); } @@ -21113,7 +21502,7 @@ exports.makeContextMenu = makeContextMenu; /***/ }), -/***/ 23086: +/***/ 48096: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -21138,7 +21527,7 @@ exports.deleteFile = deleteFile; /***/ }), -/***/ 30254: +/***/ 4253: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -21173,7 +21562,7 @@ exports.loadItems = loadItems; /***/ }), -/***/ 26476: +/***/ 36303: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -21186,8 +21575,8 @@ exports.loadItems = loadItems; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.loadTree = void 0; var tslib_1 = __webpack_require__(20255); -var dom_1 = __webpack_require__(36516); -var load_items_1 = __webpack_require__(30254); +var dom_1 = __webpack_require__(64968); +var load_items_1 = __webpack_require__(4253); function loadTree(fb) { return tslib_1.__awaiter(this, void 0, Promise, function () { var items, tree; @@ -21216,7 +21605,7 @@ exports.loadTree = loadTree; /***/ }), -/***/ 45712: +/***/ 50885: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -21230,25 +21619,25 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isFileBrowserFilesItem = exports.FileBrowser = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(40692); -var config_1 = __webpack_require__(80031); -var consts = __webpack_require__(47386); -var storage_1 = __webpack_require__(95704); -var helpers_1 = __webpack_require__(83370); -var dom_1 = __webpack_require__(36516); -var factories_1 = __webpack_require__(30371); -var state_listeners_1 = __webpack_require__(48473); -var native_listeners_1 = __webpack_require__(7928); -var self_listeners_1 = __webpack_require__(88274); -var data_provider_1 = __webpack_require__(53402); -var decorators_1 = __webpack_require__(18731); -var ui_1 = __webpack_require__(28882); -var event_emitter_1 = __webpack_require__(51850); -var load_tree_1 = __webpack_require__(26476); -var load_items_1 = __webpack_require__(30254); -var component_1 = __webpack_require__(95448); -var traits_1 = __webpack_require__(44535); -var view_with_toolbar_1 = __webpack_require__(67555); -__webpack_require__(78219); +var config_1 = __webpack_require__(93166); +var consts = __webpack_require__(86893); +var storage_1 = __webpack_require__(77462); +var helpers_1 = __webpack_require__(40332); +var dom_1 = __webpack_require__(64968); +var factories_1 = __webpack_require__(46341); +var state_listeners_1 = __webpack_require__(86774); +var native_listeners_1 = __webpack_require__(21347); +var self_listeners_1 = __webpack_require__(44734); +var data_provider_1 = __webpack_require__(82530); +var decorators_1 = __webpack_require__(43441); +var ui_1 = __webpack_require__(98782); +var event_emitter_1 = __webpack_require__(55395); +var load_tree_1 = __webpack_require__(36303); +var load_items_1 = __webpack_require__(4253); +var component_1 = __webpack_require__(56562); +var traits_1 = __webpack_require__(59829); +var view_with_toolbar_1 = __webpack_require__(43608); +__webpack_require__(38097); var FileBrowser = (function (_super) { tslib_1.__extends(FileBrowser, _super); function FileBrowser(options) { @@ -21265,7 +21654,6 @@ var FileBrowser = (function (_super) { currentBaseUrl: '', activeElements: [], elements: [], - messages: [], sources: [], view: 'tiles', sortBy: 'changed-desc', @@ -21498,7 +21886,7 @@ exports.isFileBrowserFilesItem = isFileBrowserFilesItem; /***/ }), -/***/ 48495: +/***/ 63463: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -21510,12 +21898,12 @@ exports.isFileBrowserFilesItem = isFileBrowserFilesItem; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(45712), exports); +tslib_1.__exportStar(__webpack_require__(50885), exports); /***/ }), -/***/ 7928: +/***/ 21347: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -21528,11 +21916,11 @@ tslib_1.__exportStar(__webpack_require__(45712), exports); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.nativeListeners = exports.elementToItem = exports.getItem = void 0; var tslib_1 = __webpack_require__(20255); -var helpers_1 = __webpack_require__(83370); -var context_menu_1 = __webpack_require__(30262); -var dom_1 = __webpack_require__(36516); -var elements_map_1 = __webpack_require__(77382); -var load_tree_1 = __webpack_require__(26476); +var helpers_1 = __webpack_require__(40332); +var context_menu_1 = __webpack_require__(34468); +var dom_1 = __webpack_require__(64968); +var elements_map_1 = __webpack_require__(66267); +var load_tree_1 = __webpack_require__(36303); var getItem = function (node, root, tag) { if (tag === void 0) { tag = 'a'; } return dom_1.Dom.closest(node, function (elm) { return dom_1.Dom.isTag(elm, tag); }, root); @@ -21624,7 +22012,7 @@ exports.nativeListeners = nativeListeners; /***/ }), -/***/ 88274: +/***/ 44734: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -21637,13 +22025,13 @@ exports.nativeListeners = nativeListeners; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.selfListeners = void 0; var tslib_1 = __webpack_require__(20255); -var checker_1 = __webpack_require__(80450); -var helpers_1 = __webpack_require__(83370); -var data_provider_1 = __webpack_require__(53402); -var image_editor_1 = __webpack_require__(55506); -var load_tree_1 = __webpack_require__(26476); -var load_items_1 = __webpack_require__(30254); -var delete_file_1 = __webpack_require__(23086); +var checker_1 = __webpack_require__(10172); +var helpers_1 = __webpack_require__(40332); +var data_provider_1 = __webpack_require__(82530); +var image_editor_1 = __webpack_require__(35503); +var load_tree_1 = __webpack_require__(36303); +var load_items_1 = __webpack_require__(4253); +var delete_file_1 = __webpack_require__(48096); function selfListeners() { var _this = this; var state = this.state, dp = this.dataProvider, self = this; @@ -21763,7 +22151,7 @@ exports.selfListeners = selfListeners; /***/ }), -/***/ 48473: +/***/ 86774: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -21775,11 +22163,11 @@ exports.selfListeners = selfListeners; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.stateListeners = void 0; -var dom_1 = __webpack_require__(36516); -var normalize_1 = __webpack_require__(55629); -var ui_1 = __webpack_require__(77688); -var elements_map_1 = __webpack_require__(77382); -var load_tree_1 = __webpack_require__(26476); +var dom_1 = __webpack_require__(64968); +var normalize_1 = __webpack_require__(89693); +var ui_1 = __webpack_require__(2074); +var elements_map_1 = __webpack_require__(66267); +var load_tree_1 = __webpack_require__(36303); var DEFAULT_SOURCE_NAME = 'default'; function stateListeners() { var _this = this; @@ -21918,7 +22306,7 @@ exports.stateListeners = stateListeners; /***/ }), -/***/ 74928: +/***/ 21505: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -21932,7 +22320,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.FileBrowserFiles = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(27452); -var ui_1 = __webpack_require__(77688); +var ui_1 = __webpack_require__(2074); var FileBrowserFiles = (function (_super) { tslib_1.__extends(FileBrowserFiles, _super); function FileBrowserFiles() { @@ -21948,7 +22336,7 @@ exports.FileBrowserFiles = FileBrowserFiles; /***/ }), -/***/ 28882: +/***/ 98782: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -21960,13 +22348,13 @@ exports.FileBrowserFiles = FileBrowserFiles; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(74928), exports); -tslib_1.__exportStar(__webpack_require__(11319), exports); +tslib_1.__exportStar(__webpack_require__(21505), exports); +tslib_1.__exportStar(__webpack_require__(42472), exports); /***/ }), -/***/ 11319: +/***/ 42472: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -21980,7 +22368,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.FileBrowserTree = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(51422); -var ui_1 = __webpack_require__(77688); +var ui_1 = __webpack_require__(2074); var FileBrowserTree = (function (_super) { tslib_1.__extends(FileBrowserTree, _super); function FileBrowserTree() { @@ -21996,7 +22384,7 @@ exports.FileBrowserTree = FileBrowserTree; /***/ }), -/***/ 46246: +/***/ 3107: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -22028,7 +22416,7 @@ exports.Command = Command; /***/ }), -/***/ 9172: +/***/ 15432: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -22041,12 +22429,12 @@ exports.Command = Command; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.History = void 0; var tslib_1 = __webpack_require__(20255); -var config_1 = __webpack_require__(80031); -var component_1 = __webpack_require__(95448); -var snapshot_1 = __webpack_require__(47217); -var stack_1 = __webpack_require__(18265); -var command_1 = __webpack_require__(46246); -var decorators_1 = __webpack_require__(18731); +var config_1 = __webpack_require__(93166); +var component_1 = __webpack_require__(56562); +var snapshot_1 = __webpack_require__(31648); +var stack_1 = __webpack_require__(3621); +var command_1 = __webpack_require__(3107); +var decorators_1 = __webpack_require__(43441); config_1.Config.prototype.history = { enable: true, maxHistoryLength: Infinity, @@ -22190,7 +22578,7 @@ exports.History = History; /***/ }), -/***/ 47217: +/***/ 31648: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -22203,9 +22591,9 @@ exports.History = History; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Snapshot = void 0; var tslib_1 = __webpack_require__(20255); -var component_1 = __webpack_require__(95448); -var dom_1 = __webpack_require__(36516); -var constants_1 = __webpack_require__(47386); +var component_1 = __webpack_require__(56562); +var dom_1 = __webpack_require__(64968); +var constants_1 = __webpack_require__(86893); var Snapshot = (function (_super) { tslib_1.__extends(Snapshot, _super); function Snapshot() { @@ -22373,7 +22761,7 @@ exports.Snapshot = Snapshot; /***/ }), -/***/ 18265: +/***/ 3621: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -22453,7 +22841,7 @@ exports.Stack = Stack; /***/ }), -/***/ 63124: +/***/ 95356: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -22464,8 +22852,8 @@ exports.Stack = Stack; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.imageeditor = { min_width: 20, min_height: 20, @@ -22486,7 +22874,7 @@ icon_1.Icon.set('crop', __webpack_require__(3610)).set('resize', __webpack_requi /***/ }), -/***/ 55506: +/***/ 35503: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -22500,14 +22888,14 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.openImageEditor = exports.ImageEditor = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(62820); -var config_1 = __webpack_require__(80031); -var component_1 = __webpack_require__(95448); -var helpers_1 = __webpack_require__(83370); -var dom_1 = __webpack_require__(36516); -var button_1 = __webpack_require__(25242); -var form_1 = __webpack_require__(73624); -var decorators_1 = __webpack_require__(18731); -__webpack_require__(63124); +var config_1 = __webpack_require__(93166); +var component_1 = __webpack_require__(56562); +var helpers_1 = __webpack_require__(40332); +var dom_1 = __webpack_require__(64968); +var button_1 = __webpack_require__(96516); +var form_1 = __webpack_require__(9249); +var decorators_1 = __webpack_require__(43441); +__webpack_require__(95356); var jie = 'jodit-image-editor'; var TABS = { resize: 'resize', @@ -23045,7 +23433,7 @@ exports.openImageEditor = openImageEditor; /***/ }), -/***/ 73624: +/***/ 9249: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -23057,7 +23445,7 @@ exports.openImageEditor = openImageEditor; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.form = void 0; -var ui_1 = __webpack_require__(77688); +var ui_1 = __webpack_require__(2074); var jie = 'jodit-image-editor'; var gi = ui_1.Icon.get.bind(ui_1.Icon); var act = function (el, className) { @@ -23085,7 +23473,7 @@ exports.form = form; /***/ }), -/***/ 18870: +/***/ 87837: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -23098,25 +23486,25 @@ exports.form = form; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PluginSystem = exports.UIMessages = exports.Uploader = exports.ToolbarCollection = exports.ToolbarEditorCollection = exports.Table = exports.StatusBar = exports.CommitStyle = exports.Select = exports.Snapshot = exports.History = exports.ImageEditor = exports.Helpers = exports.ViewWithToolbar = exports.View = exports.Icon = exports.ProgressBar = exports.UIBlock = exports.UICheckbox = exports.UITextArea = exports.UIInput = exports.UIForm = exports.UIList = exports.UIGroup = exports.UISeparator = exports.Popup = exports.UIButton = exports.UIElement = exports.Create = exports.Plugin = exports.LazyWalker = exports.Dom = exports.ContextMenu = exports.STATUSES = exports.ViewComponent = exports.Component = exports.Async = void 0; var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(51850), exports); -var async_1 = __webpack_require__(68029); +tslib_1.__exportStar(__webpack_require__(55395), exports); +var async_1 = __webpack_require__(22630); Object.defineProperty(exports, "Async", ({ enumerable: true, get: function () { return async_1.Async; } })); -tslib_1.__exportStar(__webpack_require__(40803), exports); -var component_1 = __webpack_require__(95448); +tslib_1.__exportStar(__webpack_require__(30056), exports); +var component_1 = __webpack_require__(56562); Object.defineProperty(exports, "Component", ({ enumerable: true, get: function () { return component_1.Component; } })); Object.defineProperty(exports, "ViewComponent", ({ enumerable: true, get: function () { return component_1.ViewComponent; } })); Object.defineProperty(exports, "STATUSES", ({ enumerable: true, get: function () { return component_1.STATUSES; } })); -var context_menu_1 = __webpack_require__(82616); +var context_menu_1 = __webpack_require__(60403); Object.defineProperty(exports, "ContextMenu", ({ enumerable: true, get: function () { return context_menu_1.ContextMenu; } })); -tslib_1.__exportStar(__webpack_require__(60169), exports); -var dom_1 = __webpack_require__(36516); +tslib_1.__exportStar(__webpack_require__(92080), exports); +var dom_1 = __webpack_require__(64968); Object.defineProperty(exports, "Dom", ({ enumerable: true, get: function () { return dom_1.Dom; } })); Object.defineProperty(exports, "LazyWalker", ({ enumerable: true, get: function () { return dom_1.LazyWalker; } })); -var plugin_1 = __webpack_require__(76454); +var plugin_1 = __webpack_require__(57549); Object.defineProperty(exports, "Plugin", ({ enumerable: true, get: function () { return plugin_1.Plugin; } })); -var create_1 = __webpack_require__(98693); +var create_1 = __webpack_require__(42841); Object.defineProperty(exports, "Create", ({ enumerable: true, get: function () { return create_1.Create; } })); -var ui_1 = __webpack_require__(77688); +var ui_1 = __webpack_require__(2074); Object.defineProperty(exports, "UIElement", ({ enumerable: true, get: function () { return ui_1.UIElement; } })); Object.defineProperty(exports, "UIButton", ({ enumerable: true, get: function () { return ui_1.UIButton; } })); Object.defineProperty(exports, "Popup", ({ enumerable: true, get: function () { return ui_1.Popup; } })); @@ -23130,42 +23518,42 @@ Object.defineProperty(exports, "UICheckbox", ({ enumerable: true, get: function Object.defineProperty(exports, "UIBlock", ({ enumerable: true, get: function () { return ui_1.UIBlock; } })); Object.defineProperty(exports, "ProgressBar", ({ enumerable: true, get: function () { return ui_1.ProgressBar; } })); Object.defineProperty(exports, "Icon", ({ enumerable: true, get: function () { return ui_1.Icon; } })); -var view_1 = __webpack_require__(49896); +var view_1 = __webpack_require__(75902); Object.defineProperty(exports, "View", ({ enumerable: true, get: function () { return view_1.View; } })); -var view_with_toolbar_1 = __webpack_require__(67555); +var view_with_toolbar_1 = __webpack_require__(43608); Object.defineProperty(exports, "ViewWithToolbar", ({ enumerable: true, get: function () { return view_with_toolbar_1.ViewWithToolbar; } })); -tslib_1.__exportStar(__webpack_require__(48495), exports); -var Helpers = __webpack_require__(83370); +tslib_1.__exportStar(__webpack_require__(63463), exports); +var Helpers = __webpack_require__(40332); exports.Helpers = Helpers; -var image_editor_1 = __webpack_require__(55506); +var image_editor_1 = __webpack_require__(35503); Object.defineProperty(exports, "ImageEditor", ({ enumerable: true, get: function () { return image_editor_1.ImageEditor; } })); -var history_1 = __webpack_require__(9172); +var history_1 = __webpack_require__(15432); Object.defineProperty(exports, "History", ({ enumerable: true, get: function () { return history_1.History; } })); -var snapshot_1 = __webpack_require__(47217); +var snapshot_1 = __webpack_require__(31648); Object.defineProperty(exports, "Snapshot", ({ enumerable: true, get: function () { return snapshot_1.Snapshot; } })); -var selection_1 = __webpack_require__(74700); +var selection_1 = __webpack_require__(46325); Object.defineProperty(exports, "Select", ({ enumerable: true, get: function () { return selection_1.Select; } })); Object.defineProperty(exports, "CommitStyle", ({ enumerable: true, get: function () { return selection_1.CommitStyle; } })); -var status_bar_1 = __webpack_require__(53528); +var status_bar_1 = __webpack_require__(38603); Object.defineProperty(exports, "StatusBar", ({ enumerable: true, get: function () { return status_bar_1.StatusBar; } })); -var table_1 = __webpack_require__(70218); +var table_1 = __webpack_require__(25120); Object.defineProperty(exports, "Table", ({ enumerable: true, get: function () { return table_1.Table; } })); -var editor_collection_1 = __webpack_require__(98714); +var editor_collection_1 = __webpack_require__(81698); Object.defineProperty(exports, "ToolbarEditorCollection", ({ enumerable: true, get: function () { return editor_collection_1.ToolbarEditorCollection; } })); -var collection_1 = __webpack_require__(50); +var collection_1 = __webpack_require__(72719); Object.defineProperty(exports, "ToolbarCollection", ({ enumerable: true, get: function () { return collection_1.ToolbarCollection; } })); -tslib_1.__exportStar(__webpack_require__(41419), exports); -var uploader_1 = __webpack_require__(9623); +tslib_1.__exportStar(__webpack_require__(3890), exports); +var uploader_1 = __webpack_require__(50454); Object.defineProperty(exports, "Uploader", ({ enumerable: true, get: function () { return uploader_1.Uploader; } })); -var messages_1 = __webpack_require__(23895); +var messages_1 = __webpack_require__(71014); Object.defineProperty(exports, "UIMessages", ({ enumerable: true, get: function () { return messages_1.UIMessages; } })); -var plugin_system_1 = __webpack_require__(60154); +var plugin_system_1 = __webpack_require__(44540); Object.defineProperty(exports, "PluginSystem", ({ enumerable: true, get: function () { return plugin_system_1.PluginSystem; } })); /***/ }), -/***/ 74889: +/***/ 37762: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -23178,8 +23566,8 @@ Object.defineProperty(exports, "PluginSystem", ({ enumerable: true, get: functio Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UIMessage = void 0; var tslib_1 = __webpack_require__(20255); -var ui_1 = __webpack_require__(77688); -var component_1 = __webpack_require__(45466); +var ui_1 = __webpack_require__(2074); +var component_1 = __webpack_require__(11441); var UIMessage = (function (_super) { tslib_1.__extends(UIMessage, _super); function UIMessage(jodit, options) { @@ -23202,7 +23590,7 @@ exports.UIMessage = UIMessage; /***/ }), -/***/ 23895: +/***/ 71014: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -23216,20 +23604,20 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UIMessages = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(63421); -var css_1 = __webpack_require__(76239); -var group_1 = __webpack_require__(31454); -var component_1 = __webpack_require__(45466); -var watch_1 = __webpack_require__(30192); -var helpers_1 = __webpack_require__(83370); -var message_1 = __webpack_require__(74889); +var css_1 = __webpack_require__(26911); +var group_1 = __webpack_require__(61479); +var component_1 = __webpack_require__(11441); +var watch_1 = __webpack_require__(46163); +var message_1 = __webpack_require__(37762); var UIMessages = (function (_super) { tslib_1.__extends(UIMessages, _super); - function UIMessages(jodit, options) { + function UIMessages(jodit, __box, options) { if (options === void 0) { options = { defaultTimeout: 3000, defaultOffset: 5 }; } var _this = _super.call(this, jodit) || this; + _this.__box = __box; _this.options = options; _this.__messages = new Set(); return _this; @@ -23256,13 +23644,7 @@ var UIMessages = (function (_super) { this.async.updateTimeout(key, timeout || this.options.defaultTimeout); return; } - var jodit = this.j; - if ((0, helpers_1.isJoditObject)(jodit)) { - jodit.workplace.appendChild(this.container); - } - else { - jodit.container.appendChild(this.container); - } + this.__box.appendChild(this.container); var msg = new message_1.UIMessage(this.j, { text: text, variant: variant }); this.append(msg); this.__calcOffsets(); @@ -23314,7 +23696,7 @@ exports.UIMessages = UIMessages; /***/ }), -/***/ 53528: +/***/ 38603: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -23328,10 +23710,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.StatusBar = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(32115); -var component_1 = __webpack_require__(95448); -var dom_1 = __webpack_require__(36516); -var traits_1 = __webpack_require__(44535); -var decorators_1 = __webpack_require__(18731); +var component_1 = __webpack_require__(56562); +var dom_1 = __webpack_require__(64968); +var traits_1 = __webpack_require__(59829); +var decorators_1 = __webpack_require__(43441); var StatusBar = (function (_super) { tslib_1.__extends(StatusBar, _super); function StatusBar(jodit, target) { @@ -23407,7 +23789,7 @@ exports.StatusBar = StatusBar; /***/ }), -/***/ 70218: +/***/ 25120: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -23420,12 +23802,12 @@ exports.StatusBar = StatusBar; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Table = void 0; var tslib_1 = __webpack_require__(20255); -var consts = __webpack_require__(47386); -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var component_1 = __webpack_require__(95448); -var global_1 = __webpack_require__(16672); -var decorators_1 = __webpack_require__(18731); +var consts = __webpack_require__(86893); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var component_1 = __webpack_require__(56562); +var global_1 = __webpack_require__(17332); +var decorators_1 = __webpack_require__(43441); var markedValue = new WeakMap(); var Table = (function (_super) { tslib_1.__extends(Table, _super); @@ -24002,7 +24384,7 @@ var instance = function (j) { return j.getInstance('Table', j.o); }; /***/ }), -/***/ 95169: +/***/ 48197: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24016,16 +24398,16 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ToolbarButton = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(53362); -var button_1 = __webpack_require__(25242); -var decorators_1 = __webpack_require__(18731); -var dom_1 = __webpack_require__(36516); -var popup_1 = __webpack_require__(78900); -var factory_1 = __webpack_require__(5243); -var helpers_1 = __webpack_require__(83370); -var icon_1 = __webpack_require__(80353); -var collection_1 = __webpack_require__(50); -var statuses_1 = __webpack_require__(71685); -var get_control_type_1 = __webpack_require__(58240); +var button_1 = __webpack_require__(96516); +var decorators_1 = __webpack_require__(43441); +var dom_1 = __webpack_require__(64968); +var popup_1 = __webpack_require__(12680); +var factory_1 = __webpack_require__(81438); +var helpers_1 = __webpack_require__(40332); +var icon_1 = __webpack_require__(77904); +var collection_1 = __webpack_require__(72719); +var statuses_1 = __webpack_require__(29411); +var get_control_type_1 = __webpack_require__(38546); var ToolbarButton = (function (_super) { tslib_1.__extends(ToolbarButton, _super); function ToolbarButton(jodit, control, target) { @@ -24387,7 +24769,7 @@ exports.ToolbarButton = ToolbarButton; /***/ }), -/***/ 3973: +/***/ 34375: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24401,10 +24783,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ToolbarContent = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(48904); -var button_1 = __webpack_require__(25242); -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var decorators_1 = __webpack_require__(18731); +var button_1 = __webpack_require__(96516); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var decorators_1 = __webpack_require__(43441); var ToolbarContent = (function (_super) { tslib_1.__extends(ToolbarContent, _super); function ToolbarContent(jodit, control, target) { @@ -24440,7 +24822,7 @@ exports.ToolbarContent = ToolbarContent; /***/ }), -/***/ 41419: +/***/ 3890: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24452,13 +24834,13 @@ exports.ToolbarContent = ToolbarContent; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(95169), exports); -tslib_1.__exportStar(__webpack_require__(3973), exports); +tslib_1.__exportStar(__webpack_require__(48197), exports); +tslib_1.__exportStar(__webpack_require__(34375), exports); /***/ }), -/***/ 50: +/***/ 72719: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24472,10 +24854,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ToolbarCollection = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(85796); -var helpers_1 = __webpack_require__(83370); -var ui_1 = __webpack_require__(77688); -var factory_1 = __webpack_require__(5243); -var decorators_1 = __webpack_require__(18731); +var helpers_1 = __webpack_require__(40332); +var ui_1 = __webpack_require__(2074); +var factory_1 = __webpack_require__(81438); +var decorators_1 = __webpack_require__(43441); var ToolbarCollection = (function (_super) { tslib_1.__extends(ToolbarCollection, _super); function ToolbarCollection(jodit) { @@ -24570,7 +24952,7 @@ exports.ToolbarCollection = ToolbarCollection; /***/ }), -/***/ 98714: +/***/ 81698: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24583,11 +24965,11 @@ exports.ToolbarCollection = ToolbarCollection; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ToolbarEditorCollection = void 0; var tslib_1 = __webpack_require__(20255); -var collection_1 = __webpack_require__(50); -var consts = __webpack_require__(47386); -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var decorators_1 = __webpack_require__(18731); +var collection_1 = __webpack_require__(72719); +var consts = __webpack_require__(86893); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var decorators_1 = __webpack_require__(43441); var ToolbarEditorCollection = (function (_super) { tslib_1.__extends(ToolbarEditorCollection, _super); function ToolbarEditorCollection(jodit) { @@ -24695,7 +25077,7 @@ exports.ToolbarEditorCollection = ToolbarEditorCollection; /***/ }), -/***/ 5243: +/***/ 81438: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24707,11 +25089,11 @@ exports.ToolbarEditorCollection = ToolbarEditorCollection; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.makeButton = exports.makeCollection = void 0; -var helpers_1 = __webpack_require__(83370); -var collection_1 = __webpack_require__(50); -var editor_collection_1 = __webpack_require__(98714); -var button_1 = __webpack_require__(95169); -var content_1 = __webpack_require__(3973); +var helpers_1 = __webpack_require__(40332); +var collection_1 = __webpack_require__(72719); +var editor_collection_1 = __webpack_require__(81698); +var button_1 = __webpack_require__(48197); +var content_1 = __webpack_require__(34375); function makeCollection(jodit, parentElement) { var collection = (0, helpers_1.isJoditObject)(jodit) ? new editor_collection_1.ToolbarEditorCollection(jodit) @@ -24742,7 +25124,7 @@ exports.makeButton = makeButton; /***/ }), -/***/ 25367: +/***/ 36262: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24754,9 +25136,9 @@ exports.makeButton = makeButton; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -var config_1 = __webpack_require__(80031); -var is_array_1 = __webpack_require__(41515); -var is_jodit_object_1 = __webpack_require__(12866); +var config_1 = __webpack_require__(93166); +var is_array_1 = __webpack_require__(49781); +var is_jodit_object_1 = __webpack_require__(77892); config_1.Config.prototype.enableDragAndDropFileToEditor = true; config_1.Config.prototype.uploader = { url: '', @@ -24833,7 +25215,7 @@ config_1.Config.prototype.uploader = { /***/ }), -/***/ 42591: +/***/ 55778: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24845,7 +25227,7 @@ config_1.Config.prototype.uploader = { */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.buildData = void 0; -var helpers_1 = __webpack_require__(83370); +var helpers_1 = __webpack_require__(40332); function buildData(uploader, data) { if ((0, helpers_1.isFunction)(uploader.o.buildData)) { return uploader.o.buildData.call(uploader, data); @@ -24871,7 +25253,7 @@ exports.buildData = buildData; /***/ }), -/***/ 1610: +/***/ 98099: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -24895,7 +25277,7 @@ exports.dataURItoBlob = dataURItoBlob; /***/ }), -/***/ 86396: +/***/ 41566: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24908,11 +25290,11 @@ exports.dataURItoBlob = dataURItoBlob; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.hasItems = exports.hasFiles = void 0; var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(23989), exports); -tslib_1.__exportStar(__webpack_require__(1610), exports); -tslib_1.__exportStar(__webpack_require__(42591), exports); -tslib_1.__exportStar(__webpack_require__(9271), exports); -tslib_1.__exportStar(__webpack_require__(62453), exports); +tslib_1.__exportStar(__webpack_require__(32937), exports); +tslib_1.__exportStar(__webpack_require__(98099), exports); +tslib_1.__exportStar(__webpack_require__(55778), exports); +tslib_1.__exportStar(__webpack_require__(30863), exports); +tslib_1.__exportStar(__webpack_require__(20704), exports); function hasFiles(data) { return Boolean(data && data.files && data.files.length > 0); } @@ -24925,7 +25307,7 @@ exports.hasItems = hasItems; /***/ }), -/***/ 23989: +/***/ 32937: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24937,11 +25319,11 @@ exports.hasItems = hasItems; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.processOldBrowserDrag = void 0; -var constants_1 = __webpack_require__(47386); -var global_1 = __webpack_require__(16672); -var helpers_1 = __webpack_require__(83370); -var dom_1 = __webpack_require__(36516); -var index_1 = __webpack_require__(86396); +var constants_1 = __webpack_require__(86893); +var global_1 = __webpack_require__(17332); +var helpers_1 = __webpack_require__(40332); +var dom_1 = __webpack_require__(64968); +var index_1 = __webpack_require__(41566); function processOldBrowserDrag(self, cData, handlerSuccess, handlerError, onFinally) { if (cData && (!cData.types.length || cData.types[0] !== constants_1.TEXT_PLAIN)) { var div_1 = self.j.c.div('', { @@ -24971,7 +25353,7 @@ exports.processOldBrowserDrag = processOldBrowserDrag; /***/ }), -/***/ 62453: +/***/ 20704: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -24984,8 +25366,8 @@ exports.processOldBrowserDrag = processOldBrowserDrag; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.sendFiles = void 0; var tslib_1 = __webpack_require__(20255); -var helpers_1 = __webpack_require__(83370); -var send_1 = __webpack_require__(9271); +var helpers_1 = __webpack_require__(40332); +var send_1 = __webpack_require__(30863); function sendFiles(uploader, files, handlerSuccess, handlerError, process) { if (!files) { return Promise.reject((0, helpers_1.error)('Need files')); @@ -25092,7 +25474,7 @@ exports.sendFiles = sendFiles; /***/ }), -/***/ 9271: +/***/ 30863: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -25104,9 +25486,9 @@ exports.sendFiles = sendFiles; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.send = exports.ajaxInstances = void 0; -var request_1 = __webpack_require__(40803); -var helpers_1 = __webpack_require__(83370); -var build_data_1 = __webpack_require__(42591); +var request_1 = __webpack_require__(30056); +var helpers_1 = __webpack_require__(40332); +var build_data_1 = __webpack_require__(55778); exports.ajaxInstances = new WeakMap(); function send(uploader, data) { var requestData = (0, build_data_1.buildData)(uploader, data); @@ -25176,7 +25558,7 @@ exports.send = send; /***/ }), -/***/ 9623: +/***/ 50454: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -25190,12 +25572,12 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.Uploader = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(28654); -var config_1 = __webpack_require__(80031); -var constants_1 = __webpack_require__(47386); -var helpers_1 = __webpack_require__(83370); -var component_1 = __webpack_require__(95448); -var helpers_2 = __webpack_require__(86396); -__webpack_require__(25367); +var config_1 = __webpack_require__(93166); +var constants_1 = __webpack_require__(86893); +var helpers_1 = __webpack_require__(40332); +var component_1 = __webpack_require__(56562); +var helpers_2 = __webpack_require__(41566); +__webpack_require__(36262); var Uploader = (function (_super) { tslib_1.__extends(Uploader, _super); function Uploader(editor, options) { @@ -25361,7 +25743,7 @@ exports.Uploader = Uploader; /***/ }), -/***/ 97641: +/***/ 75243: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -25374,9 +25756,9 @@ exports.Uploader = Uploader; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.ColorPickerWidget = void 0; __webpack_require__(60819); -var helpers_1 = __webpack_require__(83370); -var ui_1 = __webpack_require__(77688); -var dom_1 = __webpack_require__(36516); +var helpers_1 = __webpack_require__(40332); +var ui_1 = __webpack_require__(2074); +var dom_1 = __webpack_require__(64968); ui_1.Icon.set('palette', __webpack_require__(95331)); var ColorPickerWidget = function (editor, callback, coldColor) { var cn = 'jodit-color-picker', valueHex = (0, helpers_1.normalizeColor)(coldColor), form = editor.c.div(cn), iconPalette = editor.o.textIcons @@ -25445,7 +25827,7 @@ exports.ColorPickerWidget = ColorPickerWidget; /***/ }), -/***/ 23724: +/***/ 83029: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -25457,10 +25839,10 @@ exports.ColorPickerWidget = ColorPickerWidget; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.FileSelectorWidget = void 0; -var helpers_1 = __webpack_require__(83370); -var dom_1 = __webpack_require__(36516); -var ui_1 = __webpack_require__(77688); -var tabs_1 = __webpack_require__(7313); +var helpers_1 = __webpack_require__(40332); +var dom_1 = __webpack_require__(64968); +var ui_1 = __webpack_require__(2074); +var tabs_1 = __webpack_require__(60929); var FileSelectorWidget = function (editor, callbacks, elm, close, isImage) { if (isImage === void 0) { isImage = true; } var currentImage; @@ -25556,7 +25938,7 @@ exports.FileSelectorWidget = FileSelectorWidget; /***/ }), -/***/ 81250: +/***/ 718: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -25568,14 +25950,14 @@ exports.FileSelectorWidget = FileSelectorWidget; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(97641), exports); -tslib_1.__exportStar(__webpack_require__(7313), exports); -tslib_1.__exportStar(__webpack_require__(23724), exports); +tslib_1.__exportStar(__webpack_require__(75243), exports); +tslib_1.__exportStar(__webpack_require__(60929), exports); +tslib_1.__exportStar(__webpack_require__(83029), exports); /***/ }), -/***/ 7313: +/***/ 60929: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -25588,11 +25970,11 @@ tslib_1.__exportStar(__webpack_require__(23724), exports); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TabsWidget = void 0; __webpack_require__(96410); -var helpers_1 = __webpack_require__(83370); -var is_function_1 = __webpack_require__(87385); -var ui_1 = __webpack_require__(77688); -var component_1 = __webpack_require__(95448); -var dom_1 = __webpack_require__(65401); +var helpers_1 = __webpack_require__(40332); +var is_function_1 = __webpack_require__(42096); +var ui_1 = __webpack_require__(2074); +var component_1 = __webpack_require__(56562); +var dom_1 = __webpack_require__(24263); var TabsWidget = function (jodit, tabs, state) { var box = jodit.c.div('jodit-tabs'), tabBox = jodit.c.div('jodit-tabs__wrapper'), buttons = jodit.c.div('jodit-tabs__buttons'), nameToTab = {}, buttonList = []; var firstTab = '', tabCount = 0; @@ -25679,7 +26061,7 @@ exports.TabsWidget = TabsWidget; /***/ }), -/***/ 6059: +/***/ 55692: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -25691,11 +26073,11 @@ exports.TabsWidget = TabsWidget; */ Object.defineProperty(exports, "__esModule", ({ value: true })); __webpack_require__(33126); -var config_1 = __webpack_require__(80031); -var helpers_1 = __webpack_require__(83370); -var constants = __webpack_require__(47386); -var global_1 = __webpack_require__(16672); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var helpers_1 = __webpack_require__(40332); +var constants = __webpack_require__(86893); +var global_1 = __webpack_require__(17332); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.controls.about = { exec: function (editor) { var dialog = editor.dlg(), i = editor.i18n.bind(editor); @@ -25726,7 +26108,7 @@ icon_1.Icon.set('about', __webpack_require__(84279)); /***/ }), -/***/ 93746: +/***/ 66031: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -25740,11 +26122,11 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.addNewLine = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(30724); -var modules_1 = __webpack_require__(18870); -var helpers_1 = __webpack_require__(83370); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -__webpack_require__(3378); +var modules_1 = __webpack_require__(87837); +var helpers_1 = __webpack_require__(40332); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(46360); var ns = 'addnewline'; var addNewLine = (function (_super) { tslib_1.__extends(addNewLine, _super); @@ -25955,7 +26337,7 @@ global_1.pluginSystem.add('addNewLine', addNewLine); /***/ }), -/***/ 3378: +/***/ 46360: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -25966,8 +26348,8 @@ global_1.pluginSystem.add('addNewLine', addNewLine); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var ui_1 = __webpack_require__(77688); +var config_1 = __webpack_require__(93166); +var ui_1 = __webpack_require__(2074); config_1.Config.prototype.addNewLine = true; config_1.Config.prototype.addNewLineOnDBLClick = true; config_1.Config.prototype.addNewLineTagsTriggers = [ @@ -25984,7 +26366,7 @@ ui_1.Icon.set('enter', __webpack_require__(11257)); /***/ }), -/***/ 13106: +/***/ 91241: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -25997,15 +26379,15 @@ ui_1.Icon.set('enter', __webpack_require__(11257)); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.backspace = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var dom_1 = __webpack_require__(36516); -var constants_1 = __webpack_require__(47386); -var helpers_1 = __webpack_require__(83370); -var helpers_2 = __webpack_require__(52506); -var global_1 = __webpack_require__(16672); -var cases_1 = __webpack_require__(29430); -var check_not_collapsed_1 = __webpack_require__(85991); -__webpack_require__(49081); +var plugin_1 = __webpack_require__(57549); +var dom_1 = __webpack_require__(64968); +var constants_1 = __webpack_require__(86893); +var helpers_1 = __webpack_require__(40332); +var helpers_2 = __webpack_require__(10109); +var global_1 = __webpack_require__(17332); +var cases_1 = __webpack_require__(90089); +var check_not_collapsed_1 = __webpack_require__(95441); +__webpack_require__(48229); var backspace = (function (_super) { tslib_1.__extends(backspace, _super); function backspace() { @@ -26084,6 +26466,9 @@ var backspace = (function (_super) { if (!dom_1.Dom.isOrContains(jodit.editor, fakeNode)) { return; } + if (jodit.e.fire('backSpaceBeforeCases', backspace, fakeNode)) { + return false; + } (0, helpers_2.moveNodeInsideStart)(jodit, fakeNode, backspace); if (cases_1.cases.some(function (func) { if ((0, helpers_1.isFunction)(func) && @@ -26100,6 +26485,7 @@ var backspace = (function (_super) { throw e; } finally { + jodit.e.fire('backSpaceAfterDelete', backspace, fakeNode); this.safeRemoveEmptyNode(fakeNode); } return false; @@ -26137,7 +26523,7 @@ global_1.pluginSystem.add('backspace', backspace); /***/ }), -/***/ 11536: +/***/ 31078: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26149,7 +26535,8 @@ global_1.pluginSystem.add('backspace', backspace); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkJoinNeighbors = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(30861); function checkJoinNeighbors(jodit, fakeNode, backspace) { var nextBox = fakeNode, mainClosestBox = nextBox; while (nextBox && @@ -26189,7 +26576,7 @@ function checkMoveListContent(jodit, mainClosestBox, sibling, backspace) { } function moveContentAndRemoveEmpty(jodit, mainClosestBox, sibling, backspace) { if (mainClosestBox && dom_1.Dom.isElement(sibling)) { - dom_1.Dom.moveContent(mainClosestBox, sibling, !backspace); + dom_1.Dom.moveContent(mainClosestBox, sibling, !backspace, (0, helpers_1.getMoveFilter)(jodit)); var remove = mainClosestBox; while (remove && remove !== jodit.editor && dom_1.Dom.isEmpty(remove)) { var parent = remove.parentElement; @@ -26204,7 +26591,7 @@ function moveContentAndRemoveEmpty(jodit, mainClosestBox, sibling, backspace) { /***/ }), -/***/ 40923: +/***/ 92156: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26216,8 +26603,9 @@ function moveContentAndRemoveEmpty(jodit, mainClosestBox, sibling, backspace) { */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkJoinTwoLists = void 0; -var dom_1 = __webpack_require__(65401); -var utils_1 = __webpack_require__(32389); +var dom_1 = __webpack_require__(24263); +var utils_1 = __webpack_require__(67309); +var helpers_1 = __webpack_require__(30861); function checkJoinTwoLists(jodit, fakeNode, backspace) { var next = dom_1.Dom.findSibling(fakeNode, backspace), prev = dom_1.Dom.findSibling(fakeNode, !backspace); if (!dom_1.Dom.closest(fakeNode, dom_1.Dom.isElement, jodit.editor) && @@ -26228,7 +26616,7 @@ function checkJoinTwoLists(jodit, fakeNode, backspace) { var _a = jodit.s, setCursorBefore = _a.setCursorBefore, setCursorAfter = _a.setCursorAfter; var target = next.lastElementChild, second = prev.firstElementChild; (0, utils_1.call)(!backspace ? dom_1.Dom.append : dom_1.Dom.prepend, second, fakeNode); - dom_1.Dom.moveContent(prev, next, !backspace); + dom_1.Dom.moveContent(prev, next, !backspace, (0, helpers_1.getMoveFilter)(jodit)); dom_1.Dom.safeRemove(prev); (0, utils_1.call)(backspace ? dom_1.Dom.append : dom_1.Dom.prepend, target, fakeNode); (0, utils_1.call)(backspace ? setCursorBefore : setCursorAfter, fakeNode); @@ -26241,7 +26629,7 @@ exports.checkJoinTwoLists = checkJoinTwoLists; /***/ }), -/***/ 85991: +/***/ 95441: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -26265,7 +26653,7 @@ exports.checkNotCollapsed = checkNotCollapsed; /***/ }), -/***/ 22023: +/***/ 13116: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26277,10 +26665,10 @@ exports.checkNotCollapsed = checkNotCollapsed; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkRemoveChar = void 0; -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var constants_1 = __webpack_require__(47386); -var helpers_2 = __webpack_require__(69707); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var constants_1 = __webpack_require__(86893); +var helpers_2 = __webpack_require__(30861); function checkRemoveChar(jodit, fakeNode, backspace, mode) { var _a, _b, _c; var step = backspace ? -1 : 1; @@ -26401,7 +26789,7 @@ function addBRInsideEmptyBlock(jodit, node) { /***/ }), -/***/ 10145: +/***/ 74217: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26413,9 +26801,9 @@ function addBRInsideEmptyBlock(jodit, node) { */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkRemoveContentNotEditable = void 0; -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var helpers_2 = __webpack_require__(52506); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var helpers_2 = __webpack_require__(10109); function checkRemoveContentNotEditable(jodit, fakeNode, backspace) { var neighbor = dom_1.Dom.findSibling(fakeNode, backspace); if (!neighbor && @@ -26438,7 +26826,7 @@ exports.checkRemoveContentNotEditable = checkRemoveContentNotEditable; /***/ }), -/***/ 76563: +/***/ 34181: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26450,7 +26838,7 @@ exports.checkRemoveContentNotEditable = checkRemoveContentNotEditable; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkRemoveEmptyNeighbor = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function checkRemoveEmptyNeighbor(jodit, fakeNode, backspace) { var parent = dom_1.Dom.closest(fakeNode, dom_1.Dom.isElement, jodit.editor); if (!parent) { @@ -26469,7 +26857,7 @@ exports.checkRemoveEmptyNeighbor = checkRemoveEmptyNeighbor; /***/ }), -/***/ 64749: +/***/ 13890: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26481,9 +26869,9 @@ exports.checkRemoveEmptyNeighbor = checkRemoveEmptyNeighbor; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkRemoveEmptyParent = void 0; -var dom_1 = __webpack_require__(36516); -var constants_1 = __webpack_require__(47386); -var check_join_two_lists_1 = __webpack_require__(40923); +var dom_1 = __webpack_require__(64968); +var constants_1 = __webpack_require__(86893); +var check_join_two_lists_1 = __webpack_require__(92156); function checkRemoveEmptyParent(jodit, fakeNode, backspace) { var found = false; var _a = jodit.s, setCursorBefore = _a.setCursorBefore, setCursorIn = _a.setCursorIn; @@ -26522,7 +26910,7 @@ exports.checkRemoveEmptyParent = checkRemoveEmptyParent; /***/ }), -/***/ 23273: +/***/ 8249: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26534,9 +26922,9 @@ exports.checkRemoveEmptyParent = checkRemoveEmptyParent; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkRemoveUnbreakableElement = void 0; -var dom_1 = __webpack_require__(65401); -var constants_1 = __webpack_require__(47386); -var check_remove_empty_parent_1 = __webpack_require__(64749); +var dom_1 = __webpack_require__(24263); +var constants_1 = __webpack_require__(86893); +var check_remove_empty_parent_1 = __webpack_require__(13890); function checkRemoveUnbreakableElement(jodit, fakeNode, backspace) { var neighbor = dom_1.Dom.findSibling(fakeNode, backspace); if (dom_1.Dom.isElement(neighbor) && @@ -26559,7 +26947,7 @@ exports.checkRemoveUnbreakableElement = checkRemoveUnbreakableElement; /***/ }), -/***/ 45348: +/***/ 58368: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26571,7 +26959,7 @@ exports.checkRemoveUnbreakableElement = checkRemoveUnbreakableElement; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkTableCell = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function checkTableCell(jodit, fakeNode) { var cell = fakeNode.parentElement; if (dom_1.Dom.isCell(cell)) { @@ -26584,7 +26972,7 @@ exports.checkTableCell = checkTableCell; /***/ }), -/***/ 11815: +/***/ 6028: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26596,8 +26984,8 @@ exports.checkTableCell = checkTableCell; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkUnwrapFirstListItem = void 0; -var dom_1 = __webpack_require__(65401); -var utils_1 = __webpack_require__(38301); +var dom_1 = __webpack_require__(24263); +var utils_1 = __webpack_require__(76502); function checkUnwrapFirstListItem(jodit, fakeNode, backspace) { var _a; var li = dom_1.Dom.closest(fakeNode, dom_1.Dom.isElement, jodit.editor); @@ -26623,7 +27011,7 @@ exports.checkUnwrapFirstListItem = checkUnwrapFirstListItem; /***/ }), -/***/ 29430: +/***/ 90089: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26635,15 +27023,15 @@ exports.checkUnwrapFirstListItem = checkUnwrapFirstListItem; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.cases = void 0; -var check_remove_unbreakable_element_1 = __webpack_require__(23273); -var check_remove_content_not_editable_1 = __webpack_require__(10145); -var check_remove_char_1 = __webpack_require__(22023); -var check_table_cell_1 = __webpack_require__(45348); -var check_remove_empty_parent_1 = __webpack_require__(64749); -var check_remove_empty_neighbor_1 = __webpack_require__(76563); -var check_join_two_lists_1 = __webpack_require__(40923); -var check_join_neighbors_1 = __webpack_require__(11536); -var check_unwrap_first_list_item_1 = __webpack_require__(11815); +var check_remove_unbreakable_element_1 = __webpack_require__(8249); +var check_remove_content_not_editable_1 = __webpack_require__(74217); +var check_remove_char_1 = __webpack_require__(13116); +var check_table_cell_1 = __webpack_require__(58368); +var check_remove_empty_parent_1 = __webpack_require__(13890); +var check_remove_empty_neighbor_1 = __webpack_require__(34181); +var check_join_two_lists_1 = __webpack_require__(92156); +var check_join_neighbors_1 = __webpack_require__(31078); +var check_unwrap_first_list_item_1 = __webpack_require__(6028); exports.cases = [ check_remove_unbreakable_element_1.checkRemoveUnbreakableElement, check_remove_content_not_editable_1.checkRemoveContentNotEditable, @@ -26659,7 +27047,7 @@ exports.cases = [ /***/ }), -/***/ 49081: +/***/ 48229: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26670,7 +27058,7 @@ exports.cases = [ * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.delete = { hotkeys: { delete: ['delete', 'cmd+backspace'], @@ -26685,7 +27073,7 @@ config_1.Config.prototype.delete = { /***/ }), -/***/ 69707: +/***/ 30861: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26696,8 +27084,8 @@ config_1.Config.prototype.delete = { * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.findMostNestedNeighbor = void 0; -var dom_1 = __webpack_require__(36516); +exports.getMoveFilter = exports.findMostNestedNeighbor = void 0; +var dom_1 = __webpack_require__(64968); function findMostNestedNeighbor(node, right, root, onlyInlide) { if (onlyInlide === void 0) { onlyInlide = false; } var nextChild = function (node) { @@ -26720,11 +27108,17 @@ function findMostNestedNeighbor(node, right, root, onlyInlide) { return null; } exports.findMostNestedNeighbor = findMostNestedNeighbor; +function getMoveFilter(jodit) { + return function (node) { + return jodit.e.fire('backSpaceIsMovedIgnore', node) !== true; + }; +} +exports.getMoveFilter = getMoveFilter; /***/ }), -/***/ 4997: +/***/ 87565: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26737,12 +27131,12 @@ exports.findMostNestedNeighbor = findMostNestedNeighbor; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.bold = void 0; var tslib_1 = __webpack_require__(20255); -var config_1 = __webpack_require__(80031); -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -var icon_1 = __webpack_require__(80353); -__webpack_require__(63586); -__webpack_require__(83384); +var config_1 = __webpack_require__(93166); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +var icon_1 = __webpack_require__(77904); +__webpack_require__(58334); +__webpack_require__(90740); function bold(editor) { var callBack = function (command) { var control = config_1.Config.defaultOptions.controls[command], cssOptions = tslib_1.__assign({}, control.css); @@ -26808,7 +27202,7 @@ icon_1.Icon.set('bold', __webpack_require__(25141)) /***/ }), -/***/ 83384: +/***/ 90740: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26819,7 +27213,7 @@ icon_1.Icon.set('bold', __webpack_require__(25141)) * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.controls.subscript = { tags: ['sub'], tooltip: 'subscript' @@ -26864,7 +27258,7 @@ config_1.Config.prototype.controls.strikethrough = { /***/ }), -/***/ 63586: +/***/ 58334: /***/ (function() { "use strict"; @@ -26878,7 +27272,7 @@ config_1.Config.prototype.controls.strikethrough = { /***/ }), -/***/ 10422: +/***/ 60894: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26891,12 +27285,12 @@ config_1.Config.prototype.controls.strikethrough = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.classSpan = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var config_1 = __webpack_require__(80031); -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -var ui_1 = __webpack_require__(77688); +var plugin_1 = __webpack_require__(57549); +var config_1 = __webpack_require__(93166); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +var ui_1 = __webpack_require__(2074); config_1.Config.prototype.controls.classSpan = { command: 'applyClassName', exec: helpers_1.memorizeExec, @@ -26972,7 +27366,7 @@ ui_1.Icon.set('class-span', __webpack_require__(20026)); /***/ }), -/***/ 79587: +/***/ 90302: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -26985,14 +27379,14 @@ ui_1.Icon.set('class-span', __webpack_require__(20026)); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.cleanHtml = void 0; var tslib_1 = __webpack_require__(20255); -var safe_html_1 = __webpack_require__(46860); -var plugin_1 = __webpack_require__(90431); -var decorators_1 = __webpack_require__(18731); -var lazy_walker_1 = __webpack_require__(20847); -var global_1 = __webpack_require__(16672); -var dom_1 = __webpack_require__(65401); -var helpers_1 = __webpack_require__(16619); -__webpack_require__(71609); +var safe_html_1 = __webpack_require__(67128); +var plugin_1 = __webpack_require__(85605); +var decorators_1 = __webpack_require__(43441); +var lazy_walker_1 = __webpack_require__(33841); +var global_1 = __webpack_require__(17332); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(57713); +__webpack_require__(98889); var cleanHtml = (function (_super) { tslib_1.__extends(cleanHtml, _super); function cleanHtml() { @@ -27093,7 +27487,7 @@ global_1.pluginSystem.add('cleanHtml', cleanHtml); /***/ }), -/***/ 71609: +/***/ 98889: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27104,8 +27498,8 @@ global_1.pluginSystem.add('cleanHtml', cleanHtml); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.cleanHTML = { timeout: 300, removeEmptyElements: true, @@ -27131,7 +27525,7 @@ icon_1.Icon.set('eraser', __webpack_require__(66911)); /***/ }), -/***/ 48465: +/***/ 38655: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27143,8 +27537,8 @@ icon_1.Icon.set('eraser', __webpack_require__(66911)); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getHash = void 0; -var trim_1 = __webpack_require__(89681); -var is_string_1 = __webpack_require__(86129); +var trim_1 = __webpack_require__(33941); +var is_string_1 = __webpack_require__(24421); function getHash(tags) { var attributesReg = /([^[]*)\[([^\]]+)]/; var separator = /[\s]*,[\s]*/, attrReg = /^(.*)[\s]*=[\s]*(.*)$/; @@ -27188,7 +27582,7 @@ exports.getHash = getHash; /***/ }), -/***/ 16619: +/***/ 57713: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27200,15 +27594,15 @@ exports.getHash = getHash; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(48465), exports); -tslib_1.__exportStar(__webpack_require__(79976), exports); -tslib_1.__exportStar(__webpack_require__(47725), exports); -tslib_1.__exportStar(__webpack_require__(40868), exports); +tslib_1.__exportStar(__webpack_require__(38655), exports); +tslib_1.__exportStar(__webpack_require__(72170), exports); +tslib_1.__exportStar(__webpack_require__(87783), exports); +tslib_1.__exportStar(__webpack_require__(88972), exports); /***/ }), -/***/ 79976: +/***/ 72170: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27220,8 +27614,8 @@ tslib_1.__exportStar(__webpack_require__(40868), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isInlineBlock = exports.removeFormatForCollapsedSelection = void 0; -var dom_1 = __webpack_require__(65401); -var constants_1 = __webpack_require__(47386); +var dom_1 = __webpack_require__(24263); +var constants_1 = __webpack_require__(86893); function removeFormatForCollapsedSelection(jodit, fake) { var s = jodit.s; var fakeNode = fake; @@ -27258,7 +27652,7 @@ exports.isInlineBlock = isInlineBlock; /***/ }), -/***/ 47725: +/***/ 87783: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27270,9 +27664,9 @@ exports.isInlineBlock = isInlineBlock; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.removeFormatForSelection = void 0; -var dom_1 = __webpack_require__(65401); -var utils_1 = __webpack_require__(38301); -var remove_format_for_collapsed_selection_1 = __webpack_require__(79976); +var dom_1 = __webpack_require__(24263); +var utils_1 = __webpack_require__(76502); +var remove_format_for_collapsed_selection_1 = __webpack_require__(72170); function removeFormatForSelection(jodit) { var s = jodit.s, editor = jodit.editor, createInside = jodit.createInside, range = s.range, left = range.cloneRange(), right = range.cloneRange(), fakeLeft = createInside.fake(), fakeRight = createInside.fake(); left.collapse(true); @@ -27319,7 +27713,7 @@ exports.removeFormatForSelection = removeFormatForSelection; /***/ }), -/***/ 1939: +/***/ 9948: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27331,7 +27725,7 @@ exports.removeFormatForSelection = removeFormatForSelection; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.allowAttributes = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function allowAttributes(jodit, nodeElm, hadEffect, allow) { if (allow && dom_1.Dom.isElement(nodeElm) && allow[nodeElm.nodeName] !== true) { var attrs = nodeElm.attributes; @@ -27358,7 +27752,7 @@ exports.allowAttributes = allowAttributes; /***/ }), -/***/ 62018: +/***/ 74722: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27370,11 +27764,12 @@ exports.allowAttributes = allowAttributes; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.fillEmptyParagraph = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); +var constants_1 = __webpack_require__(86893); function fillEmptyParagraph(jodit, nodeElm, hadEffect) { if (jodit.o.cleanHTML.fillEmptyParagraph && dom_1.Dom.isBlock(nodeElm) && - dom_1.Dom.isEmpty(nodeElm, /^(img|svg|canvas|input|textarea|form|br)$/)) { + dom_1.Dom.isEmpty(nodeElm, constants_1.INSEPARABLE_TAGS)) { var br = jodit.createInside.element('br'); nodeElm.appendChild(br); return true; @@ -27386,7 +27781,7 @@ exports.fillEmptyParagraph = fillEmptyParagraph; /***/ }), -/***/ 39476: +/***/ 2549: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27398,18 +27793,18 @@ exports.fillEmptyParagraph = fillEmptyParagraph; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(63870), exports); -tslib_1.__exportStar(__webpack_require__(1939), exports); -tslib_1.__exportStar(__webpack_require__(62018), exports); -tslib_1.__exportStar(__webpack_require__(18873), exports); -tslib_1.__exportStar(__webpack_require__(45791), exports); -tslib_1.__exportStar(__webpack_require__(54355), exports); -tslib_1.__exportStar(__webpack_require__(9270), exports); +tslib_1.__exportStar(__webpack_require__(55901), exports); +tslib_1.__exportStar(__webpack_require__(9948), exports); +tslib_1.__exportStar(__webpack_require__(74722), exports); +tslib_1.__exportStar(__webpack_require__(75096), exports); +tslib_1.__exportStar(__webpack_require__(28194), exports); +tslib_1.__exportStar(__webpack_require__(94254), exports); +tslib_1.__exportStar(__webpack_require__(64701), exports); /***/ }), -/***/ 45791: +/***/ 28194: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27421,7 +27816,7 @@ tslib_1.__exportStar(__webpack_require__(9270), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.removeEmptyTextNode = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function removeEmptyTextNode(jodit, node, hadEffect, arg, argi, currentNode) { if (dom_1.Dom.isText(node) && !node.nodeValue) { if (node === currentNode && jodit.s.isCollapsed()) { @@ -27437,7 +27832,7 @@ exports.removeEmptyTextNode = removeEmptyTextNode; /***/ }), -/***/ 54355: +/***/ 94254: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27449,8 +27844,8 @@ exports.removeEmptyTextNode = removeEmptyTextNode; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.removeInvTextNodes = void 0; -var constants_1 = __webpack_require__(47386); -var dom_1 = __webpack_require__(65401); +var constants_1 = __webpack_require__(86893); +var dom_1 = __webpack_require__(24263); function removeInvTextNodes(jodit, node, hadEffect, arg, argi, currentNode) { if (currentNode === node || !dom_1.Dom.isText(node) || node.nodeValue == null) { return hadEffect; @@ -27472,7 +27867,7 @@ exports.removeInvTextNodes = removeInvTextNodes; /***/ }), -/***/ 63870: +/***/ 55901: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27484,7 +27879,7 @@ exports.removeInvTextNodes = removeInvTextNodes; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.replaceOldTags = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function replaceOldTags(jodit, nodeElm, hadEffect) { var newNodeElm = replaceIfMatched(jodit, nodeElm, jodit.o.cleanHTML.replaceOldTags); if (nodeElm !== newNodeElm) { @@ -27508,7 +27903,7 @@ function replaceIfMatched(jodit, oldParent, list) { /***/ }), -/***/ 9270: +/***/ 64701: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27520,8 +27915,8 @@ function replaceIfMatched(jodit, oldParent, list) { */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.sanitizeAttributes = void 0; -var dom_1 = __webpack_require__(65401); -var helpers_1 = __webpack_require__(83370); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(40332); function sanitizeAttributes(jodit, nodeElm, hadEffect) { if (dom_1.Dom.isElement(nodeElm) && (0, helpers_1.sanitizeHTMLElement)(nodeElm, { @@ -27537,7 +27932,7 @@ exports.sanitizeAttributes = sanitizeAttributes; /***/ }), -/***/ 18873: +/***/ 75096: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27549,9 +27944,9 @@ exports.sanitizeAttributes = sanitizeAttributes; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.tryRemoveNode = void 0; -var dom_1 = __webpack_require__(65401); -var constants_1 = __webpack_require__(47386); -var trim_1 = __webpack_require__(89681); +var dom_1 = __webpack_require__(24263); +var constants_1 = __webpack_require__(86893); +var trim_1 = __webpack_require__(33941); function tryRemoveNode(jodit, nodeElm, hadEffect, allowTags, denyTags, currentSelectionNode) { if (isRemovableNode(jodit, nodeElm, currentSelectionNode, allowTags, denyTags)) { dom_1.Dom.safeRemove(nodeElm); @@ -27576,7 +27971,7 @@ function isRemovableNode(jodit, node, current, allow, deny) { /***/ }), -/***/ 40868: +/***/ 88972: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27589,7 +27984,7 @@ function isRemovableNode(jodit, node, current, allow, deny) { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.visitNodeWalker = void 0; var tslib_1 = __webpack_require__(20255); -var filters = __webpack_require__(39476); +var filters = __webpack_require__(2549); var keys = Object.keys(filters); function visitNodeWalker(jodit, nodeElm, allowTags, denyTags, currentSelectionNode) { var e_1, _a; @@ -27624,7 +28019,7 @@ exports.visitNodeWalker = visitNodeWalker; /***/ }), -/***/ 98034: +/***/ 92138: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27636,10 +28031,10 @@ exports.visitNodeWalker = visitNodeWalker; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.clipboard = void 0; -var constants_1 = __webpack_require__(47386); -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -__webpack_require__(99563); +var constants_1 = __webpack_require__(86893); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +__webpack_require__(31473); var clipboard = (function () { function clipboard() { this.buttons = [ @@ -27703,7 +28098,7 @@ global_1.pluginSystem.add('clipboard', clipboard); /***/ }), -/***/ 99563: +/***/ 31473: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27714,8 +28109,8 @@ global_1.pluginSystem.add('clipboard', clipboard); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.controls.cut = { command: 'cut', isDisabled: function (editor) { return editor.s.isCollapsed(); }, @@ -27739,7 +28134,7 @@ icon_1.Icon.set('copy', __webpack_require__(50018)) /***/ }), -/***/ 38422: +/***/ 88412: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27751,9 +28146,9 @@ icon_1.Icon.set('copy', __webpack_require__(50018)) */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.color = void 0; -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -__webpack_require__(67953); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +__webpack_require__(21924); function color(editor) { editor.registerButton({ name: 'brush', @@ -27786,7 +28181,7 @@ global_1.pluginSystem.add('color', color); /***/ }), -/***/ 67953: +/***/ 21924: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27797,11 +28192,11 @@ global_1.pluginSystem.add('color', color); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var helpers_1 = __webpack_require__(83370); -var widget_1 = __webpack_require__(81250); -var icon_1 = __webpack_require__(80353); -var dom_1 = __webpack_require__(65401); +var config_1 = __webpack_require__(93166); +var helpers_1 = __webpack_require__(40332); +var widget_1 = __webpack_require__(718); +var icon_1 = __webpack_require__(77904); +var dom_1 = __webpack_require__(24263); icon_1.Icon.set('brush', __webpack_require__(73894)); config_1.Config.prototype.controls.brush = { update: function (button, editor) { @@ -27914,7 +28309,7 @@ config_1.Config.prototype.controls.brush = { /***/ }), -/***/ 64651: +/***/ 79308: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -27926,11 +28321,11 @@ config_1.Config.prototype.controls.brush = { */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.copyFormat = void 0; -var config_1 = __webpack_require__(80031); -var dom_1 = __webpack_require__(65401); -var css_1 = __webpack_require__(76239); -var global_1 = __webpack_require__(16672); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var dom_1 = __webpack_require__(24263); +var css_1 = __webpack_require__(26911); +var global_1 = __webpack_require__(17332); +var icon_1 = __webpack_require__(77904); var pluginKey = 'copy-format'; var copyStyles = [ 'fontWeight', @@ -28020,7 +28415,7 @@ function copyFormat(editor) { name: 'copyformat', group: 'clipboard' }); - (0, global_1.extendLang)(__webpack_require__(28255)); + (0, global_1.extendLang)(__webpack_require__(9188)); } exports.copyFormat = copyFormat; global_1.pluginSystem.add('copyformat', copyFormat); @@ -28029,7 +28424,7 @@ icon_1.Icon.set('copyformat', __webpack_require__(83301)); /***/ }), -/***/ 28255: +/***/ 9188: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28083,7 +28478,7 @@ exports.zh_tw = zh_tw; /***/ }), -/***/ 52163: +/***/ 9412: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28094,13 +28489,13 @@ exports.zh_tw = zh_tw; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.draggableTags = ['img', 'jodit-media', 'jodit']; /***/ }), -/***/ 39494: +/***/ 30598: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28113,12 +28508,12 @@ config_1.Config.prototype.draggableTags = ['img', 'jodit-media', 'jodit']; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.dragAndDropElement = void 0; var tslib_1 = __webpack_require__(20255); -var helpers_1 = __webpack_require__(83370); -var plugin_1 = __webpack_require__(76454); -var dom_1 = __webpack_require__(36516); -var global_1 = __webpack_require__(16672); -var decorators_1 = __webpack_require__(18731); -__webpack_require__(52163); +var helpers_1 = __webpack_require__(40332); +var plugin_1 = __webpack_require__(57549); +var dom_1 = __webpack_require__(64968); +var global_1 = __webpack_require__(17332); +var decorators_1 = __webpack_require__(43441); +__webpack_require__(9412); var DragState; (function (DragState) { DragState[DragState["IDLE"] = 0] = "IDLE"; @@ -28290,7 +28685,7 @@ global_1.pluginSystem.add('dragAndDropElement', dragAndDropElement); /***/ }), -/***/ 65286: +/***/ 19268: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28303,13 +28698,13 @@ global_1.pluginSystem.add('dragAndDropElement', dragAndDropElement); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.dragAndDrop = void 0; var tslib_1 = __webpack_require__(20255); -var constants_1 = __webpack_require__(47386); -var dom_1 = __webpack_require__(65401); -var helpers_1 = __webpack_require__(83370); -var plugin_1 = __webpack_require__(76454); -var decorators_1 = __webpack_require__(18731); -var file_browser_1 = __webpack_require__(48495); -var global_1 = __webpack_require__(16672); +var constants_1 = __webpack_require__(86893); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(40332); +var plugin_1 = __webpack_require__(57549); +var decorators_1 = __webpack_require__(43441); +var file_browser_1 = __webpack_require__(63463); +var global_1 = __webpack_require__(17332); var dragAndDrop = (function (_super) { tslib_1.__extends(dragAndDrop, _super); function dragAndDrop() { @@ -28468,7 +28863,7 @@ global_1.pluginSystem.add('dragAndDrop', dragAndDrop); /***/ }), -/***/ 40979: +/***/ 95049: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28480,12 +28875,12 @@ global_1.pluginSystem.add('dragAndDrop', dragAndDrop); */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(9878), exports); +tslib_1.__exportStar(__webpack_require__(69516), exports); /***/ }), -/***/ 9878: +/***/ 69516: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28497,7 +28892,7 @@ tslib_1.__exportStar(__webpack_require__(9878), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.removeExtraBr = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function removeExtraBr(jodit, node) { if (!jodit.o.dtd.removeExtraBr || dom_1.Dom.isTag(node, 'br')) { return; @@ -28519,7 +28914,7 @@ exports.removeExtraBr = removeExtraBr; /***/ }), -/***/ 83309: +/***/ 73967: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28531,7 +28926,7 @@ exports.removeExtraBr = removeExtraBr; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkBlockNesting = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function checkBlockNesting(jodit, node) { if (dom_1.Dom.isFragment(node)) { node = node.firstChild; @@ -28551,7 +28946,7 @@ exports.checkBlockNesting = checkBlockNesting; /***/ }), -/***/ 12061: +/***/ 73690: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28563,12 +28958,12 @@ exports.checkBlockNesting = checkBlockNesting; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(83309), exports); +tslib_1.__exportStar(__webpack_require__(73967), exports); /***/ }), -/***/ 25735: +/***/ 20173: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28579,7 +28974,7 @@ tslib_1.__exportStar(__webpack_require__(83309), exports); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.dtd = { removeExtraBr: true, checkBlockNesting: true, @@ -28617,7 +29012,7 @@ config_1.Config.prototype.dtd = { /***/ }), -/***/ 52000: +/***/ 96899: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28629,12 +29024,12 @@ config_1.Config.prototype.dtd = { */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var global_1 = __webpack_require__(16672); -var watch_1 = __webpack_require__(30192); -__webpack_require__(25735); -var beforeInsertCases = __webpack_require__(12061); -var afterInsertCases = __webpack_require__(40979); +var plugin_1 = __webpack_require__(57549); +var global_1 = __webpack_require__(17332); +var watch_1 = __webpack_require__(46163); +__webpack_require__(20173); +var beforeInsertCases = __webpack_require__(73690); +var afterInsertCases = __webpack_require__(95049); var dtd = (function (_super) { tslib_1.__extends(dtd, _super); function dtd() { @@ -28669,7 +29064,7 @@ global_1.pluginSystem.add('dtd', dtd); /***/ }), -/***/ 78665: +/***/ 33122: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28682,12 +29077,14 @@ global_1.pluginSystem.add('dtd', dtd); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.enter = void 0; var tslib_1 = __webpack_require__(20255); -var dom_1 = __webpack_require__(65401); -var plugin_1 = __webpack_require__(90431); -var constants_1 = __webpack_require__(47386); -var decorators_1 = __webpack_require__(18731); -var helpers_1 = __webpack_require__(21682); -var global_1 = __webpack_require__(16672); +var dom_1 = __webpack_require__(24263); +var plugin_1 = __webpack_require__(85605); +var constants_1 = __webpack_require__(86893); +var decorators_1 = __webpack_require__(43441); +var is_boolean_1 = __webpack_require__(67749); +var helpers_1 = __webpack_require__(23217); +var global_1 = __webpack_require__(17332); +__webpack_require__(26231); var enter = (function (_super) { tslib_1.__extends(enter, _super); function enter() { @@ -28719,6 +29116,7 @@ var enter = (function (_super) { } editor.s.focus(); this.onEnter(event); + editor.e.fire('afterEnter', event); editor.synchronizeValues(); return false; } @@ -28743,12 +29141,16 @@ var enter = (function (_super) { if (!(0, helpers_1.checkUnsplittableBox)(jodit, currentBox)) { return false; } - if (isLi && dom_1.Dom.isEmpty(currentBox)) { + if (isLi && this.__isEmptyListLeaf(currentBox)) { (0, helpers_1.processEmptyLILeaf)(jodit, currentBox); return false; } (0, helpers_1.splitFragment)(jodit, currentBox); }; + enter.prototype.__isEmptyListLeaf = function (li) { + var result = this.j.e.fire('enterIsEmptyListLeaf', li); + return (0, is_boolean_1.isBoolean)(result) ? result : dom_1.Dom.isEmpty(li); + }; enter.prototype.getCurrentOrFillEmpty = function (editor) { var s = editor.s; var current = s.current(false); @@ -28773,7 +29175,7 @@ global_1.pluginSystem.add('enter', enter); /***/ }), -/***/ 72106: +/***/ 94149: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28785,9 +29187,9 @@ global_1.pluginSystem.add('enter', enter); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkBR = void 0; -var dom_1 = __webpack_require__(65401); -var scroll_into_view_1 = __webpack_require__(14475); -var constants_1 = __webpack_require__(47386); +var dom_1 = __webpack_require__(24263); +var scroll_into_view_1 = __webpack_require__(9005); +var constants_1 = __webpack_require__(86893); function checkBR(jodit, current, shiftKeyPressed) { var isMultiLineBlock = dom_1.Dom.closest(current, ['pre', 'blockquote'], jodit.editor); var isBRMode = jodit.o.enter.toLowerCase() === constants_1.BR.toLowerCase(); @@ -28813,7 +29215,7 @@ exports.checkBR = checkBR; /***/ }), -/***/ 68859: +/***/ 58921: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28825,7 +29227,7 @@ exports.checkBR = checkBR; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.checkUnsplittableBox = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function checkUnsplittableBox(jodit, currentBox) { var sel = jodit.s; if (!dom_1.Dom.canSplitBlock(currentBox)) { @@ -28841,7 +29243,7 @@ exports.checkUnsplittableBox = checkUnsplittableBox; /***/ }), -/***/ 60639: +/***/ 70638: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28853,8 +29255,8 @@ exports.checkUnsplittableBox = checkUnsplittableBox; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getBlockWrapper = void 0; -var consts = __webpack_require__(47386); -var dom_1 = __webpack_require__(65401); +var consts = __webpack_require__(86893); +var dom_1 = __webpack_require__(24263); function getBlockWrapper(jodit, current, tagReg) { if (tagReg === void 0) { tagReg = consts.IS_BLOCK; } var node = current; @@ -28879,7 +29281,7 @@ exports.getBlockWrapper = getBlockWrapper; /***/ }), -/***/ 19364: +/***/ 50781: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28891,7 +29293,7 @@ exports.getBlockWrapper = getBlockWrapper; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.hasPreviousBlock = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function hasPreviousBlock(jodit, current) { return Boolean(dom_1.Dom.prev(current, function (elm) { return dom_1.Dom.isBlock(elm) || dom_1.Dom.isImage(elm); }, jodit.editor)); } @@ -28900,7 +29302,7 @@ exports.hasPreviousBlock = hasPreviousBlock; /***/ }), -/***/ 21682: +/***/ 23217: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28912,20 +29314,20 @@ exports.hasPreviousBlock = hasPreviousBlock; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(72106), exports); -tslib_1.__exportStar(__webpack_require__(68859), exports); -tslib_1.__exportStar(__webpack_require__(33419), exports); -tslib_1.__exportStar(__webpack_require__(60639), exports); -tslib_1.__exportStar(__webpack_require__(19364), exports); -tslib_1.__exportStar(__webpack_require__(20734), exports); -tslib_1.__exportStar(__webpack_require__(78714), exports); -tslib_1.__exportStar(__webpack_require__(57519), exports); -tslib_1.__exportStar(__webpack_require__(15709), exports); +tslib_1.__exportStar(__webpack_require__(94149), exports); +tslib_1.__exportStar(__webpack_require__(58921), exports); +tslib_1.__exportStar(__webpack_require__(92291), exports); +tslib_1.__exportStar(__webpack_require__(70638), exports); +tslib_1.__exportStar(__webpack_require__(50781), exports); +tslib_1.__exportStar(__webpack_require__(90443), exports); +tslib_1.__exportStar(__webpack_require__(52521), exports); +tslib_1.__exportStar(__webpack_require__(81512), exports); +tslib_1.__exportStar(__webpack_require__(29575), exports); /***/ }), -/***/ 20734: +/***/ 90443: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28937,8 +29339,8 @@ tslib_1.__exportStar(__webpack_require__(15709), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.insertParagraph = void 0; -var dom_1 = __webpack_require__(65401); -var scroll_into_view_1 = __webpack_require__(14475); +var dom_1 = __webpack_require__(24263); +var scroll_into_view_1 = __webpack_require__(9005); function insertParagraph(editor, fake, wrapperTag, style) { var _a, _b; var s = editor.s, createInside = editor.createInside, p = createInside.element(wrapperTag), helper_node = createInside.element('br'); @@ -28966,7 +29368,7 @@ exports.insertParagraph = insertParagraph; /***/ }), -/***/ 15709: +/***/ 29575: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -28978,7 +29380,7 @@ exports.insertParagraph = insertParagraph; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.moveCursorOutFromSpecialTags = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function moveCursorOutFromSpecialTags(jodit, current, tags) { var s = jodit.s; var link = dom_1.Dom.closest(current, tags, jodit.editor); @@ -28996,7 +29398,7 @@ exports.moveCursorOutFromSpecialTags = moveCursorOutFromSpecialTags; /***/ }), -/***/ 33419: +/***/ 92291: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29008,9 +29410,9 @@ exports.moveCursorOutFromSpecialTags = moveCursorOutFromSpecialTags; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.processEmptyLILeaf = void 0; -var dom_1 = __webpack_require__(65401); -var selector_1 = __webpack_require__(73549); -var insert_paragraph_1 = __webpack_require__(20734); +var dom_1 = __webpack_require__(24263); +var selector_1 = __webpack_require__(54188); +var insert_paragraph_1 = __webpack_require__(90443); function processEmptyLILeaf(jodit, li) { var list = dom_1.Dom.closest(li, ['ol', 'ul'], jodit.editor); if (!list) { @@ -29044,7 +29446,7 @@ exports.processEmptyLILeaf = processEmptyLILeaf; /***/ }), -/***/ 78714: +/***/ 52521: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29056,9 +29458,9 @@ exports.processEmptyLILeaf = processEmptyLILeaf; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.splitFragment = void 0; -var scroll_into_view_1 = __webpack_require__(14475); -var dom_1 = __webpack_require__(65401); -var insert_paragraph_1 = __webpack_require__(20734); +var scroll_into_view_1 = __webpack_require__(9005); +var dom_1 = __webpack_require__(24263); +var insert_paragraph_1 = __webpack_require__(90443); function splitFragment(jodit, currentBox) { var sel = jodit.s, enter = jodit.o.enter; var defaultTag = enter.toLowerCase(); @@ -29088,7 +29490,7 @@ exports.splitFragment = splitFragment; /***/ }), -/***/ 57519: +/***/ 81512: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29100,7 +29502,7 @@ exports.splitFragment = splitFragment; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.wrapText = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); function wrapText(jodit, current) { var needWrap = current; dom_1.Dom.up(needWrap, function (node) { @@ -29121,7 +29523,21 @@ exports.wrapText = wrapText; /***/ }), -/***/ 41218: +/***/ 26231: +/***/ (function() { + +"use strict"; + +/*! + * Jodit Editor (https://xdsoft.net/jodit/) + * Released under MIT see LICENSE.txt in the project root for license information. + * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net + */ + + +/***/ }), + +/***/ 10135: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29133,10 +29549,10 @@ exports.wrapText = wrapText; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.file = void 0; -var config_1 = __webpack_require__(80031); -var dom_1 = __webpack_require__(65401); -var widget_1 = __webpack_require__(81250); -var global_1 = __webpack_require__(16672); +var config_1 = __webpack_require__(93166); +var dom_1 = __webpack_require__(24263); +var widget_1 = __webpack_require__(718); +var global_1 = __webpack_require__(17332); config_1.Config.prototype.controls.file = { popup: function (editor, current, self, close) { var insert = function (url, title) { @@ -29185,7 +29601,7 @@ global_1.pluginSystem.add('file', file); /***/ }), -/***/ 12150: +/***/ 66994: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29197,9 +29613,9 @@ global_1.pluginSystem.add('file', file); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.focus = void 0; -var config_1 = __webpack_require__(80031); -var dom_1 = __webpack_require__(36516); -var global_1 = __webpack_require__(16672); +var config_1 = __webpack_require__(93166); +var dom_1 = __webpack_require__(64968); +var global_1 = __webpack_require__(17332); config_1.Config.prototype.autofocus = false; config_1.Config.prototype.cursorAfterAutofocus = 'end'; config_1.Config.prototype.saveSelectionOnBlur = true; @@ -29260,7 +29676,7 @@ global_1.pluginSystem.add('focus', focus); /***/ }), -/***/ 18681: +/***/ 8082: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29272,10 +29688,10 @@ global_1.pluginSystem.add('focus', focus); */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -var config_1 = __webpack_require__(80031); -var dom_1 = __webpack_require__(65401); -var utils_1 = __webpack_require__(38301); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var dom_1 = __webpack_require__(24263); +var utils_1 = __webpack_require__(76502); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.defaultFontSizePoints = 'px'; icon_1.Icon.set('font', __webpack_require__(84142)).set('fontsize', __webpack_require__(57292)); config_1.Config.prototype.controls.fontsize = { @@ -29366,7 +29782,7 @@ config_1.Config.prototype.controls.font = tslib_1.__assign(tslib_1.__assign({}, /***/ }), -/***/ 25636: +/***/ 54798: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29378,9 +29794,9 @@ config_1.Config.prototype.controls.font = tslib_1.__assign(tslib_1.__assign({}, */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.font = void 0; -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -__webpack_require__(18681); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +__webpack_require__(8082); function font(editor) { editor .registerButton({ @@ -29417,7 +29833,7 @@ global_1.pluginSystem.add('font', font); /***/ }), -/***/ 40057: +/***/ 12908: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29429,11 +29845,11 @@ global_1.pluginSystem.add('font', font); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.formatBlock = void 0; -var config_1 = __webpack_require__(80031); -var modules_1 = __webpack_require__(18870); -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var modules_1 = __webpack_require__(87837); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +var icon_1 = __webpack_require__(77904); icon_1.Icon.set('paragraph', __webpack_require__(18019)); config_1.Config.prototype.controls.paragraph = { command: 'formatBlock', @@ -29518,7 +29934,7 @@ global_1.pluginSystem.add('formatBlock', formatBlock); /***/ }), -/***/ 97739: +/***/ 15045: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29530,9 +29946,9 @@ global_1.pluginSystem.add('formatBlock', formatBlock); */ Object.defineProperty(exports, "__esModule", ({ value: true })); __webpack_require__(14320); -var config_1 = __webpack_require__(80031); -var consts = __webpack_require__(47386); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var consts = __webpack_require__(86893); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.fullsize = false; config_1.Config.prototype.globalFullSize = true; icon_1.Icon.set('fullsize', __webpack_require__(45146)).set('shrink', __webpack_require__(53576)); @@ -29557,7 +29973,7 @@ config_1.Config.prototype.controls.fullsize = { /***/ }), -/***/ 26209: +/***/ 65123: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29570,10 +29986,10 @@ config_1.Config.prototype.controls.fullsize = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.fullsize = void 0; __webpack_require__(14320); -var css_1 = __webpack_require__(76239); -var is_jodit_object_1 = __webpack_require__(12866); -var global_1 = __webpack_require__(16672); -__webpack_require__(97739); +var css_1 = __webpack_require__(26911); +var is_jodit_object_1 = __webpack_require__(77892); +var global_1 = __webpack_require__(17332); +__webpack_require__(15045); var fullsizeStack = new Set(); function fullsize(editor) { editor.registerButton({ @@ -29656,7 +30072,7 @@ global_1.pluginSystem.add('fullsize', fullsize); /***/ }), -/***/ 27444: +/***/ 16829: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29667,7 +30083,7 @@ global_1.pluginSystem.add('fullsize', fullsize); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.commandToHotkeys = { removeFormat: ['ctrl+shift+m', 'cmd+shift+m'], insertOrderedList: ['ctrl+shift+7', 'cmd+shift+7'], @@ -29678,7 +30094,7 @@ config_1.Config.prototype.commandToHotkeys = { /***/ }), -/***/ 96226: +/***/ 83228: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29691,11 +30107,11 @@ config_1.Config.prototype.commandToHotkeys = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.hotkeys = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var helpers_1 = __webpack_require__(83370); -var constants_1 = __webpack_require__(47386); -var global_1 = __webpack_require__(16672); -__webpack_require__(27444); +var plugin_1 = __webpack_require__(57549); +var helpers_1 = __webpack_require__(40332); +var constants_1 = __webpack_require__(86893); +var global_1 = __webpack_require__(17332); +__webpack_require__(16829); var hotkeys = (function (_super) { tslib_1.__extends(hotkeys, _super); function hotkeys() { @@ -29832,7 +30248,7 @@ global_1.pluginSystem.add('hotkeys', hotkeys); /***/ }), -/***/ 23096: +/***/ 43889: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29844,10 +30260,10 @@ global_1.pluginSystem.add('hotkeys', hotkeys); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.hr = void 0; -var config_1 = __webpack_require__(80031); -var dom_1 = __webpack_require__(36516); -var global_1 = __webpack_require__(16672); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var dom_1 = __webpack_require__(64968); +var global_1 = __webpack_require__(17332); +var icon_1 = __webpack_require__(77904); icon_1.Icon.set('hr', __webpack_require__(14655)); config_1.Config.prototype.controls.hr = { command: 'insertHorizontalRule', @@ -29882,7 +30298,7 @@ global_1.pluginSystem.add('hr', hr); /***/ }), -/***/ 11326: +/***/ 2509: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29893,7 +30309,7 @@ global_1.pluginSystem.add('hr', hr); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.iframeBaseUrl = ''; config_1.Config.prototype.iframeTitle = 'Jodit Editor'; config_1.Config.prototype.iframeDoctype = ''; @@ -29969,7 +30385,7 @@ config_1.Config.prototype.iframeCSSLinks = []; /***/ }), -/***/ 81365: +/***/ 93300: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -29981,11 +30397,11 @@ config_1.Config.prototype.iframeCSSLinks = []; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.iframe = void 0; -var helpers_1 = __webpack_require__(83370); -var helpers_2 = __webpack_require__(83370); -var constants_1 = __webpack_require__(47386); -var global_1 = __webpack_require__(16672); -__webpack_require__(11326); +var helpers_1 = __webpack_require__(40332); +var helpers_2 = __webpack_require__(40332); +var constants_1 = __webpack_require__(86893); +var global_1 = __webpack_require__(17332); +__webpack_require__(2509); function iframe(editor) { var opt = editor.options; editor.e @@ -30156,7 +30572,7 @@ global_1.pluginSystem.add('iframe', iframe); /***/ }), -/***/ 90423: +/***/ 18226: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -30167,7 +30583,7 @@ global_1.pluginSystem.add('iframe', iframe); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.imageProcessor = { replaceDataURIToBlobIdInView: true }; @@ -30175,7 +30591,7 @@ config_1.Config.prototype.imageProcessor = { /***/ }), -/***/ 90909: +/***/ 92575: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -30188,12 +30604,12 @@ config_1.Config.prototype.imageProcessor = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.imageProcessor = void 0; var tslib_1 = __webpack_require__(20255); -var helpers_1 = __webpack_require__(83370); -var plugin_1 = __webpack_require__(76454); -var decorators_1 = __webpack_require__(18731); -var constants_1 = __webpack_require__(47386); -var global_1 = __webpack_require__(16672); -__webpack_require__(90423); +var helpers_1 = __webpack_require__(40332); +var plugin_1 = __webpack_require__(57549); +var decorators_1 = __webpack_require__(43441); +var constants_1 = __webpack_require__(86893); +var global_1 = __webpack_require__(17332); +__webpack_require__(18226); var JODIT_IMAGE_PROCESSOR_BINDED = '__jodit_imageprocessor_binded'; var JODIT_IMAGE_BLOB_ID = JODIT_IMAGE_PROCESSOR_BINDED + 'blob-id'; var imageProcessor = (function (_super) { @@ -30327,7 +30743,7 @@ global_1.pluginSystem.add('imageProcessor', imageProcessor); /***/ }), -/***/ 66425: +/***/ 1601: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -30338,7 +30754,7 @@ global_1.pluginSystem.add('imageProcessor', imageProcessor); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.image = { dialogWidth: 600, openOnDblClick: true, @@ -30361,7 +30777,7 @@ config_1.Config.prototype.image = { /***/ }), -/***/ 23866: +/***/ 15747: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -30375,17 +30791,17 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.imageProperties = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(9947); -var modules_1 = __webpack_require__(18870); -var helpers_1 = __webpack_require__(83370); -var widget_1 = __webpack_require__(81250); -var button_1 = __webpack_require__(25242); -var decorators_1 = __webpack_require__(18731); -var image_editor_1 = __webpack_require__(55506); -var global_1 = __webpack_require__(16672); -var form_1 = __webpack_require__(44403); -var main_tab_1 = __webpack_require__(48289); -var position_tab_1 = __webpack_require__(54207); -__webpack_require__(66425); +var modules_1 = __webpack_require__(87837); +var helpers_1 = __webpack_require__(40332); +var widget_1 = __webpack_require__(718); +var button_1 = __webpack_require__(96516); +var decorators_1 = __webpack_require__(43441); +var image_editor_1 = __webpack_require__(35503); +var global_1 = __webpack_require__(17332); +var form_1 = __webpack_require__(49391); +var main_tab_1 = __webpack_require__(27506); +var position_tab_1 = __webpack_require__(50109); +__webpack_require__(1601); var normalSizeToString = function (value) { value = (0, helpers_1.trim)(value); return /^[0-9]+$/.test(value) ? value + 'px' : value; @@ -30834,7 +31250,7 @@ global_1.pluginSystem.add('imageProperties', imageProperties); /***/ }), -/***/ 44403: +/***/ 49391: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -30846,7 +31262,7 @@ global_1.pluginSystem.add('imageProperties', imageProperties); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.form = void 0; -var icon_1 = __webpack_require__(80353); +var icon_1 = __webpack_require__(77904); function form(editor) { var _a = editor.o.image, showPreview = _a.showPreview, editSize = _a.editSize, gi = icon_1.Icon.get.bind(icon_1.Icon); return editor.c.fromHTML("
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\"\"/\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t").concat(gi('lock'), "\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t
\n\t
")); @@ -30856,7 +31272,7 @@ exports.form = form; /***/ }), -/***/ 48289: +/***/ 27506: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -30868,7 +31284,7 @@ exports.form = form; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.mainTab = void 0; -var icon_1 = __webpack_require__(80353); +var icon_1 = __webpack_require__(77904); function mainTab(editor) { var opt = editor.o, i18n = editor.i18n.bind(editor), gi = icon_1.Icon.get.bind(icon_1.Icon), hasFbUrl = opt.filebrowser.ajax.url || opt.uploader.url, hasEditor = opt.image.useImageEditor; return editor.c.fromHTML("
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t").concat(gi('image'), "\n\t\t\t\t\t\t").concat(gi('crop'), "\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t
")); @@ -30878,7 +31294,7 @@ exports.mainTab = mainTab; /***/ }), -/***/ 54207: +/***/ 50109: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -30890,7 +31306,7 @@ exports.mainTab = mainTab; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.positionTab = void 0; -var icon_1 = __webpack_require__(80353); +var icon_1 = __webpack_require__(77904); function positionTab(editor) { var opt = editor.o, i18n = editor.i18n.bind(editor), gi = icon_1.Icon.get.bind(icon_1.Icon); return editor.c.fromHTML("
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t").concat(gi('lock'), "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t
")); @@ -30900,7 +31316,7 @@ exports.positionTab = positionTab; /***/ }), -/***/ 86750: +/***/ 67547: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -30913,15 +31329,15 @@ exports.positionTab = positionTab; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.image = void 0; var tslib_1 = __webpack_require__(20255); -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var widget_1 = __webpack_require__(81250); -var config_1 = __webpack_require__(80031); -var global_1 = __webpack_require__(16672); -var icon_1 = __webpack_require__(80353); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var widget_1 = __webpack_require__(718); +var config_1 = __webpack_require__(93166); +var global_1 = __webpack_require__(17332); +var icon_1 = __webpack_require__(77904); icon_1.Icon.set('image', __webpack_require__(53477)); config_1.Config.prototype.controls.image = { - popup: function (editor, current, self, close) { + popup: function (editor, current, ignore, close) { var sourceImage = null; if (current && !dom_1.Dom.isText(current) && @@ -30982,7 +31398,7 @@ global_1.pluginSystem.add('image', image); /***/ }), -/***/ 3258: +/***/ 2916: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -30993,10 +31409,10 @@ global_1.pluginSystem.add('image', image); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var dom_1 = __webpack_require__(36516); -var icon_1 = __webpack_require__(80353); -var helpers_1 = __webpack_require__(5549); +var config_1 = __webpack_require__(93166); +var dom_1 = __webpack_require__(64968); +var icon_1 = __webpack_require__(77904); +var helpers_1 = __webpack_require__(26011); icon_1.Icon.set('indent', __webpack_require__(90053)).set('outdent', __webpack_require__(72230)); config_1.Config.prototype.controls.indent = { tooltip: 'Increase Indent' @@ -31021,7 +31437,7 @@ config_1.Config.prototype.indentMargin = 10; /***/ }), -/***/ 5549: +/***/ 26011: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31033,7 +31449,7 @@ config_1.Config.prototype.indentMargin = 10; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.getKey = void 0; -var dom_1 = __webpack_require__(65401); +var dom_1 = __webpack_require__(24263); var getKey = function (direction, box) { return "".concat(dom_1.Dom.isCell(box) ? 'padding' : 'margin').concat(direction === 'rtl' ? 'Right' : 'Left'); }; @@ -31042,7 +31458,7 @@ exports.getKey = getKey; /***/ }), -/***/ 538: +/***/ 71838: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31054,12 +31470,12 @@ exports.getKey = getKey; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.indent = void 0; -var constants_1 = __webpack_require__(47386); -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -__webpack_require__(3258); -var helpers_2 = __webpack_require__(5549); +var constants_1 = __webpack_require__(86893); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +__webpack_require__(2916); +var helpers_2 = __webpack_require__(26011); function indent(editor) { editor .registerButton({ @@ -31119,7 +31535,7 @@ global_1.pluginSystem.add('indent', indent); /***/ }), -/***/ 38952: +/***/ 70022: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31130,71 +31546,71 @@ global_1.pluginSystem.add('indent', indent); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -__webpack_require__(6059); -__webpack_require__(93746); -__webpack_require__(13106); -__webpack_require__(4997); -__webpack_require__(10422); -__webpack_require__(79587); -__webpack_require__(98034); -__webpack_require__(38422); -__webpack_require__(64651); -__webpack_require__(65286); -__webpack_require__(39494); -__webpack_require__(78665); -__webpack_require__(41218); -__webpack_require__(12150); -__webpack_require__(25636); -__webpack_require__(40057); -__webpack_require__(26209); -__webpack_require__(96226); -__webpack_require__(23096); -__webpack_require__(81365); -__webpack_require__(86750); -__webpack_require__(90909); -__webpack_require__(23866); -__webpack_require__(538); -__webpack_require__(94599); -__webpack_require__(99315); -__webpack_require__(66615); -__webpack_require__(38369); -__webpack_require__(75641); -__webpack_require__(3038); -__webpack_require__(60436); -__webpack_require__(98687); -__webpack_require__(52999); -__webpack_require__(6718); -__webpack_require__(51206); -__webpack_require__(41246); -__webpack_require__(90651); -__webpack_require__(66101); -__webpack_require__(12315); -__webpack_require__(83412); -__webpack_require__(55279); -__webpack_require__(31264); -__webpack_require__(38205); -__webpack_require__(26733); -__webpack_require__(70785); -__webpack_require__(47802); -__webpack_require__(59748); -__webpack_require__(88738); -__webpack_require__(93621); -__webpack_require__(8797); -__webpack_require__(46965); -__webpack_require__(7871); -__webpack_require__(9077); -__webpack_require__(56264); -__webpack_require__(24310); -__webpack_require__(47908); -__webpack_require__(16723); -__webpack_require__(59310); -__webpack_require__(52000); -__webpack_require__(50964); +__webpack_require__(55692); +__webpack_require__(66031); +__webpack_require__(91241); +__webpack_require__(87565); +__webpack_require__(60894); +__webpack_require__(90302); +__webpack_require__(92138); +__webpack_require__(88412); +__webpack_require__(79308); +__webpack_require__(19268); +__webpack_require__(30598); +__webpack_require__(33122); +__webpack_require__(10135); +__webpack_require__(66994); +__webpack_require__(54798); +__webpack_require__(12908); +__webpack_require__(65123); +__webpack_require__(83228); +__webpack_require__(43889); +__webpack_require__(93300); +__webpack_require__(67547); +__webpack_require__(92575); +__webpack_require__(15747); +__webpack_require__(71838); +__webpack_require__(54752); +__webpack_require__(54452); +__webpack_require__(46324); +__webpack_require__(27738); +__webpack_require__(61421); +__webpack_require__(27582); +__webpack_require__(76303); +__webpack_require__(19806); +__webpack_require__(52598); +__webpack_require__(19483); +__webpack_require__(15428); +__webpack_require__(47224); +__webpack_require__(83211); +__webpack_require__(88297); +__webpack_require__(72930); +__webpack_require__(51197); +__webpack_require__(2327); +__webpack_require__(47608); +__webpack_require__(90523); +__webpack_require__(69257); +__webpack_require__(14889); +__webpack_require__(95323); +__webpack_require__(37458); +__webpack_require__(71003); +__webpack_require__(86030); +__webpack_require__(17002); +__webpack_require__(1557); +__webpack_require__(82808); +__webpack_require__(48560); +__webpack_require__(32246); +__webpack_require__(45842); +__webpack_require__(23308); +__webpack_require__(19889); +__webpack_require__(20728); +__webpack_require__(96899); +__webpack_require__(18238); /***/ }), -/***/ 28395: +/***/ 35387: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31205,8 +31621,8 @@ __webpack_require__(50964); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.toolbarInline = true; config_1.Config.prototype.toolbarInlineForSelection = false; config_1.Config.prototype.toolbarInlineDisableFor = []; @@ -31217,15 +31633,15 @@ icon_1.Icon.set('addcolumn', __webpack_require__(78321)) .set('th', __webpack_require__(52242)) .set('splitg', __webpack_require__(44563)) .set('splitv', __webpack_require__(53183)) - .set('th-list', __webpack_require__(6102)); + .set('th-list', __webpack_require__(18548)); config_1.Config.prototype.popup = { - a: (__webpack_require__(60953)/* ["default"] */ .Z), - img: (__webpack_require__(45687)["default"]), - cells: (__webpack_require__(76306)/* ["default"] */ .Z), - toolbar: (__webpack_require__(57503)/* ["default"] */ .Z), - jodit: (__webpack_require__(94695)/* ["default"] */ .Z), - iframe: (__webpack_require__(94695)/* ["default"] */ .Z), - 'jodit-media': (__webpack_require__(94695)/* ["default"] */ .Z), + a: (__webpack_require__(27487)/* ["default"] */ .Z), + img: (__webpack_require__(97425)["default"]), + cells: (__webpack_require__(59500)/* ["default"] */ .Z), + toolbar: (__webpack_require__(55350)/* ["default"] */ .Z), + jodit: (__webpack_require__(66686)/* ["default"] */ .Z), + iframe: (__webpack_require__(66686)/* ["default"] */ .Z), + 'jodit-media': (__webpack_require__(66686)/* ["default"] */ .Z), selection: [ 'bold', 'underline', @@ -31249,7 +31665,7 @@ config_1.Config.prototype.popup = { /***/ }), -/***/ 60953: +/***/ 27487: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31261,7 +31677,7 @@ var __webpack_unused_export__; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ __webpack_unused_export__ = ({ value: true }); -var utils_1 = __webpack_require__(38301); +var utils_1 = __webpack_require__(76502); exports.Z = [ { name: 'eye', @@ -31286,7 +31702,7 @@ exports.Z = [ /***/ }), -/***/ 76306: +/***/ 59500: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31298,9 +31714,9 @@ var __webpack_unused_export__; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ __webpack_unused_export__ = ({ value: true }); -var checker_1 = __webpack_require__(80450); -var css_1 = __webpack_require__(76239); -var widget_1 = __webpack_require__(81250); +var checker_1 = __webpack_require__(10172); +var css_1 = __webpack_require__(26911); +var widget_1 = __webpack_require__(718); var cmd = function (control) { return control.args && (0, checker_1.isString)(control.args[0]) ? control.args[0].toLowerCase() @@ -31430,7 +31846,7 @@ exports.Z = [ /***/ }), -/***/ 94695: +/***/ 66686: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31442,7 +31858,7 @@ var __webpack_unused_export__; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ __webpack_unused_export__ = ({ value: true }); -var img_1 = __webpack_require__(45687); +var img_1 = __webpack_require__(97425); exports.Z = [ { name: 'bin', @@ -31457,7 +31873,7 @@ exports.Z = [ /***/ }), -/***/ 45687: +/***/ 97425: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31469,10 +31885,10 @@ exports.Z = [ */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.align = void 0; -var dom_1 = __webpack_require__(36516); -var is_string_1 = __webpack_require__(86129); -var css_1 = __webpack_require__(76239); -var align_1 = __webpack_require__(55667); +var dom_1 = __webpack_require__(64968); +var is_string_1 = __webpack_require__(24421); +var css_1 = __webpack_require__(26911); +var align_1 = __webpack_require__(60303); exports.align = { name: 'left', childTemplate: function (_, __, value) { return value; }, @@ -31541,7 +31957,7 @@ exports["default"] = [ /***/ }), -/***/ 57503: +/***/ 55350: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -31584,7 +32000,7 @@ exports.Z = [ /***/ }), -/***/ 94599: +/***/ 54752: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31598,15 +32014,15 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.inlinePopup = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(45109); -var plugin_1 = __webpack_require__(76454); -var factory_1 = __webpack_require__(5243); -var popup_1 = __webpack_require__(36649); -var helpers_1 = __webpack_require__(83370); -var dom_1 = __webpack_require__(36516); -var ui_1 = __webpack_require__(77688); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -__webpack_require__(28395); +var plugin_1 = __webpack_require__(57549); +var factory_1 = __webpack_require__(81438); +var popup_1 = __webpack_require__(35799); +var helpers_1 = __webpack_require__(40332); +var dom_1 = __webpack_require__(64968); +var ui_1 = __webpack_require__(2074); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(35387); var inlinePopup = (function (_super) { tslib_1.__extends(inlinePopup, _super); function inlinePopup() { @@ -31825,7 +32241,7 @@ global_1.pluginSystem.add('inlinePopup', inlinePopup); /***/ }), -/***/ 99315: +/***/ 54452: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31837,12 +32253,12 @@ global_1.pluginSystem.add('inlinePopup', inlinePopup); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.justify = void 0; -var config_1 = __webpack_require__(80031); -var dom_1 = __webpack_require__(65401); -var css_1 = __webpack_require__(76239); -var align_1 = __webpack_require__(55667); -var global_1 = __webpack_require__(16672); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var dom_1 = __webpack_require__(24263); +var css_1 = __webpack_require__(26911); +var align_1 = __webpack_require__(60303); +var global_1 = __webpack_require__(17332); +var icon_1 = __webpack_require__(77904); icon_1.Icon.set('justify', __webpack_require__(87498)); config_1.Config.prototype.controls.align = { name: 'left', @@ -31943,7 +32359,7 @@ global_1.pluginSystem.add('justify', justify); /***/ }), -/***/ 66615: +/***/ 46324: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -31956,11 +32372,11 @@ global_1.pluginSystem.add('justify', justify); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.keyArrowOutside = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var decorators_1 = __webpack_require__(18731); -var constants_1 = __webpack_require__(47386); -var dom_1 = __webpack_require__(65401); -var global_1 = __webpack_require__(16672); +var plugin_1 = __webpack_require__(57549); +var decorators_1 = __webpack_require__(43441); +var constants_1 = __webpack_require__(86893); +var dom_1 = __webpack_require__(24263); +var global_1 = __webpack_require__(17332); var keyArrowOutside = (function (_super) { tslib_1.__extends(keyArrowOutside, _super); function keyArrowOutside() { @@ -31996,7 +32412,7 @@ global_1.pluginSystem.add('keyArrowOutside', keyArrowOutside); /***/ }), -/***/ 28172: +/***/ 19250: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32007,7 +32423,7 @@ global_1.pluginSystem.add('keyArrowOutside', keyArrowOutside); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.limitWords = false; config_1.Config.prototype.limitChars = false; config_1.Config.prototype.limitHTML = false; @@ -32015,7 +32431,7 @@ config_1.Config.prototype.limitHTML = false; /***/ }), -/***/ 38369: +/***/ 27738: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32028,11 +32444,11 @@ config_1.Config.prototype.limitHTML = false; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.limit = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var constants_1 = __webpack_require__(47386); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -__webpack_require__(28172); +var plugin_1 = __webpack_require__(57549); +var constants_1 = __webpack_require__(86893); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(19250); var limit = (function (_super) { tslib_1.__extends(limit, _super); function limit() { @@ -32118,7 +32534,7 @@ global_1.pluginSystem.add('limit', limit); /***/ }), -/***/ 84229: +/***/ 29490: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32129,9 +32545,9 @@ global_1.pluginSystem.add('limit', limit); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var helpers_1 = __webpack_require__(83370); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var helpers_1 = __webpack_require__(40332); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.defaultLineHeight = null; icon_1.Icon.set('line-height', __webpack_require__(7986)); config_1.Config.prototype.controls.lineHeight = { @@ -32148,7 +32564,7 @@ config_1.Config.prototype.controls.lineHeight = { /***/ }), -/***/ 78124: +/***/ 26752: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32202,7 +32618,7 @@ exports.zh_tw = zh_tw; /***/ }), -/***/ 75641: +/***/ 61421: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32215,12 +32631,12 @@ exports.zh_tw = zh_tw; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.lineHeight = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var helpers_1 = __webpack_require__(83370); -var decorators_1 = __webpack_require__(18731); -var dom_1 = __webpack_require__(65401); -var global_1 = __webpack_require__(16672); -__webpack_require__(84229); +var plugin_1 = __webpack_require__(57549); +var helpers_1 = __webpack_require__(40332); +var decorators_1 = __webpack_require__(43441); +var dom_1 = __webpack_require__(24263); +var global_1 = __webpack_require__(17332); +__webpack_require__(29490); var lineHeight = (function (_super) { tslib_1.__extends(lineHeight, _super); function lineHeight(jodit) { @@ -32231,7 +32647,7 @@ var lineHeight = (function (_super) { group: 'font' } ]; - (0, global_1.extendLang)(__webpack_require__(78124)); + (0, global_1.extendLang)(__webpack_require__(26752)); return _this; } lineHeight.prototype.afterInit = function (jodit) { @@ -32289,7 +32705,7 @@ global_1.pluginSystem.add('lineHeight', lineHeight); /***/ }), -/***/ 59605: +/***/ 56367: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32300,10 +32716,10 @@ global_1.pluginSystem.add('lineHeight', lineHeight); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var template_1 = __webpack_require__(85670); -var dom_1 = __webpack_require__(65401); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var template_1 = __webpack_require__(54238); +var dom_1 = __webpack_require__(24263); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.link = { formTemplate: template_1.formTemplate, followOnDblClick: false, @@ -32344,7 +32760,7 @@ config_1.Config.prototype.controls.link = { /***/ }), -/***/ 3038: +/***/ 27582: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32357,12 +32773,12 @@ config_1.Config.prototype.controls.link = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.link = void 0; var tslib_1 = __webpack_require__(20255); -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var plugin_1 = __webpack_require__(76454); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -__webpack_require__(59605); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var plugin_1 = __webpack_require__(57549); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(56367); var link = (function (_super) { tslib_1.__extends(link, _super); function link() { @@ -32383,13 +32799,13 @@ var link = (function (_super) { if (jodit.o.link.processPastedLink) { jodit.e.on('processPaste.link', this.onProcessPasteLink); } - jodit.e.on('generateLinkForm.link', this.generateForm); + jodit.e.on('generateLinkForm.link', this.__generateForm); jodit.registerCommand('openLinkDialog', { exec: function () { var dialog = jodit.dlg({ resizable: false }); - var htmlForm = _this.generateForm(jodit.s.current(), function () { + var htmlForm = _this.__generateForm(jodit.s.current(), function () { dialog.close(); }); htmlForm.container.classList.add('jodit-dialog_alert'); @@ -32415,23 +32831,32 @@ var link = (function (_super) { }; link.prototype.onProcessPasteLink = function (ignore, html) { var jodit = this.jodit; - if ((0, helpers_1.isURL)(html)) { - if (jodit.o.link.processVideoLink) { - var embed = (0, helpers_1.convertMediaUrlToVideoEmbed)(html); - if (embed !== html) { - jodit.e.stopPropagation('processPaste'); - return jodit.createInside.fromHTML(embed); - } + if (!(0, helpers_1.isURL)(html) || !jodit.o.link.processPastedLink) { + return; + } + jodit.e.stopPropagation('processPaste'); + if (jodit.o.link.processVideoLink) { + var embed = (0, helpers_1.convertMediaUrlToVideoEmbed)(html); + if (embed !== html) { + return jodit.createInside.fromHTML(embed); } + } + if (jodit.s.isCollapsed()) { var a = jodit.createInside.element('a'); a.setAttribute('href', html); a.textContent = html; - jodit.e.stopPropagation('processPaste'); jodit.e.fire('applyLink', jodit, a, null); return a; } + jodit.s.applyStyle(undefined, { + element: 'a', + attributes: { + href: html + } + }); + return true; }; - link.prototype.generateForm = function (current, close) { + link.prototype.__generateForm = function (current, close) { var jodit = this.jodit; var i18n = jodit.i18n.bind(jodit), _a = jodit.o.link, openInNewTabCheckbox = _a.openInNewTabCheckbox, noFollowCheckbox = _a.noFollowCheckbox, formTemplate = _a.formTemplate, formClassName = _a.formClassName, modeClassName = _a.modeClassName; var html = formTemplate(jodit), form = (0, helpers_1.isString)(html) @@ -32628,7 +33053,7 @@ var link = (function (_super) { }; link.prototype.beforeDestruct = function (jodit) { jodit.e - .off('generateLinkForm.link', this.generateForm) + .off('generateLinkForm.link', this.__generateForm) .off('dblclick.link', this.onDblClickOnLink) .off('processPaste.link', this.onProcessPasteLink); }; @@ -32640,7 +33065,7 @@ var link = (function (_super) { ], link.prototype, "onProcessPasteLink", null); tslib_1.__decorate([ decorators_1.autobind - ], link.prototype, "generateForm", null); + ], link.prototype, "__generateForm", null); return link; }(plugin_1.Plugin)); exports.link = link; @@ -32649,7 +33074,7 @@ global_1.pluginSystem.add('link', link); /***/ }), -/***/ 85670: +/***/ 54238: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32661,8 +33086,8 @@ global_1.pluginSystem.add('link', link); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.formTemplate = void 0; -var form_1 = __webpack_require__(20935); -var button_1 = __webpack_require__(25242); +var form_1 = __webpack_require__(95963); +var button_1 = __webpack_require__(96516); var formTemplate = function (editor) { var _a = editor.o.link, openInNewTabCheckbox = _a.openInNewTabCheckbox, noFollowCheckbox = _a.noFollowCheckbox, modeClassName = _a.modeClassName, selectSizeClassName = _a.selectSizeClassName, selectMultipleClassName = _a.selectMultipleClassName, selectOptionsClassName = _a.selectOptionsClassName; return new form_1.UIForm(editor, [ @@ -32745,7 +33170,7 @@ exports.formTemplate = formTemplate; /***/ }), -/***/ 97821: +/***/ 11737: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32756,7 +33181,7 @@ exports.formTemplate = formTemplate; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.mediaFakeTag = 'jodit-media'; config_1.Config.prototype.mediaInFakeBlock = true; config_1.Config.prototype.mediaBlocks = ['video', 'audio']; @@ -32764,7 +33189,7 @@ config_1.Config.prototype.mediaBlocks = ['video', 'audio']; /***/ }), -/***/ 60436: +/***/ 76303: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32776,10 +33201,10 @@ config_1.Config.prototype.mediaBlocks = ['video', 'audio']; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.media = void 0; -var consts = __webpack_require__(47386); -var utils_1 = __webpack_require__(38301); -var global_1 = __webpack_require__(16672); -__webpack_require__(97821); +var consts = __webpack_require__(86893); +var utils_1 = __webpack_require__(76502); +var global_1 = __webpack_require__(17332); +__webpack_require__(11737); function media(editor) { var keyFake = 'jodit_fake_wrapper'; var _a = editor.options, mediaFakeTag = _a.mediaFakeTag, mediaBlocks = _a.mediaBlocks, mediaInFakeBlock = _a.mediaInFakeBlock; @@ -32843,7 +33268,7 @@ global_1.pluginSystem.add('media', media); /***/ }), -/***/ 55090: +/***/ 8860: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32854,11 +33279,11 @@ global_1.pluginSystem.add('media', media); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var consts = __webpack_require__(47386); -var factory_1 = __webpack_require__(5243); -var helpers_1 = __webpack_require__(83370); -var collection_1 = __webpack_require__(50); +var config_1 = __webpack_require__(93166); +var consts = __webpack_require__(86893); +var factory_1 = __webpack_require__(81438); +var helpers_1 = __webpack_require__(40332); +var collection_1 = __webpack_require__(72719); config_1.Config.prototype.mobileTapTimeout = 300; config_1.Config.prototype.toolbarAdaptive = true; config_1.Config.prototype.controls.dots = { @@ -32892,7 +33317,7 @@ config_1.Config.prototype.controls.dots = { /***/ }), -/***/ 98687: +/***/ 19806: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32904,10 +33329,10 @@ config_1.Config.prototype.controls.dots = { */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.mobile = void 0; -var helpers_1 = __webpack_require__(83370); -var buttons_1 = __webpack_require__(20220); -var global_1 = __webpack_require__(16672); -__webpack_require__(55090); +var helpers_1 = __webpack_require__(40332); +var buttons_1 = __webpack_require__(97642); +var global_1 = __webpack_require__(17332); +__webpack_require__(8860); function mobile(editor) { var timeout = 0, store = (0, helpers_1.splitArray)(editor.o.buttons); if (editor.o.mobileTapTimeout) { @@ -32973,7 +33398,7 @@ global_1.pluginSystem.add('mobile', mobile); /***/ }), -/***/ 76221: +/***/ 73013: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -32984,9 +33409,9 @@ global_1.pluginSystem.add('mobile', mobile); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var data_bind_1 = __webpack_require__(75698); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var data_bind_1 = __webpack_require__(63122); +var icon_1 = __webpack_require__(77904); var memoExec = function (jodit, _, _a) { var _b; var control = _a.control; @@ -33026,7 +33451,7 @@ config_1.Config.prototype.controls.ol = { /***/ }), -/***/ 52999: +/***/ 52598: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33039,10 +33464,10 @@ config_1.Config.prototype.controls.ol = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.orderedList = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -__webpack_require__(76221); +var plugin_1 = __webpack_require__(57549); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(73013); var orderedList = (function (_super) { tslib_1.__extends(orderedList, _super); function orderedList() { @@ -33085,7 +33510,7 @@ global_1.pluginSystem.add('orderedList', orderedList); /***/ }), -/***/ 58635: +/***/ 47470: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33096,8 +33521,8 @@ global_1.pluginSystem.add('orderedList', orderedList); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var constants_1 = __webpack_require__(47386); +var config_1 = __webpack_require__(93166); +var constants_1 = __webpack_require__(86893); config_1.Config.prototype.askBeforePasteFromWord = true; config_1.Config.prototype.processPasteFromWord = true; config_1.Config.prototype.defaultActionOnPasteFromWord = null; @@ -33110,7 +33535,7 @@ config_1.Config.prototype.pasteFromWordActionList = [ /***/ }), -/***/ 51206: +/***/ 15428: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33123,13 +33548,13 @@ config_1.Config.prototype.pasteFromWordActionList = [ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.pasteFromWord = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var helpers_1 = __webpack_require__(83370); -var constants_1 = __webpack_require__(47386); -var decorators_1 = __webpack_require__(18731); -var helpers_2 = __webpack_require__(27610); -var global_1 = __webpack_require__(16672); -__webpack_require__(58635); +var plugin_1 = __webpack_require__(57549); +var helpers_1 = __webpack_require__(40332); +var constants_1 = __webpack_require__(86893); +var decorators_1 = __webpack_require__(43441); +var helpers_2 = __webpack_require__(64280); +var global_1 = __webpack_require__(17332); +__webpack_require__(47470); var pasteFromWord = (function (_super) { tslib_1.__extends(pasteFromWord, _super); function pasteFromWord() { @@ -33189,7 +33614,7 @@ global_1.pluginSystem.add('pasteFromWord', pasteFromWord); /***/ }), -/***/ 41246: +/***/ 47224: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33203,12 +33628,12 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.pasteStorage = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(71708); -var constants_1 = __webpack_require__(47386); -var plugin_1 = __webpack_require__(90431); -var dom_1 = __webpack_require__(65401); -var helpers_1 = __webpack_require__(83370); -var button_1 = __webpack_require__(6816); -var global_1 = __webpack_require__(16672); +var constants_1 = __webpack_require__(86893); +var plugin_1 = __webpack_require__(85605); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(40332); +var button_1 = __webpack_require__(96031); +var global_1 = __webpack_require__(17332); var pasteStorage = (function (_super) { tslib_1.__extends(pasteStorage, _super); function pasteStorage() { @@ -33369,7 +33794,7 @@ global_1.pluginSystem.add('pasteStorage', pasteStorage); /***/ }), -/***/ 12267: +/***/ 24703: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33382,9 +33807,9 @@ global_1.pluginSystem.add('pasteStorage', pasteStorage); var _a; Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -var constants_1 = __webpack_require__(47386); -var config_1 = __webpack_require__(80031); -var helpers_1 = __webpack_require__(27610); +var constants_1 = __webpack_require__(86893); +var config_1 = __webpack_require__(93166); +var helpers_1 = __webpack_require__(64280); config_1.Config.prototype.askBeforePasteHTML = true; config_1.Config.prototype.processPasteHTML = true; config_1.Config.prototype.pasteHTMLActionList = [ @@ -33482,7 +33907,7 @@ config_1.Config.prototype.controls.paste = { /***/ }), -/***/ 27610: +/***/ 64280: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33495,10 +33920,10 @@ config_1.Config.prototype.controls.paste = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.askInsertTypeDialog = exports.getAllTypes = exports.pasteInsertHtml = void 0; var tslib_1 = __webpack_require__(20255); -var checker_1 = __webpack_require__(80450); -var dom_1 = __webpack_require__(65401); -var constants_1 = __webpack_require__(47386); -var button_1 = __webpack_require__(6816); +var checker_1 = __webpack_require__(10172); +var dom_1 = __webpack_require__(24263); +var constants_1 = __webpack_require__(86893); +var button_1 = __webpack_require__(96031); function removeExtraFragments(html) { html = html.replace(/]+?>/g, ''); var start = html.search(//i); @@ -33585,7 +34010,7 @@ exports.askInsertTypeDialog = askInsertTypeDialog; /***/ }), -/***/ 6718: +/***/ 19483: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33598,14 +34023,14 @@ exports.askInsertTypeDialog = askInsertTypeDialog; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.paste = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(90431); -var constants_1 = __webpack_require__(47386); -var dom_1 = __webpack_require__(65401); -var decorators_1 = __webpack_require__(18731); -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -var helpers_2 = __webpack_require__(27610); -__webpack_require__(12267); +var plugin_1 = __webpack_require__(85605); +var constants_1 = __webpack_require__(86893); +var dom_1 = __webpack_require__(24263); +var decorators_1 = __webpack_require__(43441); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +var helpers_2 = __webpack_require__(64280); +__webpack_require__(24703); var paste = (function (_super) { tslib_1.__extends(paste, _super); function paste() { @@ -33743,7 +34168,7 @@ global_1.pluginSystem.add('paste', paste); /***/ }), -/***/ 49113: +/***/ 76952: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33754,7 +34179,7 @@ global_1.pluginSystem.add('paste', paste); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.showPlaceholder = true; config_1.Config.prototype.placeholder = 'Type something'; config_1.Config.prototype.useInputsPlaceholder = true; @@ -33762,7 +34187,7 @@ config_1.Config.prototype.useInputsPlaceholder = true; /***/ }), -/***/ 90651: +/***/ 83211: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33776,21 +34201,23 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.placeholder = exports.isEditorEmpty = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(51629); -var consts = __webpack_require__(47386); -var helpers_1 = __webpack_require__(83370); -var dom_1 = __webpack_require__(36516); -var plugin_1 = __webpack_require__(90431); -var constants_1 = __webpack_require__(47386); -var decorators_1 = __webpack_require__(18731); -var selection_1 = __webpack_require__(74700); -var global_1 = __webpack_require__(16672); -__webpack_require__(49113); +var consts = __webpack_require__(86893); +var utils_1 = __webpack_require__(67309); +var css_1 = __webpack_require__(26911); +var is_marker_1 = __webpack_require__(37204); +var dom_1 = __webpack_require__(24263); +var plugin_1 = __webpack_require__(85605); +var constants_1 = __webpack_require__(86893); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(76952); function isEditorEmpty(root) { + var _a; if (!root.firstChild) { return true; } var first = root.firstChild; - if (constants_1.MAY_BE_REMOVED_WITH_KEY.test(first.nodeName) || + if (constants_1.INSEPARABLE_TAGS.has((_a = first.nodeName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || /^(TABLE)$/i.test(first.nodeName)) { return false; } @@ -33819,7 +34246,7 @@ var placeholder = (function (_super) { if (editor.o.useInputsPlaceholder && editor.element.hasAttribute('placeholder')) { _this.placeholderElm.innerHTML = - (0, helpers_1.attr)(editor.element, 'placeholder') || ''; + (0, utils_1.attr)(editor.element, 'placeholder') || ''; } editor.e.fire('placeholder', _this.placeholderElm.innerHTML); editor.e @@ -33867,7 +34294,7 @@ var placeholder = (function (_super) { var styleEditor = editor.ew.getComputedStyle(editor.editor); editor.workplace.appendChild(this.placeholderElm); var firstChild = editor.editor.firstChild; - if (dom_1.Dom.isElement(firstChild) && !selection_1.Select.isMarker(firstChild)) { + if (dom_1.Dom.isElement(firstChild) && !(0, is_marker_1.isMarker)(firstChild)) { var style2 = editor.ew.getComputedStyle(firstChild); marginTop = parseInt(style2.getPropertyValue('margin-top'), 10); marginLeft = parseInt(style2.getPropertyValue('margin-left'), 10); @@ -33882,7 +34309,7 @@ var placeholder = (function (_super) { this.placeholderElm.style.lineHeight = style.getPropertyValue('line-height'); } - (0, helpers_1.css)(this.placeholderElm, { + (0, css_1.css)(this.placeholderElm, { display: 'block', textAlign: style.getPropertyValue('text-align'), paddingTop: parseInt(styleEditor.paddingTop, 10) + 'px', @@ -33926,7 +34353,7 @@ global_1.pluginSystem.add('placeholder', placeholder); /***/ }), -/***/ 66101: +/***/ 88297: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33938,7 +34365,7 @@ global_1.pluginSystem.add('placeholder', placeholder); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.poweredByJodit = void 0; -var global_1 = __webpack_require__(16672); +var global_1 = __webpack_require__(17332); function poweredByJodit(jodit) { var o = jodit.o; if (!o.hidePoweredByJodit && @@ -33957,7 +34384,7 @@ global_1.pluginSystem.add('poweredByJodit', poweredByJodit); /***/ }), -/***/ 12315: +/***/ 72930: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -33970,10 +34397,10 @@ global_1.pluginSystem.add('poweredByJodit', poweredByJodit); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.preview = void 0; __webpack_require__(54860); -var config_1 = __webpack_require__(80031); -var constants_1 = __webpack_require__(47386); -var print_1 = __webpack_require__(25846); -var global_1 = __webpack_require__(16672); +var config_1 = __webpack_require__(93166); +var constants_1 = __webpack_require__(86893); +var print_1 = __webpack_require__(21498); +var global_1 = __webpack_require__(17332); config_1.Config.prototype.controls.preview = { icon: 'eye', command: 'preview', @@ -33999,7 +34426,7 @@ global_1.pluginSystem.add('preview', preview); /***/ }), -/***/ 78420: +/***/ 20137: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -34012,7 +34439,7 @@ global_1.pluginSystem.add('preview', preview); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.generateCriticalCSS = void 0; var tslib_1 = __webpack_require__(20255); -var to_array_1 = __webpack_require__(58260); +var to_array_1 = __webpack_require__(1853); function generateCriticalCSS(jodit) { var getMatchedCSSRules = function (el, css) { if (css === void 0) { css = el.ownerDocument.styleSheets; } @@ -34113,7 +34540,7 @@ exports.generateCriticalCSS = generateCriticalCSS; /***/ }), -/***/ 83412: +/***/ 51197: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -34125,15 +34552,15 @@ exports.generateCriticalCSS = generateCriticalCSS; */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.print = void 0; -var config_1 = __webpack_require__(80031); -var global_1 = __webpack_require__(16672); -var dom_1 = __webpack_require__(36516); -var default_language_1 = __webpack_require__(4371); -var consts = __webpack_require__(47386); -var global_2 = __webpack_require__(16672); -var icon_1 = __webpack_require__(80353); -var generate_critical_css_1 = __webpack_require__(78420); -var print_1 = __webpack_require__(25846); +var config_1 = __webpack_require__(93166); +var global_1 = __webpack_require__(17332); +var dom_1 = __webpack_require__(64968); +var default_language_1 = __webpack_require__(93351); +var consts = __webpack_require__(86893); +var global_2 = __webpack_require__(17332); +var icon_1 = __webpack_require__(77904); +var generate_critical_css_1 = __webpack_require__(20137); +var print_1 = __webpack_require__(21498); icon_1.Icon.set('print', __webpack_require__(22860)); config_1.Config.prototype.controls.print = { exec: function (editor) { @@ -34190,7 +34617,7 @@ global_2.pluginSystem.add('print', print); /***/ }), -/***/ 55279: +/***/ 2327: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -34203,11 +34630,11 @@ global_2.pluginSystem.add('print', print); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.redoUndo = void 0; var tslib_1 = __webpack_require__(20255); -var config_1 = __webpack_require__(80031); -var consts = __webpack_require__(47386); -var plugin_1 = __webpack_require__(90431); -var global_1 = __webpack_require__(16672); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var consts = __webpack_require__(86893); +var plugin_1 = __webpack_require__(85605); +var global_1 = __webpack_require__(17332); +var icon_1 = __webpack_require__(77904); icon_1.Icon.set('redo', __webpack_require__(95600)).set('undo', __webpack_require__(76214)); config_1.Config.prototype.controls.redo = { mode: consts.MODE_SPLIT, @@ -34259,7 +34686,7 @@ global_1.pluginSystem.add('redoUndo', redoUndo); /***/ }), -/***/ 34885: +/***/ 52444: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -34270,13 +34697,13 @@ global_1.pluginSystem.add('redoUndo', redoUndo); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.tableAllowCellResize = true; /***/ }), -/***/ 31264: +/***/ 47608: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -34290,13 +34717,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.resizeCells = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(47818); -var consts = __webpack_require__(47386); -var modules_1 = __webpack_require__(18870); -var helpers_1 = __webpack_require__(83370); -var decorators_1 = __webpack_require__(18731); -var dom_1 = __webpack_require__(65401); -var global_1 = __webpack_require__(16672); -__webpack_require__(34885); +var consts = __webpack_require__(86893); +var modules_1 = __webpack_require__(87837); +var helpers_1 = __webpack_require__(40332); +var decorators_1 = __webpack_require__(43441); +var dom_1 = __webpack_require__(24263); +var global_1 = __webpack_require__(17332); +__webpack_require__(52444); var key = 'table_processor_observer-resize'; var resizeCells = (function (_super) { tslib_1.__extends(resizeCells, _super); @@ -34566,7 +34993,7 @@ global_1.pluginSystem.add('resizeCells', resizeCells); /***/ }), -/***/ 99020: +/***/ 91637: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -34577,14 +35004,14 @@ global_1.pluginSystem.add('resizeCells', resizeCells); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.allowResizeX = false; config_1.Config.prototype.allowResizeY = true; /***/ }), -/***/ 38205: +/***/ 90523: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -34597,12 +35024,12 @@ config_1.Config.prototype.allowResizeY = true; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.resizeHandler = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var dom_1 = __webpack_require__(36516); -var decorators_1 = __webpack_require__(18731); -var ui_1 = __webpack_require__(77688); -var global_1 = __webpack_require__(16672); -__webpack_require__(99020); +var plugin_1 = __webpack_require__(57549); +var dom_1 = __webpack_require__(64968); +var decorators_1 = __webpack_require__(43441); +var ui_1 = __webpack_require__(2074); +var global_1 = __webpack_require__(17332); +__webpack_require__(91637); var resizeHandler = (function (_super) { tslib_1.__extends(resizeHandler, _super); function resizeHandler() { @@ -34683,7 +35110,7 @@ global_1.pluginSystem.add('resizeHandler', resizeHandler); /***/ }), -/***/ 10432: +/***/ 36560: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -34694,7 +35121,7 @@ global_1.pluginSystem.add('resizeHandler', resizeHandler); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.allowResizeTags = ['img', 'iframe', 'table', 'jodit']; config_1.Config.prototype.resizer = { showSize: true, @@ -34708,7 +35135,7 @@ config_1.Config.prototype.resizer = { /***/ }), -/***/ 26733: +/***/ 69257: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -34722,15 +35149,15 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.resizer = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(6316); -var consts = __webpack_require__(47386); -var constants_1 = __webpack_require__(47386); -var dom_1 = __webpack_require__(65401); -var helpers_1 = __webpack_require__(83370); -var plugin_1 = __webpack_require__(90431); -var global_1 = __webpack_require__(16672); -var decorators_1 = __webpack_require__(18731); -var global_2 = __webpack_require__(16672); -__webpack_require__(10432); +var consts = __webpack_require__(86893); +var constants_1 = __webpack_require__(86893); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(40332); +var plugin_1 = __webpack_require__(85605); +var global_1 = __webpack_require__(17332); +var decorators_1 = __webpack_require__(43441); +var global_2 = __webpack_require__(17332); +__webpack_require__(36560); var keyBInd = '__jodit-resizer_binded'; var resizer = (function (_super) { tslib_1.__extends(resizer, _super); @@ -35151,7 +35578,7 @@ global_2.pluginSystem.add('resizer', resizer); /***/ }), -/***/ 53798: +/***/ 61975: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -35162,9 +35589,9 @@ global_2.pluginSystem.add('resizer', resizer); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var icon_1 = __webpack_require__(80353); -__webpack_require__(64052); +var config_1 = __webpack_require__(93166); +var icon_1 = __webpack_require__(77904); +__webpack_require__(59535); config_1.Config.prototype.useSearch = true; config_1.Config.prototype.search = { lazyIdleTimeout: 0 @@ -35202,7 +35629,7 @@ config_1.Config.prototype.controls.find = { /***/ }), -/***/ 74138: +/***/ 73934: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -35214,13 +35641,13 @@ config_1.Config.prototype.controls.find = { */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(47721), exports); -tslib_1.__exportStar(__webpack_require__(53779), exports); +tslib_1.__exportStar(__webpack_require__(18562), exports); +tslib_1.__exportStar(__webpack_require__(3928), exports); /***/ }), -/***/ 47721: +/***/ 18562: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -35233,7 +35660,7 @@ tslib_1.__exportStar(__webpack_require__(53779), exports); Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SentenceFinder = void 0; var tslib_1 = __webpack_require__(20255); -var fuzzy_search_index_1 = __webpack_require__(83212); +var fuzzy_search_index_1 = __webpack_require__(93163); var SentenceFinder = (function () { function SentenceFinder(searchIndex) { if (searchIndex === void 0) { searchIndex = fuzzy_search_index_1.fuzzySearchIndex; } @@ -35297,7 +35724,7 @@ exports.SentenceFinder = SentenceFinder; /***/ }), -/***/ 53779: +/***/ 3928: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -35310,8 +35737,8 @@ exports.SentenceFinder = SentenceFinder; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.isSelectionWrapper = exports.clearSelectionWrappersFromHTML = exports.clearSelectionWrappers = exports.getSelectionWrappers = exports.wrapRangesTextsInTmpSpan = void 0; var tslib_1 = __webpack_require__(20255); -var dom_1 = __webpack_require__(65401); -var selector_1 = __webpack_require__(73549); +var dom_1 = __webpack_require__(24263); +var selector_1 = __webpack_require__(54188); var TMP_ATTR = 'jd-tmp-selection'; function wrapRangesTextsInTmpSpan(rng, restRanges, ci, root) { var _a, e_1, _b; @@ -35407,7 +35834,7 @@ exports.isSelectionWrapper = isSelectionWrapper; /***/ }), -/***/ 64052: +/***/ 59535: /***/ (function() { "use strict"; @@ -35421,7 +35848,7 @@ exports.isSelectionWrapper = isSelectionWrapper; /***/ }), -/***/ 70785: +/***/ 14889: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -35434,14 +35861,14 @@ exports.isSelectionWrapper = isSelectionWrapper; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.search = void 0; var tslib_1 = __webpack_require__(20255); -var dom_1 = __webpack_require__(36516); -var plugin_1 = __webpack_require__(76454); -var decorators_1 = __webpack_require__(18731); -var search_1 = __webpack_require__(1753); -var helpers_1 = __webpack_require__(83370); -var global_1 = __webpack_require__(16672); -var helpers_2 = __webpack_require__(74138); -__webpack_require__(53798); +var dom_1 = __webpack_require__(64968); +var plugin_1 = __webpack_require__(57549); +var decorators_1 = __webpack_require__(43441); +var search_1 = __webpack_require__(72235); +var helpers_1 = __webpack_require__(40332); +var global_1 = __webpack_require__(17332); +var helpers_2 = __webpack_require__(73934); +__webpack_require__(61975); var search = (function (_super) { tslib_1.__extends(search, _super); function search() { @@ -35846,7 +36273,7 @@ global_1.pluginSystem.add('search', search); /***/ }), -/***/ 1753: +/***/ 72235: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -35860,12 +36287,12 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.UISearch = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(88582); -var ui_1 = __webpack_require__(77688); -var helpers_1 = __webpack_require__(83370); -var constants_1 = __webpack_require__(47386); -var consts = __webpack_require__(47386); -var decorators_1 = __webpack_require__(18731); -var dom_1 = __webpack_require__(36516); +var ui_1 = __webpack_require__(2074); +var helpers_1 = __webpack_require__(40332); +var constants_1 = __webpack_require__(86893); +var consts = __webpack_require__(86893); +var decorators_1 = __webpack_require__(43441); +var dom_1 = __webpack_require__(64968); var UISearch = (function (_super) { tslib_1.__extends(UISearch, _super); function UISearch(jodit) { @@ -36057,7 +36484,7 @@ exports.UISearch = UISearch; /***/ }), -/***/ 60233: +/***/ 14189: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -36068,13 +36495,13 @@ exports.UISearch = UISearch; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.tableAllowCellSelection = true; /***/ }), -/***/ 59748: +/***/ 37458: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -36087,14 +36514,14 @@ config_1.Config.prototype.tableAllowCellSelection = true; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.selectCells = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var modules_1 = __webpack_require__(18870); -var dom_1 = __webpack_require__(65401); -var helpers_1 = __webpack_require__(83370); -var constants_1 = __webpack_require__(47386); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -__webpack_require__(60233); +var plugin_1 = __webpack_require__(57549); +var modules_1 = __webpack_require__(87837); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(40332); +var constants_1 = __webpack_require__(86893); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(14189); var key = 'table_processor_observer'; var MOUSE_MOVE_LABEL = 'onMoveTableSelectCell'; var selectCells = (function (_super) { @@ -36383,7 +36810,7 @@ global_1.pluginSystem.add('selectCells', selectCells); /***/ }), -/***/ 39109: +/***/ 33100: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -36394,7 +36821,7 @@ global_1.pluginSystem.add('selectCells', selectCells); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.select = { normalizeSelectionBeforeCutAndCopy: false }; @@ -36402,7 +36829,7 @@ config_1.Config.prototype.select = { /***/ }), -/***/ 47802: +/***/ 95323: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -36415,13 +36842,13 @@ config_1.Config.prototype.select = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.select = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var decorators_1 = __webpack_require__(18731); -var camel_case_1 = __webpack_require__(79417); -var dom_1 = __webpack_require__(65401); -var ui_1 = __webpack_require__(77688); -var global_1 = __webpack_require__(16672); -__webpack_require__(39109); +var plugin_1 = __webpack_require__(57549); +var decorators_1 = __webpack_require__(43441); +var camel_case_1 = __webpack_require__(26596); +var dom_1 = __webpack_require__(24263); +var ui_1 = __webpack_require__(2074); +var global_1 = __webpack_require__(17332); +__webpack_require__(33100); var select = (function (_super) { tslib_1.__extends(select, _super); function select() { @@ -36511,7 +36938,7 @@ global_1.pluginSystem.add('select', select); /***/ }), -/***/ 37641: +/***/ 53387: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -36522,7 +36949,7 @@ global_1.pluginSystem.add('select', select); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.minWidth = 200; config_1.Config.prototype.maxWidth = '100%'; config_1.Config.prototype.minHeight = 200; @@ -36532,7 +36959,7 @@ config_1.Config.prototype.saveHeightInStorage = false; /***/ }), -/***/ 88738: +/***/ 71003: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -36546,11 +36973,11 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.size = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(30962); -var helpers_1 = __webpack_require__(83370); -var plugin_1 = __webpack_require__(90431); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -__webpack_require__(37641); +var helpers_1 = __webpack_require__(40332); +var plugin_1 = __webpack_require__(85605); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(53387); var size = (function (_super) { tslib_1.__extends(size, _super); function size() { @@ -36675,7 +37102,7 @@ global_1.pluginSystem.add('size', size); /***/ }), -/***/ 52750: +/***/ 13985: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -36686,9 +37113,9 @@ global_1.pluginSystem.add('size', size); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var constants_1 = __webpack_require__(47386); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var constants_1 = __webpack_require__(86893); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.beautifyHTML = !constants_1.IS_IE; config_1.Config.prototype.sourceEditor = 'ace'; config_1.Config.prototype.sourceEditorNativeOptions = { @@ -36720,7 +37147,7 @@ config_1.Config.prototype.controls.source = { /***/ }), -/***/ 30094: +/***/ 34186: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -36733,9 +37160,9 @@ config_1.Config.prototype.controls.source = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.AceEditor = void 0; var tslib_1 = __webpack_require__(20255); -var constants = __webpack_require__(47386); -var helpers_1 = __webpack_require__(83370); -var sourceEditor_1 = __webpack_require__(31135); +var constants = __webpack_require__(86893); +var helpers_1 = __webpack_require__(40332); +var sourceEditor_1 = __webpack_require__(36729); var AceEditor = (function (_super) { tslib_1.__extends(AceEditor, _super); function AceEditor() { @@ -36945,7 +37372,7 @@ exports.AceEditor = AceEditor; /***/ }), -/***/ 87887: +/***/ 58633: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -36958,9 +37385,9 @@ exports.AceEditor = AceEditor; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TextAreaEditor = void 0; var tslib_1 = __webpack_require__(20255); -var css_1 = __webpack_require__(76239); -var dom_1 = __webpack_require__(65401); -var sourceEditor_1 = __webpack_require__(31135); +var css_1 = __webpack_require__(26911); +var dom_1 = __webpack_require__(24263); +var sourceEditor_1 = __webpack_require__(36729); var TextAreaEditor = (function (_super) { tslib_1.__extends(TextAreaEditor, _super); function TextAreaEditor() { @@ -37071,7 +37498,7 @@ exports.TextAreaEditor = TextAreaEditor; /***/ }), -/***/ 15073: +/***/ 52834: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37083,13 +37510,13 @@ exports.TextAreaEditor = TextAreaEditor; */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(87887), exports); -tslib_1.__exportStar(__webpack_require__(30094), exports); +tslib_1.__exportStar(__webpack_require__(58633), exports); +tslib_1.__exportStar(__webpack_require__(34186), exports); /***/ }), -/***/ 45180: +/***/ 94785: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37101,8 +37528,8 @@ tslib_1.__exportStar(__webpack_require__(30094), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.createSourceEditor = void 0; -var helpers_1 = __webpack_require__(83370); -var engines_1 = __webpack_require__(15073); +var helpers_1 = __webpack_require__(40332); +var engines_1 = __webpack_require__(52834); function createSourceEditor(type, editor, container, toWYSIWYG, fromWYSIWYG) { var sourceEditor; if ((0, helpers_1.isFunction)(type)) { @@ -37130,7 +37557,7 @@ exports.createSourceEditor = createSourceEditor; /***/ }), -/***/ 31135: +/***/ 36729: /***/ (function(__unused_webpack_module, exports) { "use strict"; @@ -37179,7 +37606,7 @@ exports.SourceEditor = SourceEditor; /***/ }), -/***/ 93621: +/***/ 86030: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37193,15 +37620,15 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.source = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(68197); -var consts = __webpack_require__(47386); -var constants_1 = __webpack_require__(47386); -var plugin_1 = __webpack_require__(76454); -var dom_1 = __webpack_require__(65401); -var helpers_1 = __webpack_require__(83370); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -var factory_1 = __webpack_require__(45180); -__webpack_require__(52750); +var consts = __webpack_require__(86893); +var constants_1 = __webpack_require__(86893); +var plugin_1 = __webpack_require__(57549); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(40332); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +var factory_1 = __webpack_require__(94785); +__webpack_require__(13985); var source = (function (_super) { tslib_1.__extends(source, _super); function source() { @@ -37501,7 +37928,7 @@ global_1.pluginSystem.add('source', source); /***/ }), -/***/ 68960: +/***/ 50876: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37512,8 +37939,8 @@ global_1.pluginSystem.add('source', source); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.spellcheck = false; icon_1.Icon.set('spellcheck', __webpack_require__(69546)); config_1.Config.prototype.controls.spellcheck = { @@ -37529,7 +37956,7 @@ config_1.Config.prototype.controls.spellcheck = { /***/ }), -/***/ 37942: +/***/ 87882: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37583,7 +38010,7 @@ exports.zh_tw = zh_tw; /***/ }), -/***/ 8797: +/***/ 17002: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37596,11 +38023,11 @@ exports.zh_tw = zh_tw; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.spellcheck = void 0; var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var utils_1 = __webpack_require__(32389); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -__webpack_require__(68960); +var plugin_1 = __webpack_require__(57549); +var utils_1 = __webpack_require__(67309); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(50876); var spellcheck = (function (_super) { tslib_1.__extends(spellcheck, _super); function spellcheck(jodit) { @@ -37611,7 +38038,7 @@ var spellcheck = (function (_super) { name: 'spellcheck' } ]; - (0, global_1.extendLang)(__webpack_require__(37942)); + (0, global_1.extendLang)(__webpack_require__(87882)); return _this; } spellcheck.prototype.afterInit = function (jodit) { @@ -37639,7 +38066,7 @@ global_1.pluginSystem.add('spellcheck', spellcheck); /***/ }), -/***/ 5204: +/***/ 59818: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37650,7 +38077,7 @@ global_1.pluginSystem.add('spellcheck', spellcheck); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.showCharsCounter = true; config_1.Config.prototype.countHTMLChars = false; config_1.Config.prototype.showWordsCounter = true; @@ -37658,7 +38085,7 @@ config_1.Config.prototype.showWordsCounter = true; /***/ }), -/***/ 46965: +/***/ 1557: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37671,11 +38098,11 @@ config_1.Config.prototype.showWordsCounter = true; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.stat = void 0; var tslib_1 = __webpack_require__(20255); -var constants_1 = __webpack_require__(47386); -var plugin_1 = __webpack_require__(90431); -var dom_1 = __webpack_require__(65401); -var global_1 = __webpack_require__(16672); -__webpack_require__(5204); +var constants_1 = __webpack_require__(86893); +var plugin_1 = __webpack_require__(85605); +var dom_1 = __webpack_require__(24263); +var global_1 = __webpack_require__(17332); +__webpack_require__(59818); var stat = (function (_super) { tslib_1.__extends(stat, _super); function stat() { @@ -37730,7 +38157,7 @@ global_1.pluginSystem.add('stat', stat); /***/ }), -/***/ 81549: +/***/ 40790: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37741,7 +38168,7 @@ global_1.pluginSystem.add('stat', stat); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.toolbarSticky = true; config_1.Config.prototype.toolbarDisableStickyForMobile = true; config_1.Config.prototype.toolbarStickyOffset = 0; @@ -37749,7 +38176,7 @@ config_1.Config.prototype.toolbarStickyOffset = 0; /***/ }), -/***/ 7871: +/***/ 82808: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37763,13 +38190,13 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.sticky = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(60057); -var constants_1 = __webpack_require__(47386); -var plugin_1 = __webpack_require__(90431); -var dom_1 = __webpack_require__(65401); -var helpers_1 = __webpack_require__(83370); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -__webpack_require__(81549); +var constants_1 = __webpack_require__(86893); +var plugin_1 = __webpack_require__(85605); +var dom_1 = __webpack_require__(24263); +var helpers_1 = __webpack_require__(40332); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(40790); var sticky = (function (_super) { tslib_1.__extends(sticky, _super); function sticky() { @@ -37862,7 +38289,7 @@ global_1.pluginSystem.add('sticky', sticky); /***/ }), -/***/ 36323: +/***/ 31750: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -37873,8 +38300,8 @@ global_1.pluginSystem.add('sticky', sticky); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.usePopupForSpecialCharacters = false; config_1.Config.prototype.specialCharacters = [ '!', @@ -38116,7 +38543,7 @@ config_1.Config.prototype.controls.symbols = { /***/ }), -/***/ 52546: +/***/ 21236: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38170,7 +38597,7 @@ exports.zh_tw = zh_tw; /***/ }), -/***/ 9077: +/***/ 48560: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38184,12 +38611,12 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.symbols = void 0; var tslib_1 = __webpack_require__(20255); __webpack_require__(33393); -var constants_1 = __webpack_require__(47386); -var plugin_1 = __webpack_require__(90431); -var dom_1 = __webpack_require__(65401); -var utils_1 = __webpack_require__(38301); -var global_1 = __webpack_require__(16672); -__webpack_require__(36323); +var constants_1 = __webpack_require__(86893); +var plugin_1 = __webpack_require__(85605); +var dom_1 = __webpack_require__(24263); +var utils_1 = __webpack_require__(76502); +var global_1 = __webpack_require__(17332); +__webpack_require__(31750); var symbols = (function (_super) { tslib_1.__extends(symbols, _super); function symbols(jodit) { @@ -38201,7 +38628,7 @@ var symbols = (function (_super) { } ]; _this.countInRow = 17; - (0, global_1.extendLang)(__webpack_require__(52546)); + (0, global_1.extendLang)(__webpack_require__(21236)); return _this; } symbols.prototype.afterInit = function (jodit) { @@ -38297,7 +38724,7 @@ global_1.pluginSystem.add('symbols', symbols); /***/ }), -/***/ 67896: +/***/ 15797: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38309,12 +38736,12 @@ global_1.pluginSystem.add('symbols', symbols); */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -tslib_1.__exportStar(__webpack_require__(99439), exports); +tslib_1.__exportStar(__webpack_require__(41170), exports); /***/ }), -/***/ 99439: +/***/ 41170: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38326,37 +38753,111 @@ tslib_1.__exportStar(__webpack_require__(99439), exports); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.onTabInsideLi = void 0; -var dom_1 = __webpack_require__(65401); -function onTabInsideLi(jodit) { - if (!jodit.o.tab.tabInsideLiInsertNewList || !jodit.s.isCollapsed()) { +var tslib_1 = __webpack_require__(20255); +var dom_1 = __webpack_require__(24263); +var assert_1 = __webpack_require__(603); +function onTabInsideLi(jodit, shift) { + if (shift === void 0) { shift = false; } + if (!jodit.o.tab.tabInsideLiInsertNewList) { return false; } - var fake = jodit.createInside.fake(); - jodit.s.insertNode(fake); - var li = dom_1.Dom.closest(fake, 'li', jodit.editor); - if (li && - jodit.s.cursorOnTheLeft(li) && - dom_1.Dom.isTag(li.previousElementSibling, 'li')) { + var _a = tslib_1.__read(fakeCursors(jodit), 2), fake = _a[0], fake2 = _a[1]; + try { + var li = getParentLeaf(jodit, fake, shift); + if (!li) { + return false; + } + if (!isSameLeftCursorPosition(li, jodit, fake)) { + return false; + } var list = dom_1.Dom.closest(li, ['ol', 'ul'], jodit.editor); - if (list) { - var newList = jodit.createInside.element(list.tagName); - var previousLi = li.previousElementSibling; - newList.appendChild(li); - previousLi.appendChild(newList); - jodit.s.setCursorAfter(fake); - dom_1.Dom.safeRemove(fake); - return true; + if (!list || (shift && !dom_1.Dom.closest(list, 'li', jodit.editor))) { + return false; + } + if (!shift) { + appendNestedList(jodit, list, li); + } + else { + removeNestedList(jodit, list, li); } + return true; + } + finally { + var range = jodit.s.createRange(); + range.setStartAfter(fake); + range.setEndBefore(fake2); + jodit.s.selectRange(range); + dom_1.Dom.safeRemove(fake); + dom_1.Dom.safeRemove(fake2); } - dom_1.Dom.safeRemove(fake); return false; } exports.onTabInsideLi = onTabInsideLi; +function fakeCursors(jodit) { + var fake = jodit.createInside.fake(); + var fake2 = jodit.createInside.fake(); + var r = jodit.s.range.cloneRange(); + r.collapse(true); + r.insertNode(fake); + var r2 = jodit.s.range.cloneRange(); + r2.collapse(false); + r2.insertNode(fake2); + return [fake, fake2]; +} +function getParentLeaf(jodit, fake, shift) { + var li = dom_1.Dom.closest(fake, 'li', jodit.editor); + if (!li) { + return false; + } + if (!shift && !dom_1.Dom.isTag(li.previousElementSibling, 'li')) { + return false; + } + if (shift && !dom_1.Dom.closest(li, 'li', jodit.editor)) { + return false; + } + return li; +} +function isSameLeftCursorPosition(li, jodit, fake) { + var li2 = dom_1.Dom.closest(fake, 'li', jodit.editor); + return !(!li2 || (li2 !== li && !li.contains(li2))); +} +function appendNestedList(jodit, list, li) { + var previousLi = li.previousElementSibling; + void 0; + var lastElm = previousLi.lastElementChild; + var newList = dom_1.Dom.isTag(lastElm, list.tagName) + ? lastElm + : jodit.createInside.element(list.tagName, Array.from(list.attributes).reduce(function (acc, attr) { + acc[attr.name] = attr.value; + return acc; + }, {})); + newList.appendChild(li); + lastElm !== newList && previousLi.appendChild(newList); +} +function removeNestedList(jodit, list, li) { + var parentLi = dom_1.Dom.closest(list, 'li', jodit.editor); + void 0; + var items = Array.from(list.children).filter(function (t) { + return dom_1.Dom.isTag(t, 'li'); + }); + dom_1.Dom.after(parentLi, li); + var index = items.indexOf(li); + if (index === 0 || items.length === 1) { + dom_1.Dom.safeRemove(list); + } + if (index !== items.length - 1) { + var clone = list.cloneNode(); + dom_1.Dom.append(li, clone); + for (var i = index + 1; i < items.length; i += 1) { + dom_1.Dom.append(clone, items[i]); + } + } +} /***/ }), -/***/ 39645: +/***/ 56198: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38367,7 +38868,7 @@ exports.onTabInsideLi = onTabInsideLi; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.tab = { tabInsideLiInsertNewList: true }; @@ -38375,7 +38876,7 @@ config_1.Config.prototype.tab = { /***/ }), -/***/ 56264: +/***/ 32246: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38387,27 +38888,43 @@ config_1.Config.prototype.tab = { */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var decorators_1 = __webpack_require__(18731); -var constants_1 = __webpack_require__(47386); -var global_1 = __webpack_require__(16672); -var cases_1 = __webpack_require__(67896); -__webpack_require__(39645); +var plugin_1 = __webpack_require__(57549); +var decorators_1 = __webpack_require__(43441); +var constants_1 = __webpack_require__(86893); +var global_1 = __webpack_require__(17332); +var cases_1 = __webpack_require__(15797); +__webpack_require__(56198); var tab = (function (_super) { tslib_1.__extends(tab, _super); function tab() { return _super !== null && _super.apply(this, arguments) || this; } tab.prototype.afterInit = function (jodit) { }; - tab.prototype.onTab = function (event) { - if (event.key === constants_1.KEY_TAB && (0, cases_1.onTabInsideLi)(this.j)) { + tab.prototype.__onTab = function (event) { + if (event.key === constants_1.KEY_TAB && this.__onShift(event.shiftKey)) { + return false; + } + }; + tab.prototype.__onCommand = function (command) { + if ((command === 'indent' || command === 'outdent') && + this.__onShift(command === 'outdent')) { return false; } }; + tab.prototype.__onShift = function (shift) { + var res = (0, cases_1.onTabInsideLi)(this.j, shift); + if (res) { + this.j.e.fire('afterTab', shift); + } + return res; + }; tab.prototype.beforeDestruct = function (jodit) { }; tslib_1.__decorate([ (0, decorators_1.watch)(':keydown.tab') - ], tab.prototype, "onTab", null); + ], tab.prototype, "__onTab", null); + tslib_1.__decorate([ + (0, decorators_1.watch)(':beforeCommand.tab') + ], tab.prototype, "__onCommand", null); return tab; }(plugin_1.Plugin)); global_1.pluginSystem.add('tab', tab); @@ -38415,7 +38932,7 @@ global_1.pluginSystem.add('tab', tab); /***/ }), -/***/ 47908: +/***/ 23308: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38427,10 +38944,10 @@ global_1.pluginSystem.add('tab', tab); */ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.tableKeyboardNavigation = void 0; -var consts = __webpack_require__(47386); -var dom_1 = __webpack_require__(65401); -var table_1 = __webpack_require__(70218); -var global_1 = __webpack_require__(16672); +var consts = __webpack_require__(86893); +var dom_1 = __webpack_require__(24263); +var table_1 = __webpack_require__(25120); +var global_1 = __webpack_require__(17332); function tableKeyboardNavigation(editor) { editor.e .off('.tableKeyboardNavigation') @@ -38549,7 +39066,7 @@ global_1.pluginSystem.add('tableKeyboardNavigation', tableKeyboardNavigation); /***/ }), -/***/ 28716: +/***/ 30739: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38560,11 +39077,11 @@ global_1.pluginSystem.add('tableKeyboardNavigation', tableKeyboardNavigation); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var dom_1 = __webpack_require__(36516); -var utils_1 = __webpack_require__(38301); -var helpers_1 = __webpack_require__(83370); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var dom_1 = __webpack_require__(64968); +var utils_1 = __webpack_require__(76502); +var helpers_1 = __webpack_require__(40332); +var icon_1 = __webpack_require__(77904); config_1.Config.prototype.table = { selectionCellStyle: 'border: 1px double #1e88e5 !important;', useExtraClassesOptions: false @@ -38702,7 +39219,7 @@ config_1.Config.prototype.controls.table = { /***/ }), -/***/ 24310: +/***/ 45842: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38715,8 +39232,8 @@ config_1.Config.prototype.controls.table = { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.table = void 0; __webpack_require__(51057); -var global_1 = __webpack_require__(16672); -__webpack_require__(28716); +var global_1 = __webpack_require__(17332); +__webpack_require__(30739); function table(editor) { editor.registerButton({ name: 'table', @@ -38729,7 +39246,7 @@ global_1.pluginSystem.add('table', table); /***/ }), -/***/ 98025: +/***/ 79114: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38740,12 +39257,12 @@ global_1.pluginSystem.add('table', table); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); -var widget_1 = __webpack_require__(81250); -var helpers_1 = __webpack_require__(83370); -var form_1 = __webpack_require__(20935); -var button_1 = __webpack_require__(25242); -var icon_1 = __webpack_require__(80353); +var config_1 = __webpack_require__(93166); +var widget_1 = __webpack_require__(718); +var helpers_1 = __webpack_require__(40332); +var form_1 = __webpack_require__(95963); +var button_1 = __webpack_require__(96516); +var icon_1 = __webpack_require__(77904); icon_1.Icon.set('video', __webpack_require__(49222)); config_1.Config.prototype.controls.video = { popup: function (editor, current, control, close) { @@ -38807,7 +39324,7 @@ config_1.Config.prototype.controls.video = { /***/ }), -/***/ 16723: +/***/ 19889: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38818,8 +39335,8 @@ config_1.Config.prototype.controls.video = { * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var global_1 = __webpack_require__(16672); -__webpack_require__(98025); +var global_1 = __webpack_require__(17332); +__webpack_require__(79114); function video(editor) { editor.registerButton({ name: 'video', @@ -38831,7 +39348,7 @@ global_1.pluginSystem.add('video', video); /***/ }), -/***/ 15671: +/***/ 64401: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38842,7 +39359,7 @@ global_1.pluginSystem.add('video', video); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.wrapNodes = { exclude: ['hr', 'style', 'br'], emptyBlockAfterInit: true @@ -38851,7 +39368,7 @@ config_1.Config.prototype.wrapNodes = { /***/ }), -/***/ 59310: +/***/ 20728: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38863,12 +39380,12 @@ config_1.Config.prototype.wrapNodes = { */ Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); -var plugin_1 = __webpack_require__(76454); -var dom_1 = __webpack_require__(36516); -var is_string_1 = __webpack_require__(86129); -var decorators_1 = __webpack_require__(18731); -var global_1 = __webpack_require__(16672); -__webpack_require__(15671); +var plugin_1 = __webpack_require__(57549); +var dom_1 = __webpack_require__(64968); +var is_string_1 = __webpack_require__(24421); +var decorators_1 = __webpack_require__(43441); +var global_1 = __webpack_require__(17332); +__webpack_require__(64401); var wrapNodes = (function (_super) { tslib_1.__extends(wrapNodes, _super); function wrapNodes() { @@ -38980,7 +39497,7 @@ global_1.pluginSystem.add('wrapNodes', wrapNodes); /***/ }), -/***/ 5471: +/***/ 71707: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -38991,13 +39508,13 @@ global_1.pluginSystem.add('wrapNodes', wrapNodes); * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -var config_1 = __webpack_require__(80031); +var config_1 = __webpack_require__(93166); config_1.Config.prototype.showXPathInStatusbar = true; /***/ }), -/***/ 50964: +/***/ 18238: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -39010,14 +39527,14 @@ config_1.Config.prototype.showXPathInStatusbar = true; Object.defineProperty(exports, "__esModule", ({ value: true })); var tslib_1 = __webpack_require__(20255); __webpack_require__(64618); -var constants_1 = __webpack_require__(47386); -var context_menu_1 = __webpack_require__(82616); -var dom_1 = __webpack_require__(36516); -var helpers_1 = __webpack_require__(83370); -var plugin_1 = __webpack_require__(76454); -var factory_1 = __webpack_require__(5243); -var global_1 = __webpack_require__(16672); -__webpack_require__(5471); +var constants_1 = __webpack_require__(86893); +var context_menu_1 = __webpack_require__(60403); +var dom_1 = __webpack_require__(64968); +var helpers_1 = __webpack_require__(40332); +var plugin_1 = __webpack_require__(57549); +var factory_1 = __webpack_require__(81438); +var global_1 = __webpack_require__(17332); +__webpack_require__(71707); var xpath = (function (_super) { tslib_1.__extends(xpath, _super); function xpath() { @@ -39158,7 +39675,7 @@ global_1.pluginSystem.add('xpath', xpath); /***/ }), -/***/ 25792: +/***/ 89019: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -39216,7 +39733,7 @@ if (!String.prototype.endsWith) { /***/ }), -/***/ 48539: +/***/ 15261: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -40670,19 +41187,19 @@ var exports = __webpack_exports__; * Copyright (c) 2013-2022 Valeriy Chupurnov. All rights reserved. https://xdsoft.net */ Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Jodit = void 0; +exports.CommitMode = exports.Jodit = void 0; __webpack_require__(90176); if ( true && typeof window !== 'undefined') { - __webpack_require__(25792); + __webpack_require__(89019); } -var jodit_1 = __webpack_require__(57468); +var jodit_1 = __webpack_require__(37920); Object.defineProperty(exports, "Jodit", ({ enumerable: true, get: function () { return jodit_1.Jodit; } })); -var langs_1 = __webpack_require__(63851); -var decorators = __webpack_require__(18731); -var constants = __webpack_require__(47386); -var Modules = __webpack_require__(18870); -var Icons = __webpack_require__(48539); -__webpack_require__(38952); +var langs_1 = __webpack_require__(26435); +var decorators = __webpack_require__(43441); +var constants = __webpack_require__(86893); +var Modules = __webpack_require__(87837); +var Icons = __webpack_require__(15261); +__webpack_require__(70022); __webpack_require__(91147); Object.keys(constants).forEach(function (key) { jodit_1.Jodit[key] = constants[key]; @@ -40711,6 +41228,12 @@ Object.keys(langs_1.default) .forEach(function (key) { jodit_1.Jodit.lang[key] = langs_1.default[key]; }); +var CommitMode = (function () { + function CommitMode() { + } + return CommitMode; +}()); +exports.CommitMode = CommitMode; }(); __webpack_exports__ = __webpack_require__.O(__webpack_exports__); diff --git a/build/jodit.min.css b/build/jodit.min.css index b941f9840..d5f478d26 100644 --- a/build/jodit.min.css +++ b/build/jodit.min.css @@ -1,8 +1,8 @@ /*! * jodit - Jodit is awesome and usefully wysiwyg editor with filebrowser * Author: Chupurnov (https://xdsoft.net/) - * Version: v3.23.3 + * Version: v3.24.1 * Url: https://xdsoft.net/jodit/ * License(s): MIT */ - .jodit-wysiwyg{outline:0}.jodit-wysiwyg ::-moz-selection, .jodit-wysiwyg::-moz-selection{background:#b5d6fd;color:#4c4c4c}.jodit-wysiwyg ::selection,.jodit-wysiwyg::selection{background:#b5d6fd;color:#4c4c4c}.jodit-container:not(.jodit_inline) .jodit-wysiwyg{margin:0;outline:0;overflow-x:auto;padding:8px;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg img{max-width:100%;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media{position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media *{position:relative;z-index:0}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.jodit-form{color:#4c4c4c;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px}.jodit-form.jodit_error{border-color:#ff3b3b;-webkit-box-shadow:inset 0 0 3px 0 hsla(0,0%,74%,.3);box-shadow:inset 0 0 3px 0 hsla(0,0%,74%,.3)}@media (max-width:768px){.jodit-form{min-width:150px}}.jodit-form button{background:#d6d6d6;border:none;color:#4c4c4c;cursor:pointer;font-size:16px;height:36px;line-height:1;margin-bottom:8px;margin-top:8px;outline:none;padding:8px;text-decoration:none;-webkit-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;transition:background .2s ease 0s}.jodit-form button:hover{background-color:#ecebe9;color:#4c4c4c}.jodit-form button:active{background:#ecebe9;color:#4c4c4c}.jodit-form label{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:8px;text-align:left;white-space:nowrap}.jodit-form label:last-child{margin-bottom:0}.jodit-form .jodit-form__center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit .jodit-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #dadada;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit .jodit-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #dadada;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit .jodit-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #dadada;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit .jodit-input[disabled]{background-color:#f0f0f0;color:#dadada}.jodit .jodit-select[disabled]{background-color:#f0f0f0;color:#dadada}.jodit .jodit-textarea[disabled]{background-color:#f0f0f0;color:#dadada}.jodit .jodit-input_has-error_true{border-color:#ff3b3b}.jodit .jodit-select_has-error_true{border-color:#ff3b3b}.jodit .jodit-textarea_has-error_true{border-color:#ff3b3b}.jodit .jodit-input:focus{border-color:#66afe9;outline:0}.jodit-checkbox{border:0;cursor:pointer;height:16px;margin:0 calc(8px/2) 0 0;outline:none;padding:0;position:relative;width:16px;z-index:2}.jodit-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4.95 10'%3E%3Cdefs%3E%3Cstyle%3E.cls-2{fill:%23444}%3C/style%3E%3C/defs%3E%3Cpath style='fill:%23fff' d='M0 0h4.95v10H0z'/%3E%3Cpath class='cls-2' d='m1.41 4.67 1.07-1.49 1.06 1.49H1.41zM3.54 5.33 2.48 6.82 1.41 5.33h2.13z'/%3E%3C/svg%3E");background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(8px*2)}.jodit-textarea{height:auto}.jodit-form__group{min-width:180px}.jodit-textarea{min-width:180px}.jodit-form__group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.jodit-form__group{margin-bottom:8px}.jodit-form__group>label{margin-bottom:8px}.jodit-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#dadada;border:0;border-radius:.25rem;color:#4c4c4c;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;height:calc(8px*4);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:1;margin:0;padding:0 8px;position:relative;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:auto}.jodit-button svg{display:inline-block;height:24px;width:24px}.jodit-button svg+span{margin-left:calc(8px/2)}.jodit-button:active,.jodit-button:focus{outline:0}.jodit-button.disabled{opacity:.7}.jodit-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.jodit-button .jodit_icon,.jodit-button svg,.jodit-dialog__header .jodit_icon,.jodit-dialog__header svg{display:inline-block;height:16px;vertical-align:middle;width:16px}.jodit-switcher{display:inline-block;height:32px;position:relative;width:60px}.jodit-switcher input{height:0;opacity:0;width:0}.jodit-switcher .jodit-switcher__slider{background-color:#dadada;border-radius:32px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.jodit-switcher .jodit-switcher__slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:calc(32px - 4px*2);left:4px;position:absolute;-webkit-transition:.4s;-o-transition:.4s;transition:.4s;width:calc(32px - 4px*2)}input:checked+.jodit-switcher__slider{background-color:#2196f3}input:checked+.jodit-switcher__slider:before{-webkit-transform:translateX(calc(60px - 4px*2 - calc(32px - 4px*2)));-ms-transform:translateX(calc(60px - 4px*2 - calc(32px - 4px*2)));transform:translateX(calc(60px - 4px*2 - calc(32px - 4px*2)))}input:focus+.jodit-switcher__slider{-webkit-box-shadow:0 0 1px #2196f3;box-shadow:0 0 1px #2196f3}.jodit-button-group{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-button-group input{display:none}.jodit-button-group button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.jodit-button-group button+button{margin-left:-1px}.jodit-button-group button:first-child,.jodit-button-group input:first-child+button{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.jodit-button-group button:last-child,.jodit-button-group input:last-child+button{border-bottom-left-radius:0;border-left:0;border-top-left-radius:0}.jodit-button-group input[type=checkbox]:checked+button,.jodit-button-group input[type=checkbox]:not(:checked)+button+button{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.05)}.jodit_text_icons .jodit_icon{font-size:14px;width:auto}.jodit_text_icons .jodit_icon:first-letter{text-transform:uppercase}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;width:auto}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a i{width:auto}.jodit_text_icons.jodit-dialog .jodit-button{color:rgba(0,0,0,.75);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;padding:8px;width:auto}.jodit_text_icons.jodit-dialog .jodit-dialog__header a{color:rgba(0,0,0,.75);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;padding:8px;width:auto}.jodit_text_icons.jodit-dialog .jodit-button .jodit_icon,.jodit_text_icons.jodit-dialog .jodit-dialog__header a .jodit_icon{width:auto}.jodit-grid{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.jodit-grid.jodit-grid_column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (max-width:480px){.jodit-grid.jodit-grid_xs-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.jodit-grid [class*=jodit_col-]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.jodit-grid .jodit_col-lg-5-5{width:100%}.jodit-grid .jodit_col-lg-4-5{width:80%}.jodit-grid .jodit_col-lg-3-5{width:60%}.jodit-grid .jodit_col-lg-2-5{width:40%}.jodit-grid .jodit_col-lg-1-5{width:20%}.jodit-grid .jodit_col-lg-4-4{width:100%}.jodit-grid .jodit_col-lg-3-4{width:75%}.jodit-grid .jodit_col-lg-2-4{width:50%}.jodit-grid .jodit_col-lg-1-4{width:25%}@media (max-width:992px){.jodit-grid .jodit_col-md-5-5{width:100%}.jodit-grid .jodit_col-md-4-5{width:80%}.jodit-grid .jodit_col-md-3-5{width:60%}.jodit-grid .jodit_col-md-2-5{width:40%}.jodit-grid .jodit_col-md-1-5{width:20%}.jodit-grid .jodit_col-md-4-4{width:100%}.jodit-grid .jodit_col-md-3-4{width:75%}.jodit-grid .jodit_col-md-2-4{width:50%}.jodit-grid .jodit_col-md-1-4{width:25%}}@media (max-width:768px){.jodit-grid .jodit_col-sm-5-5{width:100%}.jodit-grid .jodit_col-sm-4-5{width:80%}.jodit-grid .jodit_col-sm-3-5{width:60%}.jodit-grid .jodit_col-sm-2-5{width:40%}.jodit-grid .jodit_col-sm-1-5{width:20%}.jodit-grid .jodit_col-sm-4-4{width:100%}.jodit-grid .jodit_col-sm-3-4{width:75%}.jodit-grid .jodit_col-sm-2-4{width:50%}.jodit-grid .jodit_col-sm-1-4{width:25%}}@media (max-width:480px){.jodit-grid .jodit_col-xs-5-5{width:100%}.jodit-grid .jodit_col-xs-4-5{width:80%}.jodit-grid .jodit_col-xs-3-5{width:60%}.jodit-grid .jodit_col-xs-2-5{width:40%}.jodit-grid .jodit_col-xs-1-5{width:20%}.jodit-grid .jodit_col-xs-4-4{width:100%}.jodit-grid .jodit_col-xs-3-4{width:75%}.jodit-grid .jodit_col-xs-2-4{width:50%}.jodit-grid .jodit_col-xs-1-4{width:25%}}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.jodit-icon_loader{-webkit-animation:a 2s ease-out 0s infinite;animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;display:inline-block;height:48px;vertical-align:middle;width:48px;will-change:transform}.jodit-icon{fill:#4c4c4c;background:50% no-repeat;background-size:contain;height:14px;overflow:visible;-webkit-transform-origin:0 0!important;-ms-transform-origin:0 0!important;transform-origin:0 0!important;width:14px}.jodit-icon{stroke:#4c4c4c}.jodit-icon_close{stroke:#4c4c4c}svg.jodit-icon{height:auto;isolation:isolate}.jodit-icon_text{font-size:14px}.jodit,.jodit *,.jodit-container,.jodit-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.jodit .jodit-workplace,.jodit-container .jodit-workplace{overflow:auto;position:relative}.jodit .jodit-workplace .jodit-wysiwyg,.jodit .jodit-workplace .jodit-wysiwyg_iframe,.jodit-container .jodit-workplace .jodit-wysiwyg,.jodit-container .jodit-workplace .jodit-wysiwyg_iframe{height:100%;width:100%}.jodit-wysiwyg [contenteditable=false]{cursor:default}.jodit-container:not(.jodit_inline){background-color:#f5f5f6;border:1px solid #dadada;border-radius:3px}.jodit-container:not(.jodit_inline) .jodit-workplace{background-color:#fff;border:0 solid #dadada;max-height:100%}.jodit-container:not(.jodit_inline).jodit_disabled{background:#dadada}.jodit-container:not(.jodit_inline).jodit_disabled .jodit-workplace{opacity:.4}.jodit_disabled,.jodit_lock{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.jodit_hidden{display:none!important}.jodit_vertical_middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-box,.jodit-context-menu{background:0 0;border:0;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.jodit-context-menu{-webkit-box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13);box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13);display:inline-block;position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10000001;z-index:30000005}.jodit-context-menu__content{overflow-scrolling:touch;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;max-height:300px;overflow:auto;padding:8px}.jodit-context-menu_padding_false .jodit-context-menu__content{padding:0}.jodit-context-menu_max-height_false .jodit-context-menu__content{max-height:-webkit-fit-content;max-height:-moz-fit-content;max-height:fit-content}.jodit-context-menu .jodit-ui-button{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-context-menu__actions{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px}.jodit-context-menu__actions button{width:100%}.jodit-context-menu_theme_dark .jodit-context-menu__content{background-color:#575757}.jodit-popup{background:0 0;border:0;-webkit-box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13);box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13);display:inline-block;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);width:auto;z-index:10000001}.jodit-popup__content{overflow-scrolling:touch;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;max-height:300px;overflow:auto;padding:8px}.jodit-popup_padding_false .jodit-popup__content{padding:0}.jodit-popup_max-height_false .jodit-popup__content{max-height:-webkit-fit-content;max-height:-moz-fit-content;max-height:fit-content}.jodit-ui-button-icon-text__icon{display:none}.jodit-ui-button-icon-text__icon:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.jodit-ui-button-icon-text__text{display:none}.jodit-ui-button-icon-text__text:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text{-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left;padding-left:8px;position:relative}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text:before{border-left:1px solid #dadada;content:"";height:35px;left:0;position:absolute;top:calc(8px*-1)}.jodit-ui-button-icon-text__icon:not(:empty)+.jodit-ui-button-icon-text__text:not(:empty){margin-left:8px}.jodit-ui-button-icon-text__icon:empty+.jodit-ui-button-icon-text__text:not(:empty){padding:0 8px}.jodit-ui-button-clear,.jodit-ui-button_clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;font-style:normal;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-ui-button-sizes{height:34px;min-width:34px}.jodit-ui-button-sizes .jodit-icon{height:14px;width:14px}.jodit-ui-button-sizes button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button-sizes_text-icons_true button{padding:0 8px}.jodit-ui-button-sizes_size_tiny{height:16px;min-width:16px}.jodit-ui-button-sizes_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button-sizes_size_tiny button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button-sizes_size_tiny_text-icons_true button{padding:0 8px}.jodit-ui-button-sizes_size_xsmall{height:22px;min-width:22px}.jodit-ui-button-sizes_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button-sizes_size_xsmall button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button-sizes_size_xsmall_text-icons_true button{padding:0 8px}.jodit-ui-button-sizes_size_small{height:28px;min-width:28px}.jodit-ui-button-sizes_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button-sizes_size_small button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button-sizes_size_small_text-icons_true button{padding:0 8px}.jodit-ui-button-sizes_size_large{height:40px;min-width:40px}.jodit-ui-button-sizes_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button-sizes_size_large button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button-sizes_size_large_text-icons_true button{padding:0 8px}.jodit-ui-button-variants_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button-variants_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default [disabled]{opacity:.7}.jodit-ui-button-variants_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button-variants_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button-variants_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button-variants_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button-variants_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button-variants_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success [disabled]{opacity:.7}.jodit-ui-button-variants_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button-variants_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button-variants_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button-variants_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger [disabled]{opacity:.7}.jodit-ui-button-variants_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button-variants_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-button-style{border-radius:3px;padding:0 8px}.jodit-ui-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:rgba(0,0,0,.75);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-ui-button-style{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:rgba(0,0,0,.75);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-ui-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;font-style:normal;height:34px;min-width:34px;outline:0;padding:0;padding:0 8px;position:relative;text-align:center;text-decoration:none;text-transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-ui-button:focus-visible:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-ui-button:hover:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-ui-button:active:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-ui-button[aria-pressed=true]:hover:not([disabled]){background-color:hsla(0,0%,86%,.6)}.jodit-ui-button[disabled]{opacity:.3;pointer-events:none}.jodit-ui-button .jodit-icon{height:14px;width:14px}.jodit-ui-button button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button_text-icons_true button{padding:0 8px}.jodit-ui-button_size_tiny{height:16px;min-width:16px}.jodit-ui-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button_size_tiny button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button_size_tiny_text-icons_true button{padding:0 8px}.jodit-ui-button_size_xsmall{height:22px;min-width:22px}.jodit-ui-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button_size_xsmall button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button_size_xsmall_text-icons_true button{padding:0 8px}.jodit-ui-button_size_small{height:28px;min-width:28px}.jodit-ui-button_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button_size_small button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button_size_small_text-icons_true button{padding:0 8px}.jodit-ui-button_size_large{height:40px;min-width:40px}.jodit-ui-button_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button_size_large button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button_size_large_text-icons_true button{padding:0 8px}.jodit-ui-button__icon{display:none}.jodit-ui-button__icon:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.jodit-ui-button__text{display:none}.jodit-ui-button__text:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-ui-button_context_menu .jodit-ui-button__text{-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left;padding-left:8px;position:relative}.jodit-ui-button_context_menu .jodit-ui-button__text:before{border-left:1px solid #dadada;content:"";height:35px;left:0;position:absolute;top:calc(8px*-1)}.jodit-ui-button__icon:not(:empty)+.jodit-ui-button__text:not(:empty){margin-left:8px}.jodit-ui-button__icon:empty+.jodit-ui-button__text:not(:empty){padding:0 8px}.jodit-ui-button:focus:not([disabled]){outline:1px dashed #b5d6fd}.jodit-ui-button_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default [disabled]{opacity:.7}.jodit-ui-button_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary [disabled]{opacity:.7}.jodit-ui-button_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary [disabled]{opacity:.7}.jodit-ui-button_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success [disabled]{opacity:.7}.jodit-ui-button_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger [disabled]{opacity:.7}.jodit-ui-button_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-ui-group{background-color:transparent;border:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-toolbar-button{height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2)}.jodit-ui-list_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2);width:100%}.jodit-ui-list_mode_vertical .jodit-toolbar-button__text:not(:empty){-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left}.jodit-ui-separator{border-left:0;border-right:1px solid #dadada;cursor:default;margin:2px;padding:0}.jodit-ui-break{border-top:1px solid #dadada;-ms-flex-preferred-size:100%;flex-basis:100%;height:0!important;width:0}.jodit-ui-spacer{-webkit-box-flex:1;-ms-flex:1;flex:1}.jodit-ui-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-negative:0;flex-shrink:0;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%}.jodit-ui-group_line_true{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch}.jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-left:0;border-right:1px solid #dadada;content:"";cursor:default;margin:2px;padding:0}.jodit-ui-group:last-child{border-bottom:0}.jodit-ui-button-group{margin-bottom:8px}.jodit-ui-button-group__label{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-button-group__options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.jodit-ui-button-group .jodit-ui-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.jodit-ui-button-group .jodit-ui-button+.jodit-ui-button{border-bottom-left-radius:0;border-left:1px solid hsla(0,0%,86%,.4);border-top-left-radius:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:#dcdcdc;border-left:0;-webkit-box-shadow:inset 0 0 3px 0 #4c4c4c;box-shadow:inset 0 0 3px 0 #4c4c4c;color:#4c4c4c;outline:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled])+.jodit-ui-button{border:0}.jodit-ui-tooltip{background:#727171;background-clip:padding-box;border-radius:2px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-size:11px;line-height:1.4;max-width:120px;opacity:0;padding:calc(8px/4) calc(8px/2);position:fixed;text-rendering:optimizeLegibility;-webkit-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s;transition:opacity .2s ease 0s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:normal;width:auto;z-index:30000006}@media (max-width:768px){.jodit-ui-tooltip{display:none}}.jodit-ui-tooltip.jodit-ui-tooltip_visible_true{opacity:1}.jodit-dialog{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;display:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:0;position:absolute;width:0;will-change:left,top,width,height}.jodit-dialog_moved_true{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-dialog *{-webkit-box-sizing:border-box;box-sizing:border-box}.jodit-dialog .jodit_elfinder,.jodit-dialog .jodit_elfinder *{-webkit-box-sizing:initial;box-sizing:initial}.jodit-dialog__overlay{background-color:rgba(0,0,0,.5);display:none;height:100%;left:0;overflow:auto;position:fixed;text-align:center;top:0;white-space:nowrap;width:100%;z-index:20000003}.jodit-dialog_static_true .jodit-dialog__overlay{display:none}.jodit-dialog_active_true,.jodit-dialog_modal_true .jodit-dialog__overlay{display:block}.jodit-dialog__panel{background-color:#fff;-webkit-box-shadow:0 8px calc(8px*2) rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);box-shadow:0 8px calc(8px*2) rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;left:0;max-height:100%;max-width:100%;min-height:100px;min-width:200px;position:fixed;text-align:left;top:0;white-space:normal;z-index:20000004}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__panel{height:100%!important;left:0!important;max-width:100%;top:0!important;width:100%!important}}.jodit-dialog_static_true{-webkit-box-sizing:border-box;box-sizing:border-box;display:block;height:auto;position:static;width:auto}.jodit-dialog_static_true .jodit-dialog__panel{border:1px solid #dadada;-webkit-box-shadow:none;box-shadow:none;left:auto!important;position:relative;top:auto!important;width:100%!important}.jodit-dialog_theme_dark{background-color:#353535;color:#fff}.jodit-dialog_theme_dark .jodit-dialog__panel{background-color:#353535;color:#fff}.jodit-dialog__header{border-bottom:1px solid #dadada;cursor:move;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;min-height:50px;text-align:left}.jodit-dialog__header-title{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:3;flex-shrink:3;font-size:18px;font-weight:400;line-height:48px;margin:0;padding:0 8px;vertical-align:top}.jodit-dialog__header-toolbar{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:3;flex-shrink:3;font-size:18px;font-weight:400;line-height:48px;margin:0;padding:0 8px;vertical-align:top}@media (max-width:480px){.jodit-dialog__header-toolbar{padding-left:0}}.jodit-dialog__header-button{color:#222;-ms-flex-preferred-size:48px;flex-basis:48px;font-size:28px;height:48px;line-height:48px;text-align:center;text-decoration:none;-webkit-transition:background-color .2s ease 0s;-o-transition:background-color .2s ease 0s;transition:background-color .2s ease 0s}.jodit-dialog__header-button:hover{background-color:#ecebe9}.jodit-dialog__header .jodit_toolbar{background:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.jodit-dialog__header .jodit_toolbar>li.jodit-toolbar-button .jodit-input{padding-left:8px;width:auto}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.jodit-dialog_slim_true .jodit-dialog__header{min-height:10px}.jodit-dialog_slim_true .jodit-dialog__header-title{padding:0 calc(8px/4)}.jodit-dialog_slim_true .jodit-dialog__header-toolbar{padding:0 calc(8px/4)}.jodit-dialog_theme_dark .jodit-dialog__header{border-color:#4c4c4c}.jodit-dialog_fullsize_true .jodit-dialog__header{cursor:default}.jodit-dialog__content{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:100px;overflow:auto}.jodit-dialog__content .jodit-form__group{margin-bottom:calc(8px*1.5);padding:0 8px}.jodit-dialog__content .jodit-form__group:first-child{margin-top:8px}.jodit-dialog__content .jodit-form__group label+.jodit-grid{margin-top:calc(8px/2)}.jodit-dialog__content .jodit-form__group label+.jodit-input_group{margin-top:calc(8px/2)}.jodit-dialog__content .jodit-form__group label+.jodit-select{margin-top:calc(8px/2)}.jodit-dialog__content .jodit-form__group label+input{margin-top:calc(8px/2)}.jodit-dialog__content .jodit-form__group .jodit-input_group{border-collapse:separate;display:table;width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group>*{display:table-cell;height:34px;vertical-align:middle}.jodit-dialog__content .jodit-form__group .jodit-input_group>input{margin:0!important}.jodit-dialog__content .jodit-form__group .jodit-input_group>input:not([class*=col-]){width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons{font-size:0;vertical-align:middle;white-space:nowrap;width:1%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons>.jodit-button{border:1px solid #dadada;border-radius:0;height:34px;line-height:34px;margin-left:-1px}.jodit-dialog__footer{display:none;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:8px}.jodit-dialog__footer button{margin-right:calc(8px/2)}.jodit-dialog__footer button:last-child{margin-right:0}.jodit-dialog__column{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-dialog__resizer{display:none;position:relative}.jodit-dialog__resizer svg{fill:#a5a5a5;bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:12px}.jodit-dialog_resizable_true .jodit-dialog__resizer{display:block}@media (max-width:480px){.jodit-dialog__resizer{display:none}}.jodit-dialog_prompt{max-width:300px;min-width:200px;padding:8px;word-break:break-all}.jodit-dialog_prompt label{display:block;margin-bottom:calc(8px/2)}.jodit-dialog_alert{max-width:300px;min-width:200px;padding:8px;word-break:break-all}.jodit-dialog_footer_true .jodit-dialog__footer{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit_fullsize .jodit-dialog__panel{bottom:0!important;height:100%!important;left:0!important;right:0!important;top:0!important;width:100%!important}.jodit_fullsize .jodit-dialog__panel .jodit-dialog__resizer{display:none}.jodit-toolbar__box:not(:empty){background-color:#fff;border-bottom:1px solid #dadada;border-radius:3px 3px 0 0;overflow:hidden}.jodit-toolbar__box:not(:empty):not(:empty){background-color:#f9f9f9}.jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:#f9f9f9}.jodit-ui-messages{bottom:0;height:0;overflow:visible;position:absolute;right:0;width:0;z-index:3}.jodit-ui-message{background:#cfe2ff;border:1px solid #b6d4fe;border-radius:0.375rem;bottom:0;color:#084298;cursor:pointer;display:block;font-size:1rem;opacity:0;padding:0.5rem 1rem;position:absolute;right:calc(8px/2);-webkit-transition:opacity .1s linear,bottom .3s linear,-webkit-transform .1s ease-out;transition:opacity .1s linear,bottom .3s linear,-webkit-transform .1s ease-out;-o-transition:opacity .1s linear,bottom .3s linear,transform .1s ease-out;transition:opacity .1s linear,bottom .3s linear,transform .1s ease-out;transition:opacity .1s linear,bottom .3s linear,transform .1s ease-out,-webkit-transform .1s ease-out;white-space:pre}.jodit-ui-message_active_true{opacity:1}.jodit-ui-message:active{-webkit-transform:scale(.76);-ms-transform:scale(.76);transform:scale(.76)}.jodit-ui-message_variant_danger{background:#f8d7da;border-color:#f5c2c7;color:#842029}.jodit-ui-message_variant_error{background:#f8d7da;border-color:#f5c2c7;color:#842029}.jodit-ui-message_variant_secondary{background:#e2e3e5;border-color:#d3d6d8;color:#41464b}.jodit-ui-message_variant_success{background:#d1e7dd;border-color:#badbcc;color:#0f5132}.jodit-ui-label{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-input{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:8px}.jodit-ui-input__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit-ui-input__input[disabled]{background-color:#f0f0f0;color:#dadada}.jodit-ui-input__input_has-error_true{border-color:#ff3b3b}.jodit-ui-input__input:focus{outline:0}.jodit-ui-input_theme_dark .jodit-ui-input__input{background-color:#dadada}.jodit-ui-input_has-error_true .jodit-ui-input__input{border-color:#ff3b3b}.jodit-ui-input__error{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-input__label{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-input__error{color:#ff3b3b}.jodit-ui-input_has-error_true .jodit-ui-input__label{color:#ff3b3b}.jodit-ui-input__wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;border:1px solid #dadada;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-input__wrapper{min-width:140px}}.jodit-ui-input_theme_dark .jodit-ui-input__wrapper{background-color:#dadada;border-color:#dadada}.jodit-ui-input_focused_true .jodit-ui-input__wrapper{border-color:#1e88e5}.jodit-ui-input__icon:not(:empty){-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 8px}.jodit-ui-input__icon:not(:empty) svg{fill:#dadada;height:16px;width:16px}.jodit-ui-input__icon:not(:empty)+.jodit-ui-input__input{padding-left:0}.jodit-ui-input__clear{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:.8;padding:0 8px 0 0}.jodit-ui-input__clear:active{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.jodit-ui-input__clear svg{fill:#dadada;height:12px;width:12px}.jodit-ui-input_theme_dark .jodit-ui-input__clear svg{fill:#4c4c4c}.jodit-ui-input_theme_dark .jodit-ui-input__icon svg{fill:#4c4c4c}.jodit-ui-block .jodit-ui-input{margin-bottom:0}.jodit-ui-select{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:8px}.jodit-ui-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit-ui-select__input[disabled]{background-color:#f0f0f0;color:#dadada}.jodit-ui-select__input_has-error_true{border-color:#ff3b3b}.jodit-ui-select__input:focus{outline:0}.jodit-ui-select_theme_dark .jodit-ui-select__input{background-color:#dadada}.jodit-ui-select_has-error_true .jodit-ui-select__input{border-color:#ff3b3b}.jodit-ui-select__error{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-select__label{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-select__error{color:#ff3b3b}.jodit-ui-select_has-error_true .jodit-ui-select__label{color:#ff3b3b}.jodit-ui-select__wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;border:1px solid #dadada;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-select__wrapper{min-width:140px}}.jodit-ui-select_theme_dark .jodit-ui-select__wrapper{background-color:#dadada;border-color:#dadada}.jodit-ui-select_focused_true .jodit-ui-select__wrapper{border-color:#1e88e5}.jodit-ui-select__icon:not(:empty){-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 8px}.jodit-ui-select__icon:not(:empty) svg{fill:#dadada;height:16px;width:16px}.jodit-ui-select__icon:not(:empty)+.jodit-ui-select__input{padding-left:0}.jodit-ui-select__clear{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:.8;padding:0 8px 0 0}.jodit-ui-select__clear:active{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.jodit-ui-select__clear svg{fill:#dadada;height:12px;width:12px}.jodit-ui-select_theme_dark .jodit-ui-select__clear svg{fill:#4c4c4c}.jodit-ui-select_theme_dark .jodit-ui-select__icon svg{fill:#4c4c4c}.jodit-ui-select__input{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0ye2ZpbGw6IzQ0NH08L3N0eWxlPjwvZGVmcz48cGF0aCBzdHlsZT0iZmlsbDojZmZmIiBkPSJNMCAwaDQuOTV2MTBIMHoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Im0xLjQxIDQuNjcgMS4wNy0xLjQ5IDEuMDYgMS40OUgxLjQxek0zLjU0IDUuMzMgMi40OCA2LjgyIDEuNDEgNS4zM2gyLjEzeiIvPjwvc3ZnPg==);background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(8px*2)}.jodit-ui-select_size_tiny{margin-bottom:0}.jodit-ui-select_size_tiny .jodit-ui-select__input{height:calc(32px/1.8);line-height:calc(32px/1.8)}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper{border:0}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper select{outline:0}.jodit-ui-select_width_auto{width:auto}.jodit-ui-select_width_auto .jodit-ui-select__wrapper{min-width:auto}.jodit-ui-text-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:8px;width:100%}.jodit-ui-text-area__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit-ui-text-area__input[disabled]{background-color:#f0f0f0;color:#dadada}.jodit-ui-text-area__input_has-error_true{border-color:#ff3b3b}.jodit-ui-text-area__input:focus{outline:0}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__input{background-color:#dadada}.jodit-ui-text-area_has-error_true .jodit-ui-text-area__input{border-color:#ff3b3b}.jodit-ui-text-area__error{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-text-area__label{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-text-area__error{color:#ff3b3b}.jodit-ui-text-area_has-error_true .jodit-ui-text-area__label{color:#ff3b3b}.jodit-ui-text-area__wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;border:1px solid #dadada;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-text-area__wrapper{min-width:140px}}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__wrapper{background-color:#dadada;border-color:#dadada}.jodit-ui-text-area_focused_true .jodit-ui-text-area__wrapper{border-color:#1e88e5}.jodit-ui-text-area__icon:not(:empty){-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 8px}.jodit-ui-text-area__icon:not(:empty) svg{fill:#dadada;height:16px;width:16px}.jodit-ui-text-area__icon:not(:empty)+.jodit-ui-text-area__input{padding-left:0}.jodit-ui-text-area__clear{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:.8;padding:0 8px 0 0}.jodit-ui-text-area__clear:active{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.jodit-ui-text-area__clear svg{fill:#dadada;height:12px;width:12px}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__clear svg{fill:#4c4c4c}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__icon svg{fill:#4c4c4c}.jodit-ui-text-area__wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1}.jodit-ui-text-area__input{height:100%;min-height:60px}.jodit-ui-checkbox{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:8px}.jodit-ui-checkbox__input{margin-right:8px}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper{display:inline-block;height:34px;margin-right:8px;position:relative;width:60px}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper input{height:0;opacity:0;width:0}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:26px;left:4px;position:absolute;-webkit-transition:.4s;-o-transition:.4s;transition:.4s;width:26px}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider{background-color:#2196f3}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translateX(26px)}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_focused_true .jodit-ui-checkbox__switch-slider{-webkit-box-shadow:0 0 1px #2196f3;box-shadow:0 0 1px #2196f3}.jodit-ui-block .jodit-ui-checkbox{margin-bottom:0}.jodit-ui-file-input{overflow:hidden;position:relative}.jodit-ui-file-input__input{bottom:0;cursor:pointer;font-size:400px;margin:0 calc(8px*-1) 0 0;opacity:0;padding:0;position:absolute;right:0;top:0}.jodit-ui-block{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;margin-bottom:8px}.jodit-ui-block_width_full{width:100%}.jodit-ui-block_align_full{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.jodit-ui-block_align_right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.jodit-ui-block_padding_true{padding:8px}@-webkit-keyframes b{30%{opacity:.6}60%{opacity:0}to{opacity:.6}}@keyframes b{30%{opacity:.6}60%{opacity:0}to{opacity:.6}}.jodit-progress-bar{border-radius:1px;height:2px;left:0;opacity:.7;position:absolute;top:0;z-index:2147483647}.jodit-progress-bar div{background:#b91f1f;height:2px;position:relative;-webkit-transition:width .5s ease-out,opacity .5s linear;-o-transition:width .5s ease-out,opacity .5s linear;transition:width .5s ease-out,opacity .5s linear;will-change:width,opacity}.jodit-progress-bar div:after{-webkit-animation:b 2s ease-out 0s infinite;animation:b 2s ease-out 0s infinite;border-radius:100%;-webkit-box-shadow:#b91f1f 1px 0 6px 1px;box-shadow:#b91f1f 1px 0 6px 1px;content:"";display:inline-block;height:2px;opacity:.6;position:absolute;top:0}.jodit-progress-bar div:before{-webkit-animation:b 2s ease-out 0s infinite;animation:b 2s ease-out 0s infinite;border-radius:100%;-webkit-box-shadow:#b91f1f 1px 0 6px 1px;box-shadow:#b91f1f 1px 0 6px 1px;content:"";display:inline-block;height:2px;opacity:.6;position:absolute;top:0}.jodit-progress-bar div:before{clip:rect(-6px,90px,14px,-6px);right:-80px;width:180px}.jodit-progress-bar div:after{clip:rect(-6px,22px,14px,8px);right:0;width:20px}.jodit-toolbar-collection,.jodit-toolbar-editor-collection{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#dadada calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#dadada calc(14px + calc((14px - 4px)*2) + 2px*2));position:relative}.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#dadada calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#dadada calc(14px + calc((14px - 4px)*2) + 2px*2));position:relative}.jodit-toolbar-collection_mode_horizontal:after{background-color:#fff;bottom:0;content:"";display:block;height:1px;left:0;position:absolute;width:100%}.jodit-toolbar-editor-collection_mode_horizontal:after{background-color:#fff;bottom:0;content:"";display:block;height:1px;left:0;position:absolute;width:100%}.jodit-toolbar-collection_size_tiny.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px);background-image:repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px)}.jodit-toolbar-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px);background-image:repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px)}.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px);background-image:repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px)}.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px);background-image:repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px)}.jodit-toolbar-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px);background-image:repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px)}.jodit-toolbar-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px);background-image:repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px)}.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px);background-image:repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px)}.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px);background-image:repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px)}.jodit-toolbar-collection_size_small.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px);background-image:repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px)}.jodit-toolbar-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px);background-image:repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px)}.jodit-toolbar-editor-collection_size_small.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px);background-image:repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px)}.jodit-toolbar-editor-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px);background-image:repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px)}.jodit-toolbar-collection_size_middle.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px);background-image:repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px)}.jodit-toolbar-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px);background-image:repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px)}.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px);background-image:repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px)}.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px);background-image:repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px)}.jodit-toolbar-collection_size_large.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px);background-image:repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px)}.jodit-toolbar-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px);background-image:repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px)}.jodit-toolbar-editor-collection_size_large.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px);background-image:repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px)}.jodit-toolbar-editor-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px);background-image:repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px)}.jodit-toolbar-collection_mode_vertical .jodit-ui-group,.jodit-toolbar-editor-collection_mode_vertical .jodit-ui-group{background-color:transparent;border:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button{height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2)}.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button{height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2)}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2);width:100%}.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2);width:100%}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__text:not(:empty),.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__text:not(:empty){-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left}.jodit-toolbar-collection .jodit-toolbar-button{margin:2px 1px;padding:0}.jodit-toolbar-collection .jodit-toolbar-content{margin:2px 1px;padding:0}.jodit-toolbar-editor-collection .jodit-toolbar-button{margin:2px 1px;padding:0}.jodit-toolbar-editor-collection .jodit-toolbar-content{margin:2px 1px;padding:0}.jodit-dialog .jodit-toolbar-collection_mode_horizontal,.jodit-dialog .jodit-toolbar-editor-collection_mode_horizontal{background-image:none}.jodit-toolbar-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid transparent;border-radius:3px;display:-webkit-box;display:-ms-flexbox;display:flex;height:34px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:34px;overflow:hidden}.jodit-toolbar-button__icon{display:none}.jodit-toolbar-button__icon:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.jodit-toolbar-button__text{display:none}.jodit-toolbar-button__text:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text{-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left;padding-left:8px;position:relative}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text:before{border-left:1px solid #dadada;content:"";height:35px;left:0;position:absolute;top:calc(8px*-1)}.jodit-toolbar-button__icon:not(:empty)+.jodit-toolbar-button__text:not(:empty){margin-left:8px}.jodit-toolbar-button__icon:empty+.jodit-toolbar-button__text:not(:empty){padding:0 8px;padding:0}.jodit-toolbar-button .jodit-icon{height:14px;width:14px}.jodit-toolbar-button button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-button_text-icons_true button{padding:0 8px}.jodit-toolbar-button_size_tiny{height:16px;min-width:16px}.jodit-toolbar-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-button_size_tiny button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-button_size_tiny_text-icons_true button{padding:0 8px}.jodit-toolbar-button_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-button_size_xsmall button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-button_size_xsmall_text-icons_true button{padding:0 8px}.jodit-toolbar-button_size_small{height:28px;min-width:28px}.jodit-toolbar-button_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-button_size_small button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-button_size_small_text-icons_true button{padding:0 8px}.jodit-toolbar-button_size_large{height:40px;min-width:40px}.jodit-toolbar-button_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-button_size_large button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-button_size_large_text-icons_true button{padding:0 8px}.jodit-toolbar-button__button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.75);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-style:normal;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;outline:0;padding:0;padding:0 8px;position:relative;text-align:center;text-decoration:none;text-transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-toolbar-button__button:focus-visible:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-button__button:hover:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-button__button:active:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-button__button[aria-pressed=true]:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-button__button[aria-pressed=true]:hover:not([disabled]){background-color:hsla(0,0%,86%,.6)}.jodit-toolbar-button__button[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:0 3px 3px 0;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:.4;width:14px}.jodit-toolbar-button__trigger:focus-visible:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-button__trigger:hover:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-button__trigger:active:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-button__trigger[aria-pressed=true]:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-button__trigger[aria-pressed=true]:hover:not([disabled]){background-color:hsla(0,0%,86%,.6)}.jodit-toolbar-button__trigger[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger svg{width:10px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger{width:8px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger svg{width:4px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger{width:10px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger svg{width:6px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger{width:12px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger svg{width:8px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger{width:16px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger svg{width:12px}.jodit-toolbar-button_with-trigger_true .jodit-toolbar-button__button{border-radius:3px 0 0 3px}.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:#dadada}.jodit-toolbar-button_stroke_false svg{stroke:none}.jodit-toolbar-content{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.75);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-style:normal;height:34px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:34px;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-toolbar-content:focus-visible:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-content:hover:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-content:active:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-content[aria-pressed=true]:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-content[aria-pressed=true]:hover:not([disabled]){background-color:hsla(0,0%,86%,.6)}.jodit-toolbar-content[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-content .jodit-icon{height:14px;width:14px}.jodit-toolbar-content button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-content_text-icons_true button{padding:0 8px}.jodit-toolbar-content_size_tiny{height:16px;min-width:16px}.jodit-toolbar-content_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-content_size_tiny button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-content_size_tiny_text-icons_true button{padding:0 8px}.jodit-toolbar-content_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-content_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-content_size_xsmall button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-content_size_xsmall_text-icons_true button{padding:0 8px}.jodit-toolbar-content_size_small{height:28px;min-width:28px}.jodit-toolbar-content_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-content_size_small button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-content_size_small_text-icons_true button{padding:0 8px}.jodit-toolbar-content_size_large{height:40px;min-width:40px}.jodit-toolbar-content_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-content_size_large button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-content_size_large_text-icons_true button{padding:0 8px}.jodit-toolbar-content__icon{display:none}.jodit-toolbar-content__icon:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.jodit-toolbar-content__text{display:none}.jodit-toolbar-content__text:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text{-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left;padding-left:8px;position:relative}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text:before{border-left:1px solid #dadada;content:"";height:35px;left:0;position:absolute;top:calc(8px*-1)}.jodit-toolbar-content__icon:not(:empty)+.jodit-toolbar-content__text:not(:empty){margin-left:8px}.jodit-toolbar-content__icon:empty+.jodit-toolbar-content__text:not(:empty){padding:0 8px}.jodit-toolbar-content:focus:not([disabled]){outline:1px dashed #b5d6fd}.jodit-toolbar-content_variant_default{background-color:#e3e3e3;color:#212529}.jodit-toolbar-content_variant_default svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default [disabled]{opacity:.7}.jodit-toolbar-content_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_primary{background-color:#007bff;color:#fff}.jodit-toolbar-content_variant_primary svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary [disabled]{opacity:.7}.jodit-toolbar-content_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-toolbar-content_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-toolbar-content_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-toolbar-content_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary [disabled]{opacity:.7}.jodit-toolbar-content_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_success{background-color:#28a745;color:#fff}.jodit-toolbar-content_variant_success svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success [disabled]{opacity:.7}.jodit-toolbar-content_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-toolbar-content_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-toolbar-content_variant_danger{background-color:#dc3545;color:#fff}.jodit-toolbar-content_variant_danger svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger [disabled]{opacity:.7}.jodit-toolbar-content_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-toolbar-content_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-toolbar-content:hover:not([disabled]){background-color:transparent;opacity:1;outline:0}.jodit-filebrowser{display:-webkit-box;display:-ms-flexbox;display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;height:100%}.jodit-filebrowser_no-files_true{padding:8px}@media (max-width:480px){.jodit-filebrowser{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-flow:column-reverse;flex-flow:column-reverse}}.jodit-dialog .jodit-dialog__header-title.jodit-filebrowser__title-box{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:8px}.jodit-filebrowser-preview{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:auto;max-height:100%;max-width:Min(100%,1000px);min-height:Min(100%,500px);min-width:400px;position:relative;text-align:center}@media (max-width:768px){.jodit-filebrowser-preview{height:100%;max-height:100%;max-width:100%;min-height:auto;min-width:auto}}.jodit-filebrowser-preview__box{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-filebrowser-preview__navigation{cursor:pointer;height:100%;left:0;position:absolute;top:0}.jodit-filebrowser-preview__navigation_arrow_next{left:auto;right:0}.jodit-filebrowser-preview__navigation svg{fill:#9e9ba7;height:45px;position:relative;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:fill .3s linear;-o-transition:fill .3s linear;transition:fill .3s linear;width:45px}.jodit-filebrowser-preview__navigation:hover svg{fill:#000}.jodit-filebrowser-preview img{max-height:100%;max-width:100%}.jodit-image-editor{height:100%;overflow:hidden;padding:8px;width:100%}@media (max-width:768px){.jodit-image-editor{height:auto}}.jodit-image-editor>div,.jodit-image-editor>div>div{height:100%}@media (max-width:768px){.jodit-image-editor>div,.jodit-image-editor>div>div{height:auto;min-height:200px}}.jodit-image-editor *{-webkit-box-sizing:border-box;box-sizing:border-box}.jodit-image-editor .jodit-image-editor__slider-title{background-color:#f9f9f9;border-bottom:1px solid hsla(0,0%,62%,.31);color:#333;cursor:pointer;font-weight:700;line-height:1em;padding:.8em 1em;-o-text-overflow:ellipsis;text-overflow:ellipsis;text-shadow:#f3f3f3 0 1px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.jodit-image-editor .jodit-image-editor__slider-title svg{display:inline-block;margin-right:8px;vertical-align:middle;width:16px}.jodit-image-editor .jodit-image-editor__slider-content{display:none}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title{background-color:#5d5d5d;color:#fff;text-shadow:#000 0 1px 0}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title svg{fill:#fff}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-content{display:block}.jodit-image-editor__area{background-color:#eee;background-image:-o-linear-gradient(45deg,#dadada 25%,transparent 25%,transparent 75%,#dadada 75%,#dadada),-o-linear-gradient(45deg,#dadada 25%,transparent 25%,transparent 75%,#dadada 75%,#dadada);background-image:linear-gradient(45deg,#dadada 25%,transparent 25%,transparent 75%,#dadada 75%,#dadada),linear-gradient(45deg,#dadada 25%,transparent 25%,transparent 75%,#dadada 75%,#dadada);background-position:0 0,15px 15px;background-size:30px 30px;display:none;height:100%;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.jodit-image-editor__area.jodit-image-editor_active{display:block}.jodit-image-editor__area .jodit-image-editor__box{height:100%;overflow:hidden;pointer-events:none;position:relative;z-index:1}.jodit-image-editor__area .jodit-image-editor__box img{max-height:100%;max-width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-image-editor__area .jodit-image-editor__croper{background-repeat:no-repeat;border:1px solid #fff;-webkit-box-shadow:0 0 11px #000;box-shadow:0 0 11px #000;height:100px;left:20px;pointer-events:none;position:absolute;top:8px;width:100px;z-index:2}.jodit-image-editor__area .jodit-image-editor__resizer{background-repeat:no-repeat;border:1px solid #fff;-webkit-box-shadow:0 0 11px #000;box-shadow:0 0 11px #000;height:100px;left:20px;pointer-events:none;position:absolute;top:8px;width:100px;z-index:2}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright{background-color:#8c7878;border:1px solid #383838;border-radius:50%;bottom:calc(8px*-1);-webkit-box-shadow:0 0 11px #000;box-shadow:0 0 11px #000;cursor:se-resize;display:inline-block;height:20px;pointer-events:all;position:absolute;right:calc(8px*-1);width:20px;z-index:4}.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright{background-color:#8c7878;border:1px solid #383838;border-radius:50%;bottom:calc(8px*-1);-webkit-box-shadow:0 0 11px #000;box-shadow:0 0 11px #000;cursor:se-resize;display:inline-block;height:20px;pointer-events:all;position:absolute;right:calc(8px*-1);width:20px;z-index:4}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright:active,.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright:active{border:1px solid #ff0}.jodit-image-editor__area.jodit-image-editor__area_crop{background:#eee;height:100%;line-height:100%;position:relative;text-align:center}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box{height:100%;line-height:100%;overflow:visible;pointer-events:all;text-align:left}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box img{height:100%;max-height:100%;max-width:100%;width:100%}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box:after{background:hsla(0,0%,100%,.3);bottom:0;content:"";left:0;margin:auto;position:absolute;right:0;top:0;z-index:1}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper{cursor:move;pointer-events:all}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper i.jodit-image-editor__sizes{background:rgba(0,0,0,.2);border-radius:.4em;bottom:-30px;color:#fff;display:block;font-size:12px;left:100%;padding:9px 6px;position:absolute;text-align:center;text-shadow:none;white-space:pre}.jodit-image-editor__area.jodit-image-editor__area_crop.jodit-image-editor_active{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-filebrowser-files{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-files .jodit-button{border-radius:0}.jodit-filebrowser-files_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-files_loading_true:after{-webkit-animation:a 2s ease-out 0s infinite;animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:48px;left:50%;margin-left:calc(48px/-2);margin-top:calc(48px/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:48px;will-change:transform}.jodit-filebrowser-files_active_true{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-filebrowser-files::-webkit-scrollbar{width:calc(8px/2)}.jodit-filebrowser-files::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-files::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-files_active_true{-ms-flex-line-pack:start;align-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;overflow-y:auto;padding:calc(8px/2);width:100%}.jodit-filebrowser-files__item{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #dadada;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:0;height:150px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:calc(8px/2);overflow:hidden;position:relative;text-align:center;-webkit-transition:border .1s linear,bottom .1s linear;-o-transition:border .1s linear,bottom .1s linear;transition:border .1s linear,bottom .1s linear;width:150px}@media (max-width:480px){.jodit-filebrowser-files__item{width:calc(50% - 8px)}}.jodit-filebrowser-files__item img{max-width:100%}.jodit-filebrowser-files__item:hover{border-color:#433b5c}.jodit-filebrowser-files__item_active_true{background-color:#b5b5b5;border-color:#1e88e5}.jodit-filebrowser-files__item_active_true .jodit-filebrowser-files__item-info{background-color:#b5b5b5;color:#fff;text-shadow:none}.jodit-filebrowser-files__item-info{background-color:#e9e9e9;bottom:0;color:#333;font-size:14px;left:0;line-height:16px;opacity:.85;overflow:visible;padding:.3em .6em;position:absolute;right:0;text-align:left;text-shadow:#eee 0 1px 0;-webkit-transition:opacity .4s ease;-o-transition:opacity .4s ease;transition:opacity .4s ease;white-space:normal}.jodit-filebrowser-files__item-info>span{display:block;font-size:.75em;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.jodit-filebrowser-files__item-info>span.jodit-filebrowser-files__item-info-filename{font-size:.9em;font-weight:700}.jodit-filebrowser-files__item:hover:not(.jodit-filebrowser-files__item_active_true) .jodit-filebrowser-files__item-info{bottom:-100px}.jodit-filebrowser-files_view_list{scroll-behavior:smooth}.jodit-filebrowser-files_view_list a{border-width:0 0 1px;display:block;height:26px;line-height:26px;margin:0;text-align:left;white-space:nowrap;width:100%}.jodit-filebrowser-files_view_list a img{display:inline-block;margin-left:4px;max-width:16px;min-width:16px;vertical-align:middle}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info{background-color:transparent;display:inline-block;font-size:0;height:100%;line-height:inherit;margin-left:4px;padding:0;position:static;vertical-align:middle;width:calc(100% - 20px)}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info>span{display:inline-block;font-size:12px;height:100%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filename{width:50%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filechanged,.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filesize{width:25%}.jodit-filebrowser-files_view_list a:hover{background-color:#433b5c}.jodit-filebrowser-files_view_list a:hover .jodit-filebrowser-files__item-info{color:#fff;text-shadow:none}.jodit-filebrowser-files_view_list a:before{content:"";display:inline-block;height:100%;vertical-align:middle}.jodit-filebrowser-tree{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-tree .jodit-button{border-radius:0}.jodit-filebrowser-tree_active_true{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-filebrowser-tree_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-tree_loading_true:after{-webkit-animation:a 2s ease-out 0s infinite;animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:48px;left:50%;margin-left:calc(48px/-2);margin-top:calc(48px/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:48px;will-change:transform}.jodit-filebrowser-tree::-webkit-scrollbar{width:calc(8px/2)}.jodit-filebrowser-tree::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-tree_active_true{background-color:#3f3f3f;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:290px;min-width:200px;overflow-y:auto;width:31%;z-index:2}@media (max-width:480px){.jodit-filebrowser-tree_active_true{height:100px;max-width:100%;width:auto}}.jodit-filebrowser-tree_active_true::-webkit-scrollbar{width:calc(8px/2)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-thumb{background-color:hsla(0,0%,50%,.5);outline:1px solid #708090}.jodit-filebrowser-tree__item{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #474747;color:#b1b1b1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;min-height:38px;padding:calc(8px/2) 8px;position:relative;text-decoration:none;-webkit-transition:background-color .2s ease 0s;-o-transition:background-color .2s ease 0s;transition:background-color .2s ease 0s;word-break:break-all}.jodit-filebrowser-tree__item-title{color:#b1b1b1;-webkit-box-flex:1;-ms-flex:1;flex:1}.jodit-filebrowser-tree__item .jodit-icon_folder{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;height:calc(12px + 4px);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-left:calc(8px/2);opacity:.3;width:calc(12px + 4px)}.jodit-filebrowser-tree__item .jodit-icon_folder svg{fill:#b1b1b1!important;stroke:#b1b1b1!important;height:12px;width:12px}.jodit-filebrowser-tree__item .jodit-icon_folder:hover{background:#696969}.jodit-filebrowser-tree__item:hover{background-color:#ecebe9}.jodit-filebrowser-tree__item:hover-title{color:#222}.jodit-filebrowser-tree__item:hover i.jodit-icon_folder{opacity:.6}.jodit-filebrowser-tree__source-title{background:#5a5a5a;border-bottom:1px solid #484848;color:#969696;display:block;font-size:12px;padding:2px 4px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;word-break:break-all}a+.jodit-filebrowser-tree__source-title{margin-top:8px}.jodit-status-bar{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#f9f9f9;border-radius:0 0 3px 3px;color:rgba(0,0,0,.75);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:11px;height:20px;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;overflow:hidden;padding:0 calc(8px/2);text-transform:uppercase}.jodit-status-bar_resize-handle_true{padding-right:14px}.jodit-status-bar:before{content:"";-webkit-box-flex:1;-ms-flex:auto;flex:auto;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.jodit-status-bar .jodit-status-bar__item{line-height:1.57142857em;margin:0 8px 0 0;-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;padding:0}.jodit-status-bar .jodit-status-bar__item{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-size:11px}.jodit-status-bar .jodit-status-bar__item>span{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-size:11px}.jodit-status-bar .jodit-status-bar__item.jodit-status-bar__item-right{margin:0 0 0 8px;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.jodit-status-bar .jodit-status-bar__item a{border-radius:3px;cursor:default;text-decoration:none}.jodit-status-bar .jodit-status-bar__item a:hover{background-color:#dadada;text-decoration:none}.jodit-status-bar a.jodit-status-bar-link{cursor:pointer}.jodit-status-bar a.jodit-status-bar-link{background-color:transparent;color:rgba(0,0,0,.75)}.jodit-status-bar a.jodit-status-bar-link:hover{background-color:transparent;color:rgba(0,0,0,.75)}.jodit-status-bar a.jodit-status-bar-link:visited{background-color:transparent;color:rgba(0,0,0,.75)}.jodit-status-bar a.jodit-status-bar-link:hover{text-decoration:underline}.jodit-workplace+.jodit-status-bar:not(:empty){border-top:1px solid #dadada}.jodit_disabled .jodit-status-bar{opacity:.4}.jodit-drag-and-drop__file-box{border:1px dashed #dadada;margin:8px 0;overflow:hidden;padding:25px 0;position:relative;text-align:center;width:100%}.jodit_uploadfile_button{border:1px dashed #dadada;margin:8px 0;overflow:hidden;padding:25px 0;position:relative;text-align:center;width:100%}.jodit-drag-and-drop__file-box:hover{background-color:#ecebe9}.jodit_uploadfile_button:hover{background-color:#ecebe9}.jodit-drag-and-drop__file-box input,.jodit_uploadfile_button input{bottom:0;cursor:pointer;font-size:400px;left:0;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0}@media (max-width:768px){.jodit-drag-and-drop__file-box{max-width:100%;min-width:180px;width:auto}}.jodit-about{padding:20px}.jodit-about a{color:#459ce7;text-decoration:none}.jodit-about a:focus,.jodit-about a:hover{color:#23527c;outline:0;text-decoration:underline}.jodit-about div{margin-bottom:calc(8px/2)}.jodit-add-new-line{display:block;height:1px;outline:none;position:fixed;top:0;z-index:1}.jodit-add-new-line,.jodit-add-new-line *{-webkit-box-sizing:border-box;box-sizing:border-box}.jodit-add-new-line:after{background-color:#6b6b6b;content:"";display:block;height:1px;width:100%}.jodit-add-new-line span{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:hsla(40,7%,92%,.3);border:1px solid #6b6b6b;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:30px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;left:calc(100% - 30px);position:absolute;width:30px}.jodit-add-new-line span:hover{background:#ecebe9}.jodit-add-new-line_after span{bottom:0}.jodit-add-new-line svg{fill:#6b6b6b;width:16px}.jodit-source__mode .jodit-add-new-line{display:none!important}.jodit-color-picker{margin:0;text-align:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-color-picker__group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:calc(8px/2);max-width:calc(24px*10);white-space:normal}.jodit-color-picker__color-item{border:1px solid transparent;display:block;height:24px;text-align:center;text-decoration:none;vertical-align:middle;width:24px}.jodit-color-picker__color-item:hover{border-color:#000}.jodit-color-picker__color-item:active{border:2px solid #1e88e5}.jodit-color-picker__color-item_active_true{border:2px solid #1e88e5}.jodit-color-picker__native svg{display:inline-block;height:16px;margin-right:4px;width:16px}.jodit-color-picker__native input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;height:18px;padding:0;width:18px}.jodit-color-picker__native input[type=color]::-webkit-color-swatch-wrapper{padding:0}.jodit-color-picker__native input input[type=color]::-webkit-color-swatch{border:none}.jodit-tabs{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px}.jodit-tabs .jodit-tabs__buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:18px;margin-bottom:calc(8px/2);margin-top:4px}.jodit-tabs .jodit-tabs__buttons>*{cursor:pointer;margin-left:calc(8px/2)}.jodit-tabs .jodit-tabs__buttons>:only-of-type{width:100%}.jodit-tabs .jodit-tabs__buttons>:first-child{margin-left:0}@media (max-width:480px){.jodit-tabs .jodit-tabs__buttons{display:block}.jodit-tabs .jodit-tabs__buttons>*{margin-left:0;width:100%}}.jodit-tabs__button{min-width:80px}.jodit-tabs__button_columns_3{width:33.33333%}.jodit-tabs__button_columns_2{width:50%}.jodit-tabs .jodit-tabs__wrapper .jodit-tab{display:none}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_active{display:block}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_empty{min-height:100px;min-width:220px}.jodit_fullsize-box_true{overflow:visible!important;position:static!important;z-index:100000!important}body.jodit_fullsize-box_true,html.jodit_fullsize-box_true{height:0!important;overflow:hidden!important;width:0!important}html.jodit_fullsize-box_true{position:fixed!important}.jodit_fullsize{bottom:0;left:0;max-width:none!important;position:absolute;right:0;top:0;z-index:100000}.jodit_fullsize .toolbar{width:100%!important}.jodit_fullsize .jodit__area,.jodit_fullsize .jodit_editor{height:100%}.jodit-properties__lock>svg,.jodit-properties__unlock>svg{fill:#222;display:inline-block;font-size:8px;font-style:normal;height:14px;line-height:14px;overflow:hidden;-webkit-transform-origin:0 0!important;-ms-transform-origin:0 0!important;transform-origin:0 0!important;vertical-align:middle;width:14px}.jodit-properties .jodit-properties_view_box{padding:8px}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#f6f6f6;display:-webkit-box;display:-ms-flexbox;display:flex;height:150px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 0 8px;padding:0}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view img{max-height:100%;max-width:100%}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0!important;min-width:auto;padding:0!important}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group a{cursor:pointer;display:inline-block}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group .jodit-input{width:calc(50% - 8px)!important}.jodit-popup-inline__container{min-width:700px;z-index:1300}.jodit-paste-storage{max-width:600px;padding:8px}@media (max-width:768px){.jodit-paste-storage{max-width:100%}}.jodit-paste-storage>div{border:1px solid #dadada;max-height:300px;max-width:100%}.jodit-paste-storage>div:first-child{margin-bottom:8px}.jodit-paste-storage>div:first-child a{border:1px solid transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:#4c4c4c;display:block;margin:0;max-width:100%;outline:none;overflow:hidden;padding:calc(8px/2);text-decoration:none;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:pre}.jodit-paste-storage>div:first-child a.jodit_active{background-color:#575757;color:#fff}.jodit-paste-storage>div:first-child a:focus{outline:none}.jodit-paste-storage>div:last-child{overflow:auto;padding:8px}.jodit-paste-storage>div:last-child li,.jodit-paste-storage>div:last-child ul{margin:0}.jodit-placeholder{color:#a5a5a5;display:block;left:0;padding:8px;pointer-events:none;position:absolute;top:0;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important;width:100%;z-index:1}.jodit__preview-box table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit__preview-box table tr{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit__preview-box table tr td{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit__preview-box table tr th{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit-table-resizer{cursor:col-resize;margin-left:calc(8px/-2);padding-left:calc(8px/2);padding-right:calc(8px/2);position:absolute;z-index:3}.jodit-table-resizer:after{border:0;content:"";display:block;height:100%;width:0}.jodit-table-resizer_moved{background-color:#b5d6fd;z-index:2}.jodit-table-resizer_moved:after{border-right:1px solid moved}[data-jodit_iframe_wrapper]{display:block;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-jodit_iframe_wrapper] iframe{position:relative}[data-jodit_iframe_wrapper]:after{background:transparent;bottom:0;content:"";cursor:pointer;display:block;left:0;position:absolute;right:0;top:0;z-index:1}[data-jodit_iframe_wrapper][data-jodit-wrapper_active=true] iframe{z-index:2}.jodit_lock [data-jodit-wrapper_active=true] iframe{z-index:1}.jodit-resizer{font-size:0;height:100px;left:0;outline:3px solid #98c1f1;pointer-events:none;position:absolute;top:0;width:100px}.jodit-resizer,.jodit-resizer *{-webkit-box-sizing:border-box;box-sizing:border-box}.jodit-resizer>span{background-color:#a5a5a5;color:#fff;display:inline-block;font-size:12px;height:24px;left:50%;line-height:24px;margin-left:calc(70px/-2);margin-top:calc(24px/-2);opacity:0;overflow:visible;position:absolute;text-align:center;top:50%;-webkit-transition:opacity .2s linear;-o-transition:opacity .2s linear;transition:opacity .2s linear;width:70px}.jodit-resizer>div{background-color:#5ba4f3;display:inline-block;height:10px;pointer-events:all;position:absolute;width:10px;z-index:4}.jodit-resizer>div:hover{background-color:#537ebb}.jodit-resizer>div:first-child{cursor:nwse-resize;left:calc(10px/-2);top:calc(10px/-2)}.jodit-resizer>div:nth-child(2){cursor:nesw-resize;right:calc(10px/-2);top:calc(10px/-2)}.jodit-resizer>div:nth-child(3){bottom:calc(10px/-2);cursor:nwse-resize;right:calc(10px/-2)}.jodit-resizer>div:nth-child(4){bottom:calc(10px/-2);cursor:nesw-resize;left:calc(10px/-2)}.jodit-ui-search{height:0;position:absolute;right:0;top:0;width:0}.jodit-ui-search_sticky_true{position:fixed}.jodit-ui-search__box{background-color:#f9f9f9;border:solid #dadada;border-width:0 0 1px 1px;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100vw;padding:calc(8px/2);position:absolute;right:0;width:320px}.jodit-ui-search__box input{background-color:transparent;border:0;height:100%;margin:0;outline:none;padding:0 8px;width:100%}.jodit-ui-search__box input[data-ref=replace]{display:none}.jodit-ui-search__box input:not(:focus)+input:not(:focus){border-top:1px solid #dadada}.jodit-ui-search__buttons{height:30px}.jodit-ui-search__counts{height:30px}.jodit-ui-search__inputs{height:30px}.jodit-ui-search__inputs{padding-right:calc(8px/2);width:60%}.jodit-ui-search__counts{border-left:1px solid #dadada;color:#dadada;width:15%}.jodit-ui-search__buttons,.jodit-ui-search__counts{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-ui-search__buttons{-webkit-box-flex:1;-ms-flex:1;flex:1;padding-left:0}.jodit-ui-search__buttons button{background-color:transparent;border:1px solid transparent;height:100%;margin-right:1%;width:32%}.jodit-ui-search__buttons button[data-ref=replace-btn]{border:1px solid #dadada;display:none;margin-top:2px;width:100%}.jodit-ui-search__buttons button:hover{background-color:#ecebe9}.jodit-ui-search__buttons button:focus{border:1px solid rgba(181,214,253,.995)}.jodit-ui-search__buttons button:active{border:1px solid #b5d6fd;-webkit-transform:scale(0.95);-ms-transform:scale(0.95);transform:scale(0.95)}.jodit-ui-search_empty-query_true [data-ref=next],.jodit-ui-search_empty-query_true [data-ref=prev]{opacity:.5}.jodit-ui-search_replace_true .jodit-ui-search__counts{height:calc(30px*2)}.jodit-ui-search_replace_true .jodit-ui-search__inputs{height:calc(30px*2)}.jodit-ui-search_replace_true .jodit-ui-search__counts input{height:50%;-webkit-transition:background-color 0.1s linear;-o-transition:background-color 0.1s linear;transition:background-color 0.1s linear}.jodit-ui-search_replace_true .jodit-ui-search__inputs input{height:50%;-webkit-transition:background-color 0.1s linear;-o-transition:background-color 0.1s linear;transition:background-color 0.1s linear}.jodit-ui-search_replace_true .jodit-ui-search__counts input:focus{-webkit-box-shadow:inset 0 0 3px 0 #dadada;box-shadow:inset 0 0 3px 0 #dadada}.jodit-ui-search_replace_true .jodit-ui-search__inputs input:focus{-webkit-box-shadow:inset 0 0 3px 0 #dadada;box-shadow:inset 0 0 3px 0 #dadada}.jodit-ui-search_replace_true .jodit-ui-search__counts input[data-ref=replace],.jodit-ui-search_replace_true .jodit-ui-search__inputs input[data-ref=replace]{display:block}.jodit-ui-search_replace_true .jodit-ui-search__buttons{-ms-flex-wrap:wrap;flex-wrap:wrap}.jodit-ui-search_replace_true .jodit-ui-search__buttons button[data-ref=replace-btn]{display:block}[jd-tmp-selection]{background-color:#7fffd4}.jodit-container:not(.jodit_inline){min-height:100px}.jodit-container:not(.jodit_inline) .jodit-workplace{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto;min-height:50px;overflow:hidden}.jodit-container:not(.jodit_inline) .jodit-editor__resize{position:relative}.jodit-container:not(.jodit_inline) .jodit-editor__resize svg{fill:#a5a5a5;bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:12px}.jodit-source{background-color:#323232;display:none;-webkit-box-flex:1;-ms-flex:auto;flex:auto;overflow:auto;position:relative}.jodit-source,.jodit-source .jodit-source__mirror-fake{min-height:100%}.jodit-source *{font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.jodit-container.jodit-source__mode .jodit-wysiwyg,.jodit-container.jodit-source__mode .jodit-wysiwyg_iframe{display:none!important}.jodit-container.jodit-source__mode .jodit-source{display:block!important}.jodit-container.jodit_split_mode .jodit-workplace{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.jodit-container.jodit_split_mode .jodit-source,.jodit-container.jodit_split_mode .jodit-wysiwyg,.jodit-container.jodit_split_mode .jodit-wysiwyg_iframe{display:block!important;-webkit-box-flex:1;-ms-flex:1;flex:1;width:50%}.jodit-source__mirror{background:#323232;border:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:#f0f0f0;height:100%;line-height:1.5;font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;margin:0;min-height:100%;outline:none;overflow:auto;padding:8px;resize:none;-moz-tab-size:2em;-o-tab-size:2em;tab-size:2em;white-space:pre-wrap;width:100%;z-index:2}.jodit-source__mirror::-moz-selection{background:#bdbdbd}.jodit-source__mirror::selection{background:#bdbdbd}.jodit_sticky-dummy_toolbar{display:none}.jodit_sticky>.jodit-toolbar__box{border-bottom:1px solid #dadada;left:auto;position:fixed;position:sticky;top:0;z-index:3}.jodit_sticky .jodit_sticky-dummy_toolbar{display:block}.jodit-symbols{padding:8px;width:460px}.jodit-symbols__container{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-symbols__container_table{width:88%}.jodit-symbols__container_preview{width:12%}.jodit-symbols__preview{border:1px solid #dadada;font-size:34px;padding:20px 0;text-align:center}.jodit-symbols__table{border:0;border-spacing:0;table-layout:fixed}.jodit-symbols__table td{padding:0}.jodit-symbols__table td a{border:1px solid transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:#4c4c4c;cursor:pointer;display:inline-block;font-size:16px;height:calc(18px*1.2);line-height:calc(18px*1.2);text-align:center;text-decoration:none;vertical-align:top;width:calc(18px*1.2)}.jodit-symbols__table td a:focus{outline:2px solid #dadada}.jodit-symbols__table td a:hover{outline:2px solid #dadada}.jodit-context table,.jodit-wysiwyg table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit-context table tr,.jodit-wysiwyg table tr{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-context table tr td{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit-context table tr th{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit-wysiwyg table tr td{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit-wysiwyg table tr th{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit-form__inserter .jodit-form__table-creator-box{display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:768px){.jodit-form__inserter .jodit-form__table-creator-box{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container{font-size:0;margin:0;min-width:180px;padding:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span{border:1px solid #dadada;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;height:18px;margin-bottom:2px;margin-left:2px;vertical-align:top;width:18px}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span:first-child{margin-left:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span.jodit_hovered{background:#7a450f;border-color:#7a450f}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options{font-size:14px}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label{padding-top:0;text-align:left}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label input{margin-right:8px}.jodit-form__inserter label{font-size:14px;margin:0;padding:8px;text-align:center}.jodit-xpath{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:calc(8px/-2)}.jodit-xpath__item{display:-webkit-box;display:-ms-flexbox;display:flex;height:11px;line-height:calc(11px - 1px)}.jodit-xpath__item a{color:#4c4c4c;font-size:11px;margin-left:2px;outline:0;padding:0 3px}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2))}.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2))}.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2))}.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2))}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal:after{background-color:#6b6b6b}.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after{background-color:#6b6b6b}.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal:after{background-color:#6b6b6b}.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after{background-color:#6b6b6b}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty){border-color:#6b6b6b}.jodit_theme_dark .jodit-toolbar__box:not(:empty){border-color:#6b6b6b}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:#6b6b6b}.jodit_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:#6b6b6b}.jodit-dialog_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-right-color:#6b6b6b}.jodit_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-right-color:#6b6b6b}.jodit-dialog_theme_dark.jodit-container{background-color:#575757;border-color:#6b6b6b}.jodit_theme_dark.jodit-container{background-color:#575757;border-color:#6b6b6b}.jodit-dialog_theme_dark.jodit-container.jodit_disabled{background-color:#575757}.jodit_theme_dark.jodit-container.jodit_disabled{background-color:#575757}.jodit-dialog_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace{border-color:#575757}.jodit_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace{border-color:#575757}.jodit-dialog_theme_dark .jodit-popup__content{background:#787878}.jodit_theme_dark .jodit-popup__content{background:#787878}.jodit-dialog_theme_dark .jodit-toolbar-button__text{color:#d1cccc}.jodit-dialog_theme_dark .jodit-ui-button__text{color:#d1cccc}.jodit_theme_dark .jodit-toolbar-button__text{color:#d1cccc}.jodit_theme_dark .jodit-ui-button__text{color:#d1cccc}.jodit-dialog_theme_dark .jodit-toolbar-button:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-toolbar-button__button:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-ui-button:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-ui-button__button:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-ui-button__trigger:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-toolbar-button:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-toolbar-button__button:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-ui-button:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-ui-button__button:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-ui-button__trigger:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-status-bar{background-color:#5f5c5c;border-color:#6b6b6b;color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){background-color:#5f5c5c;border-color:#6b6b6b;color:#d1cccc}.jodit_theme_dark .jodit-status-bar{background-color:#5f5c5c;border-color:#6b6b6b;color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){background-color:#5f5c5c;border-color:#6b6b6b;color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar{color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item a{color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item span{color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link{color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover{color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited{color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a{color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span{color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link{color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover{color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited{color:#d1cccc}.jodit_theme_dark .jodit-status-bar{color:#d1cccc}.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item a{color:#d1cccc}.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item span{color:#d1cccc}.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link{color:#d1cccc}.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover{color:#d1cccc}.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited{color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a{color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span{color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link{color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover{color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited{color:#d1cccc}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty){background:#5f5c5c}.jodit_theme_dark .jodit-toolbar__box:not(:empty){background:#5f5c5c}.jodit-dialog_theme_dark .jodit-icon{fill:silver;stroke:silver}.jodit-dialog_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger{fill:silver;stroke:silver}.jodit-dialog_theme_dark .jodit__upload-button svg{fill:silver;stroke:silver}.jodit_theme_dark .jodit-icon{fill:silver;stroke:silver}.jodit_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger{fill:silver;stroke:silver}.jodit_theme_dark .jodit__upload-button svg{fill:silver;stroke:silver}.jodit-dialog_theme_dark .jodit-icon-close{stroke:silver}.jodit_theme_dark .jodit-icon-close{stroke:silver}.jodit-dialog_theme_dark .jodit-wysiwyg{background-color:#575757;color:#d1cccc}.jodit-dialog_theme_dark .jodit-wysiwyg_iframe{background-color:#575757;color:#d1cccc}.jodit_theme_dark .jodit-wysiwyg{background-color:#575757;color:#d1cccc}.jodit_theme_dark .jodit-wysiwyg_iframe{background-color:#575757;color:#d1cccc}.jodit-dialog_theme_dark .jodit-form input[type=text]{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit-dialog_theme_dark .jodit-form input[type=url]{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit-dialog_theme_dark .jodit-form textarea{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit_theme_dark .jodit-form input[type=text]{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit_theme_dark .jodit-form input[type=url]{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit_theme_dark .jodit-form textarea{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit-dialog_theme_dark .jodit-form button{background-color:hsla(0,0%,41%,.75);color:#d1cccc}.jodit_theme_dark .jodit-form button{background-color:hsla(0,0%,41%,.75);color:#d1cccc}.jodit-dialog_theme_dark .jodit-placeholder{color:hsla(0,5%,81%,.8)}.jodit_theme_dark .jodit-placeholder{color:hsla(0,5%,81%,.8)}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box{color:#d1cccc}.jodit-dialog_theme_dark .jodit_uploadfile_button{color:#d1cccc}.jodit_theme_dark .jodit-drag-and-drop__file-box{color:#d1cccc}.jodit_theme_dark .jodit_uploadfile_button{color:#d1cccc}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box:hover{background-color:hsla(0,0%,41%,.75)}.jodit-dialog_theme_dark .jodit_uploadfile_button:hover{background-color:hsla(0,0%,41%,.75)}.jodit_theme_dark .jodit-drag-and-drop__file-box:hover{background-color:hsla(0,0%,41%,.75)}.jodit_theme_dark .jodit_uploadfile_button:hover{background-color:hsla(0,0%,41%,.75)}.jodit-dialog_theme_dark .jodit-add-new-line:before{border-top-color:#686767}.jodit_theme_dark .jodit-add-new-line:before{border-top-color:#686767}.jodit-dialog_theme_dark .jodit-add-new-line span{background:hsla(0,0%,41%,.75);border-color:#686767}.jodit_theme_dark .jodit-add-new-line span{background:hsla(0,0%,41%,.75);border-color:#686767}.jodit-dialog_theme_dark .jodit-add-new-line span svg{fill:#d1cccc}.jodit_theme_dark .jodit-add-new-line span svg{fill:#d1cccc}.jodit-dialog_theme_dark .jodit-resizer>i{background:hsla(0,0%,41%,.75);border-color:silver}.jodit_theme_dark .jodit-resizer>i{background:hsla(0,0%,41%,.75);border-color:silver}.jodit-dialog_theme_dark .jodit-input{background-color:#787878;border-color:#444;color:#444}.jodit-dialog_theme_dark .jodit-select{background-color:#787878;border-color:#444;color:#444}.jodit_theme_dark .jodit-input{background-color:#787878;border-color:#444;color:#444}.jodit_theme_dark .jodit-select{background-color:#787878;border-color:#444;color:#444}.jodit-dialog_theme_dark.jodit-dialog{background-color:#575757}.jodit_theme_dark.jodit-dialog{background-color:#575757}.jodit-dialog_theme_dark.jodit-dialog .jodit-dialog__header{border-color:#444}.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item{border-color:#444}.jodit_theme_dark.jodit-dialog .jodit-dialog__header{border-color:#444}.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item{border-color:#444}.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info{background-color:#d1cccc}.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info{background-color:#d1cccc} \ No newline at end of file + .jodit-wysiwyg{outline:0}.jodit-wysiwyg ::-moz-selection, .jodit-wysiwyg::-moz-selection{background:#b5d6fd;color:#4c4c4c}.jodit-wysiwyg ::selection,.jodit-wysiwyg::selection{background:#b5d6fd;color:#4c4c4c}.jodit-container:not(.jodit_inline) .jodit-wysiwyg{margin:0;outline:0;overflow-x:auto;padding:8px;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg img{max-width:100%;position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media{position:relative}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media *{position:relative;z-index:0}.jodit-container:not(.jodit_inline) .jodit-wysiwyg jodit-media:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.jodit-form{color:#4c4c4c;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px}.jodit-form.jodit_error{border-color:#ff3b3b;-webkit-box-shadow:inset 0 0 3px 0 hsla(0,0%,74%,.3);box-shadow:inset 0 0 3px 0 hsla(0,0%,74%,.3)}@media (max-width:768px){.jodit-form{min-width:150px}}.jodit-form button{background:#d6d6d6;border:none;color:#4c4c4c;cursor:pointer;font-size:16px;height:36px;line-height:1;margin-bottom:8px;margin-top:8px;outline:none;padding:8px;text-decoration:none;-webkit-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;transition:background .2s ease 0s}.jodit-form button:hover{background-color:#ecebe9;color:#4c4c4c}.jodit-form button:active{background:#ecebe9;color:#4c4c4c}.jodit-form label{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:8px;text-align:left;white-space:nowrap}.jodit-form label:last-child{margin-bottom:0}.jodit-form .jodit-form__center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit .jodit-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #dadada;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit .jodit-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #dadada;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit .jodit-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #dadada;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit .jodit-input[disabled]{background-color:#f0f0f0;color:#dadada}.jodit .jodit-select[disabled]{background-color:#f0f0f0;color:#dadada}.jodit .jodit-textarea[disabled]{background-color:#f0f0f0;color:#dadada}.jodit .jodit-input_has-error_true{border-color:#ff3b3b}.jodit .jodit-select_has-error_true{border-color:#ff3b3b}.jodit .jodit-textarea_has-error_true{border-color:#ff3b3b}.jodit .jodit-input:focus{border-color:#66afe9;outline:0}.jodit-checkbox{border:0;cursor:pointer;height:16px;margin:0 calc(8px/2) 0 0;outline:none;padding:0;position:relative;width:16px;z-index:2}.jodit-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4.95 10'%3E%3Cdefs%3E%3Cstyle%3E.cls-2{fill:%23444}%3C/style%3E%3C/defs%3E%3Cpath style='fill:%23fff' d='M0 0h4.95v10H0z'/%3E%3Cpath class='cls-2' d='m1.41 4.67 1.07-1.49 1.06 1.49H1.41zM3.54 5.33 2.48 6.82 1.41 5.33h2.13z'/%3E%3C/svg%3E");background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(8px*2)}.jodit-textarea{height:auto}.jodit-form__group{min-width:180px}.jodit-textarea{min-width:180px}.jodit-form__group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.jodit-form__group{margin-bottom:8px}.jodit-form__group>label{margin-bottom:8px}.jodit-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#dadada;border:0;border-radius:.25rem;color:#4c4c4c;cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;height:calc(8px*4);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:1;margin:0;padding:0 8px;position:relative;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:auto}.jodit-button svg{display:inline-block;height:24px;width:24px}.jodit-button svg+span{margin-left:calc(8px/2)}.jodit-button:active,.jodit-button:focus{outline:0}.jodit-button.disabled{opacity:.7}.jodit-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.jodit-button .jodit_icon,.jodit-button svg,.jodit-dialog__header .jodit_icon,.jodit-dialog__header svg{display:inline-block;height:16px;vertical-align:middle;width:16px}.jodit-switcher{display:inline-block;height:32px;position:relative;width:60px}.jodit-switcher input{height:0;opacity:0;width:0}.jodit-switcher .jodit-switcher__slider{background-color:#dadada;border-radius:32px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.jodit-switcher .jodit-switcher__slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:calc(32px - 4px*2);left:4px;position:absolute;-webkit-transition:.4s;-o-transition:.4s;transition:.4s;width:calc(32px - 4px*2)}input:checked+.jodit-switcher__slider{background-color:#2196f3}input:checked+.jodit-switcher__slider:before{-webkit-transform:translateX(calc(60px - 4px*2 - calc(32px - 4px*2)));-ms-transform:translateX(calc(60px - 4px*2 - calc(32px - 4px*2)));transform:translateX(calc(60px - 4px*2 - calc(32px - 4px*2)))}input:focus+.jodit-switcher__slider{-webkit-box-shadow:0 0 1px #2196f3;box-shadow:0 0 1px #2196f3}.jodit-button-group{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-button-group input{display:none}.jodit-button-group button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.jodit-button-group button+button{margin-left:-1px}.jodit-button-group button:first-child,.jodit-button-group input:first-child+button{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.jodit-button-group button:last-child,.jodit-button-group input:last-child+button{border-bottom-left-radius:0;border-left:0;border-top-left-radius:0}.jodit-button-group input[type=checkbox]:checked+button,.jodit-button-group input[type=checkbox]:not(:checked)+button+button{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.05)}.jodit_text_icons .jodit_icon{font-size:14px;width:auto}.jodit_text_icons .jodit_icon:first-letter{text-transform:uppercase}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;width:auto}.jodit_text_icons .jodit-tabs .jodit-tabs__buttons>a i{width:auto}.jodit_text_icons.jodit-dialog .jodit-button{color:rgba(0,0,0,.75);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;padding:8px;width:auto}.jodit_text_icons.jodit-dialog .jodit-dialog__header a{color:rgba(0,0,0,.75);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;padding:8px;width:auto}.jodit_text_icons.jodit-dialog .jodit-button .jodit_icon,.jodit_text_icons.jodit-dialog .jodit-dialog__header a .jodit_icon{width:auto}.jodit-grid{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.jodit-grid.jodit-grid_column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (max-width:480px){.jodit-grid.jodit-grid_xs-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.jodit-grid [class*=jodit_col-]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.jodit-grid .jodit_col-lg-5-5{width:100%}.jodit-grid .jodit_col-lg-4-5{width:80%}.jodit-grid .jodit_col-lg-3-5{width:60%}.jodit-grid .jodit_col-lg-2-5{width:40%}.jodit-grid .jodit_col-lg-1-5{width:20%}.jodit-grid .jodit_col-lg-4-4{width:100%}.jodit-grid .jodit_col-lg-3-4{width:75%}.jodit-grid .jodit_col-lg-2-4{width:50%}.jodit-grid .jodit_col-lg-1-4{width:25%}@media (max-width:992px){.jodit-grid .jodit_col-md-5-5{width:100%}.jodit-grid .jodit_col-md-4-5{width:80%}.jodit-grid .jodit_col-md-3-5{width:60%}.jodit-grid .jodit_col-md-2-5{width:40%}.jodit-grid .jodit_col-md-1-5{width:20%}.jodit-grid .jodit_col-md-4-4{width:100%}.jodit-grid .jodit_col-md-3-4{width:75%}.jodit-grid .jodit_col-md-2-4{width:50%}.jodit-grid .jodit_col-md-1-4{width:25%}}@media (max-width:768px){.jodit-grid .jodit_col-sm-5-5{width:100%}.jodit-grid .jodit_col-sm-4-5{width:80%}.jodit-grid .jodit_col-sm-3-5{width:60%}.jodit-grid .jodit_col-sm-2-5{width:40%}.jodit-grid .jodit_col-sm-1-5{width:20%}.jodit-grid .jodit_col-sm-4-4{width:100%}.jodit-grid .jodit_col-sm-3-4{width:75%}.jodit-grid .jodit_col-sm-2-4{width:50%}.jodit-grid .jodit_col-sm-1-4{width:25%}}@media (max-width:480px){.jodit-grid .jodit_col-xs-5-5{width:100%}.jodit-grid .jodit_col-xs-4-5{width:80%}.jodit-grid .jodit_col-xs-3-5{width:60%}.jodit-grid .jodit_col-xs-2-5{width:40%}.jodit-grid .jodit_col-xs-1-5{width:20%}.jodit-grid .jodit_col-xs-4-4{width:100%}.jodit-grid .jodit_col-xs-3-4{width:75%}.jodit-grid .jodit_col-xs-2-4{width:50%}.jodit-grid .jodit_col-xs-1-4{width:25%}}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.jodit-icon_loader{-webkit-animation:a 2s ease-out 0s infinite;animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;display:inline-block;height:48px;vertical-align:middle;width:48px;will-change:transform}.jodit-icon{fill:#4c4c4c;background:50% no-repeat;background-size:contain;height:14px;overflow:visible;-webkit-transform-origin:0 0!important;-ms-transform-origin:0 0!important;transform-origin:0 0!important;width:14px}.jodit-icon{stroke:#4c4c4c}.jodit-icon_close{stroke:#4c4c4c}svg.jodit-icon{height:auto;isolation:isolate}.jodit-icon_text{font-size:14px}.jodit,.jodit *,.jodit-container,.jodit-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.jodit .jodit-workplace,.jodit-container .jodit-workplace{overflow:auto;position:relative}.jodit .jodit-workplace .jodit-wysiwyg,.jodit .jodit-workplace .jodit-wysiwyg_iframe,.jodit-container .jodit-workplace .jodit-wysiwyg,.jodit-container .jodit-workplace .jodit-wysiwyg_iframe{height:100%;width:100%}.jodit-wysiwyg [contenteditable=false]{cursor:default}.jodit-container:not(.jodit_inline){background-color:#f5f5f6;border:1px solid #dadada;border-radius:3px}.jodit-container:not(.jodit_inline) .jodit-workplace{background-color:#fff;border:0 solid #dadada;max-height:100%}.jodit-container:not(.jodit_inline).jodit_disabled{background:#dadada}.jodit-container:not(.jodit_inline).jodit_disabled .jodit-workplace{opacity:.4}.jodit_disabled,.jodit_lock{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.jodit_hidden{display:none!important}.jodit_vertical_middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-box,.jodit-context-menu{background:0 0;border:0;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.jodit-context-menu{-webkit-box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13);box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13);display:inline-block;position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:10000001;z-index:30000005}.jodit-context-menu__content{overflow-scrolling:touch;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;max-height:300px;overflow:auto;padding:8px}.jodit-context-menu_padding_false .jodit-context-menu__content{padding:0}.jodit-context-menu_max-height_false .jodit-context-menu__content{max-height:-webkit-fit-content;max-height:-moz-fit-content;max-height:fit-content}.jodit-context-menu .jodit-ui-button{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-context-menu__actions{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px}.jodit-context-menu__actions button{width:100%}.jodit-context-menu_theme_dark .jodit-context-menu__content{background-color:#575757}.jodit-popup{background:0 0;border:0;-webkit-box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13);box-shadow:0 4px 1px -2px rgba(76,76,76,.2),0 3px 3px 0 rgba(76,76,76,.15),0 1px 4px 0 rgba(76,76,76,.13);display:inline-block;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);width:auto;z-index:10000001}.jodit-popup__content{overflow-scrolling:touch;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;max-height:300px;overflow:auto;padding:8px}.jodit-popup_padding_false .jodit-popup__content{padding:0}.jodit-popup_max-height_false .jodit-popup__content{max-height:-webkit-fit-content;max-height:-moz-fit-content;max-height:fit-content}.jodit-ui-button-icon-text__icon{display:none}.jodit-ui-button-icon-text__icon:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.jodit-ui-button-icon-text__text{display:none}.jodit-ui-button-icon-text__text:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text{-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left;padding-left:8px;position:relative}.jodit-ui-button-icon-text_context_menu .jodit-ui-button-icon-text__text:before{border-left:1px solid #dadada;content:"";height:35px;left:0;position:absolute;top:calc(8px*-1)}.jodit-ui-button-icon-text__icon:not(:empty)+.jodit-ui-button-icon-text__text:not(:empty){margin-left:8px}.jodit-ui-button-icon-text__icon:empty+.jodit-ui-button-icon-text__text:not(:empty){padding:0 8px}.jodit-ui-button-clear,.jodit-ui-button_clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;font-style:normal;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-ui-button-sizes{height:34px;min-width:34px}.jodit-ui-button-sizes .jodit-icon{height:14px;width:14px}.jodit-ui-button-sizes button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button-sizes_text-icons_true button{padding:0 8px}.jodit-ui-button-sizes_size_tiny{height:16px;min-width:16px}.jodit-ui-button-sizes_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button-sizes_size_tiny button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button-sizes_size_tiny_text-icons_true button{padding:0 8px}.jodit-ui-button-sizes_size_xsmall{height:22px;min-width:22px}.jodit-ui-button-sizes_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button-sizes_size_xsmall button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button-sizes_size_xsmall_text-icons_true button{padding:0 8px}.jodit-ui-button-sizes_size_small{height:28px;min-width:28px}.jodit-ui-button-sizes_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button-sizes_size_small button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button-sizes_size_small_text-icons_true button{padding:0 8px}.jodit-ui-button-sizes_size_large{height:40px;min-width:40px}.jodit-ui-button-sizes_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button-sizes_size_large button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button-sizes_size_large_text-icons_true button{padding:0 8px}.jodit-ui-button-variants_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button-variants_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default [disabled]{opacity:.7}.jodit-ui-button-variants_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button-variants_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button-variants_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button-variants_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button-variants_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button-variants_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary [disabled]{opacity:.7}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button-variants_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button-variants_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button-variants_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button-variants_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button-variants_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success [disabled]{opacity:.7}.jodit-ui-button-variants_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button-variants_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button-variants_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button-variants_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button-variants_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger [disabled]{opacity:.7}.jodit-ui-button-variants_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button-variants_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button-variants_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button-variants_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-button-style{border-radius:3px;padding:0 8px}.jodit-ui-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:rgba(0,0,0,.75);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-ui-button-style{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:rgba(0,0,0,.75);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-ui-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;font-style:normal;height:34px;min-width:34px;outline:0;padding:0;padding:0 8px;position:relative;text-align:center;text-decoration:none;text-transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-ui-button:focus-visible:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-ui-button:hover:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-ui-button:active:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-ui-button[aria-pressed=true]:hover:not([disabled]){background-color:hsla(0,0%,86%,.6)}.jodit-ui-button[disabled]{opacity:.3;pointer-events:none}.jodit-ui-button .jodit-icon{height:14px;width:14px}.jodit-ui-button button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;min-width:34px;padding:0}.jodit-ui-button_text-icons_true button{padding:0 8px}.jodit-ui-button_size_tiny{height:16px;min-width:16px}.jodit-ui-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-ui-button_size_tiny button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px;min-width:16px;padding:0}.jodit-ui-button_size_tiny_text-icons_true button{padding:0 8px}.jodit-ui-button_size_xsmall{height:22px;min-width:22px}.jodit-ui-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-ui-button_size_xsmall button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;min-width:22px;padding:0}.jodit-ui-button_size_xsmall_text-icons_true button{padding:0 8px}.jodit-ui-button_size_small{height:28px;min-width:28px}.jodit-ui-button_size_small .jodit-icon{height:12px;width:12px}.jodit-ui-button_size_small button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;min-width:28px;padding:0}.jodit-ui-button_size_small_text-icons_true button{padding:0 8px}.jodit-ui-button_size_large{height:40px;min-width:40px}.jodit-ui-button_size_large .jodit-icon{height:16px;width:16px}.jodit-ui-button_size_large button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;min-width:40px;padding:0}.jodit-ui-button_size_large_text-icons_true button{padding:0 8px}.jodit-ui-button__icon{display:none}.jodit-ui-button__icon:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.jodit-ui-button__text{display:none}.jodit-ui-button__text:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-ui-button_context_menu .jodit-ui-button__text{-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left;padding-left:8px;position:relative}.jodit-ui-button_context_menu .jodit-ui-button__text:before{border-left:1px solid #dadada;content:"";height:35px;left:0;position:absolute;top:calc(8px*-1)}.jodit-ui-button__icon:not(:empty)+.jodit-ui-button__text:not(:empty){margin-left:8px}.jodit-ui-button__icon:empty+.jodit-ui-button__text:not(:empty){padding:0 8px}.jodit-ui-button:focus:not([disabled]){outline:1px dashed #b5d6fd}.jodit-ui-button_variant_default{background-color:#e3e3e3;color:#212529}.jodit-ui-button_variant_default svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default [disabled]{opacity:.7}.jodit-ui-button_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_primary{background-color:#007bff;color:#fff}.jodit-ui-button_variant_primary svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary [disabled]{opacity:.7}.jodit-ui-button_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-ui-button_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-ui-button_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-ui-button_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-ui-button_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary [disabled]{opacity:.7}.jodit-ui-button_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-ui-button_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-ui-button_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-ui-button_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-ui-button_variant_success{background-color:#28a745;color:#fff}.jodit-ui-button_variant_success svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success [disabled]{opacity:.7}.jodit-ui-button_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-ui-button_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-ui-button_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-ui-button_variant_danger{background-color:#dc3545;color:#fff}.jodit-ui-button_variant_danger svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger [disabled]{opacity:.7}.jodit-ui-button_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-ui-button_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-ui-button_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-ui-button_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-ui-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-ui-group{background-color:transparent;border:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.jodit-ui-list_mode_vertical .jodit-toolbar-button{height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2)}.jodit-ui-list_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2);width:100%}.jodit-ui-list_mode_vertical .jodit-toolbar-button__text:not(:empty){-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left}.jodit-ui-separator{border-left:0;border-right:1px solid #dadada;cursor:default;margin:2px;padding:0}.jodit-ui-break{border-top:1px solid #dadada;-ms-flex-preferred-size:100%;flex-basis:100%;height:0!important;width:0}.jodit-ui-spacer{-webkit-box-flex:1;-ms-flex:1;flex:1}.jodit-ui-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-negative:0;flex-shrink:0;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%}.jodit-ui-group_line_true{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch}.jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-left:0;border-right:1px solid #dadada;content:"";cursor:default;margin:2px;padding:0}.jodit-ui-group:last-child{border-bottom:0}.jodit-ui-button-group{margin-bottom:8px}.jodit-ui-button-group__label{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-button-group__options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.jodit-ui-button-group .jodit-ui-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.jodit-ui-button-group .jodit-ui-button+.jodit-ui-button{border-bottom-left-radius:0;border-left:1px solid hsla(0,0%,86%,.4);border-top-left-radius:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled]){background-color:#dcdcdc;border-left:0;-webkit-box-shadow:inset 0 0 3px 0 #4c4c4c;box-shadow:inset 0 0 3px 0 #4c4c4c;color:#4c4c4c;outline:0}.jodit-ui-button-group .jodit-ui-button[aria-pressed=true]:not([disabled])+.jodit-ui-button{border:0}.jodit-ui-tooltip{background:#727171;background-clip:padding-box;border-radius:2px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-size:11px;line-height:1.4;max-width:120px;opacity:0;padding:calc(8px/4) calc(8px/2);position:fixed;text-rendering:optimizeLegibility;-webkit-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s;transition:opacity .2s ease 0s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:normal;width:auto;z-index:30000006}@media (max-width:768px){.jodit-ui-tooltip{display:none}}.jodit-ui-tooltip.jodit-ui-tooltip_visible_true{opacity:1}.jodit-dialog{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;display:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:0;position:absolute;width:0;will-change:left,top,width,height}.jodit-dialog_moved_true{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-dialog *{-webkit-box-sizing:border-box;box-sizing:border-box}.jodit-dialog .jodit_elfinder,.jodit-dialog .jodit_elfinder *{-webkit-box-sizing:initial;box-sizing:initial}.jodit-dialog__overlay{background-color:rgba(0,0,0,.5);display:none;height:100%;left:0;overflow:auto;position:fixed;text-align:center;top:0;white-space:nowrap;width:100%;z-index:20000003}.jodit-dialog_static_true .jodit-dialog__overlay{display:none}.jodit-dialog_active_true,.jodit-dialog_modal_true .jodit-dialog__overlay{display:block}.jodit-dialog__panel{background-color:#fff;-webkit-box-shadow:0 8px calc(8px*2) rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);box-shadow:0 8px calc(8px*2) rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;left:0;max-height:100%;max-width:100%;min-height:100px;min-width:200px;position:fixed;text-align:left;top:0;white-space:normal;z-index:20000004}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__panel{height:100%!important;left:0!important;max-width:100%;top:0!important;width:100%!important}}.jodit-dialog_static_true{-webkit-box-sizing:border-box;box-sizing:border-box;display:block;height:auto;position:relative;width:auto;z-index:inherit}.jodit-dialog_static_true .jodit-dialog__panel{border:1px solid #dadada;-webkit-box-shadow:none;box-shadow:none;left:auto!important;position:relative;top:auto!important;width:100%!important;z-index:inherit}.jodit-dialog_theme_dark{background-color:#353535;color:#fff}.jodit-dialog_theme_dark .jodit-dialog__panel{background-color:#353535;color:#fff}.jodit-dialog__header{border-bottom:1px solid #dadada;cursor:move;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;min-height:50px;text-align:left}.jodit-dialog__header-title{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:3;flex-shrink:3;font-size:18px;font-weight:400;line-height:48px;margin:0;padding:0 8px;vertical-align:top}.jodit-dialog__header-toolbar{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:3;flex-shrink:3;font-size:18px;font-weight:400;line-height:48px;margin:0;padding:0 8px;vertical-align:top}@media (max-width:480px){.jodit-dialog__header-toolbar{padding-left:0}}.jodit-dialog__header-button{color:#222;-ms-flex-preferred-size:48px;flex-basis:48px;font-size:28px;height:48px;line-height:48px;text-align:center;text-decoration:none;-webkit-transition:background-color .2s ease 0s;-o-transition:background-color .2s ease 0s;transition:background-color .2s ease 0s}.jodit-dialog__header-button:hover{background-color:#ecebe9}.jodit-dialog__header .jodit_toolbar{background:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.jodit-dialog__header .jodit_toolbar>li.jodit-toolbar-button .jodit-input{padding-left:8px;width:auto}@media (max-width:480px){.jodit-dialog:not(.jodit-dialog_adaptive_false) .jodit-dialog__header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.jodit-dialog_slim_true .jodit-dialog__header{min-height:10px}.jodit-dialog_slim_true .jodit-dialog__header-title{padding:0 calc(8px/4)}.jodit-dialog_slim_true .jodit-dialog__header-toolbar{padding:0 calc(8px/4)}.jodit-dialog_theme_dark .jodit-dialog__header{border-color:#4c4c4c}.jodit-dialog_fullsize_true .jodit-dialog__header{cursor:default}.jodit-dialog__content{-webkit-box-flex:1;-ms-flex:1;flex:1;min-height:100px;overflow:auto}.jodit-dialog__content .jodit-form__group{margin-bottom:calc(8px*1.5);padding:0 8px}.jodit-dialog__content .jodit-form__group:first-child{margin-top:8px}.jodit-dialog__content .jodit-form__group label+.jodit-grid{margin-top:calc(8px/2)}.jodit-dialog__content .jodit-form__group label+.jodit-input_group{margin-top:calc(8px/2)}.jodit-dialog__content .jodit-form__group label+.jodit-select{margin-top:calc(8px/2)}.jodit-dialog__content .jodit-form__group label+input{margin-top:calc(8px/2)}.jodit-dialog__content .jodit-form__group .jodit-input_group{border-collapse:separate;display:table;width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group>*{display:table-cell;height:34px;vertical-align:middle}.jodit-dialog__content .jodit-form__group .jodit-input_group>input{margin:0!important}.jodit-dialog__content .jodit-form__group .jodit-input_group>input:not([class*=col-]){width:100%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons{font-size:0;vertical-align:middle;white-space:nowrap;width:1%}.jodit-dialog__content .jodit-form__group .jodit-input_group-buttons>.jodit-button{border:1px solid #dadada;border-radius:0;height:34px;line-height:34px;margin-left:-1px}.jodit-dialog__footer{display:none;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:8px}.jodit-dialog__footer button{margin-right:calc(8px/2)}.jodit-dialog__footer button:last-child{margin-right:0}.jodit-dialog__column{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-dialog__resizer{display:none;position:relative}.jodit-dialog__resizer svg{fill:#a5a5a5;bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:12px}.jodit-dialog_resizable_true .jodit-dialog__resizer{display:block}@media (max-width:480px){.jodit-dialog__resizer{display:none}}.jodit-dialog_prompt{max-width:300px;min-width:200px;padding:8px;word-break:break-all}.jodit-dialog_prompt label{display:block;margin-bottom:calc(8px/2)}.jodit-dialog_alert{max-width:300px;min-width:200px;padding:8px;word-break:break-all}.jodit-dialog_footer_true .jodit-dialog__footer{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit_fullsize .jodit-dialog__panel{bottom:0!important;height:100%!important;left:0!important;right:0!important;top:0!important;width:100%!important}.jodit_fullsize .jodit-dialog__panel .jodit-dialog__resizer{display:none}.jodit-dialog .jodit-ui-messages{z-index:20000004}.jodit-toolbar__box:not(:empty){background-color:#fff;border-bottom:1px solid #dadada;border-radius:3px 3px 0 0;overflow:hidden}.jodit-toolbar__box:not(:empty):not(:empty){background-color:#f9f9f9}.jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:#f9f9f9}.jodit-ui-messages{bottom:0;height:0;overflow:visible;position:absolute;right:0;width:0;z-index:3}.jodit-ui-message{background:#cfe2ff;border:1px solid #b6d4fe;border-radius:0.375rem;bottom:0;color:#084298;cursor:pointer;display:block;font-size:1rem;opacity:0;padding:0.5rem 1rem;position:absolute;right:calc(8px/2);-webkit-transition:opacity .1s linear,bottom .3s linear,-webkit-transform .1s ease-out;transition:opacity .1s linear,bottom .3s linear,-webkit-transform .1s ease-out;-o-transition:opacity .1s linear,bottom .3s linear,transform .1s ease-out;transition:opacity .1s linear,bottom .3s linear,transform .1s ease-out;transition:opacity .1s linear,bottom .3s linear,transform .1s ease-out,-webkit-transform .1s ease-out;white-space:pre}.jodit-ui-message_active_true{opacity:1}.jodit-ui-message:active{-webkit-transform:scale(.76);-ms-transform:scale(.76);transform:scale(.76)}.jodit-ui-message_variant_danger{background:#f8d7da;border-color:#f5c2c7;color:#842029}.jodit-ui-message_variant_error{background:#f8d7da;border-color:#f5c2c7;color:#842029}.jodit-ui-message_variant_secondary{background:#e2e3e5;border-color:#d3d6d8;color:#41464b}.jodit-ui-message_variant_success{background:#d1e7dd;border-color:#badbcc;color:#0f5132}.jodit-ui-label{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-input{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:8px}.jodit-ui-input__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit-ui-input__input[disabled]{background-color:#f0f0f0;color:#dadada}.jodit-ui-input__input_has-error_true{border-color:#ff3b3b}.jodit-ui-input__input:focus{outline:0}.jodit-ui-input_theme_dark .jodit-ui-input__input{background-color:#dadada}.jodit-ui-input_has-error_true .jodit-ui-input__input{border-color:#ff3b3b}.jodit-ui-input__error{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-input__label{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-input__error{color:#ff3b3b}.jodit-ui-input_has-error_true .jodit-ui-input__label{color:#ff3b3b}.jodit-ui-input__wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;border:1px solid #dadada;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-input__wrapper{min-width:140px}}.jodit-ui-input_theme_dark .jodit-ui-input__wrapper{background-color:#dadada;border-color:#dadada}.jodit-ui-input_focused_true .jodit-ui-input__wrapper{border-color:#1e88e5}.jodit-ui-input__icon:not(:empty){-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 8px}.jodit-ui-input__icon:not(:empty) svg{fill:#dadada;height:16px;width:16px}.jodit-ui-input__icon:not(:empty)+.jodit-ui-input__input{padding-left:0}.jodit-ui-input__clear{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:.8;padding:0 8px 0 0}.jodit-ui-input__clear:active{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.jodit-ui-input__clear svg{fill:#dadada;height:12px;width:12px}.jodit-ui-input_theme_dark .jodit-ui-input__clear svg{fill:#4c4c4c}.jodit-ui-input_theme_dark .jodit-ui-input__icon svg{fill:#4c4c4c}.jodit-ui-block .jodit-ui-input{margin-bottom:0}.jodit-ui-select{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:8px}.jodit-ui-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit-ui-select__input[disabled]{background-color:#f0f0f0;color:#dadada}.jodit-ui-select__input_has-error_true{border-color:#ff3b3b}.jodit-ui-select__input:focus{outline:0}.jodit-ui-select_theme_dark .jodit-ui-select__input{background-color:#dadada}.jodit-ui-select_has-error_true .jodit-ui-select__input{border-color:#ff3b3b}.jodit-ui-select__error{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-select__label{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-select__error{color:#ff3b3b}.jodit-ui-select_has-error_true .jodit-ui-select__label{color:#ff3b3b}.jodit-ui-select__wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;border:1px solid #dadada;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-select__wrapper{min-width:140px}}.jodit-ui-select_theme_dark .jodit-ui-select__wrapper{background-color:#dadada;border-color:#dadada}.jodit-ui-select_focused_true .jodit-ui-select__wrapper{border-color:#1e88e5}.jodit-ui-select__icon:not(:empty){-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 8px}.jodit-ui-select__icon:not(:empty) svg{fill:#dadada;height:16px;width:16px}.jodit-ui-select__icon:not(:empty)+.jodit-ui-select__input{padding-left:0}.jodit-ui-select__clear{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:.8;padding:0 8px 0 0}.jodit-ui-select__clear:active{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.jodit-ui-select__clear svg{fill:#dadada;height:12px;width:12px}.jodit-ui-select_theme_dark .jodit-ui-select__clear svg{fill:#4c4c4c}.jodit-ui-select_theme_dark .jodit-ui-select__icon svg{fill:#4c4c4c}.jodit-ui-select__input{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0ye2ZpbGw6IzQ0NH08L3N0eWxlPjwvZGVmcz48cGF0aCBzdHlsZT0iZmlsbDojZmZmIiBkPSJNMCAwaDQuOTV2MTBIMHoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Im0xLjQxIDQuNjcgMS4wNy0xLjQ5IDEuMDYgMS40OUgxLjQxek0zLjU0IDUuMzMgMi40OCA2LjgyIDEuNDEgNS4zM2gyLjEzeiIvPjwvc3ZnPg==);background-position:98% 50%;background-repeat:no-repeat;padding-right:calc(8px*2)}.jodit-ui-select_size_tiny{margin-bottom:0}.jodit-ui-select_size_tiny .jodit-ui-select__input{height:calc(32px/1.8);line-height:calc(32px/1.8)}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper{border:0}.jodit-ui-select_variant_outline .jodit-ui-select__wrapper select{outline:0}.jodit-ui-select_width_auto{width:auto}.jodit-ui-select_width_auto .jodit-ui-select__wrapper{min-width:auto}.jodit-ui-text-area{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:8px;width:100%}.jodit-ui-text-area__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:0;border-radius:0;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;height:32px;line-height:32px;outline:none;padding:0 8px;width:100%}.jodit-ui-text-area__input[disabled]{background-color:#f0f0f0;color:#dadada}.jodit-ui-text-area__input_has-error_true{border-color:#ff3b3b}.jodit-ui-text-area__input:focus{outline:0}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__input{background-color:#dadada}.jodit-ui-text-area_has-error_true .jodit-ui-text-area__input{border-color:#ff3b3b}.jodit-ui-text-area__error{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-text-area__label{color:#a5a5a5;display:block;font-size:.8em;margin-bottom:calc(8px/4)}.jodit-ui-text-area__error{color:#ff3b3b}.jodit-ui-text-area_has-error_true .jodit-ui-text-area__label{color:#ff3b3b}.jodit-ui-text-area__wrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;border:1px solid #dadada;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;min-width:200px}@media (max-width:480px){.jodit-ui-text-area__wrapper{min-width:140px}}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__wrapper{background-color:#dadada;border-color:#dadada}.jodit-ui-text-area_focused_true .jodit-ui-text-area__wrapper{border-color:#1e88e5}.jodit-ui-text-area__icon:not(:empty){-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 8px}.jodit-ui-text-area__icon:not(:empty) svg{fill:#dadada;height:16px;width:16px}.jodit-ui-text-area__icon:not(:empty)+.jodit-ui-text-area__input{padding-left:0}.jodit-ui-text-area__clear{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;opacity:.8;padding:0 8px 0 0}.jodit-ui-text-area__clear:active{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}.jodit-ui-text-area__clear svg{fill:#dadada;height:12px;width:12px}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__clear svg{fill:#4c4c4c}.jodit-ui-text-area_theme_dark .jodit-ui-text-area__icon svg{fill:#4c4c4c}.jodit-ui-text-area__wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1}.jodit-ui-text-area__input{height:100%;min-height:60px}.jodit-ui-checkbox{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:8px}.jodit-ui-checkbox__input{margin-right:8px}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper{display:inline-block;height:34px;margin-right:8px;position:relative;width:60px}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__wrapper input{height:0;opacity:0;width:0}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;-webkit-transition:.4s;-o-transition:.4s;transition:.4s}.jodit-ui-checkbox_switch_true .jodit-ui-checkbox__switch-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:26px;left:4px;position:absolute;-webkit-transition:.4s;-o-transition:.4s;transition:.4s;width:26px}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider{background-color:#2196f3}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_checked_true .jodit-ui-checkbox__switch-slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translateX(26px)}.jodit-ui-checkbox_switch_true.jodit-ui-checkbox_focused_true .jodit-ui-checkbox__switch-slider{-webkit-box-shadow:0 0 1px #2196f3;box-shadow:0 0 1px #2196f3}.jodit-ui-block .jodit-ui-checkbox{margin-bottom:0}.jodit-ui-file-input{overflow:hidden;position:relative}.jodit-ui-file-input__input{bottom:0;cursor:pointer;font-size:400px;margin:0 calc(8px*-1) 0 0;opacity:0;padding:0;position:absolute;right:0;top:0}.jodit-ui-block{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;margin-bottom:8px}.jodit-ui-block_width_full{width:100%}.jodit-ui-block_align_full{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.jodit-ui-block_align_right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.jodit-ui-block_padding_true{padding:8px}@-webkit-keyframes b{30%{opacity:.6}60%{opacity:0}to{opacity:.6}}@keyframes b{30%{opacity:.6}60%{opacity:0}to{opacity:.6}}.jodit-progress-bar{border-radius:1px;height:2px;left:0;opacity:.7;position:absolute;top:0;z-index:2147483647}.jodit-progress-bar div{background:#b91f1f;height:2px;position:relative;-webkit-transition:width .5s ease-out,opacity .5s linear;-o-transition:width .5s ease-out,opacity .5s linear;transition:width .5s ease-out,opacity .5s linear;will-change:width,opacity}.jodit-progress-bar div:after{-webkit-animation:b 2s ease-out 0s infinite;animation:b 2s ease-out 0s infinite;border-radius:100%;-webkit-box-shadow:#b91f1f 1px 0 6px 1px;box-shadow:#b91f1f 1px 0 6px 1px;content:"";display:inline-block;height:2px;opacity:.6;position:absolute;top:0}.jodit-progress-bar div:before{-webkit-animation:b 2s ease-out 0s infinite;animation:b 2s ease-out 0s infinite;border-radius:100%;-webkit-box-shadow:#b91f1f 1px 0 6px 1px;box-shadow:#b91f1f 1px 0 6px 1px;content:"";display:inline-block;height:2px;opacity:.6;position:absolute;top:0}.jodit-progress-bar div:before{clip:rect(-6px,90px,14px,-6px);right:-80px;width:180px}.jodit-progress-bar div:after{clip:rect(-6px,22px,14px,8px);right:0;width:20px}.jodit-toolbar-collection,.jodit-toolbar-editor-collection{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#dadada calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#dadada calc(14px + calc((14px - 4px)*2) + 2px*2));position:relative}.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#dadada calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#dadada calc(14px + calc((14px - 4px)*2) + 2px*2));position:relative}.jodit-toolbar-collection_mode_horizontal:after{background-color:#fff;bottom:0;content:"";display:block;height:1px;left:0;position:absolute;width:100%}.jodit-toolbar-editor-collection_mode_horizontal:after{background-color:#fff;bottom:0;content:"";display:block;height:1px;left:0;position:absolute;width:100%}.jodit-toolbar-collection_size_tiny.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px);background-image:repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px)}.jodit-toolbar-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px);background-image:repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px)}.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px);background-image:repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px)}.jodit-toolbar-editor-collection_size_tiny.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px);background-image:repeating-linear-gradient(transparent 0,transparent 19px,#dadada 20px)}.jodit-toolbar-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px);background-image:repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px)}.jodit-toolbar-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px);background-image:repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px)}.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px);background-image:repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px)}.jodit-toolbar-editor-collection_size_xsmall.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px);background-image:repeating-linear-gradient(transparent 0,transparent 25px,#dadada 26px)}.jodit-toolbar-collection_size_small.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px);background-image:repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px)}.jodit-toolbar-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px);background-image:repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px)}.jodit-toolbar-editor-collection_size_small.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px);background-image:repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px)}.jodit-toolbar-editor-collection_size_small.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px);background-image:repeating-linear-gradient(transparent 0,transparent 31px,#dadada 32px)}.jodit-toolbar-collection_size_middle.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px);background-image:repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px)}.jodit-toolbar-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px);background-image:repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px)}.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px);background-image:repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px)}.jodit-toolbar-editor-collection_size_middle.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px);background-image:repeating-linear-gradient(transparent 0,transparent 37px,#dadada 38px)}.jodit-toolbar-collection_size_large.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px);background-image:repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px)}.jodit-toolbar-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px);background-image:repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px)}.jodit-toolbar-editor-collection_size_large.jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px);background-image:repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px)}.jodit-toolbar-editor-collection_size_large.jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px);background-image:repeating-linear-gradient(transparent 0,transparent 43px,#dadada 44px)}.jodit-toolbar-collection_mode_vertical .jodit-ui-group,.jodit-toolbar-editor-collection_mode_vertical .jodit-ui-group{background-color:transparent;border:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button{height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2)}.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button{height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2)}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2);width:100%}.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__button{cursor:pointer;height:auto;min-height:calc(14px + calc((14px - 4px)*2) + 2px*2);width:100%}.jodit-toolbar-collection_mode_vertical .jodit-toolbar-button__text:not(:empty),.jodit-toolbar-editor-collection_mode_vertical .jodit-toolbar-button__text:not(:empty){-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left}.jodit-toolbar-collection .jodit-toolbar-button{margin:2px 1px;padding:0}.jodit-toolbar-collection .jodit-toolbar-content{margin:2px 1px;padding:0}.jodit-toolbar-editor-collection .jodit-toolbar-button{margin:2px 1px;padding:0}.jodit-toolbar-editor-collection .jodit-toolbar-content{margin:2px 1px;padding:0}.jodit-dialog .jodit-toolbar-collection_mode_horizontal,.jodit-dialog .jodit-toolbar-editor-collection_mode_horizontal{background-image:none}.jodit-toolbar-button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid transparent;border-radius:3px;display:-webkit-box;display:-ms-flexbox;display:flex;height:34px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:34px;overflow:hidden}.jodit-toolbar-button__icon{display:none}.jodit-toolbar-button__icon:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.jodit-toolbar-button__text{display:none}.jodit-toolbar-button__text:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text{-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left;padding-left:8px;position:relative}.jodit-toolbar-button_context_menu .jodit-toolbar-button__text:before{border-left:1px solid #dadada;content:"";height:35px;left:0;position:absolute;top:calc(8px*-1)}.jodit-toolbar-button__icon:not(:empty)+.jodit-toolbar-button__text:not(:empty){margin-left:8px}.jodit-toolbar-button__icon:empty+.jodit-toolbar-button__text:not(:empty){padding:0 8px;padding:0}.jodit-toolbar-button .jodit-icon{height:14px;width:14px}.jodit-toolbar-button button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-button_text-icons_true button{padding:0 8px}.jodit-toolbar-button_size_tiny{height:16px;min-width:16px}.jodit-toolbar-button_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-button_size_tiny button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-button_size_tiny_text-icons_true button{padding:0 8px}.jodit-toolbar-button_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-button_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-button_size_xsmall button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-button_size_xsmall_text-icons_true button{padding:0 8px}.jodit-toolbar-button_size_small{height:28px;min-width:28px}.jodit-toolbar-button_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-button_size_small button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-button_size_small_text-icons_true button{padding:0 8px}.jodit-toolbar-button_size_large{height:40px;min-width:40px}.jodit-toolbar-button_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-button_size_large button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-button_size_large_text-icons_true button{padding:0 8px}.jodit-toolbar-button__button{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.75);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-style:normal;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;outline:0;padding:0;padding:0 8px;position:relative;text-align:center;text-decoration:none;text-transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-toolbar-button__button:focus-visible:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-button__button:hover:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-button__button:active:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-button__button[aria-pressed=true]:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-button__button[aria-pressed=true]:hover:not([disabled]){background-color:hsla(0,0%,86%,.6)}.jodit-toolbar-button__button[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:0 3px 3px 0;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:.4;width:14px}.jodit-toolbar-button__trigger:focus-visible:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-button__trigger:hover:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-button__trigger:active:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-button__trigger[aria-pressed=true]:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-button__trigger[aria-pressed=true]:hover:not([disabled]){background-color:hsla(0,0%,86%,.6)}.jodit-toolbar-button__trigger[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-button__trigger svg{width:10px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger{width:8px}.jodit-toolbar-button_size_tiny .jodit-toolbar-button__trigger svg{width:4px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger{width:10px}.jodit-toolbar-button_size_xsmall .jodit-toolbar-button__trigger svg{width:6px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger{width:12px}.jodit-toolbar-button_size_small .jodit-toolbar-button__trigger svg{width:8px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger{width:16px}.jodit-toolbar-button_size_large .jodit-toolbar-button__trigger svg{width:12px}.jodit-toolbar-button_with-trigger_true .jodit-toolbar-button__button{border-radius:3px 0 0 3px}.jodit-toolbar-button_with-trigger_true:hover:not([disabled]){border-color:#dadada}.jodit-toolbar-button_stroke_false svg{stroke:none}.jodit-toolbar-content{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.75);cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;font-style:normal;height:34px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:34px;outline:0;padding:0;position:relative;text-align:center;text-decoration:none;text-transform:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-toolbar-content:focus-visible:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-content:hover:not([disabled]){background-color:#dcdcdc;opacity:1;outline:0}.jodit-toolbar-content:active:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-content[aria-pressed=true]:not([disabled]){background-color:hsla(0,0%,86%,.4);outline:0}.jodit-toolbar-content[aria-pressed=true]:hover:not([disabled]){background-color:hsla(0,0%,86%,.6)}.jodit-toolbar-content[disabled]{opacity:.3;pointer-events:none}.jodit-toolbar-content .jodit-icon{height:14px;width:14px}.jodit-toolbar-content button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;min-width:34px;padding:0}.jodit-toolbar-content_text-icons_true button{padding:0 8px}.jodit-toolbar-content_size_tiny{height:16px;min-width:16px}.jodit-toolbar-content_size_tiny .jodit-icon{height:8px;width:8px}.jodit-toolbar-content_size_tiny button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px;min-width:16px;padding:0}.jodit-toolbar-content_size_tiny_text-icons_true button{padding:0 8px}.jodit-toolbar-content_size_xsmall{height:22px;min-width:22px}.jodit-toolbar-content_size_xsmall .jodit-icon{height:10px;width:10px}.jodit-toolbar-content_size_xsmall button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;min-width:22px;padding:0}.jodit-toolbar-content_size_xsmall_text-icons_true button{padding:0 8px}.jodit-toolbar-content_size_small{height:28px;min-width:28px}.jodit-toolbar-content_size_small .jodit-icon{height:12px;width:12px}.jodit-toolbar-content_size_small button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;min-width:28px;padding:0}.jodit-toolbar-content_size_small_text-icons_true button{padding:0 8px}.jodit-toolbar-content_size_large{height:40px;min-width:40px}.jodit-toolbar-content_size_large .jodit-icon{height:16px;width:16px}.jodit-toolbar-content_size_large button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:40px;min-width:40px;padding:0}.jodit-toolbar-content_size_large_text-icons_true button{padding:0 8px}.jodit-toolbar-content__icon{display:none}.jodit-toolbar-content__icon:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.jodit-toolbar-content__text{display:none}.jodit-toolbar-content__text:not(:empty){display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text{-webkit-box-pack:left;-ms-flex-pack:left;justify-content:left;padding-left:8px;position:relative}.jodit-toolbar-content_context_menu .jodit-toolbar-content__text:before{border-left:1px solid #dadada;content:"";height:35px;left:0;position:absolute;top:calc(8px*-1)}.jodit-toolbar-content__icon:not(:empty)+.jodit-toolbar-content__text:not(:empty){margin-left:8px}.jodit-toolbar-content__icon:empty+.jodit-toolbar-content__text:not(:empty){padding:0 8px}.jodit-toolbar-content:focus:not([disabled]){outline:1px dashed #b5d6fd}.jodit-toolbar-content_variant_default{background-color:#e3e3e3;color:#212529}.jodit-toolbar-content_variant_default svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default [disabled]{opacity:.7}.jodit-toolbar-content_variant_default:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_default:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_default:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_default:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_primary{background-color:#007bff;color:#fff}.jodit-toolbar-content_variant_primary svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary [disabled]{opacity:.7}.jodit-toolbar-content_variant_primary:hover:not([disabled]){background-color:#0069d9;color:#fff}.jodit-toolbar-content_variant_primary:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]){background-color:#0062cc;color:#fff}.jodit-toolbar-content_variant_primary:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_primary:focus:not([disabled]){outline:1px dashed #0062cc}.jodit-toolbar-content_variant_secondary{background-color:#d8d8d8;border-radius:0;color:#212529}.jodit-toolbar-content_variant_secondary svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary [disabled]{opacity:.7}.jodit-toolbar-content_variant_secondary:hover:not([disabled]){background-color:#c9cdd1;color:#212529}.jodit-toolbar-content_variant_secondary:hover:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]){background-color:#dae0e5;color:#212529}.jodit-toolbar-content_variant_secondary:active:not([disabled]) svg{fill:#212529;stroke:#212529}.jodit-toolbar-content_variant_secondary:focus:not([disabled]){outline:1px dashed #dae0e5}.jodit-toolbar-content_variant_success{background-color:#28a745;color:#fff}.jodit-toolbar-content_variant_success svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success [disabled]{opacity:.7}.jodit-toolbar-content_variant_success:hover:not([disabled]){background-color:#218838;color:#fff}.jodit-toolbar-content_variant_success:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]){background-color:#1e7e34;color:#fff}.jodit-toolbar-content_variant_success:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_success:focus:not([disabled]){outline:1px dashed #1e7e34}.jodit-toolbar-content_variant_danger{background-color:#dc3545;color:#fff}.jodit-toolbar-content_variant_danger svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger [disabled]{opacity:.7}.jodit-toolbar-content_variant_danger:hover:not([disabled]){background-color:#c82333;color:#fff}.jodit-toolbar-content_variant_danger:hover:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]){background-color:#bd2130;color:#fff}.jodit-toolbar-content_variant_danger:active:not([disabled]) svg{fill:#fff;stroke:#fff}.jodit-toolbar-content_variant_danger:focus:not([disabled]){outline:1px dashed #bd2130}.jodit-toolbar-content:hover:not([disabled]){background-color:transparent;opacity:1;outline:0}.jodit-filebrowser{display:-webkit-box;display:-ms-flexbox;display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;height:100%}.jodit-filebrowser_no-files_true{padding:8px}@media (max-width:480px){.jodit-filebrowser{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-flow:column-reverse;flex-flow:column-reverse}}.jodit-dialog .jodit-dialog__header-title.jodit-filebrowser__title-box{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:8px}.jodit-filebrowser-preview{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:auto;max-height:100%;max-width:Min(100%,1000px);min-height:Min(100%,500px);min-width:400px;position:relative;text-align:center}@media (max-width:768px){.jodit-filebrowser-preview{height:100%;max-height:100%;max-width:100%;min-height:auto;min-width:auto}}.jodit-filebrowser-preview__box{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-filebrowser-preview__navigation{cursor:pointer;height:100%;left:0;position:absolute;top:0}.jodit-filebrowser-preview__navigation_arrow_next{left:auto;right:0}.jodit-filebrowser-preview__navigation svg{fill:#9e9ba7;height:45px;position:relative;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:fill .3s linear;-o-transition:fill .3s linear;transition:fill .3s linear;width:45px}.jodit-filebrowser-preview__navigation:hover svg{fill:#000}.jodit-filebrowser-preview img{max-height:100%;max-width:100%}.jodit-image-editor{height:100%;overflow:hidden;padding:8px;width:100%}@media (max-width:768px){.jodit-image-editor{height:auto}}.jodit-image-editor>div,.jodit-image-editor>div>div{height:100%}@media (max-width:768px){.jodit-image-editor>div,.jodit-image-editor>div>div{height:auto;min-height:200px}}.jodit-image-editor *{-webkit-box-sizing:border-box;box-sizing:border-box}.jodit-image-editor .jodit-image-editor__slider-title{background-color:#f9f9f9;border-bottom:1px solid hsla(0,0%,62%,.31);color:#333;cursor:pointer;font-weight:700;line-height:1em;padding:.8em 1em;-o-text-overflow:ellipsis;text-overflow:ellipsis;text-shadow:#f3f3f3 0 1px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.jodit-image-editor .jodit-image-editor__slider-title svg{display:inline-block;margin-right:8px;vertical-align:middle;width:16px}.jodit-image-editor .jodit-image-editor__slider-content{display:none}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title{background-color:#5d5d5d;color:#fff;text-shadow:#000 0 1px 0}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-title svg{fill:#fff}.jodit-image-editor .jodit-image-editor__slider.jodit-image-editor_active .jodit-image-editor__slider-content{display:block}.jodit-image-editor__area{background-color:#eee;background-image:-o-linear-gradient(45deg,#dadada 25%,transparent 25%,transparent 75%,#dadada 75%,#dadada),-o-linear-gradient(45deg,#dadada 25%,transparent 25%,transparent 75%,#dadada 75%,#dadada);background-image:linear-gradient(45deg,#dadada 25%,transparent 25%,transparent 75%,#dadada 75%,#dadada),linear-gradient(45deg,#dadada 25%,transparent 25%,transparent 75%,#dadada 75%,#dadada);background-position:0 0,15px 15px;background-size:30px 30px;display:none;height:100%;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.jodit-image-editor__area.jodit-image-editor_active{display:block}.jodit-image-editor__area .jodit-image-editor__box{height:100%;overflow:hidden;pointer-events:none;position:relative;z-index:1}.jodit-image-editor__area .jodit-image-editor__box img{max-height:100%;max-width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-image-editor__area .jodit-image-editor__croper{background-repeat:no-repeat;border:1px solid #fff;-webkit-box-shadow:0 0 11px #000;box-shadow:0 0 11px #000;height:100px;left:20px;pointer-events:none;position:absolute;top:8px;width:100px;z-index:2}.jodit-image-editor__area .jodit-image-editor__resizer{background-repeat:no-repeat;border:1px solid #fff;-webkit-box-shadow:0 0 11px #000;box-shadow:0 0 11px #000;height:100px;left:20px;pointer-events:none;position:absolute;top:8px;width:100px;z-index:2}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright{background-color:#8c7878;border:1px solid #383838;border-radius:50%;bottom:calc(8px*-1);-webkit-box-shadow:0 0 11px #000;box-shadow:0 0 11px #000;cursor:se-resize;display:inline-block;height:20px;pointer-events:all;position:absolute;right:calc(8px*-1);width:20px;z-index:4}.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright{background-color:#8c7878;border:1px solid #383838;border-radius:50%;bottom:calc(8px*-1);-webkit-box-shadow:0 0 11px #000;box-shadow:0 0 11px #000;cursor:se-resize;display:inline-block;height:20px;pointer-events:all;position:absolute;right:calc(8px*-1);width:20px;z-index:4}.jodit-image-editor__area .jodit-image-editor__croper i.jodit_bottomright:active,.jodit-image-editor__area .jodit-image-editor__resizer i.jodit_bottomright:active{border:1px solid #ff0}.jodit-image-editor__area.jodit-image-editor__area_crop{background:#eee;height:100%;line-height:100%;position:relative;text-align:center}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box{height:100%;line-height:100%;overflow:visible;pointer-events:all;text-align:left}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box img{height:100%;max-height:100%;max-width:100%;width:100%}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box:after{background:hsla(0,0%,100%,.3);bottom:0;content:"";left:0;margin:auto;position:absolute;right:0;top:0;z-index:1}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper{cursor:move;pointer-events:all}.jodit-image-editor__area.jodit-image-editor__area_crop .jodit-image-editor__box .jodit-image-editor__croper i.jodit-image-editor__sizes{background:rgba(0,0,0,.2);border-radius:.4em;bottom:-30px;color:#fff;display:block;font-size:12px;left:100%;padding:9px 6px;position:absolute;text-align:center;text-shadow:none;white-space:pre}.jodit-image-editor__area.jodit-image-editor__area_crop.jodit-image-editor_active{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-filebrowser-files{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-files .jodit-button{border-radius:0}.jodit-filebrowser-files_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-files_loading_true:after{-webkit-animation:a 2s ease-out 0s infinite;animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:48px;left:50%;margin-left:calc(48px/-2);margin-top:calc(48px/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:48px;will-change:transform}.jodit-filebrowser-files_active_true{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-filebrowser-files::-webkit-scrollbar{width:calc(8px/2)}.jodit-filebrowser-files::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-files::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-files_active_true{-ms-flex-line-pack:start;align-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;overflow-y:auto;padding:calc(8px/2);width:100%}.jodit-filebrowser-files__item{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:1px solid #dadada;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:0;height:150px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:calc(8px/2);overflow:hidden;position:relative;text-align:center;-webkit-transition:border .1s linear,bottom .1s linear;-o-transition:border .1s linear,bottom .1s linear;transition:border .1s linear,bottom .1s linear;width:150px}@media (max-width:480px){.jodit-filebrowser-files__item{width:calc(50% - 8px)}}.jodit-filebrowser-files__item img{max-width:100%}.jodit-filebrowser-files__item:hover{border-color:#433b5c}.jodit-filebrowser-files__item_active_true{background-color:#b5b5b5;border-color:#1e88e5}.jodit-filebrowser-files__item_active_true .jodit-filebrowser-files__item-info{background-color:#b5b5b5;color:#fff;text-shadow:none}.jodit-filebrowser-files__item-info{background-color:#e9e9e9;bottom:0;color:#333;font-size:14px;left:0;line-height:16px;opacity:.85;overflow:visible;padding:.3em .6em;position:absolute;right:0;text-align:left;text-shadow:#eee 0 1px 0;-webkit-transition:opacity .4s ease;-o-transition:opacity .4s ease;transition:opacity .4s ease;white-space:normal}.jodit-filebrowser-files__item-info>span{display:block;font-size:.75em;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.jodit-filebrowser-files__item-info>span.jodit-filebrowser-files__item-info-filename{font-size:.9em;font-weight:700}.jodit-filebrowser-files__item:hover:not(.jodit-filebrowser-files__item_active_true) .jodit-filebrowser-files__item-info{bottom:-100px}.jodit-filebrowser-files_view_list{scroll-behavior:smooth}.jodit-filebrowser-files_view_list a{border-width:0 0 1px;display:block;height:26px;line-height:26px;margin:0;text-align:left;white-space:nowrap;width:100%}.jodit-filebrowser-files_view_list a img{display:inline-block;margin-left:4px;max-width:16px;min-width:16px;vertical-align:middle}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info{background-color:transparent;display:inline-block;font-size:0;height:100%;line-height:inherit;margin-left:4px;padding:0;position:static;vertical-align:middle;width:calc(100% - 20px)}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info>span{display:inline-block;font-size:12px;height:100%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filename{width:50%}.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filechanged,.jodit-filebrowser-files_view_list a .jodit-filebrowser-files__item-info-filesize{width:25%}.jodit-filebrowser-files_view_list a:hover{background-color:#433b5c}.jodit-filebrowser-files_view_list a:hover .jodit-filebrowser-files__item-info{color:#fff;text-shadow:none}.jodit-filebrowser-files_view_list a:before{content:"";display:inline-block;height:100%;vertical-align:middle}.jodit-filebrowser-tree{display:none;height:100%;overflow-anchor:auto;position:relative;vertical-align:top}.jodit-filebrowser-tree .jodit-button{border-radius:0}.jodit-filebrowser-tree_active_true{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-filebrowser-tree_loading_true:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.jodit-filebrowser-tree_loading_true:after{-webkit-animation:a 2s ease-out 0s infinite;animation:a 2s ease-out 0s infinite;background:url(data:image/png;base64,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) no-repeat 50%;background-size:100% 100%;content:"";display:inline-block;height:48px;left:50%;margin-left:calc(48px/-2);margin-top:calc(48px/-2);opacity:.7;position:absolute;top:50%;vertical-align:middle;width:48px;will-change:transform}.jodit-filebrowser-tree::-webkit-scrollbar{width:calc(8px/2)}.jodit-filebrowser-tree::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree::-webkit-scrollbar-thumb{background-color:#a9a9a9;outline:1px solid #708090}.jodit-filebrowser-tree_active_true{background-color:#3f3f3f;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:290px;min-width:200px;overflow-y:auto;width:31%;z-index:2}@media (max-width:480px){.jodit-filebrowser-tree_active_true{height:100px;max-width:100%;width:auto}}.jodit-filebrowser-tree_active_true::-webkit-scrollbar{width:calc(8px/2)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.jodit-filebrowser-tree_active_true::-webkit-scrollbar-thumb{background-color:hsla(0,0%,50%,.5);outline:1px solid #708090}.jodit-filebrowser-tree__item{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #474747;color:#b1b1b1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;min-height:38px;padding:calc(8px/2) 8px;position:relative;text-decoration:none;-webkit-transition:background-color .2s ease 0s;-o-transition:background-color .2s ease 0s;transition:background-color .2s ease 0s;word-break:break-all}.jodit-filebrowser-tree__item-title{color:#b1b1b1;-webkit-box-flex:1;-ms-flex:1;flex:1}.jodit-filebrowser-tree__item .jodit-icon_folder{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;height:calc(12px + 4px);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-left:calc(8px/2);opacity:.3;width:calc(12px + 4px)}.jodit-filebrowser-tree__item .jodit-icon_folder svg{fill:#b1b1b1!important;stroke:#b1b1b1!important;height:12px;width:12px}.jodit-filebrowser-tree__item .jodit-icon_folder:hover{background:#696969}.jodit-filebrowser-tree__item:hover{background-color:#ecebe9}.jodit-filebrowser-tree__item:hover-title{color:#222}.jodit-filebrowser-tree__item:hover i.jodit-icon_folder{opacity:.6}.jodit-filebrowser-tree__source-title{background:#5a5a5a;border-bottom:1px solid #484848;color:#969696;display:block;font-size:12px;padding:2px 4px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;word-break:break-all}a+.jodit-filebrowser-tree__source-title{margin-top:8px}.jodit-status-bar{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#f9f9f9;border-radius:0 0 3px 3px;color:rgba(0,0,0,.75);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:11px;height:20px;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;overflow:hidden;padding:0 calc(8px/2);text-transform:uppercase}.jodit-status-bar_resize-handle_true{padding-right:14px}.jodit-status-bar:before{content:"";-webkit-box-flex:1;-ms-flex:auto;flex:auto;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.jodit-status-bar .jodit-status-bar__item{line-height:1.57142857em;margin:0 8px 0 0;-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;padding:0}.jodit-status-bar .jodit-status-bar__item{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-size:11px}.jodit-status-bar .jodit-status-bar__item>span{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-size:11px}.jodit-status-bar .jodit-status-bar__item.jodit-status-bar__item-right{margin:0 0 0 8px;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.jodit-status-bar .jodit-status-bar__item a{border-radius:3px;cursor:default;text-decoration:none}.jodit-status-bar .jodit-status-bar__item a:hover{background-color:#dadada;text-decoration:none}.jodit-status-bar a.jodit-status-bar-link{cursor:pointer}.jodit-status-bar a.jodit-status-bar-link{background-color:transparent;color:rgba(0,0,0,.75)}.jodit-status-bar a.jodit-status-bar-link:hover{background-color:transparent;color:rgba(0,0,0,.75)}.jodit-status-bar a.jodit-status-bar-link:visited{background-color:transparent;color:rgba(0,0,0,.75)}.jodit-status-bar a.jodit-status-bar-link:hover{text-decoration:underline}.jodit-workplace+.jodit-status-bar:not(:empty){border-top:1px solid #dadada}.jodit_disabled .jodit-status-bar{opacity:.4}.jodit-drag-and-drop__file-box{border:1px dashed #dadada;margin:8px 0;overflow:hidden;padding:25px 0;position:relative;text-align:center;width:100%}.jodit_uploadfile_button{border:1px dashed #dadada;margin:8px 0;overflow:hidden;padding:25px 0;position:relative;text-align:center;width:100%}.jodit-drag-and-drop__file-box:hover{background-color:#ecebe9}.jodit_uploadfile_button:hover{background-color:#ecebe9}.jodit-drag-and-drop__file-box input,.jodit_uploadfile_button input{bottom:0;cursor:pointer;font-size:400px;left:0;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0}@media (max-width:768px){.jodit-drag-and-drop__file-box{max-width:100%;min-width:180px;width:auto}}.jodit-about{padding:20px}.jodit-about a{color:#459ce7;text-decoration:none}.jodit-about a:focus,.jodit-about a:hover{color:#23527c;outline:0;text-decoration:underline}.jodit-about div{margin-bottom:calc(8px/2)}.jodit-add-new-line{display:block;height:1px;outline:none;position:fixed;top:0;z-index:1}.jodit-add-new-line,.jodit-add-new-line *{-webkit-box-sizing:border-box;box-sizing:border-box}.jodit-add-new-line:after{background-color:#6b6b6b;content:"";display:block;height:1px;width:100%}.jodit-add-new-line span{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:hsla(40,7%,92%,.3);border:1px solid #6b6b6b;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:30px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;left:calc(100% - 30px);position:absolute;width:30px}.jodit-add-new-line span:hover{background:#ecebe9}.jodit-add-new-line_after span{bottom:0}.jodit-add-new-line svg{fill:#6b6b6b;width:16px}.jodit-source__mode .jodit-add-new-line{display:none!important}.jodit-color-picker{margin:0;text-align:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-color-picker__group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:calc(8px/2);max-width:calc(24px*10);white-space:normal}.jodit-color-picker__color-item{border:1px solid transparent;display:block;height:24px;text-align:center;text-decoration:none;vertical-align:middle;width:24px}.jodit-color-picker__color-item:hover{border-color:#000}.jodit-color-picker__color-item:active{border:2px solid #1e88e5}.jodit-color-picker__color-item_active_true{border:2px solid #1e88e5}.jodit-color-picker__native svg{display:inline-block;height:16px;margin-right:4px;width:16px}.jodit-color-picker__native input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;height:18px;padding:0;width:18px}.jodit-color-picker__native input[type=color]::-webkit-color-swatch-wrapper{padding:0}.jodit-color-picker__native input input[type=color]::-webkit-color-swatch{border:none}.jodit-tabs{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px}.jodit-tabs .jodit-tabs__buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:18px;margin-bottom:calc(8px/2);margin-top:4px}.jodit-tabs .jodit-tabs__buttons>*{cursor:pointer;margin-left:calc(8px/2)}.jodit-tabs .jodit-tabs__buttons>:only-of-type{width:100%}.jodit-tabs .jodit-tabs__buttons>:first-child{margin-left:0}@media (max-width:480px){.jodit-tabs .jodit-tabs__buttons{display:block}.jodit-tabs .jodit-tabs__buttons>*{margin-left:0;width:100%}}.jodit-tabs__button{min-width:80px}.jodit-tabs__button_columns_3{width:33.33333%}.jodit-tabs__button_columns_2{width:50%}.jodit-tabs .jodit-tabs__wrapper .jodit-tab{display:none}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_active{display:block}.jodit-tabs .jodit-tabs__wrapper .jodit-tab.jodit-tab_empty{min-height:100px;min-width:220px}.jodit_fullsize-box_true{overflow:visible!important;position:static!important;z-index:100000!important}body.jodit_fullsize-box_true,html.jodit_fullsize-box_true{height:0!important;overflow:hidden!important;width:0!important}html.jodit_fullsize-box_true{position:fixed!important}.jodit_fullsize{bottom:0;left:0;max-width:none!important;position:absolute;right:0;top:0;z-index:100000}.jodit_fullsize .toolbar{width:100%!important}.jodit_fullsize .jodit__area,.jodit_fullsize .jodit_editor{height:100%}.jodit-properties__lock>svg,.jodit-properties__unlock>svg{fill:#222;display:inline-block;font-size:8px;font-style:normal;height:14px;line-height:14px;overflow:hidden;-webkit-transform-origin:0 0!important;-ms-transform-origin:0 0!important;transform-origin:0 0!important;vertical-align:middle;width:14px}.jodit-properties .jodit-properties_view_box{padding:8px}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#f6f6f6;display:-webkit-box;display:-ms-flexbox;display:flex;height:150px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 0 8px;padding:0}.jodit-properties .jodit-properties_view_box .jodit-properties_image_view img{max-height:100%;max-width:100%}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0!important;min-width:auto;padding:0!important}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group a{cursor:pointer;display:inline-block}.jodit-properties .jodit-properties_view_box .jodit-properties_image_sizes.jodit-form__group .jodit-input{width:calc(50% - 8px)!important}.jodit-popup-inline__container{min-width:700px;z-index:1300}.jodit-paste-storage{max-width:600px;padding:8px}@media (max-width:768px){.jodit-paste-storage{max-width:100%}}.jodit-paste-storage>div{border:1px solid #dadada;max-height:300px;max-width:100%}.jodit-paste-storage>div:first-child{margin-bottom:8px}.jodit-paste-storage>div:first-child a{border:1px solid transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:#4c4c4c;display:block;margin:0;max-width:100%;outline:none;overflow:hidden;padding:calc(8px/2);text-decoration:none;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:pre}.jodit-paste-storage>div:first-child a.jodit_active{background-color:#575757;color:#fff}.jodit-paste-storage>div:first-child a:focus{outline:none}.jodit-paste-storage>div:last-child{overflow:auto;padding:8px}.jodit-paste-storage>div:last-child li,.jodit-paste-storage>div:last-child ul{margin:0}.jodit-placeholder{color:#a5a5a5;display:block;left:0;padding:8px;pointer-events:none;position:absolute;top:0;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important;width:100%;z-index:1}.jodit__preview-box table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit__preview-box table tr{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit__preview-box table tr td{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit__preview-box table tr th{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit-table-resizer{cursor:col-resize;margin-left:calc(8px/-2);padding-left:calc(8px/2);padding-right:calc(8px/2);position:absolute;z-index:3}.jodit-table-resizer:after{border:0;content:"";display:block;height:100%;width:0}.jodit-table-resizer_moved{background-color:#b5d6fd;z-index:2}.jodit-table-resizer_moved:after{border-right:1px solid moved}[data-jodit_iframe_wrapper]{display:block;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-jodit_iframe_wrapper] iframe{position:relative}[data-jodit_iframe_wrapper]:after{background:transparent;bottom:0;content:"";cursor:pointer;display:block;left:0;position:absolute;right:0;top:0;z-index:1}[data-jodit_iframe_wrapper][data-jodit-wrapper_active=true] iframe{z-index:2}.jodit_lock [data-jodit-wrapper_active=true] iframe{z-index:1}.jodit-resizer{font-size:0;height:100px;left:0;outline:3px solid #98c1f1;pointer-events:none;position:absolute;top:0;width:100px}.jodit-resizer,.jodit-resizer *{-webkit-box-sizing:border-box;box-sizing:border-box}.jodit-resizer>span{background-color:#a5a5a5;color:#fff;display:inline-block;font-size:12px;height:24px;left:50%;line-height:24px;margin-left:calc(70px/-2);margin-top:calc(24px/-2);opacity:0;overflow:visible;position:absolute;text-align:center;top:50%;-webkit-transition:opacity .2s linear;-o-transition:opacity .2s linear;transition:opacity .2s linear;width:70px}.jodit-resizer>div{background-color:#5ba4f3;display:inline-block;height:10px;pointer-events:all;position:absolute;width:10px;z-index:4}.jodit-resizer>div:hover{background-color:#537ebb}.jodit-resizer>div:first-child{cursor:nwse-resize;left:calc(10px/-2);top:calc(10px/-2)}.jodit-resizer>div:nth-child(2){cursor:nesw-resize;right:calc(10px/-2);top:calc(10px/-2)}.jodit-resizer>div:nth-child(3){bottom:calc(10px/-2);cursor:nwse-resize;right:calc(10px/-2)}.jodit-resizer>div:nth-child(4){bottom:calc(10px/-2);cursor:nesw-resize;left:calc(10px/-2)}.jodit-ui-search{height:0;position:absolute;right:0;top:0;width:0}.jodit-ui-search_sticky_true{position:fixed}.jodit-ui-search__box{background-color:#f9f9f9;border:solid #dadada;border-width:0 0 1px 1px;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100vw;padding:calc(8px/2);position:absolute;right:0;width:320px}.jodit-ui-search__box input{background-color:transparent;border:0;height:100%;margin:0;outline:none;padding:0 8px;width:100%}.jodit-ui-search__box input[data-ref=replace]{display:none}.jodit-ui-search__box input:not(:focus)+input:not(:focus){border-top:1px solid #dadada}.jodit-ui-search__buttons{height:30px}.jodit-ui-search__counts{height:30px}.jodit-ui-search__inputs{height:30px}.jodit-ui-search__inputs{padding-right:calc(8px/2);width:60%}.jodit-ui-search__counts{border-left:1px solid #dadada;color:#dadada;width:15%}.jodit-ui-search__buttons,.jodit-ui-search__counts{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.jodit-ui-search__buttons{-webkit-box-flex:1;-ms-flex:1;flex:1;padding-left:0}.jodit-ui-search__buttons button{background-color:transparent;border:1px solid transparent;height:100%;margin-right:1%;width:32%}.jodit-ui-search__buttons button[data-ref=replace-btn]{border:1px solid #dadada;display:none;margin-top:2px;width:100%}.jodit-ui-search__buttons button:hover{background-color:#ecebe9}.jodit-ui-search__buttons button:focus{border:1px solid rgba(181,214,253,.995)}.jodit-ui-search__buttons button:active{border:1px solid #b5d6fd;-webkit-transform:scale(0.95);-ms-transform:scale(0.95);transform:scale(0.95)}.jodit-ui-search_empty-query_true [data-ref=next],.jodit-ui-search_empty-query_true [data-ref=prev]{opacity:.5}.jodit-ui-search_replace_true .jodit-ui-search__counts{height:calc(30px*2)}.jodit-ui-search_replace_true .jodit-ui-search__inputs{height:calc(30px*2)}.jodit-ui-search_replace_true .jodit-ui-search__counts input{height:50%;-webkit-transition:background-color 0.1s linear;-o-transition:background-color 0.1s linear;transition:background-color 0.1s linear}.jodit-ui-search_replace_true .jodit-ui-search__inputs input{height:50%;-webkit-transition:background-color 0.1s linear;-o-transition:background-color 0.1s linear;transition:background-color 0.1s linear}.jodit-ui-search_replace_true .jodit-ui-search__counts input:focus{-webkit-box-shadow:inset 0 0 3px 0 #dadada;box-shadow:inset 0 0 3px 0 #dadada}.jodit-ui-search_replace_true .jodit-ui-search__inputs input:focus{-webkit-box-shadow:inset 0 0 3px 0 #dadada;box-shadow:inset 0 0 3px 0 #dadada}.jodit-ui-search_replace_true .jodit-ui-search__counts input[data-ref=replace],.jodit-ui-search_replace_true .jodit-ui-search__inputs input[data-ref=replace]{display:block}.jodit-ui-search_replace_true .jodit-ui-search__buttons{-ms-flex-wrap:wrap;flex-wrap:wrap}.jodit-ui-search_replace_true .jodit-ui-search__buttons button[data-ref=replace-btn]{display:block}[jd-tmp-selection]{background-color:#7fffd4}.jodit-container:not(.jodit_inline){min-height:100px}.jodit-container:not(.jodit_inline) .jodit-workplace{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto;min-height:50px;overflow:hidden}.jodit-container:not(.jodit_inline) .jodit-editor__resize{position:relative}.jodit-container:not(.jodit_inline) .jodit-editor__resize svg{fill:#a5a5a5;bottom:0;cursor:nwse-resize;height:12px;overflow:hidden;position:absolute;right:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:12px}.jodit-source{background-color:#323232;display:none;-webkit-box-flex:1;-ms-flex:auto;flex:auto;overflow:auto;position:relative}.jodit-source,.jodit-source .jodit-source__mirror-fake{min-height:100%}.jodit-source *{font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.jodit-container.jodit-source__mode .jodit-wysiwyg,.jodit-container.jodit-source__mode .jodit-wysiwyg_iframe{display:none!important}.jodit-container.jodit-source__mode .jodit-source{display:block!important}.jodit-container.jodit_split_mode .jodit-workplace{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.jodit-container.jodit_split_mode .jodit-source,.jodit-container.jodit_split_mode .jodit-wysiwyg,.jodit-container.jodit_split_mode .jodit-wysiwyg_iframe{display:block!important;-webkit-box-flex:1;-ms-flex:1;flex:1;width:50%}.jodit-source__mirror{background:#323232;border:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:#f0f0f0;height:100%;line-height:1.5;font:12px/normal Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;margin:0;min-height:100%;outline:none;overflow:auto;padding:8px;resize:none;-moz-tab-size:2em;-o-tab-size:2em;tab-size:2em;white-space:pre-wrap;width:100%;z-index:2}.jodit-source__mirror::-moz-selection{background:#bdbdbd}.jodit-source__mirror::selection{background:#bdbdbd}.jodit_sticky-dummy_toolbar{display:none}.jodit_sticky>.jodit-toolbar__box{border-bottom:1px solid #dadada;left:auto;position:fixed;position:sticky;top:0;z-index:3}.jodit_sticky .jodit_sticky-dummy_toolbar{display:block}.jodit-symbols{padding:8px;width:460px}.jodit-symbols__container{display:-webkit-box;display:-ms-flexbox;display:flex}.jodit-symbols__container_table{width:88%}.jodit-symbols__container_preview{width:12%}.jodit-symbols__preview{border:1px solid #dadada;font-size:34px;padding:20px 0;text-align:center}.jodit-symbols__table{border:0;border-spacing:0;table-layout:fixed}.jodit-symbols__table td{padding:0}.jodit-symbols__table td a{border:1px solid transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:#4c4c4c;cursor:pointer;display:inline-block;font-size:16px;height:calc(18px*1.2);line-height:calc(18px*1.2);text-align:center;text-decoration:none;vertical-align:top;width:calc(18px*1.2)}.jodit-symbols__table td a:focus{outline:2px solid #dadada}.jodit-symbols__table td a:hover{outline:2px solid #dadada}.jodit-context table,.jodit-wysiwyg table{border:none;border-collapse:collapse;empty-cells:show;margin-bottom:1em;margin-top:1em;max-width:100%}.jodit-context table tr,.jodit-wysiwyg table tr{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jodit-context table tr td{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit-context table tr th{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit-wysiwyg table tr td{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit-wysiwyg table tr th{border:1px solid #dadada;min-width:2em;padding:.4em;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;vertical-align:middle}.jodit-form__inserter .jodit-form__table-creator-box{display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:768px){.jodit-form__inserter .jodit-form__table-creator-box{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container{font-size:0;margin:0;min-width:180px;padding:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span{border:1px solid #dadada;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;height:18px;margin-bottom:2px;margin-left:2px;vertical-align:top;width:18px}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span:first-child{margin-left:0}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__container>div>span.jodit_hovered{background:#7a450f;border-color:#7a450f}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options{font-size:14px}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label{padding-top:0;text-align:left}.jodit-form__inserter .jodit-form__table-creator-box .jodit-form__options label input{margin-right:8px}.jodit-form__inserter label{font-size:14px;margin:0;padding:8px;text-align:center}.jodit-xpath{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:calc(8px/-2)}.jodit-xpath__item{display:-webkit-box;display:-ms-flexbox;display:flex;height:11px;line-height:calc(11px - 1px)}.jodit-xpath__item a{color:#4c4c4c;font-size:11px;margin-left:2px;outline:0;padding:0 3px}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2))}.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2))}.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2))}.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal{background-image:-o-repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2));background-image:repeating-linear-gradient(transparent 0,transparent calc(calc(14px + calc((14px - 4px)*2) + 2px*2) - 1px),#6b6b6b calc(14px + calc((14px - 4px)*2) + 2px*2))}.jodit-dialog_theme_dark .jodit-toolbar-collection_mode_horizontal:after{background-color:#6b6b6b}.jodit-dialog_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after{background-color:#6b6b6b}.jodit_theme_dark .jodit-toolbar-collection_mode_horizontal:after{background-color:#6b6b6b}.jodit_theme_dark .jodit-toolbar-editor-collection_mode_horizontal:after{background-color:#6b6b6b}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty){border-color:#6b6b6b}.jodit_theme_dark .jodit-toolbar__box:not(:empty){border-color:#6b6b6b}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:#6b6b6b}.jodit_theme_dark .jodit-toolbar__box:not(:empty) .jodit-toolbar-editor-collection:after{background-color:#6b6b6b}.jodit-dialog_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-right-color:#6b6b6b}.jodit_theme_dark .jodit-ui-group_separated_true:not(:last-child):not(.jodit-ui-group_before-spacer_true):after{border-right-color:#6b6b6b}.jodit-dialog_theme_dark.jodit-container{background-color:#575757;border-color:#6b6b6b}.jodit_theme_dark.jodit-container{background-color:#575757;border-color:#6b6b6b}.jodit-dialog_theme_dark.jodit-container.jodit_disabled{background-color:#575757}.jodit_theme_dark.jodit-container.jodit_disabled{background-color:#575757}.jodit-dialog_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace{border-color:#575757}.jodit_theme_dark.jodit-container:not(.jodit_inline) .jodit-workplace{border-color:#575757}.jodit-dialog_theme_dark .jodit-popup__content{background:#787878}.jodit_theme_dark .jodit-popup__content{background:#787878}.jodit-dialog_theme_dark .jodit-toolbar-button__text{color:#d1cccc}.jodit-dialog_theme_dark .jodit-ui-button__text{color:#d1cccc}.jodit_theme_dark .jodit-toolbar-button__text{color:#d1cccc}.jodit_theme_dark .jodit-ui-button__text{color:#d1cccc}.jodit-dialog_theme_dark .jodit-toolbar-button:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-toolbar-button__button:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-ui-button:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-ui-button__button:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-ui-button__trigger:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-toolbar-button:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-toolbar-button__button:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-toolbar-button__trigger:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-ui-button:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-ui-button__button:hover:not([disabled]){background-color:#787878}.jodit_theme_dark .jodit-ui-button__trigger:hover:not([disabled]){background-color:#787878}.jodit-dialog_theme_dark .jodit-status-bar{background-color:#5f5c5c;border-color:#6b6b6b;color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){background-color:#5f5c5c;border-color:#6b6b6b;color:#d1cccc}.jodit_theme_dark .jodit-status-bar{background-color:#5f5c5c;border-color:#6b6b6b;color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){background-color:#5f5c5c;border-color:#6b6b6b;color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar{color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item a{color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar .jodit-status-bar__item span{color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link{color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover{color:#d1cccc}.jodit-dialog_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited{color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a{color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span{color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link{color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover{color:#d1cccc}.jodit-dialog_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited{color:#d1cccc}.jodit_theme_dark .jodit-status-bar{color:#d1cccc}.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item a{color:#d1cccc}.jodit_theme_dark .jodit-status-bar .jodit-status-bar__item span{color:#d1cccc}.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link{color:#d1cccc}.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:hover{color:#d1cccc}.jodit_theme_dark .jodit-status-bar a.jodit-status-bar-link:visited{color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty){color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item a{color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) .jodit-status-bar__item span{color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link{color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:hover{color:#d1cccc}.jodit_theme_dark .jodit-workplace+.jodit-status-bar:not(:empty) a.jodit-status-bar-link:visited{color:#d1cccc}.jodit-dialog_theme_dark .jodit-toolbar__box:not(:empty){background:#5f5c5c}.jodit_theme_dark .jodit-toolbar__box:not(:empty){background:#5f5c5c}.jodit-dialog_theme_dark .jodit-icon{fill:silver;stroke:silver}.jodit-dialog_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger{fill:silver;stroke:silver}.jodit-dialog_theme_dark .jodit__upload-button svg{fill:silver;stroke:silver}.jodit_theme_dark .jodit-icon{fill:silver;stroke:silver}.jodit_theme_dark .jodit-toolbar-button .jodit-toolbar-button__trigger{fill:silver;stroke:silver}.jodit_theme_dark .jodit__upload-button svg{fill:silver;stroke:silver}.jodit-dialog_theme_dark .jodit-icon-close{stroke:silver}.jodit_theme_dark .jodit-icon-close{stroke:silver}.jodit-dialog_theme_dark .jodit-wysiwyg{background-color:#575757;color:#d1cccc}.jodit-dialog_theme_dark .jodit-wysiwyg_iframe{background-color:#575757;color:#d1cccc}.jodit_theme_dark .jodit-wysiwyg{background-color:#575757;color:#d1cccc}.jodit_theme_dark .jodit-wysiwyg_iframe{background-color:#575757;color:#d1cccc}.jodit-dialog_theme_dark .jodit-form input[type=text]{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit-dialog_theme_dark .jodit-form input[type=url]{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit-dialog_theme_dark .jodit-form textarea{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit_theme_dark .jodit-form input[type=text]{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit_theme_dark .jodit-form input[type=url]{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit_theme_dark .jodit-form textarea{background-color:rgba(81,81,81,.41);border-color:#686767;color:#d1cccc}.jodit-dialog_theme_dark .jodit-form button{background-color:hsla(0,0%,41%,.75);color:#d1cccc}.jodit_theme_dark .jodit-form button{background-color:hsla(0,0%,41%,.75);color:#d1cccc}.jodit-dialog_theme_dark .jodit-placeholder{color:hsla(0,5%,81%,.8)}.jodit_theme_dark .jodit-placeholder{color:hsla(0,5%,81%,.8)}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box{color:#d1cccc}.jodit-dialog_theme_dark .jodit_uploadfile_button{color:#d1cccc}.jodit_theme_dark .jodit-drag-and-drop__file-box{color:#d1cccc}.jodit_theme_dark .jodit_uploadfile_button{color:#d1cccc}.jodit-dialog_theme_dark .jodit-drag-and-drop__file-box:hover{background-color:hsla(0,0%,41%,.75)}.jodit-dialog_theme_dark .jodit_uploadfile_button:hover{background-color:hsla(0,0%,41%,.75)}.jodit_theme_dark .jodit-drag-and-drop__file-box:hover{background-color:hsla(0,0%,41%,.75)}.jodit_theme_dark .jodit_uploadfile_button:hover{background-color:hsla(0,0%,41%,.75)}.jodit-dialog_theme_dark .jodit-add-new-line:before{border-top-color:#686767}.jodit_theme_dark .jodit-add-new-line:before{border-top-color:#686767}.jodit-dialog_theme_dark .jodit-add-new-line span{background:hsla(0,0%,41%,.75);border-color:#686767}.jodit_theme_dark .jodit-add-new-line span{background:hsla(0,0%,41%,.75);border-color:#686767}.jodit-dialog_theme_dark .jodit-add-new-line span svg{fill:#d1cccc}.jodit_theme_dark .jodit-add-new-line span svg{fill:#d1cccc}.jodit-dialog_theme_dark .jodit-resizer>i{background:hsla(0,0%,41%,.75);border-color:silver}.jodit_theme_dark .jodit-resizer>i{background:hsla(0,0%,41%,.75);border-color:silver}.jodit-dialog_theme_dark .jodit-input{background-color:#787878;border-color:#444;color:#444}.jodit-dialog_theme_dark .jodit-select{background-color:#787878;border-color:#444;color:#444}.jodit_theme_dark .jodit-input{background-color:#787878;border-color:#444;color:#444}.jodit_theme_dark .jodit-select{background-color:#787878;border-color:#444;color:#444}.jodit-dialog_theme_dark.jodit-dialog{background-color:#575757}.jodit_theme_dark.jodit-dialog{background-color:#575757}.jodit-dialog_theme_dark.jodit-dialog .jodit-dialog__header{border-color:#444}.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item{border-color:#444}.jodit_theme_dark.jodit-dialog .jodit-dialog__header{border-color:#444}.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item{border-color:#444}.jodit-dialog_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info{background-color:#d1cccc}.jodit_theme_dark.jodit-dialog .jodit-filebrowser__files.active .jodit-filebrowser__files-item-info{background-color:#d1cccc} \ No newline at end of file diff --git a/build/jodit.min.js b/build/jodit.min.js index cc73ed10b..7eaf4c8da 100644 --- a/build/jodit.min.js +++ b/build/jodit.min.js @@ -1 +1 @@ -!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(self,(function(){return function(){var e,t={90643:function(e){e.exports.default=["إبدأ في الكتابة...","حول جوديت","محرر جوديت","دليل مستخدم جوديت","يحتوي على مساعدة مفصلة للاستخدام","للحصول على معلومات حول الترخيص، يرجى الذهاب لموقعنا:","شراء النسخة الكاملة","حقوق الطبع والنشر © XDSoft.net - Chupurnov Valeriy. كل الحقوق محفوظة.","مِرْساة","فتح في نافذة جديدة","فتح المحرر في الحجم الكامل","مسح التنسيق","ملء اللون أو تعيين لون النص","إعادة","تراجع","عريض","مائل","إدراج قائمة غير مرتبة","إدراج قائمة مرتبة","محاذاة للوسط","محاذاة مثبتة","محاذاة لليسار","محاذاة لليمين","إدراج خط أفقي","إدراج صورة","ادخال الملف","إدراج فيديو يوتيوب/فيميو ","إدراج رابط","حجم الخط","نوع الخط","إدراج كتلة تنسيق","عادي","عنوان 1","عنوان 2","عنوان 3","عنوان 4","إقتباس","كود","إدراج","إدراج جدول","تقليل المسافة البادئة","زيادة المسافة البادئة","تحديد أحرف خاصة","إدراج حرف خاص","تنسيق الرسم","تغيير الوضع","هوامش","أعلى","يمين","أسفل","يسار","الأنماط","الطبقات","محاذاة","اليمين","الوسط","اليسار","--غير مضبوط--","Src","العنوان","العنوان البديل","الرابط","افتح الرابط في نافذة جديدة","الصورة","ملف","متقدم","خصائص الصورة","إلغاء","حسنا","متصفح الملفات","حدث خطأ في تحميل القائمة ","حدث خطأ في تحميل المجلدات","هل أنت واثق؟","أدخل اسم المجلد","إنشاء مجلد","أكتب إسم","إسقاط صورة","إسقاط الملف","أو أنقر","النص البديل","رفع","تصفح","الخلفية","نص","أعلى","الوسط","الأسفل","إدراج عمود قبل","إدراج عمود بعد","إدراج صف أعلى","إدراج صف أسفل","حذف الجدول","حذف الصف","حذف العمود","خلية فارغة","%d حرف","%d كلام","اضرب من خلال","أكد","حرف فوقي","مخطوطة","قطع الاختيار","اختر الكل","استراحة","البحث عن","استبدل ب","محل","معجون","اختر محتوى للصق","مصدر","بالخط العريض","مائل","شغل","صلة","إلغاء","كرر","طاولة","صورة","نظيف","فقرة","حجم الخط","فيديو","الخط","حول المحرر","طباعة","أكد","شطب","المسافة البادئة","نتوء","ملء الشاشة","الحجم التقليدي","الخط","قائمة","قائمة مرقمة","قطع","اختر الكل","قانون","فتح الرابط","تعديل الرابط","سمة Nofollow","إزالة الرابط","تحديث","لتحرير","مراجعة","URL","تحرير","محاذاة أفقية","فلتر","عن طريق التغيير","بالاسم","حسب الحجم","إضافة مجلد","إعادة","احتفظ","حفظ باسم","تغيير الحجم","حجم القطع","عرض","ارتفاع","حافظ على النسب","أن","لا","حذف","تميز","تميز %s","محاذاة عمودية","انشق، مزق","اذهب","أضف العمود","اضف سطر","رخصة %s","حذف","انقسام عمودي","تقسيم أفقي","الحدود","يشبه الكود الخاص بك HTML. تبقي كما HTML؟","الصق ك HTML","احتفظ","إدراج كنص","إدراج النص فقط","يمكنك فقط تحرير صورك الخاصة. تحميل هذه الصورة على المضيف؟","تم تحميل الصورة بنجاح على الخادم!","لوحة","لا توجد ملفات في هذا الدليل.","إعادة تسمية","أدخل اسم جديد","معاينة","تحميل","لصق من الحافظة","متصفحك لا يدعم إمكانية الوصول المباشر إلى الحافظة.","نسخ التحديد","نسخ","دائرة نصف قطرها الحدود","عرض كل","تطبيق","يرجى ملء هذا المجال","يرجى إدخال عنوان ويب","الافتراضي","دائرة","نقطة","المربعة","البحث","تجد السابقة","تجد التالي","للصق المحتوى قادم من Microsoft Word/Excel الوثيقة. هل تريد أن تبقي شكل أو تنظيفه ؟ ","كلمة لصق الكشف عن","نظيفة","أدخل اسم الفصل","اضغط البديل لتغيير حجم مخصص"]},52532:function(e){e.exports.default=["Napiš něco","O Jodit","Editor Jodit","Jodit Uživatelská příručka","obsahuje detailní nápovědu","Pro informace o licenci, prosím, přejděte na naši stránku:","Koupit plnou verzi","Copyright © XDSoft.net - Chupurnov Valeriy. Všechna práva vyhrazena.","Anchor","Otevřít v nové záložce","Otevřít v celoobrazovkovém režimu","Vyčistit formátování","Barva výplně a písma","Vpřed","Zpět","Tučné","Kurzíva","Odrážky","Číslovaný seznam","Zarovnat na střed","Zarovnat do bloku","Zarovnat vlevo","Zarovnat vpravo","Vložit horizontální linku","Vložit obrázek","Vložit soubor","Vložit video (YT/Vimeo)","Vložit odkaz","Velikost písma","Typ písma","Formátovat blok","Normální text","Nadpis 1","Nadpis 2","Nadpis 3","Nadpis 4","Citát","Kód","Vložit","Vložit tabulku","Zmenšit odsazení","Zvětšit odsazení","Vybrat speciální symbol","Vložit speciální symbol","Použít formát","Změnit mód","Okraje","horní","pravý","spodní","levý","Styly","Třídy","Zarovnání","Vpravo","Na střed","Vlevo","--nenastaveno--","src","Titulek","Alternativní text (alt)","Link","Otevřít link v nové záložce","Obrázek","soubor","Rozšířené","Vlastnosti obrázku","Zpět","Ok","Prohlížeč souborů","Chyba při načítání seznamu souborů","Chyba při načítání složek","Jste si jistý(á)?","Název složky","Vytvořit složku","název","Přetáhněte sem obrázek","Přetáhněte sem soubor","nebo klikněte","Alternativní text","Nahrát","Server","Pozadí","Text","Nahoru","Na střed","Dolu","Vložit sloupec před","Vložit sloupec za","Vložit řádek nad","Vložit řádek pod","Vymazat tabulku","Vymazat řádku","Vymazat sloupec","Vyčistit buňku","Znaky: %d","Slova: %d","Přeškrtnuto","Podtrženo","Horní index","Dolní index","Vyjmout označené","Označit vše","Zalomení","Najdi","Nahradit za","Vyměňte","Vložit","Vyber obsah pro vložení","HTML","tučně","kurzíva","štětec","odkaz","zpět","vpřed","tabulka","obrázek","guma","odstavec","velikost písma","video","písmo","о editoru","tisk","podtrženo","přeškrtnuto","zvětšit odsazení","zmenšit odsazení","celoobrazovkový režim","smrsknout","Linka","Odrážka","Číslovaný seznam","Vyjmout","Označit vše","Kód","Otevřít odkaz","Upravit odkaz","Atribut no-follow","Odstranit odkaz","Aktualizovat","Chcete-li upravit","Zobrazit","URL","Editovat","Horizontální zarovnání","Filtr","Dle poslední změny","Dle názvu","Dle velikosti","Přidat složku","Reset","Uložit","Uložit jako...","Změnit rozměr","Ořezat","Šířka","Výška","Ponechat poměr","Ano","Ne","Vyjmout","Označit","Označit %s","Vertikální zarovnání","Rozdělit","Spojit","Přidat sloupec","Přidat řádek","Licence: %s","Vymazat","Rozdělit vertikálně","Rozdělit horizontálně","Okraj","Váš text se podobá HTML. Vložit ho jako HTML?","Vložit jako HTML","Ponechat originál","Vložit jako TEXT","Vložit pouze TEXT","Můžete upravovat pouze své obrázky. Načíst obrázek?","Obrázek byl úspěšně nahrán!","paleta","V tomto adresáři nejsou žádné soubory.","přejmenovat","Zadejte nový název","náhled","Stažení","Vložit ze schránky","Váš prohlížeč nepodporuje přímý přístup do schránky.","Kopírovat výběr","kopírování","Border radius","Zobrazit všechny","Platí","Prosím, vyplňte toto pole","Prosím, zadejte webovou adresu","Výchozí","Kruh","Dot","Quadrate","Najít","Najít Předchozí","Najít Další","Obsah, který vkládáte, je pravděpodobně z Microsoft Word / Excel. Chcete ponechat formát nebo vložit pouze text?","Detekován fragment z Wordu nebo Excelu","Vyčistit","Vložte název třídy","Stiskněte Alt pro vlastní změnu velikosti"]},75178:function(e){e.exports.default=["Bitte geben Sie einen Text ein","Über Jodit","Jodit Editor","Das Jodit Benutzerhandbuch","beinhaltet ausführliche Informationen wie Sie den Editor verwenden können.","Für Informationen zur Lizenz, besuchen Sie bitte unsere Web-Präsenz:","Vollversion kaufen","Copyright © XDSoft.net - Chupurnov Valeriy. Alle Rechte vorbehalten.","Anker","In neuer Registerkarte öffnen","Editor in voller Größe öffnen","Formatierung löschen","Füllfarbe oder Textfarbe ändern","Wiederholen","Rückgängig machen","Fett","Kursiv","Unsortierte Liste einfügen","Nummerierte Liste einfügen","Mittig ausrichten","Blocksatz","Links ausrichten","Rechts ausrichten","Horizontale Linie einfügen","Bild einfügen","Datei einfügen","Youtube/vimeo Video einfügen","Link einfügen","Schriftgröße","Schriftfamilie","Formatblock einfügen","Normal","Überschrift 1","Überschrift 2","Überschrift 3","Überschrift 4","Zitat","Code","Einfügen","Tabelle einfügen","Einzug verkleinern","Einzug vergrößern","Sonderzeichen auswählen","Sonderzeichen einfügen","Format kopieren","Änderungsmodus","Ränder","Oben","Rechts","Unten","Links","CSS Stil","CSS Klassen","Ausrichtung","Rechts","Zentriert","Links","Keine","Pfad","Titel","Alternativer Text","Link","Link in neuem Tab öffnen","Bild","Datei","Fortgeschritten","Bildeigenschaften","Abbrechen","OK","Dateibrowser","Fehler beim Laden der Liste","Fehler beim Laden der Ordner","Sind Sie sicher?","Geben Sie den Verzeichnisnamen ein","Verzeichnis erstellen","Typname","Bild hier hinziehen","Datei löschen","oder hier klicken","Alternativtext","Hochladen","Auswählen","Hintergrund","Text","Oben","Mittig","Unten","Spalte davor einfügen","Spalte danach einfügen","Zeile oberhalb einfügen","Zeile unterhalb einfügen","Tabelle löschen","Zeile löschen","Spalte löschen","Zelle leeren","Zeichen: %d","Wörter: %d","Durchstreichen","Unterstreichen","Hochgestellen","Tiefstellen","Auswahl ausschneiden","Alles markieren","Pause","Suche nach","Ersetzen durch","Ersetzen","Einfügen","Wählen Sie den Inhalt zum Einfügen aus","HTML","Fett gedruckt","Kursiv","Bürste","Verknüpfung","Rückgängig machen","Wiederholen","Tabelle","Bild","Radiergummi","Absatz","Schriftgröße","Video","Schriftart","Über","Drucken","Unterstreichen","Durchstreichen","Einzug","Herausstellen","Vollgröße","Schrumpfen","die Linie","Liste von","Nummerierte Liste","Schneiden","Wählen Sie Alle aus","Code einbetten","Link öffnen","Link bearbeiten","Nofollow-Attribut","Link entfernen","Aktualisieren","Bearbeiten","Ansehen","URL","Bearbeiten","Horizontale Ausrichtung","Filter","Sortieren nach geändert","Nach Name sortieren","Nach Größe sortiert","Ordner hinzufügen","Wiederherstellen","Speichern","Speichern als","Größe ändern","Größe anpassen","Breite","Höhe","Seitenverhältnis beibehalten","Ja","Nein","Entfernen","Markieren","Markieren: %s","Vertikale Ausrichtung","Unterteilen","Vereinen","Spalte hinzufügen","Zeile hinzufügen",null,"Löschen","Vertikal unterteilen","Horizontal unterteilen","Rand","Ihr Text ähnelt HTML-Code. Als HTML beibehalten?","Als HTML einfügen?","Original speichern","Als Text einfügen","Nur Text einfügen","Sie können nur Ihre eigenen Bilder bearbeiten. Dieses Bild auf den Host herunterladen?","Das Bild wurde erfolgreich auf den Server hochgeladen!","Palette","In diesem Verzeichnis befinden sich keine Dateien.","Umbenennen","Geben Sie einen neuen Namen ein","Vorschau","Herunterladen","Aus Zwischenablage einfügen","Ihr Browser unterstützt keinen direkten Zugriff auf die Zwischenablage.","Auswahl kopieren","Kopieren","Radius für abgerundete Ecken","Alle anzeigen","Anwenden","Bitte füllen Sie dieses Feld aus","Bitte geben Sie eine Web-Adresse ein","Standard","Kreis","Punkte","Quadrate","Suchen","Suche vorherige","Weitersuchen","Der Inhalt, den Sie einfügen, stammt aus einem Microsoft Word / Excel-Dokument. Möchten Sie das Format erhalten oder bereinigen?","In Word formatierter Text erkannt","Säubern","className (CSS) einfügen","Drücken Sie Alt für benutzerdefinierte Größenanpassung"]},51048:function(e){e.exports.default={"Type something":"Start writing...",pencil:"Edit",Quadrate:"Square"}},22999:function(e){e.exports.default=["Escriba algo...","Acerca de Jodit","Jodit Editor","Guía de usuario Jodit","contiene ayuda detallada para el uso.","Para información sobre la licencia, por favor visite nuestro sitio:","Compre la versión completa","Copyright © XDSoft.net - Chupurnov Valeriy. Todos los derechos reservados.","Anclar","Abrir en nueva pestaña","Abrir editor en pantalla completa","Limpiar formato","Color de relleno o de letra","Rehacer","Deshacer","Negrita","Cursiva","Insertar lista no ordenada","Insertar lista ordenada","Alinear Centrado","Alinear Justificado","Alinear Izquierda","Alinear Derecha","Insertar línea horizontal","Insertar imagen","Insertar archivo","Insertar video de Youtube/vimeo","Insertar vínculo","Tamaño de letra","Familia de letra","Insertar bloque","Normal","Encabezado 1","Encabezado 2","Encabezado 3","Encabezado 4","Cita","Código","Insertar","Insertar tabla","Disminuir sangría","Aumentar sangría","Seleccionar caracter especial","Insertar caracter especial","Copiar formato","Cambiar modo","Márgenes","arriba","derecha","abajo","izquierda","Estilos CSS","Clases CSS","Alinear","Derecha","Centrado","Izquierda","--No Establecido--","Fuente","Título","Texto Alternativo","Vínculo","Abrir vínculo en nueva pestaña","Imagen","Archivo","Avanzado","Propiedades de imagen","Cancelar","Aceptar","Buscar archivo","Error al cargar la lista","Error al cargar las carpetas","¿Está seguro?","Entre nombre de carpeta","Crear carpeta","Entre el nombre","Soltar imagen","Soltar archivo","o click","Texto alternativo","Subir","Buscar","Fondo","Texto","Arriba","Centro","Abajo","Insertar columna antes","Interar columna después","Insertar fila arriba","Insertar fila debajo","Borrar tabla","Borrar fila","Borrar columna","Vaciar celda","Caracteres: %d","Palabras: %d","Tachado","Subrayado","superíndice","subíndice","Cortar selección","Seleccionar todo","Pausa","Buscar","Reemplazar con","Reemplazar","Pegar","Seleccionar contenido para pegar","HTML","negrita","cursiva","Brocha","Vínculo","deshacer","rehacer","Tabla","Imagen","Borrar","Párrafo","Tamaño de letra","Video","Letra","Acerca de","Imprimir","subrayar","tachar","sangría","quitar sangría","Tamaño completo","encoger","línea horizontal","lista sin ordenar","lista ordenada","Cortar","Seleccionar todo","Incluir código","Abrir vínculo","Editar vínculo","No seguir","Desvincular","Actualizar","Para editar","Ver","URL","Editar","Alineación horizontal","filtrar","Ordenar por fecha modificación","Ordenar por nombre","Ordenar por tamaño","Agregar carpeta","Resetear","Guardar","Guardar como...","Redimensionar","Recortar","Ancho","Alto","Mantener relación de aspecto","Si","No","Quitar","Seleccionar","Seleccionar: %s","Alineación vertical","Dividir","Mezclar","Agregar columna","Agregar fila",null,"Borrar","Dividir vertical","Dividir horizontal","Borde","El código es similar a HTML. ¿Mantener como HTML?","Pegar como HTML?","Mantener","Insertar como texto","Insertar solo texto","Solo puedes editar tus propias imágenes. ¿Descargar esta imagen en el servidor?","¡La imagen se ha subido correctamente al servidor!","paleta","No hay archivos en este directorio.","renombrar","Ingresa un nuevo nombre","avance","Descargar","Pegar desde el portapapeles","Su navegador no soporta el acceso directo en el portapapeles.","Selección de copia","copia","Radio frontera","Mostrar todos los","Aplicar","Por favor, rellene este campo","Por favor, introduzca una dirección web","Predeterminado","Círculo","Punto","Cuadro","Encontrar","Buscar Anterior","Buscar Siguiente","El contenido pegado proviene de un documento de Microsoft Word/Excel. ¿Desea mantener el formato o limpiarlo?","Pegado desde Word detectado","Limpiar","Insertar nombre de clase","Presione Alt para cambiar el tamaño personalizado"]},34145:function(e){e.exports.default=["Ecrivez ici","A propos de Jodit","Editeur Jodit","Guide de l'utilisateur","Aide détaillée à l'utilisation","Consulter la licence sur notre site web:","Acheter la version complète","Copyright © XDSoft.net - Chupurnov Valeriy. Tous droits réservés.","Ancre","Ouvrir dans un nouvel onglet","Ouvrir l'éditeur en pleine page","Supprimer le formattage","Modifier la couleur du fond ou du texte","Refaire","Défaire","Gras","Italique","Liste non ordonnée","Liste ordonnée","Centrer","Justifier","Aligner à gauche ","Aligner à droite","Insérer une ligne horizontale","Insérer une image","Insérer un fichier","Insérer une vidéo","Insérer un lien","Taille des caractères","Famille des caractères","Bloc formatté","Normal","Titre 1","Titre 2","Titre 3","Titre 4","Citation","Code","Insérer","Insérer un tableau","Diminuer le retrait","Retrait plus","Sélectionnez un caractère spécial","Insérer un caractère spécial","Cloner le format","Mode wysiwyg <-> code html","Marges","haut","droite","Bas","gauche","Styles","Classes","Alignement","Droite","Centre","Gauche","--Non disponible--","Source","Titre","Alternative","Lien","Ouvrir le lien dans un nouvel onglet","Image","fichier","Avancé","Propriétés de l'image","Annuler","OK","Explorateur de fichiers","Erreur de liste de chargement","Erreur de dossier de chargement","Etes-vous sûrs ?","Entrer le non de dossier","Créer un dossier","type de fichier","Coller une image","Déposer un fichier","ou cliquer","Texte de remplacemement","Charger","Chercher","Arrière-plan","Texte","Haut","Milieu","Bas","Insérer une colonne avant","Insérer une colonne après","Insérer une ligne en dessus","Insérer une ligne en dessous","Supprimer le tableau","Supprimer la ligne","Supprimer la colonne","Vider la cellule","Symboles: %d","Mots: %d","Frapper à travers","Souligner","exposant","indice","Couper la sélection","Tout sélectionner","Pause","Rechercher","Remplacer par","Remplacer","Coller","Choisissez le contenu à coller","la source","graisseux","italique","verser","lien","abolir","prêt","graphique","Image","la gommen","clause","taille de police","Video","police","à propos de l'éditeur","impression","souligné","barré","indentation","indifférent","taille réelle","taille conventionnelle","la ligne","Liste des","Liste numérotée","Couper","Sélectionner tout",null,"Ouvrir le lien","Modifier le lien","Attribut Nofollow","Supprimer le lien","Mettre à jour","Pour éditer","Voir","URL",null,"Alignement horizontal","Filtre","Trier par modifié","Trier par nom","Classer par taille","Ajouter le dossier","Restaurer","Sauvegarder","Enregistrer sous","Changer la taille","Taille de garniture","Largeur","Hauteur","Garder les proportions","Oui","Non","Supprimer","Mettre en évidence","Mettre en évidence: %s","Alignement vertical","Split","aller","Ajouter une colonne","Ajouter une rangée",null,"Effacer","Split vertical","Split horizontal",null,"Votre texte que vous essayez de coller est similaire au HTML. Collez-le en HTML?","Coller en HTML?","Sauvegarder l'original","Coller en tant que texte","Coller le texte seulement","Vous ne pouvez éditer que vos propres images. Téléchargez cette image sur l'hôte?","L'image a été téléchargée avec succès sur le serveur!null","Palette","Il n'y a aucun fichier dans ce répertoire.","renommer","Entrez un nouveau nom","Aperçu","Télécharger","Coller à partir du presse-papiers","Votre navigateur ne prend pas en charge l'accès direct à la presse-papiers.","Copier la sélection","copie","Rayon des frontières","Afficher tous les","Appliquer","Veuillez remplir ce champ","Veuillez entrer une adresse web","Par défaut","Cercle","Dot","Quadrate","Trouver","Trouvez Précédente","Suivant","Le contenu que vous insérez provient d'un document Microsoft Word / Excel. Voulez-vous enregistrer le format ou l'effacer?","C'est peut-être un fragment de Word ou Excel","Nettoyer","Insérer un nom de classe","Appuyez sur Alt pour un redimensionnement personnalisé"]},40272:function(e){e.exports.default=["הקלד משהו...","About Jodit","Jodit Editor","Jodit User's Guide","contains detailed help for using.","For information about the license, please go to our website:","Buy full version","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","מקום עיגון","פתח בכרטיסיה חדשה","פתח את העורך בחלון חדש","נקה עיצוב","שנה צבע טקסט או רקע","בצע שוב","בטל","מודגש","נטוי","הכנס רשימת תבליטים","הכנס רשימה ממוספרת","מרכז","ישר ","ישר לשמאל","ישר לימין","הכנס קו אופקי","הכנס תמונה","הכנס קובץ","הכנס סרטון וידאו מYouTube/Vimeo","הכנס קישור","גודל גופן","גופן","מעוצב מראש","רגיל","כותרת 1","כותרת 2","כותרת 3","כותרת 4","ציטוט","קוד","הכנס","הכנס טבלה","הקטן כניסה","הגדל כניסה","בחר תו מיוחד","הכנס תו מיוחד","העתק עיצוב","החלף מצב","ריווח","עליון","ימין","תחתון","שמאל","עיצוב CSS","מחלקת CSS","יישור","ימין","מרכז","שמאל","--לא נקבע--","מקור","כותרת","כיתוב חלופי","קישור","פתח בכרטיסיה חדשה","תמונה","קובץ","מתקדם","מאפייני תמונה","ביטול","אישור","סייר הקבצים","שגיאה בזמן טעינת רשימה","שגיאה בזמן טעינת תקיות","האם אתה בטוח?","הכנס שם תקיה","צור תקיה","סוג הקובץ","הסר תמונה","הסר קובץ","או לחץ","כיתוב חלופי","העלה","סייר","רקע","טקסט","עליון","מרכז","תחתון","הכנס עמודה לפני","הכנס עמודה אחרי","הכנס שורה מעל","הכנס שורה מתחת","מחק טבלה","מחק שורה","מחק עמודה","רוקן תא","תווים: %d","מילים: %d","קו חוצה","קו תחתון","superscript","subscript","גזור בחירה","בחר הכל","שבירת שורה","חפש","החלף ב","להחליף","הדבק","בחר תוכן להדבקה","HTML","מודגש","נטוי","מברשת","קישור","בטל","בצע שוב","טבלה","תמונה","מחק","פסקה","גודל גופן","וידאו","גופן","עלינו","הדפס","קו תחתון","קו חוצה","הגדל כניסה","הקטן כניסה","גודל מלא","כווץ","קו אופקי","רשימת תבליטים","רשימה ממוספרת","חתוך","בחר הכל","הוסף קוד","פתח קישור","ערוך קישור","ללא מעקב","בטל קישור","עדכן","כדי לערוך","הצג","כתובת","ערוך","יישור אופקי","סנן","מין לפי שינוי","מיין לפי שם","מיין לפי גודל","הוסף תקייה","אפס","שמור","שמור בשם...","שנה גודל","חתוך","רוחב","גובה","שמור יחס","כן","לא","הסר","בחר","נבחר: %s","יישור אנכי","פיצול","מזג","הוסף עמודה","הוסף שורה",null,"מחק","פיצול אנכי","פיצול אופקי","מסגרת","הקוד דומה לHTML, האם להשאיר כHTML","הדבק כHTML","השאר","הכנס כטקסט","הכנס טקסט בלבד","רק קבצים המשוייכים שלך ניתנים לעריכה. האם להוריד את הקובץ?","התמונה עלתה בהצלחה!","לוח","אין קבצים בספריה זו.","הונגרית","הזן שם חדש","תצוגה מקדימה","הורד","להדביק מהלוח","הדפדפן שלך לא תומך גישה ישירה ללוח.","העתק בחירה","העתק","רדיוס הגבול","הצג את כל","החל","נא למלא שדה זה","אנא הזן כתובת אינטרנט","ברירת המחדל","מעגל","נקודה","הריבוע הזה","למצוא","מצא את הקודם","חפש את הבא","התוכן המודבק מגיע ממסמך וורד/אקסל. האם ברצונך להשאיר את העיצוב או לנקותו",'זוהתה הדבקה מ"וורד"',"נקה","הכנס את שם הכיתה","לחץ על אלט לשינוי גודל מותאם אישית"]},2978:function(e){e.exports.default=["Írjon be valamit","Joditról","Jodit Editor","Jodit útmutató","további segítséget tartalmaz","További licence információkért látogassa meg a weboldalunkat:","Teljes verzió megvásárlása","Copyright © XDSoft.net - Chupurnov Valeriy. Minden jog fenntartva.","Horgony","Megnyitás új lapon","Megnyitás teljes méretben","Formázás törlése","Háttér/szöveg szín","Újra","Visszavon","Félkövér","Dőlt","Pontozott lista","Számozott lista","Középre zárt","Sorkizárt","Balra zárt","Jobbra zárt","Vízszintes vonal beszúrása","Kép beszúrás","Fájl beszúrás","Youtube videó beszúrása","Link beszúrás","Betűméret","Betűtípus","Formázott blokk beszúrása","Normál","Fejléc 1","Fejléc 2","Fejléc 3","Fejléc 4","Idézet","Kód","Beszúr","Táblázat beszúrása","Behúzás csökkentése","Behúzás növelése","Speciális karakter kiválasztása","Speciális karakter beszúrása","Kép formázása","Nézet váltása","Szegélyek","felső","jobb","alsó","bal","CSS stílusok","CSS osztályok","Igazítás","Jobbra","Középre","Balra","Nincs","Forrás","Cím","Helyettesítő szöveg","Link","Link megnyitása új lapon","Kép","Fájl","Haladó","Kép tulajdonságai","Mégsem","OK","Fájl tallózó","Hiba a lista betöltése közben","Hiba a mappák betöltése közben","Biztosan ezt szeretné?","Írjon be egy mappanevet","Mappa létrehozása","írjon be bevet","Húzza ide a képet","Húzza ide a fájlt","vagy kattintson","Helyettesítő szöveg","Feltölt","Tallóz","Háttér","Szöveg","Fent","Középen","Lent","Oszlop beszúrás elé","Oszlop beszúrás utána","Sor beszúrás fölé","Sor beszúrás alá","Táblázat törlése","Sor törlése","Oszlop törlése","Cella tartalmának törlése","Karakterek száma: %d","Szavak száma: %d","Áthúzott","Aláhúzott","Felső index","Alsó index","Kivágás","Összes kijelölése","Szünet","Keresés","Csere erre","Cserélje ki","Beillesztés","Válasszon tartalmat a beillesztéshez","HTML","Félkövér","Dőlt","Ecset","Link","Visszavon","Újra","Táblázat","Kép","Törlés","Paragráfus","Betűméret","Videó","Betű","Rólunk","Nyomtat","Aláhúzott","Áthúzott","Behúzás","Aussenseiter","Teljes méret","Összenyom","Egyenes vonal","Lista","Számozott lista","Kivág","Összes kijelölése","Beágyazott kód","Link megnyitása","Link szerkesztése","Nincs követés","Link leválasztása","Frissít","Szerkesztés","felülvizsgálat","URL","Szerkeszt","Vízszintes igazítás","Szűrő","Rendezés módosítás szerint","Rendezés név szerint","Rendezés méret szerint","Mappa hozzáadás","Visszaállít","Mentés","Mentés másként...","Átméretezés","Kivág","Szélesség","Magasság","Képarány megtartása","Igen","Nem","Eltávolít","Kijelöl","Kijelöl: %s","Függőleges igazítás","Felosztás","Összevonás","Oszlop hozzáadás","Sor hozzáadás",null,"Törlés","Függőleges felosztás","Vízszintes felosztás","Szegély","A beillesztett szöveg HTML-nek tűnik. Megtartsuk HTML-ként?","Beszúrás HTML-ként","Megtartás","Beszúrás szövegként","Csak szöveg beillesztése","Csak a saját képeit tudja szerkeszteni. Letölti ezt a képet?","Kép sikeresen feltöltve!","Palette","Er zijn geen bestanden in deze map.","átnevezés","Adja meg az új nevet","előnézet","Letöltés","Illessze be a vágólap","A böngésző nem támogatja a közvetlen hozzáférést biztosít a vágólapra.","Másolás kiválasztása","másolás","Határ sugár","Összes","Alkalmazni","Kérjük, töltse ki ezt a mezőt,","Kérjük, írja be a webcímet","Alapértelmezett","Kör","Pont","Quadrate","Találni","Megtalálja Előző","Következő Keresése","A beillesztett tartalom Microsoft Word/Excel dokumentumból származik. Meg szeretné tartani a formátumát?","Word-ből másolt szöveg","Elvetés","Helyezze be az osztály nevét","Nyomja meg az Alt egyéni átméretezés"]},99113:function(e){e.exports.default=["Ketik sesuatu","Tentang Jodit","Editor Jodit","Panduan Pengguna Jodit","mencakup detail bantuan penggunaan","Untuk informasi tentang lisensi, silakan kunjungi website:","Beli versi lengkap","Hak Cipta © XDSoft.net - Chupurnov Valeriy. Hak cipta dilindungi undang-undang.","Tautan","Buka di tab baru","Buka editor dalam ukuran penuh","Hapus Pemformatan","Isi warna atau atur warna teks","Ulangi","Batalkan","Tebal","Miring","Sisipkan Daftar Tidak Berurut","Sisipkan Daftar Berurut","Tengah","Penuh","Kiri","Kanan","Sisipkan Garis Horizontal","Sisipkan Gambar","Sisipkan Berkas","Sisipkan video youtube/vimeo","Sisipkan tautan","Ukuran font","Keluarga font","Sisipkan blok format","Normal","Heading 1","Heading 2","Heading 3","Heading 4","Kutip","Kode","Sisipkan","Sisipkan tabel","Kurangi Indentasi","Tambah Indentasi","Pilih Karakter Spesial","Sisipkan Karakter Spesial","Formar warna","Ubah mode","Batas","atas","kanan","bawah","kiri","Gaya","Class","Rata","Kanan","Tengah","Kiri","--Tidak diset--","Src","Judul","Teks alternatif","Tautan","Buka tautan di tab baru","Gambar","berkas","Lanjutan","Properti gambar","Batal","Ya","Penjelajah Berkas","Error ketika memuat list","Error ketika memuat folder","Apakah Anda yakin?","Masukkan nama Direktori","Buat direktori","ketik nama","Letakkan gambar","Letakkan berkas","atau klik","Teks alternatif","Unggah","Jelajahi","Latar Belakang","Teks","Atas","Tengah","Bawah","Sisipkan kolom sebelumnya","Sisipkan kolom setelahnya","Sisipkan baris di atasnya","Sisipkan baris di bawahnya","Hapus tabel","Hapus baris","Hapus kolom","Kosongkan cell","Karakter: %d","Kata: %d","Coret","Garis Bawah","Superskrip","Subskrip","Potong pilihan","Pilih semua","Berhenti","Mencari","Ganti dengan","Mengganti","Paste","Pilih konten untuk dipaste","sumber","tebal","miring","sikat","tautan","batalkan","ulangi","tabel","gambar","penghapus","paragraf","ukuran font","video","font","tentang","cetak","garis bawah","coret","menjorok ke dalam","menjorok ke luar","ukuran penuh","menyusut","hr","ul","ol","potong","Pilih semua","Kode embed","Buka tautan","Edit tautan","No follow","Hapus tautan","Perbarui","pensil","Mata","URL","Edit","Perataan horizontal","Filter","Urutkan berdasarkan perubahan","Urutkan berdasarkan nama","Urutkan berdasarkan ukuran","Tambah folder","Reset","Simpan","Simpan sebagai...","Ubah ukuran","Crop","Lebar","Tinggi","Jaga aspek rasio","Ya","Tidak","Copot","Pilih","Pilih %s","Rata vertikal","Bagi","Gabungkan","Tambah kolom","tambah baris","Lisensi: %s","Hapus","Bagi secara vertikal","Bagi secara horizontal","Bingkai","Kode Anda cenderung ke HTML. Biarkan sebagai HTML?","Paste sebagai HTML","Jaga","Sisipkan sebagai teks","Sisipkan hanya teks","Anda hanya dapat mengedit gambar Anda sendiri. Unduh gambar ini di host?","Gambar telah sukses diunggah ke host!","palet","Tidak ada berkas","ganti nama","Masukkan nama baru","pratinjau","Unduh","Paste dari clipboard","Browser anda tidak mendukung akses langsung ke clipboard.","Copy seleksi","copy","Border radius","Tampilkan semua","Menerapkan","Silahkan mengisi kolom ini","Silahkan masukkan alamat web","Default","Lingkaran","Dot","Kuadrat","Menemukan","Menemukan Sebelumnya","Menemukan Berikutnya","Konten dipaste dari dokumen Microsoft Word/Excel. Apakah Anda ingin tetap menjaga format atau membersihkannya?","Terdeteksi paste dari Word","Bersih","Masukkan nama kelas","Tekan Alt untuk mengubah ukuran kustom"]},51923:function(e){e.exports.default=["Scrivi qualcosa...","A proposito di Jodit","Jodit Editor","Guida utente di Jodit","contiene una guida dettagliata per l'uso.","Per informazioni sulla licenza, si prega di visitare il nostro sito:","Acquista la versione completa","Copyright © XDSoft.net - Chupurnov Valeriy. Alle Rechte vorbehalten.","Ancora","Apri in una nuova scheda","Apri l'editor a schermo intero","Formato chiaro","Riempi colore o lettera","Ripristina","Annulla","Grassetto","Corsivo","Inserisci lista non ordinata","Inserisci l'elenco ordinato","Allinea Centra","Allineare Giustificato","Allinea a Sinistra","Allinea a Destra","Inserisci la linea orizzontale","Inserisci immagine","Inserisci un file","Inserisci video Youtube/Vimeo","Inserisci il link","Dimensione del carattere","Tipo di font","Inserisci blocco","Normale","Heading 1","Heading 2","Heading 3","Heading 4","Citazione","Codice","Inserisci","Inserisci tabella","Riduci il rientro","Aumenta il rientro","Seleziona una funzione speciale","Inserisci un carattere speciale","Copia formato","Cambia modo","Margini","su","destra","giù","sinistra","Stili CSS","Classi CSS","Allinea","Destra","Centro","Sinistra","--Non Impostato--","Fonte","Titolo","Testo Alternativo","Link","Apri il link in una nuova scheda","Immagine","Archivio","Avanzato","Proprietà dell'immagine","Annulla","Accetta","Cerca il file","Errore durante il caricamento dell'elenco","Errore durante il caricamento delle cartelle","Sei sicuro?","Inserisci il nome della cartella","Crea cartella","Entre el nombre","Rilascia l'immagine","Rilascia file","o click","Testo alternativo","Carica","Sfoglia","Sfondo","Testo","Su","Centro","Sotto","Inserisci prima la colonna","Inserisci colonna dopo","Inserisci la riga sopra","Inserisci la riga sotto","Elimina tabella","Elimina riga","Elimina colonna","Cella vuota","Caratteri: %d","Parole: %d","Barrato","Sottolineato","indice","deponente","Taglia la selezione","Seleziona tutto","Pausa","Cerca","Sostituisci con","Sostituire","Incolla","Seleziona il contenuto da incollare","HTML","Grassetto","Corsivo","Pennello","Link","Annulla","Ripristina","Tabella","Immagine","Gomma","Paragrafo","Dimensione del carattere","Video","Font","Approposito di","Stampa","Sottolineato","Barrato","trattino","annulla rientro","A grandezza normale","comprimere","linea orizzontale","lista non ordinata","lista ordinata","Taglia","Seleziona tutto","Includi codice","Apri link","Modifica link","Non seguire","Togli link","Aggiornare","Per modificare","Recensione"," URL","Modifica","Allineamento orizzontale","Filtro","Ordina per data di modifica","Ordina per nome","Ordina per dimensione","Aggiungi cartella","Reset","Salva","Salva con nome...","Ridimensiona","Tagliare","Larghezza","Altezza","Mantenere le proporzioni","Si","No","Rimuovere","Seleziona","Seleziona: %s","Allineamento verticala","Dividere","Fondi","Aggiungi colonna","Aggiungi riga",null,"Cancella","Dividere verticalmente","Diviso orizzontale","Bordo","Il codice è simile all'HTML. Mantieni come HTML?","Incolla come HTML?","Mantieni","Inserisci come testo","Inserisci solo il testo","Puoi modificare solo le tue immagini. Scarica questa immagine sul server?","L'immagine è stata caricata con successo sul server!","tavolozza","Non ci sono file in questa directory.","ungherese","Inserisci un nuovo nome","anteprima","Scaricare","Incolla dagli appunti","Il tuo browser non supporta l'accesso diretto agli appunti.","Selezione di copia","copia","Border radius","Mostra tutti","Applicare","Si prega di compilare questo campo","Si prega di inserire un indirizzo web","Di Default","Cerchio","Dot","Quadrate","Trovare","Trova Precedente","Trova Successivo","Il contenuto incollato proviene da un documento Microsoft Word / Excel. Vuoi mantenere il formato o pulirlo?","Incollato da Word rilevato","Pulisci","Inserisci il nome della classe","Premere Alt per il ridimensionamento personalizzato"]},21268:function(e){e.exports.default=["なにかタイプしてください","Joditについて","Jodit Editor","Jodit ユーザーズ・ガイド","詳しい使い方","ライセンス詳細についてはJodit Webサイトを確認ください:","フルバージョンを購入","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","新しいタブで開く","エディターのサイズ(フル/ノーマル)","書式をクリア","テキストの色","やり直し","元に戻す","太字","斜体","箇条書き","番号付きリスト","中央揃え","両端揃え","左揃え","右揃え","区切り線を挿入","画像を挿入","ファイルを挿入","Youtube/Vimeo 動画","リンクを挿入","フォントサイズ","フォント","テキストのスタイル","指定なし","タイトル1","タイトル2","タイトル3","タイトル4","引用","コード","挿入","表を挿入","インデント減","インデント増","特殊文字を選択","特殊文字を挿入","書式を貼付け","編集モード切替え","マージン","上","右","下","左","スタイル","クラス","配置","右寄せ","中央寄せ","左寄せ","指定なし","ソース","タイトル","代替テキスト","リンク","新しいタブで開く","画像","ファイル","高度な設定","画像のプロパティー","キャンセル","確定","File Browser","Error on load list","Error on load folders","Are you sure?","Enter Directory name","Create directory","type name","ここに画像をドロップ","ここにファイルをドロップ","or クリック","代替テキスト","アップロード","ブラウズ","背景","文字","上","中央","下","左に列を挿入","右に列を挿入","上に行を挿入","下に行を挿入","表を削除","行を削除","列を削除","セルを空にする","文字数: %d","単語数: %d","取り消し線","下線","上付き文字","下付き文字","切り取り","すべて選択","Pause","検索","置換","交換","貼付け","選択した内容を貼付け","source","bold","italic","brush","link","undo","redo","table","image","eraser","paragraph","fontsize","video","font","about","print","underline","strikethrough","indent","outdent","fullsize","shrink","分割線","箇条書き","番号付きリスト","切り取り","すべて選択","埋め込みコード","リンクを開く","リンクを編集","No follow","リンク解除","更新","鉛筆","サイトを確認","URL","編集","水平方向の配置","Filter","Sort by changed","Sort by name","Sort by size","Add folder","リセット","保存","Save as ...","リサイズ","Crop","幅","高さ","縦横比を保持","はい","いいえ","移除","選択","選択: %s","垂直方向の配置","分割","セルの結合","列を追加","行を追加",null,"削除","セルの分割(垂直方向)","セルの分割(水平方向)","境界線","HTMLコードを保持しますか?","HTMLで貼付け","HTMLを保持","HTMLをテキストにする","テキストだけ","You can only edit your own images. Download this image on the host?","The image has been successfully uploaded to the host!","パレット","There are no files","Rename","Enter new name","プレビュー","ダウンロード","貼り付け","お使いのブラウザはクリップボードを使用できません","コピー","copy","角の丸み","全て表示","適用","まだこの分野","を入力してくださいウェブアドレス","デフォルト","白丸","黒丸","四角","見","探前","由来","The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected","Clean","クラス名を挿入","カスタムサイズ変更のためのAltキーを押します"]},11399:function(e){e.exports.default=["Type something","About Jodit","Jodit Editor","Jodit User's Guide","contains detailed help for using","For information about the license, please go to our website:","Buy full version","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","Open in new tab","Open in fullsize","Clear Formatting","Fill color or set the text color","Redo","Undo","Bold","Italic","Insert Unordered List","Insert Ordered List","Align Center","Align Justify","Align Left","Align Right","Insert Horizontal Line","Insert Image","Insert file","Insert youtube/vimeo video","Insert link","Font size","Font family","Insert format block","Normal","Heading 1","Heading 2","Heading 3","Heading 4","Quote","Code","Insert","Insert table","Decrease Indent","Increase Indent","Select Special Character","Insert Special Character","Paint format","Change mode","Margins","top","right","bottom","left","Styles","Classes","Align","Right","Center","Left","--Not Set--","Src","Title","Alternative","Link","Open link in new tab","Image","file","Advanced","Image properties","Cancel","Ok","File Browser","Error on load list","Error on load folders","Are you sure?","Enter Directory name","Create directory","type name","Drop image","Drop file","or click","Alternative text","Upload","Browse","Background","Text","Top","Middle","Bottom","Insert column before","Insert column after","Insert row above","Insert row below","Delete table","Delete row","Delete column","Empty cell","Chars: %d","Words: %d","Strike through","Underline","superscript","subscript","Cut selection","Select all","Break","Search for","Replace with","Replace","Paste","Choose Content to Paste","source","bold","italic","brush","link","undo","redo","table","image","eraser","paragraph","fontsize","video","font","about","print","underline","strikethrough","indent","outdent","fullsize","shrink","hr","ul","ol","cut","selectall","Embed code","Open link","Edit link","No follow","Unlink","Update","pencil","Eye"," URL","Edit","Horizontal align","Filter","Sort by changed","Sort by name","Sort by size","Add folder","Reset","Save","Save as ...","Resize","Crop","Width","Height","Keep Aspect Ratio","Yes","No","Remove","Select","Select %s","Vertical align","Split","Merge","Add column","Add row","License: %s","Delete","Split vertical","Split horizontal","Border","Your code is similar to HTML. Keep as HTML?","Paste as HTML","Keep","Insert as Text","Insert only Text","You can only edit your own images. Download this image on the host?","The image has been successfully uploaded to the host!","palette","There are no files","Rename","Enter new name","preview","download","Paste from clipboard","Your browser doesn't support direct access to the clipboard.","Copy selection","copy","Border radius","Show all","Apply","Please fill out this field","Please enter a web address","Default","Circle","Dot","Quadrate","Find","Find Previous","Find Next","The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?","Word Paste Detected","Clean","Insert className","Press Alt for custom resizing"]},37289:function(e){e.exports.default=["무엇이든 입력하세요","Jodit에 대하여","Jodit Editor","Jodit 사용자 안내서","자세한 도움말이 들어있어요","라이센스에 관해서는 Jodit 웹 사이트를 방문해주세요:","풀 버전 구입하기","© XDSoft.net - Chupurnov Valeriy. 에게 저작권과 모든 권리가 있습니다.","Anchor","새 탭에서 열기","전체 크기로 보기","서식 지우기","글씨 색상","재실행","실행 취소","굵게","기울임","글머리 목록","번호 목록","가운데 정렬","양쪽 정렬","왼쪽 정렬","오른쪽 정렬","수평 구분선 넣기","이미지 넣기","파일 넣기","Youtube/Vimeo 동영상","링크 넣기","글꼴 크기","글꼴","블록 요소 넣기","일반 텍스트","제목 1","제목 2","제목 3","제목 4","인용","코드","붙여 넣기","테이블","들여쓰기 감소","들여쓰기 증가","특수문자 선택","특수문자 입력","페인트 형식","편집모드 변경","마진","위","오른쪽","아래","왼쪽","스타일","클래스","정렬","오른쪽으로","가운데로","왼쪽으로","--지정 안 함--","경로(src)","제목","대체 텍스트(alt)","링크","새 탭에서 열기",null,"파일","고급","이미지 속성","취소","확인","파일 탐색기","목록 불러오기 에러","폴더 불러오기","정말 진행할까요?","디렉토리 이름 입력","디렉토리 생성","이름 입력","이미지 드래그","파일 드래그","혹은 클릭","대체 텍스트","업로드","탐색","배경","텍스트","위","중앙","아래","이전 열에 삽입","다음 열에 삽입","위 행에 삽입","아래 행에 삽입","테이블 삭제","행 삭제","열 삭제","빈 셀","문자수: %d","단어수: %d","취소선","밑줄","윗첨자","아래첨자","선택 잘라내기","모두 선택","구분자","검색","대체하기","대체","붙여넣기","붙여넣을 내용 선택","HTML 소스","볼드","이탤릭","브러시","링크","실행 취소","재실행","테이블","이미지","지우개","문단","글꼴 크기","비디오","글꼴","편집기 정보","프린트","밑줄","취소선","들여쓰기","내어쓰기","전체 화면","일반 화면","구분선","글머리 목록","번호 목록","잘라내기","모두 선택","Embed 코드","링크 열기","링크 편집","No follow","링크 제거","갱신","연필","사이트 확인","URL","편집","수평 정렬","필터","변경일 정렬","이름 정렬","크기 정렬","새 폴더","초기화","저장","새로 저장하기 ...","리사이즈","크롭","가로 길이","세로 높이","비율 유지하기","네","아니오","제거","선택","선택: %s","수직 정렬","분할","셀 병합","열 추가","행 추가","라이센스: %s","삭제","세로 셀 분할","가로 셀 분할","외곽선","HTML 코드로 감지했어요. 코드인채로 붙여넣을까요?","HTML로 붙여넣기","원본 유지","텍스트로 넣기","텍스트만 넣기","외부 이미지는 편집할 수 없어요. 외부 이미지를 다운로드 할까요?","이미지를 무사히 업로드 했어요!","팔레트","파일이 없어요","이름 변경","새 이름 입력","미리보기","다운로드","클립보드 붙여넣기","사용중인 브라우저가 클립보드 접근을 지원하지 않아요.","선택 복사","복사","둥근 테두리","모두 보기","적용","이 항목을 입력해주세요!","웹 URL을 입력해주세요.","기본","원","점","정사각형","찾기","이전 찾기","다음 찾기","Microsoft Word/Excel 문서로 감지했어요. 서식을 유지한채로 붙여넣을까요?","Word 붙여넣기 감지","지우기","className 입력","사용자 지정 크기 조정에 대 한 고도 누르십시오"]},17084:function(e){e.exports.default=["Begin met typen..","Over Jodit","Jodit Editor","Jodit gebruikershandleiding","bevat gedetailleerde informatie voor gebruik.","Voor informatie over de licentie, ga naar onze website:","Volledige versie kopen","Copyright © XDSoft.net - Chupurnov Valeriy. Alle rechten voorbehouden.","Anker","Open in nieuwe tab","Editor in volledig scherm openen","Opmaak verwijderen","Vulkleur of tekstkleur aanpassen","Opnieuw","Ongedaan maken","Vet","Cursief","Geordende list invoegen","Ongeordende lijst invoegen","Centreren","Uitlijnen op volledige breedte","Links uitlijnen","Rechts uitlijnen","Horizontale lijn invoegen","Afbeelding invoegen","Bestand invoegen","Youtube/Vimeo video invoegen","Link toevoegen","Tekstgrootte","Lettertype","Format blok invoegen","Normaal","Koptekst 1","Koptekst 2","Koptekst 3","Koptekst 4","Citaat","Code","Invoegen","Tabel invoegen","Inspringing verkleinen","Inspringing vergroten","Symbool selecteren","Symbool invoegen","Opmaak kopieren","Modus veranderen","Marges","Boven","Rechts","Onder","Links","CSS styles","CSS classes","Uitlijning","Rechts","Gecentreerd","Links","--Leeg--","Src","Titel","Alternatieve tekst","Link","Link in nieuwe tab openen","Afbeelding","Bestand","Geavanceerd","Afbeeldingseigenschappen","Annuleren","OK","Bestandsbrowser","Fout bij het laden van de lijst","Fout bij het laden van de mappenlijst","Weet je het zeker?","Geef de map een naam","Map aanmaken","Type naam","Sleep hier een afbeelding naartoe","Sleep hier een bestand naartoe","of klik","Alternatieve tekst","Uploaden","Bladeren","Achtergrond","Tekst","Boven","Midden","Onder","Kolom invoegen (voor)","Kolom invoegen (na)","Rij invoegen (boven)","Rij invoegen (onder)","Tabel verwijderen","Rij verwijderen","Kolom verwijderen","Cel leegmaken","Tekens: %d","Woorden: %d","Doorstrepen","Onderstrepen","Superscript","Subscript","Selectie knippen","Selecteer alles","Enter","Zoek naar","Vervangen door","Vervangen","Plakken","Kies content om te plakken","Broncode","vet","cursief","kwast","link","ongedaan maken","opnieuw","tabel","afbeelding","gum","paragraaf","lettergrootte","video","lettertype","over","afdrukken","onderstreept","doorgestreept","inspringen","minder inspringen","volledige grootte","kleiner maken","horizontale lijn","lijst","genummerde lijst","knip","alles selecteren","Embed code","link openen","link aanpassen","niet volgen","link verwijderen","Updaten","Om te bewerken","Recensie"," URL","Bewerken","Horizontaal uitlijnen","Filteren","Sorteren op wijzigingsdatum","Sorteren op naam","Sorteren op grootte","Map toevoegen","Herstellen","Opslaan","Opslaan als ...","Grootte aanpassen","Bijknippen","Breedte","Hoogte","Verhouding behouden","Ja","Nee","Verwijderen","Selecteren","Selecteer: %s","Verticaal uitlijnen","Splitsen","Samenvoegen","Kolom toevoegen","Rij toevoegen",null,"Verwijderen","Verticaal splitsen","Horizontaal splitsen","Rand","Deze code lijkt op HTML. Als HTML behouden?","Invoegen als HTML","Origineel behouden","Als tekst invoegen","Als onopgemaakte tekst invoegen","Je kunt alleen je eigen afbeeldingen aanpassen. Deze afbeelding downloaden?","De afbeelding is succesvol geüploadet!","Palette","Er zijn geen bestanden in deze map.","Hongaars","Voer een nieuwe naam in","voorvertoning","Download","Plakken van klembord","Uw browser ondersteunt geen directe toegang tot het klembord.","Selectie kopiëren","kopiëren","Border radius","Toon alle","Toepassing","Vul dit veld","Voer een webadres","Standaard","Cirkel","Dot","Quadrate","Zoeken","Vorige Zoeken","Volgende Zoeken","De geplakte tekst is afkomstig van een Microsoft Word/Excel document. Wil je de opmaak behouden of opschonen?","Word-tekst gedetecteerd","Opschonen","Voeg de klassenaam in","Druk op Alt voor aangepaste grootte"]},96891:function(e){e.exports.default=["Napisz coś","O Jodit","Edytor Jodit","Instrukcja Jodit","zawiera szczegółowe informacje dotyczące użytkowania.","Odwiedź naszą stronę, aby uzyskać więcej informacji na temat licencji:","Zakup pełnej wersji","Copyright © XDSoft.net - Chupurnov Valeriy. Wszystkie prawa zastrzeżone.","Kotwica","Otwórz w nowej zakładce","Otwórz edytor w pełnym rozmiarze","Wyczyść formatowanie","Kolor wypełnienia lub ustaw kolor tekstu","Ponów","Cofnij","Pogrubienie","Kursywa","Wstaw listę wypunktowaną","Wstaw listę numeryczną","Wyśrodkuj","Wyjustuj","Wyrównaj do lewej","Wyrównaj do prawej","Wstaw linię poziomą","Wstaw grafikę","Wstaw plik","Wstaw film Youtube/vimeo","Wstaw link","Rozmiar tekstu","Krój czcionki","Wstaw formatowanie","Normalne","Nagłówek 1","Nagłówek 2","Nagłówek 3","Nagłówek 4","Cytat","Kod","Wstaw","Wstaw tabelę","Zmniejsz wcięcie","Zwiększ wcięcie","Wybierz znak specjalny","Wstaw znak specjalny","Malarz formatów","Zmień tryb","Marginesy","Górny","Prawy","Dolny","Levy","Style CSS","Klasy CSS","Wyrównanie","Prawa","środek","Lewa","brak","Źródło","Tytuł","Tekst alternatywny","Link","Otwórz w nowej zakładce","Grafika","Plik","Zaawansowane","Właściwości grafiki","Anuluj","OK","Przeglądarka plików","Błąd ładowania listy plików","Błąd ładowania folderów","Czy jesteś pewien?","Wprowadź nazwę folderu","Utwórz folder","wprowadź nazwę","Upuść plik graficzny","Upuść plik","lub kliknij tu","Tekst alternatywny","Wczytaj","Przeglądaj","Tło","Treść","Góra","Środek","Dół","Wstaw kolumnę przed","Wstaw kolumnę po","Wstaw wiersz przed","Wstaw wiersz po","Usuń tabelę","Usuń wiersz","Usuń kolumnę","Wyczyść komórkę","Znaki: %d","Słowa: %d","Przekreślenie","Podkreślenie","indeks górny","index dolny","Wytnij zaznaczenie","Wybierz wszystko","Przerwa","Szukaj","Zamień na","Wymienić","Wklej","Wybierz zawartość do wklejenia","HTML","pogrubienie","kursywa","pędzel","link","cofnij","ponów","tabela","grafika","wyczyść","akapit","rozmiar czcionki","wideo","czcionka","O programie","drukuj","podkreślenie","przekreślenie","wcięcie","wycięcie","pełen rozmiar","przytnij","linia pozioma","lista","lista numerowana","wytnij","zaznacz wszystko","Wstaw kod","otwórz link","edytuj link","Atrybut no-follow","Usuń link","Aktualizuj","edytuj","szukaj","URL","Edytuj","Wyrównywanie w poziomie","Filtruj","Sortuj wg zmiany","Sortuj wg nazwy","Sortuj wg rozmiaru","Dodaj folder","wyczyść","zapisz","zapisz jako","Zmień rozmiar","Przytnij","Szerokość","Wysokość","Zachowaj proporcje","Tak","Nie","Usuń","Wybierz","Wybierz: %s","Wyrównywanie w pionie","Podziel","Scal","Dodaj kolumnę","Dodaj wiersz",null,"Usuń","Podziel w pionie","Podziel w poziomie","Obramowanie","Twój kod wygląda jak HTML. Zachować HTML?","Wkleić jako HTML?","Oryginalny tekst","Wstaw jako tekst","Wstaw tylko treść","Możesz edytować tylko swoje grafiki. Czy chcesz pobrać tą grafikę?","Grafika została pomyślnienie dodana na serwer","Paleta","Brak plików.","zmień nazwę","Wprowadź nową nazwę","podgląd","pobierz","Wklej ze schowka","Twoja przeglądarka nie obsługuje schowka","Kopiuj zaznaczenie","kopiuj","Zaokrąglenie krawędzi","Pokaż wszystkie","Zastosuj","Proszę wypełnić to pole","Proszę, wpisz adres sieci web","Domyślnie","Koło","Punkt","Kwadrat","Znaleźć","Znaleźć Poprzednie","Znajdź Dalej","Wklejany tekst pochodzi z dokumentu Microsoft Word/Excel. Chcesz zachować ten format czy wyczyścić go? ","Wykryto tekst w formacie Word","Wyczyść","Wstaw nazwę zajęć","Naciśnij Alt, aby zmienić rozmiar"]},31211:function(e){e.exports.default=["Escreva algo...","Sobre o Jodit","Editor Jodit","Guia de usuário Jodit","contém ajuda detalhada para o uso.","Para informação sobre a licença, por favor visite nosso site:","Compre a versão completa","Copyright © XDSoft.net - Chupurnov Valeriy. Todos os direitos reservados.","Link","Abrir em nova aba","Abrir editor em tela cheia","Limpar formatação","Cor de preenchimento ou cor do texto","Refazer","Desfazer","Negrito","Itálico","Inserir lista não ordenada","Inserir lista ordenada","Centralizar","Justificar","Alinhar à Esquerda","Alinhar à Direita","Inserir linha horizontal","Inserir imagem","Inserir arquivo","Inserir vídeo do Youtube/vimeo","Inserir link","Tamanho da letra","Fonte","Inserir bloco","Normal","Cabeçalho 1","Cabeçalho 2","Cabeçalho 3","Cabeçalho 4","Citação","Código","Inserir","Inserir tabela","Diminuir recuo","Aumentar recuo","Selecionar caractere especial","Inserir caractere especial","Copiar formato","Mudar modo","Margens","cima","direta","baixo","esquerda","Estilos CSS","Classes CSS","Alinhamento","Direita","Centro","Esquerda","--Não Estabelecido--","Fonte","Título","Texto Alternativo","Link","Abrir link em nova aba","Imagem","Arquivo","Avançado","Propriedades da imagem","Cancelar","Ok","Procurar arquivo","Erro ao carregar a lista","Erro ao carregar as pastas","Você tem certeza?","Escreva o nome da pasta","Criar pasta","Escreva seu nome","Soltar imagem","Soltar arquivo","ou clique","Texto alternativo","Upload","Explorar","Fundo","Texto","Cima","Meio","Baixo","Inserir coluna antes","Inserir coluna depois","Inserir linha acima","Inserir linha abaixo","Excluir tabela","Excluir linha","Excluir coluna","Limpar célula","Caracteres: %d","Palavras: %d","Tachado","Sublinhar","sobrescrito","subscrito","Cortar seleção","Selecionar tudo","Pausa","Procurar por","Substituir com","Substituir","Colar","Escolher conteúdo para colar","HTML","negrito","itálico","pincel","link","desfazer","refazer","tabela","imagem","apagar","parágrafo","tamanho da letra","vídeo","fonte","Sobre de","Imprimir","sublinhar","tachado","recuar","diminuir recuo","Tamanho completo","diminuir","linha horizontal","lista não ordenada","lista ordenada","Cortar","Selecionar tudo","Incluir código","Abrir link","Editar link","Não siga","Remover link","Atualizar","Editar","Visualizar","URL","Editar","Alinhamento horizontal","filtrar","Ordenar por modificação","Ordenar por nome","Ordenar por tamanho","Adicionar pasta","Resetar","Salvar","Salvar como...","Redimensionar","Recortar","Largura","Altura","Manter a proporção","Sim","Não","Remover","Selecionar","Selecionar: %s","Alinhamento vertical","Dividir","Mesclar","Adicionar coluna","Adicionar linha",null,"Excluir","Dividir vertical","Dividir horizontal","Borda","Seu código é similar ao HTML. Manter como HTML?","Colar como HTML?","Manter","Inserir como Texto","Inserir somente o Texto","Você só pode editar suas próprias imagens. Baixar essa imagem pro servidor?","A imagem foi enviada com sucesso para o servidor!","Palette","Não há arquivos nesse diretório.","Húngara","Digite um novo nome","preview","Baixar","Colar da área de transferência","O seu navegador não oferece suporte a acesso direto para a área de transferência.","Selecção de cópia","cópia","Border radius","Mostrar todos os","Aplicar","Por favor, preencha este campo","Por favor introduza um endereço web","Padrão","Círculo","Ponto","Quadro","Encontrar","Encontrar Anteriores","Localizar Próxima","O conteúdo colado veio de um documento Microsoft Word/Excel. Você deseja manter o formato ou limpa-lo?","Colado do Word Detectado","Limpar","Insira o nome da classe","Pressione Alt para redimensionamento personalizado"]},31109:function(e){e.exports.default=["Напишите что-либо","О Jodit","Редактор Jodit","Jodit Руководство пользователя","содержит детальную информацию по использованию","Для получения сведений о лицензии , пожалуйста, перейдите на наш сайт:","Купить полную версию","Авторские права © XDSoft.net - Чупурнов Валерий. Все права защищены.","Анкор","Открывать ссылку в новой вкладке","Открыть редактор в полном размере","Очистить форматирование","Цвет заливки или цвет текста","Повтор","Отмена","Жирный","Наклонный","Вставка маркированного списка","Вставить нумерованный список","Выровнять по центру","Выровнять по ширине","Выровнять по левому краю","Выровнять по правому краю","Вставить горизонтальную линию","Вставить изображение","Вставить файл","Вставьте видео","Вставить ссылку","Размер шрифта","Шрифт","Вставить блочный элемент","Нормальный текст","Заголовок 1","Заголовок 2","Заголовок 3","Заголовок 4","Цитата","Код","Вставить","Вставить таблицу","Уменьшить отступ","Увеличить отступ","Выберите специальный символ","Вставить специальный символ","Формат краски","Источник","Отступы","сверху","справа","снизу","слева","Стили","Классы","Выравнивание","По правому краю","По центру","По левому краю","--не устанавливать--","src","Заголовок","Альтернативный текст (alt)","Ссылка","Открывать ссылку в новом окне",null,"Файл","Расширенные","Свойства изображения","Отмена","Ок","Браузер файлов","Ошибка при загрузке списка изображений","Ошибка при загрузке списка директорий","Вы уверены?","Введите название директории","Создать директорию","введите название","Перетащите сюда изображение","Перетащите сюда файл","или нажмите","Альтернативный текст","Загрузка","Сервер","Фон","Текст"," К верху","По середине","К низу","Вставить столбец до","Вставить столбец после","Вставить ряд выше","Вставить ряд ниже","Удалить таблицу","Удалять ряд","Удалить столбец","Очистить ячейку","Символов: %d","Слов: %d","Перечеркнуть","Подчеркивание","верхний индекс","индекс","Вырезать","Выделить все","Разделитель","Найти","Заменить на","Заменить","Вставить","Выбрать контент для вставки","HTML","жирный","курсив","заливка","ссылка","отменить","повторить","таблица","Изображение","очистить","параграф","размер шрифта","видео","шрифт","о редакторе","печать","подчеркнутый","перечеркнутый","отступ","выступ","во весь экран","обычный размер","линия","Список","Нумерованный список","Вырезать","Выделить все","Код","Открыть ссылку","Редактировать ссылку","Атрибут nofollow","Убрать ссылку","Обновить","Редактировать","Просмотр","URL","Редактировать","Горизонтальное выравнивание","Фильтр","По изменению","По имени","По размеру","Добавить папку","Восстановить","Сохранить","Сохранить как","Изменить размер","Обрезать размер","Ширина","Высота","Сохранять пропорции","Да","Нет","Удалить","Выделить","Выделить: %s","Вертикальное выравнивание","Разделить","Объединить в одну","Добавить столбец","Добавить строку","Лицензия: %s","Удалить","Разделить по вертикали","Разделить по горизонтали","Рамка","Ваш текст, который вы пытаетесь вставить похож на HTML. Вставить его как HTML?","Вставить как HTML?","Сохранить оригинал","Вставить как текст","Вставить только текст","Вы можете редактировать только свои собственные изображения. Загрузить это изображение на ваш сервер?","Изображение успешно загружено на сервер!","палитра","В данном каталоге нет файлов","Переименовать","Введите новое имя","Предпросмотр","Скачать","Вставить из буфера обмена","Ваш браузер не поддерживает прямой доступ к буферу обмена.","Скопировать выделенное","копия","Радиус границы","Показать все","Применить","Пожалуйста, заполните это поле","Пожалуйста, введите веб-адрес","По умолчанию","Круг","Точка","Квадрат","Найти","Найти Предыдущие","Найти Далее","Контент который вы вставляете поступает из документа Microsoft Word / Excel. Вы хотите сохранить формат или очистить его?","Возможно это фрагмент Word или Excel","Почистить","Вставить название класса","Нажмите Alt для изменения пользовательского размера"]},79375:function(e){e.exports.default=["Bir şeyler yaz","Jodit Hakkında","Jodit Editor","Jodit Kullanım Kılavuzu","kullanım için detaylı bilgiler içerir","Lisans hakkında bilgi için lütfen web sitemize gidin:","Tam versiyonunu satın al","Copyright © XDSoft.net - Chupurnov Valeriy. Tüm hakları saklıdır.","Bağlantı","Yeni sekmede aç","Editörü tam ekranda aç","Stili temizle","Renk doldur veya yazı rengi seç","Yinele","Geri Al","Kalın","İtalik","Sırasız Liste Ekle","Sıralı Liste Ekle","Ortala","Kenarlara Yasla","Sola Yasla","Sağa Yasla","Yatay Çizgi Ekle","Resim Ekle","Dosya Ekle","Youtube/Vimeo Videosu Ekle","Bağlantı Ekle","Font Boyutu","Font Ailesi","Blok Ekle","Normal","Başlık 1","Başlık 2","Başlık 3","Başlık 4","Alıntı","Kod","Ekle","Tablo Ekle","Girintiyi Azalt","Girintiyi Arttır","Özel Karakter Seç","Özel Karakter Ekle","Resim Biçimi","Mod Değiştir","Boşluklar","Üst","Sağ","Alt","Sol","CSS Stilleri","CSS Sınıfları","Hizalama","Sağ","Ortalı","Sol","Belirsiz","Kaynak","Başlık","Alternatif Yazı","Link","Bağlantıyı yeni sekmede aç","Resim","Dosya","Gelişmiş","Resim özellikleri","İptal","Tamam","Dosya Listeleyici","Liste yüklenirken hata oluştu","Klasörler yüklenirken hata oluştur","Emin misiniz?","Dizin yolu giriniz","Dizin oluştur","İsim yaz","Resim bırak","Dosya bırak","veya tıkla","Alternatif yazı","Yükle","Gözat","Arka plan","Yazı","Üst","Orta","Aşağı","Öncesine kolon ekle","Sonrasına kolon ekle","Üstüne satır ekle","Altına satır ekle","Tabloyu sil","Satırı sil","Kolonu sil","Hücreyi temizle","Harfler: %d","Kelimeler: %d","Üstü çizili","Alt çizgi","Üst yazı","Alt yazı","Seçilimi kes","Tümünü seç","Satır sonu","Ara","Şununla değiştir","Değiştir","Yapıştır","Yapıştırılacak içerik seç","Kaynak","Kalın","italik","Fırça","Bağlantı","Geri al","Yinele","Tablo","Resim","Silgi","Paragraf","Font boyutu","Video","Font","Hakkında","Yazdır","Alt çizgi","Üstü çizili","Girinti","Çıkıntı","Tam ekran","Küçült","Ayraç","Sırasız liste","Sıralı liste","Kes","Tümünü seç","Kod ekle","Bağlantıyı aç","Bağlantıyı düzenle","Nofollow özelliği","Bağlantıyı kaldır","Güncelle","Düzenlemek için","Yorumu","URL","Düzenle","Yatay hizala","Filtre","Değişime göre sırala","İsme göre sırala","Boyuta göre sırala","Klasör ekle","Sıfırla","Kaydet","Farklı kaydet","Boyutlandır","Kırp","Genişlik","Yükseklik","En boy oranını koru","Evet","Hayır","Sil","Seç","Seç: %s","Dikey hizala","Ayır","Birleştir","Kolon ekle","Satır ekle",null,"Sil","Dikey ayır","Yatay ayır","Kenarlık","Kodunuz HTML koduna benziyor. HTML olarak devam etmek ister misiniz?","HTML olarak yapıştır","Sakla","Yazı olarak ekle","Sadece yazıyı ekle","Sadece kendi resimlerinizi düzenleyebilirsiniz. Bu görseli kendi hostunuza indirmek ister misiniz?","Görsel başarıyla hostunuza yüklendi","Palet","Bu dizinde dosya yok","Yeniden isimlendir","Yeni isim girin","Ön izleme","İndir","Panodan yapıştır ","Tarayıcınız panoya doğrudan erişimi desteklemiyor.","Seçimi kopyala","Kopyala","Sınır yarıçapı","Tümünü Göster","Uygula","Lütfen bu alanı doldurun","Lütfen bir web adresi girin","Varsayılan","Daire","Nokta","Kare","Bul","Öncekini Bul","Sonrakini Bul","Der Inhalt, den Sie einfügen, stammt aus einem Microsoft Word / Excel-Dokument. Möchten Sie das Format erhalten oder löschen?","Word biçiminde yapıştırma algılandı","Temizle","Sınıf adı girin","Özel yeniden boyutlandırma için Alt tuşuna basın"]},21042:function(e){e.exports.default=["输入一些内容","关于Jodit","Jodit Editor","开发者指南","使用帮助","有关许可证的信息,请访问我们的网站:","购买完整版本","Copyright © XDSoft.net - Chupurnov Valeriy. 版权所有","Anchor","在新窗口打开","全屏编辑","清除样式","颜色","重做","撤销","粗体","斜体","符号列表","编号","居中","对齐文本","左对齐","右对齐","分割线","图片","文件","视频","链接","字号","字体","格式块","默认","标题1","标题2","标题3","标题4","引用","代码","插入","表格","减少缩进","增加缩进","选择特殊符号","特殊符号","格式复制","改变模式","外边距(Margins)","top","right","bottom","left","样式","Classes","对齐方式","居右","居中","居左","无","Src","Title","Alternative","Link","在新窗口打开链接","图片","file","高级","图片属性","取消","确定","文件管理","加载list错误","加载folders错误","你确定吗?","输入路径","创建路径","type name","拖动图片到此","拖动文件到此","或点击","Alternative text","上传","浏览","背景色","文字","顶部","中间","底部","在之前插入列","在之后插入列","在之前插入行","在之后插入行","删除表格","删除行","删除列","清除内容","字符数: %d","单词数: %d","删除线","下划线","上标","下标","剪切","全选","Break","查找","替换为","替换","粘贴","选择内容并粘贴","源码","粗体","斜体","颜色","链接","撤销","重做","表格","图片","橡皮擦","段落","字号","视频","字体","关于","打印","下划线","上出现","增加缩进","减少缩进","全屏","收缩","分割线","无序列表","顺序列表","剪切","全选","嵌入代码","打开链接","编辑链接","No follow","取消链接","更新","铅笔","预览","URL","编辑","水平对齐","筛选","修改时间排序","名称排序","大小排序","新建文件夹","重置","保存","保存为","调整大小","剪切","宽","高","保持长宽比","是","不","移除","选择","选择: %s","垂直对齐","拆分","合并","添加列","添加行",null,"删除","垂直拆分","水平拆分","边框","你粘贴的文本是一段html代码,是否保留源格式","html粘贴","保留源格式","把html代码视为普通文本","只保留文本","你只能编辑你自己的图片。Download this image on the host?","图片上传成功","调色板","此目录中沒有文件。","重命名","输入新名称","预览","下载","粘贴从剪贴板","你浏览器不支持直接访问的剪贴板。","复制选中内容","复制","边界半径","显示所有","应用","请填写这个字段","请输入一个网址","默认","圆圈","点","方形","搜索","查找上一个","查找下一个","正在粘贴 Word/Excel 的文本,是否保留源格式?","文本粘贴","匹配目标格式","插入班级名称","按Alt自定义调整大小"]},73895:function(e){e.exports.default=["輸入一些內容","關於Jodit","Jodit Editor","開發者指南","使用幫助","有關許可證的信息,請訪問我們的網站:","購買完整版本","Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.","Anchor","在新窗口打開","全屏編輯","清除樣式","顏色","重做","撤銷","粗體","斜體","符號列表","編號","居中","對齊文本","左對齊","右對齊","分割線","圖片","文件","youtube/vimeo 影片","鏈接","字號","字體","格式塊","文本","標題1","標題2","標題3","標題4","引用","代碼","插入","表格","減少縮進","增加縮進","選擇特殊符號","特殊符號","格式複製","改變模式","外邊距(Margins)","top","right","bottom","left","樣式","Classes","對齊方式","居右","居中","居左","無","Src","Title","替代","Link","在新窗口打開鏈接","圖片","file","高級","圖片屬性","取消","確定","文件管理","加載list錯誤","加載folders錯誤","你確定嗎?","輸入路徑","創建路徑","type name","拖動圖片到此","拖動文件到此","或點擊","替代文字","上傳","瀏覽","背景色","文字","頂部","中間","底部","在之前插入列","在之後插入列","在之前插入行","在之後插入行","刪除表格","刪除行","刪除列","清除內容","字符數: %d","單詞數: %d","刪除線","下劃線","上標","下標","剪切","全選","Pause","查找","替換為","แทนที่","黏貼","選擇內容並黏貼","源碼","粗體","斜體","顏色","鏈接","撤銷","重做","表格","圖片","橡皮擦","段落","字號","影片","字體","關於","打印","下劃線","上出現","增加縮進","減少縮進","全屏","收縮","分割線","無序列表","順序列表","剪切","全選","嵌入代碼","打開鏈接","編輯鏈接","No follow","取消連結","更新","鉛筆","回顧","URL",null,"水平對齊","篩選","修改時間排序","名稱排序","大小排序","新建文件夾","重置","保存","保存為","調整大小","Crop","寬","高","保存長寬比","是","不","移除","選擇","選擇: %s","垂直對齊","拆分","合併","添加列","添加行",null,"刪除","垂直拆分","水平拆分","邊框","你黏貼的文本是一段html代碼,是否保留源格式","html黏貼","保留源格式","把html代碼視為普通文本","只保留文本","你只能編輯你自己的圖片。是否下載此圖片到本地?","圖片上傳成功","調色板","此目錄中沒有文件。","重命名","輸入新名稱","預覽","下載","從剪貼板貼上","瀏覽器無法存取剪贴板。","複製已選取項目","複製","邊框圓角","顯示所有","應用","ได้โปรดกรอกช่องข้อมูลนี้","โปรดเติมที่อยู่บนเว็บ","ค่าปริยาย","วงกลม","จุด","Quadrate","ค้นหา","ค้นหาก่อนหน้านี้","ค้นหาถัดไป","正在黏貼 Word/Excel 的文本,是否保留源格式?","文本黏貼","匹配目標格式","ใส่ชื่อคลาส","กดอัลท์สำหรับการปรับขนาดที่กำหนดเอง"]},3610:function(e){e.exports=' '},56170:function(e){e.exports=' '},95331:function(e){e.exports=' '},84279:function(e){e.exports=' '},11257:function(e){e.exports=' '},25141:function(e){e.exports=' '},24557:function(e){e.exports=' '},10859:function(e){e.exports=' '},9813:function(e){e.exports=' '},93395:function(e){e.exports=' '},98213:function(e){e.exports=' '},20026:function(e){e.exports=' '},66911:function(e){e.exports=' '},50018:function(e){e.exports=' '},99738:function(e){e.exports=' '},9185:function(e){e.exports=' '},8619:function(e){e.exports=' '},73894:function(e){e.exports=' '},83301:function(e){e.exports=' '},84142:function(e){e.exports=' '},57292:function(e){e.exports=' '},18019:function(e){e.exports=''},45146:function(e){e.exports=' '},53576:function(e){e.exports=' '},14655:function(e){e.exports=' '},53477:function(e){e.exports=' '},90053:function(e){e.exports=' '},72230:function(e){e.exports=' '},78321:function(e){e.exports=' '},77654:function(e){e.exports=' '},43371:function(e){e.exports=' '},44563:function(e){e.exports=' '},53183:function(e){e.exports=' '},6102:function(e){e.exports=' '},52242:function(e){e.exports=' '},87498:function(e){e.exports=' '},7986:function(e){e.exports=' '},23075:function(e){e.exports=' '},10655:function(e){e.exports=' '},15476:function(e){e.exports=' '},59403:function(e){e.exports=' '},22860:function(e){e.exports=' '},95600:function(e){e.exports=' '},76214:function(e){e.exports=' '},41197:function(e){e.exports=' '},9342:function(e){e.exports=' '},69546:function(e){e.exports=' '},43158:function(e){e.exports=' '},51716:function(e){e.exports=' '},49222:function(e){e.exports=' '},1755:function(e){e.exports=' '},74911:function(e){e.exports=' '},8805:function(e){e.exports=' '},16547:function(e){e.exports=' '},10856:function(e){e.exports=' '},98441:function(e){e.exports=' '},52488:function(e){e.exports=' '},9370:function(e){e.exports=' '},66543:function(e){e.exports=' '},608:function(e){e.exports=' '},42840:function(e){e.exports=' '},79096:function(e){e.exports=' '},33014:function(e){e.exports=' '},91677:function(e){e.exports=' '},8259:function(e){e.exports=' '},64467:function(e){e.exports=''},86934:function(e){e.exports=' '},76133:function(e){e.exports=''},45519:function(e){e.exports=''},90265:function(e){e.exports=' '},81279:function(e){e.exports=' '},68899:function(e){e.exports=' '},70744:function(e){e.exports=' '},19201:function(e){e.exports=' '},84930:function(e){e.exports=' '},99704:function(e){e.exports=' '},2304:function(e){e.exports=' '},93330:function(e,t,o){"use strict";o.r(t)},45066:function(e,t,o){"use strict";o.r(t)},99895:function(e,t,o){"use strict";o.r(t)},87682:function(e,t,o){"use strict";o.r(t)},50905:function(e,t,o){"use strict";o.r(t)},70446:function(e,t,o){"use strict";o.r(t)},18984:function(e,t,o){"use strict";o.r(t)},4591:function(e,t,o){"use strict";o.r(t)},64194:function(e,t,o){"use strict";o.r(t)},70375:function(e,t,o){"use strict";o.r(t)},90235:function(e,t,o){"use strict";o.r(t)},88477:function(e,t,o){"use strict";o.r(t)},50197:function(e,t,o){"use strict";o.r(t)},39008:function(e,t,o){"use strict";o.r(t)},47086:function(e,t,o){"use strict";o.r(t)},16462:function(e,t,o){"use strict";o.r(t)},40692:function(e,t,o){"use strict";o.r(t)},27452:function(e,t,o){"use strict";o.r(t)},51422:function(e,t,o){"use strict";o.r(t)},62820:function(e,t,o){"use strict";o.r(t)},63421:function(e,t,o){"use strict";o.r(t)},32115:function(e,t,o){"use strict";o.r(t)},53362:function(e,t,o){"use strict";o.r(t)},48904:function(e,t,o){"use strict";o.r(t)},85796:function(e,t,o){"use strict";o.r(t)},28654:function(e,t,o){"use strict";o.r(t)},60819:function(e,t,o){"use strict";o.r(t)},96410:function(e,t,o){"use strict";o.r(t)},33126:function(e,t,o){"use strict";o.r(t)},30724:function(e,t,o){"use strict";o.r(t)},14320:function(e,t,o){"use strict";o.r(t)},9947:function(e,t,o){"use strict";o.r(t)},45109:function(e,t,o){"use strict";o.r(t)},71708:function(e,t,o){"use strict";o.r(t)},51629:function(e,t,o){"use strict";o.r(t)},54860:function(e,t,o){"use strict";o.r(t)},47818:function(e,t,o){"use strict";o.r(t)},6316:function(e,t,o){"use strict";o.r(t)},88582:function(e,t,o){"use strict";o.r(t)},30962:function(e,t,o){"use strict";o.r(t)},68197:function(e,t,o){"use strict";o.r(t)},60057:function(e,t,o){"use strict";o.r(t)},33393:function(e,t,o){"use strict";o.r(t)},51057:function(e,t,o){"use strict";o.r(t)},64618:function(e,t,o){"use strict";o.r(t)},90176:function(e,t,o){"use strict";o.r(t)},91147:function(e,t,o){"use strict";o.r(t)},70631:function(e,t){"use strict";function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function n(e,t,n){var r=n.value;if("function"!=typeof r)throw new TypeError("@boundMethod decorator can only be applied to methods not: ".concat(o(r)));var i=!1;return{configurable:!0,get:function(){if(i||this===e.prototype||this.hasOwnProperty(t)||"function"!=typeof r)return r;var o=r.bind(this);return i=!0,Object.defineProperty(this,t,{configurable:!0,get:function(){return o},set:function(e){r=e,delete this[t]}}),i=!1,o},set:function(e){r=e}}}function r(e){var t;return"undefined"!=typeof Reflect&&"function"==typeof Reflect.ownKeys?t=Reflect.ownKeys(e.prototype):(t=Object.getOwnPropertyNames(e.prototype),"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(e.prototype)))),t.forEach((function(t){if("constructor"!==t){var o=Object.getOwnPropertyDescriptor(e.prototype,t);"function"==typeof o.value&&Object.defineProperty(e.prototype,t,n(e,t,o))}})),e}Object.defineProperty(t,"__esModule",{value:!0}),t.boundClass=t.boundMethod=void 0,t.boundMethod=n,t.boundClass=r,t.default=function(){return 1===arguments.length?r.apply(void 0,arguments):n.apply(void 0,arguments)}},61227:function(){"use strict";"document"in window.self&&((!("classList"in document.createElement("_"))||document.createElementNS&&!("classList"in document.createElementNS("http://www.w3.org/2000/svg","g")))&&function(e){if("Element"in e){var t="classList",o=e.Element.prototype,n=Object,r=String.prototype.trim||function(){return this.replace(/^\s+|\s+$/g,"")},i=Array.prototype.indexOf||function(e){for(var t=0,o=this.length;o>t;t++)if(t in this&&this[t]===e)return t;return-1},a=function(e,t){this.name=e,this.code=DOMException[e],this.message=t},s=function(e,t){if(""===t)throw new a("SYNTAX_ERR","An invalid or illegal string was specified");if(/\s/.test(t))throw new a("INVALID_CHARACTER_ERR","String contains an invalid character");return i.call(e,t)},l=function(e){for(var t=r.call(e.getAttribute("class")||""),o=t?t.split(/\s+/):[],n=0,i=o.length;i>n;n++)this.push(o[n]);this._updateClassName=function(){e.setAttribute("class",this.toString())}},c=l.prototype=[],u=function(){return new l(this)};if(a.prototype=Error.prototype,c.item=function(e){return this[e]||null},c.contains=function(e){return-1!==s(this,e+="")},c.add=function(){var e,t=arguments,o=0,n=t.length,r=!1;do{-1===s(this,e=t[o]+"")&&(this.push(e),r=!0)}while(++oo;o++)t.call(this,e=arguments[o])}};t("add"),t("remove")}if(e.classList.toggle("c3",!1),e.classList.contains("c3")){var o=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(e,t){return 1 in arguments&&!this.contains(e)==!t?t:o.call(this,e)}}e=null}())},69220:function(e,t,o){"use strict";o(22513);var n=o(56599);e.exports=n("Array","findIndex")},10444:function(e,t,o){"use strict";o(52867),o(70057);var n=o(31116);e.exports=n.Array.from},66622:function(e,t,o){"use strict";o(54166),o(32044),o(95661),o(28424),o(64514),o(30733),o(40327),o(53639),o(6147),o(7290),o(95122),o(61322),o(39605),o(49341),o(28809),o(82658),o(43967),o(90217),o(73477),o(93697);var n=o(31116);e.exports=n.Symbol},98061:function(e,t,o){"use strict";var n=o(794),r=o(98418),i=TypeError;e.exports=function(e){if(n(e))return e;throw i(r(e)+" is not a function")}},75839:function(e,t,o){"use strict";var n=o(794),r=String,i=TypeError;e.exports=function(e){if("object"==typeof e||n(e))return e;throw i("Can't set "+r(e)+" as a prototype")}},15179:function(e,t,o){"use strict";var n=o(19517),r=o(93503),i=o(73252).f,a=n("unscopables"),s=Array.prototype;null==s[a]&&i(s,a,{configurable:!0,value:r(null)}),e.exports=function(e){s[a][e]=!0}},52313:function(e,t,o){"use strict";var n=o(8148),r=String,i=TypeError;e.exports=function(e){if(n(e))return e;throw i(r(e)+" is not an object")}},92707:function(e,t,o){"use strict";var n=o(40207),r=o(9093),i=o(68488),a=o(79665),s=o(84997),l=o(15333),c=o(15050),u=o(89476),d=o(27395),p=o(81058),f=Array;e.exports=function(e){var t=i(e),o=l(this),h=arguments.length,m=h>1?arguments[1]:void 0,v=void 0!==m;v&&(m=n(m,h>2?arguments[2]:void 0));var g,y,b,_,S,w,C=p(t),j=0;if(!C||this===f&&s(C))for(g=c(t),y=o?new this(g):f(g);g>j;j++)w=v?m(t[j],j):t[j],u(y,j,w);else for(S=(_=d(t,C)).next,y=o?new this:[];!(b=r(S,_)).done;j++)w=v?a(_,m,[b.value,j],!0):b.value,u(y,j,w);return y.length=j,y}},79327:function(e,t,o){"use strict";var n=o(98651),r=o(10586),i=o(15050),a=function(e){return function(t,o,a){var s,l=n(t),c=i(l),u=r(a,c);if(e&&o!=o){for(;c>u;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===o)return e||u||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},56881:function(e,t,o){"use strict";var n=o(40207),r=o(90838),i=o(25049),a=o(68488),s=o(15050),l=o(6429),c=r([].push),u=function(e){var t=1==e,o=2==e,r=3==e,u=4==e,d=6==e,p=7==e,f=5==e||d;return function(h,m,v,g){for(var y,b,_=a(h),S=i(_),w=n(m,v),C=s(S),j=0,k=g||l,x=t?k(h,C):o||p?k(h,0):void 0;C>j;j++)if((f||j in S)&&(b=w(y=S[j],j,_),e))if(t)x[j]=b;else if(b)switch(e){case 3:return!0;case 5:return y;case 6:return j;case 2:c(x,y)}else switch(e){case 4:return!1;case 7:c(x,y)}return d?-1:r||u?u:x}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterReject:u(7)}},63833:function(e,t,o){"use strict";var n=o(75834),r=o(19517),i=o(65190),a=r("species");e.exports=function(e){return i>=51||!n((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},57652:function(e,t,o){"use strict";var n=o(10586),r=o(15050),i=o(89476),a=Array,s=Math.max;e.exports=function(e,t,o){for(var l=r(e),c=n(t,l),u=n(void 0===o?l:o,l),d=a(s(u-c,0)),p=0;u>c;c++,p++)i(d,p,e[c]);return d.length=p,d}},54832:function(e,t,o){"use strict";var n=o(90838);e.exports=n([].slice)},22506:function(e,t,o){"use strict";var n=o(36222),r=o(15333),i=o(8148),a=o(19517)("species"),s=Array;e.exports=function(e){var t;return n(e)&&(r(t=e.constructor)&&(t===s||n(t.prototype))||i(t)&&null===(t=t[a]))&&(t=void 0),void 0===t?s:t}},6429:function(e,t,o){"use strict";var n=o(22506);e.exports=function(e,t){return new(n(e))(0===t?0:t)}},79665:function(e,t,o){"use strict";var n=o(52313),r=o(11274);e.exports=function(e,t,o,i){try{return i?t(n(o)[0],o[1]):t(o)}catch(t){r(e,"throw",t)}}},7581:function(e,t,o){"use strict";var n=o(19517)("iterator"),r=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){r=!0}};a[n]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!r)return!1;var o=!1;try{var i={};i[n]=function(){return{next:function(){return{done:o=!0}}}},e(i)}catch(e){}return o}},6285:function(e,t,o){"use strict";var n=o(75223),r=n({}.toString),i=n("".slice);e.exports=function(e){return i(r(e),8,-1)}},8652:function(e,t,o){"use strict";var n=o(6424),r=o(794),i=o(6285),a=o(19517)("toStringTag"),s=Object,l="Arguments"==i(function(){return arguments}());e.exports=n?i:function(e){var t,o,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(o=function(e,t){try{return e[t]}catch(e){}}(t=s(e),a))?o:l?i(t):"Object"==(n=i(t))&&r(t.callee)?"Arguments":n}},58392:function(e,t,o){"use strict";var n=o(14434),r=o(86671),i=o(36999),a=o(73252);e.exports=function(e,t,o){for(var s=r(t),l=a.f,c=i.f,u=0;s.length>u;u++){var d=s[u];n(e,d)||o&&n(o,d)||l(e,d,c(t,d))}}},27259:function(e,t,o){"use strict";var n=o(75834);e.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},17427:function(e){"use strict";e.exports=function(e,t){return{value:e,done:t}}},45840:function(e,t,o){"use strict";var n=o(13873),r=o(73252),i=o(32500);e.exports=n?function(e,t,o){return r.f(e,t,i(1,o))}:function(e,t,o){return e[t]=o,e}},32500:function(e){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},89476:function(e,t,o){"use strict";var n=o(43836),r=o(73252),i=o(32500);e.exports=function(e,t,o){var a=n(t);a in e?r.f(e,a,i(0,o)):e[a]=o}},35065:function(e,t,o){"use strict";var n=o(794),r=o(73252),i=o(40846),a=o(25379);e.exports=function(e,t,o,s){s||(s={});var l=s.enumerable,c=void 0!==s.name?s.name:t;if(n(o)&&i(o,c,s),s.global)l?e[t]=o:a(t,o);else{try{s.unsafe?e[t]&&(l=!0):delete e[t]}catch(e){}l?e[t]=o:r.f(e,t,{value:o,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}},25379:function(e,t,o){"use strict";var n=o(37042),r=Object.defineProperty;e.exports=function(e,t){try{r(n,e,{value:t,configurable:!0,writable:!0})}catch(o){n[e]=t}return t}},13873:function(e,t,o){"use strict";var n=o(75834);e.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},12062:function(e){"use strict";var t="object"==typeof document&&document.all;e.exports={all:t,IS_HTMLDDA:void 0===t&&void 0!==t}},15192:function(e,t,o){"use strict";var n=o(37042),r=o(8148),i=n.document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},39505:function(e){"use strict";var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},21473:function(e,t,o){"use strict";var n=o(98945);e.exports=n("navigator","userAgent")||""},65190:function(e,t,o){"use strict";var n,r,i=o(37042),a=o(21473),s=i.process,l=i.Deno,c=s&&s.versions||l&&l.version,u=c&&c.v8;u&&(r=(n=u.split("."))[0]>0&&4>n[0]?1:+(n[0]+n[1])),!r&&a&&((n=a.match(/Edge\/(\d+)/))&&74>n[1]||(n=a.match(/Chrome\/(\d+)/))&&(r=+n[1])),e.exports=r},56599:function(e,t,o){"use strict";var n=o(37042),r=o(90838);e.exports=function(e,t){return r(n[e].prototype[t])}},64456:function(e){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},50791:function(e,t,o){"use strict";var n=o(37042),r=o(36999).f,i=o(45840),a=o(35065),s=o(25379),l=o(58392),c=o(56930);e.exports=function(e,t){var o,u,d,p,f,h=e.target,m=e.global,v=e.stat;if(o=m?n:v?n[h]||s(h,{}):(n[h]||{}).prototype)for(u in t){if(p=t[u],d=e.dontCallGetSet?(f=r(o,u))&&f.value:o[u],!c(m?u:h+(v?".":"#")+u,e.forced)&&void 0!==d){if(typeof p==typeof d)continue;l(p,d)}(e.sham||d&&d.sham)&&i(p,"sham",!0),a(o,u,p,e)}}},75834:function(e){"use strict";e.exports=function(e){try{return!!e()}catch(e){return!0}}},55101:function(e,t,o){"use strict";var n=o(32610),r=Function.prototype,i=r.apply,a=r.call;e.exports="object"==typeof Reflect&&Reflect.apply||(n?a.bind(i):function(){return a.apply(i,arguments)})},40207:function(e,t,o){"use strict";var n=o(90838),r=o(98061),i=o(32610),a=n(n.bind);e.exports=function(e,t){return r(e),void 0===t?e:i?a(e,t):function(){return e.apply(t,arguments)}}},32610:function(e,t,o){"use strict";var n=o(75834);e.exports=!n((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},9093:function(e,t,o){"use strict";var n=o(32610),r=Function.prototype.call;e.exports=n?r.bind(r):function(){return r.apply(r,arguments)}},84521:function(e,t,o){"use strict";var n=o(13873),r=o(14434),i=Function.prototype,a=n&&Object.getOwnPropertyDescriptor,s=r(i,"name"),l=s&&"something"===function(){}.name,c=s&&(!n||n&&a(i,"name").configurable);e.exports={EXISTS:s,PROPER:l,CONFIGURABLE:c}},75223:function(e,t,o){"use strict";var n=o(32610),r=Function.prototype,i=r.call,a=n&&r.bind.bind(i,i);e.exports=n?a:function(e){return function(){return i.apply(e,arguments)}}},90838:function(e,t,o){"use strict";var n=o(6285),r=o(75223);e.exports=function(e){if("Function"===n(e))return r(e)}},98945:function(e,t,o){"use strict";var n=o(37042),r=o(794),i=function(e){return r(e)?e:void 0};e.exports=function(e,t){return 2>arguments.length?i(n[e]):n[e]&&n[e][t]}},81058:function(e,t,o){"use strict";var n=o(8652),r=o(20156),i=o(8140),a=o(84922),s=o(19517)("iterator");e.exports=function(e){if(!i(e))return r(e,s)||r(e,"@@iterator")||a[n(e)]}},27395:function(e,t,o){"use strict";var n=o(9093),r=o(98061),i=o(52313),a=o(98418),s=o(81058),l=TypeError;e.exports=function(e,t){var o=2>arguments.length?s(e):t;if(r(o))return i(n(o,e));throw l(a(e)+" is not iterable")}},20156:function(e,t,o){"use strict";var n=o(98061),r=o(8140);e.exports=function(e,t){var o=e[t];return r(o)?void 0:n(o)}},37042:function(e,t,o){"use strict";var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof o.g&&o.g)||function(){return this}()||Function("return this")()},14434:function(e,t,o){"use strict";var n=o(90838),r=o(68488),i=n({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(r(e),t)}},48889:function(e){"use strict";e.exports={}},36249:function(e,t,o){"use strict";var n=o(98945);e.exports=n("document","documentElement")},12816:function(e,t,o){"use strict";var n=o(13873),r=o(75834),i=o(15192);e.exports=!n&&!r((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},25049:function(e,t,o){"use strict";var n=o(90838),r=o(75834),i=o(6285),a=Object,s=n("".split);e.exports=r((function(){return!a("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?s(e,""):a(e)}:a},92355:function(e,t,o){"use strict";var n=o(90838),r=o(794),i=o(45752),a=n(Function.toString);r(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},56113:function(e,t,o){"use strict";var n,r,i,a=o(95473),s=o(37042),l=o(8148),c=o(45840),u=o(14434),d=o(45752),p=o(85475),f=o(48889),h="Object already initialized",m=s.TypeError;if(a||d.state){var v=d.state||(d.state=new(0,s.WeakMap));v.get=v.get,v.has=v.has,v.set=v.set,n=function(e,t){if(v.has(e))throw m(h);return t.facade=e,v.set(e,t),t},r=function(e){return v.get(e)||{}},i=function(e){return v.has(e)}}else{var g=p("state");f[g]=!0,n=function(e,t){if(u(e,g))throw m(h);return t.facade=e,c(e,g,t),t},r=function(e){return u(e,g)?e[g]:{}},i=function(e){return u(e,g)}}e.exports={set:n,get:r,has:i,enforce:function(e){return i(e)?r(e):n(e,{})},getterFor:function(e){return function(t){var o;if(!l(t)||(o=r(t)).type!==e)throw m("Incompatible receiver, "+e+" required");return o}}}},84997:function(e,t,o){"use strict";var n=o(19517),r=o(84922),i=n("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||a[i]===e)}},36222:function(e,t,o){"use strict";var n=o(6285);e.exports=Array.isArray||function(e){return"Array"==n(e)}},794:function(e,t,o){"use strict";var n=o(12062),r=n.all;e.exports=n.IS_HTMLDDA?function(e){return"function"==typeof e||e===r}:function(e){return"function"==typeof e}},15333:function(e,t,o){"use strict";var n=o(90838),r=o(75834),i=o(794),a=o(8652),s=o(98945),l=o(92355),c=function(){},u=[],d=s("Reflect","construct"),p=/^\s*(?:class|function)\b/,f=n(p.exec),h=!p.exec(c),m=function(e){if(!i(e))return!1;try{return d(c,u,e),!0}catch(e){return!1}},v=function(e){if(!i(e))return!1;switch(a(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return h||!!f(p,l(e))}catch(e){return!0}};v.sham=!0,e.exports=!d||r((function(){var e;return m(m.call)||!m(Object)||!m((function(){e=!0}))||e}))?v:m},56930:function(e,t,o){"use strict";var n=o(75834),r=o(794),i=/#|\.prototype\./,a=function(e,t){var o=l[s(e)];return o==u||o!=c&&(r(t)?n(t):!!t)},s=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},l=a.data={},c=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},8140:function(e){"use strict";e.exports=function(e){return null==e}},8148:function(e,t,o){"use strict";var n=o(794),r=o(12062),i=r.all;e.exports=r.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:n(e)||e===i}:function(e){return"object"==typeof e?null!==e:n(e)}},70852:function(e){"use strict";e.exports=!1},88253:function(e,t,o){"use strict";var n=o(98945),r=o(794),i=o(54671),a=o(57982),s=Object;e.exports=a?function(e){return"symbol"==typeof e}:function(e){var t=n("Symbol");return r(t)&&i(t.prototype,s(e))}},11274:function(e,t,o){"use strict";var n=o(9093),r=o(52313),i=o(20156);e.exports=function(e,t,o){var a,s;r(e);try{if(!(a=i(e,"return"))){if("throw"===t)throw o;return o}a=n(a,e)}catch(e){s=!0,a=e}if("throw"===t)throw o;if(s)throw a;return r(a),o}},60928:function(e,t,o){"use strict";var n=o(77831).IteratorPrototype,r=o(93503),i=o(32500),a=o(44532),s=o(84922),l=function(){return this};e.exports=function(e,t,o,c){var u=t+" Iterator";return e.prototype=r(n,{next:i(+!c,o)}),a(e,u,!1,!0),s[u]=l,e}},13759:function(e,t,o){"use strict";var n=o(50791),r=o(9093),i=o(70852),a=o(84521),s=o(794),l=o(60928),c=o(1074),u=o(482),d=o(44532),p=o(45840),f=o(35065),h=o(19517),m=o(84922),v=o(77831),g=a.PROPER,y=a.CONFIGURABLE,b=v.IteratorPrototype,_=v.BUGGY_SAFARI_ITERATORS,S=h("iterator"),w="keys",C="values",j="entries",k=function(){return this};e.exports=function(e,t,o,a,h,v,x){l(o,t,a);var E,I,P,T=function(e){if(e===h&&A)return A;if(!_&&e in D)return D[e];switch(e){case w:case C:case j:return function(){return new o(this,e)}}return function(){return new o(this)}},M=t+" Iterator",O=!1,D=e.prototype,z=D[S]||D["@@iterator"]||h&&D[h],A=!_&&z||T(h),L="Array"==t&&D.entries||z;if(L&&(E=c(L.call(new e)))!==Object.prototype&&E.next&&(i||c(E)===b||(u?u(E,b):s(E[S])||f(E,S,k)),d(E,M,!0,!0),i&&(m[M]=k)),g&&h==C&&z&&z.name!==C&&(!i&&y?p(D,"name",C):(O=!0,A=function(){return r(z,this)})),h)if(I={values:T(C),keys:v?A:T(w),entries:T(j)},x)for(P in I)(_||O||!(P in D))&&f(D,P,I[P]);else n({target:t,proto:!0,forced:_||O},I);return i&&!x||D[S]===A||f(D,S,A,{name:h}),m[t]=A,I}},77831:function(e,t,o){"use strict";var n,r,i,a=o(75834),s=o(794),l=o(8148),c=o(93503),u=o(1074),d=o(35065),p=o(19517),f=o(70852),h=p("iterator"),m=!1;[].keys&&("next"in(i=[].keys())?(r=u(u(i)))!==Object.prototype&&(n=r):m=!0),!l(n)||a((function(){var e={};return n[h].call(e)!==e}))?n={}:f&&(n=c(n)),s(n[h])||d(n,h,(function(){return this})),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:m}},84922:function(e){"use strict";e.exports={}},15050:function(e,t,o){"use strict";var n=o(24431);e.exports=function(e){return n(e.length)}},40846:function(e,t,o){"use strict";var n=o(75834),r=o(794),i=o(14434),a=o(13873),s=o(84521).CONFIGURABLE,l=o(92355),c=o(56113),u=c.enforce,d=c.get,p=Object.defineProperty,f=a&&!n((function(){return 8!==p((function(){}),"length",{value:8}).length})),h=String(String).split("String"),m=e.exports=function(e,t,o){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),o&&o.getter&&(t="get "+t),o&&o.setter&&(t="set "+t),(!i(e,"name")||s&&e.name!==t)&&(a?p(e,"name",{value:t,configurable:!0}):e.name=t),f&&o&&i(o,"arity")&&e.length!==o.arity&&p(e,"length",{value:o.arity});try{o&&i(o,"constructor")&&o.constructor?a&&p(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var n=u(e);return i(n,"source")||(n.source=h.join("string"==typeof t?t:"")),e};Function.prototype.toString=m((function(){return r(this)&&d(this).source||l(this)}),"toString")},43932:function(e){"use strict";var t=Math.ceil,o=Math.floor;e.exports=Math.trunc||function(e){var n=+e;return(n>0?o:t)(n)}},93503:function(e,t,o){"use strict";var n,r=o(52313),i=o(5770),a=o(64456),s=o(48889),l=o(36249),c=o(15192),u=o(85475)("IE_PROTO"),d=function(){},p=function(e){return"