jodit-pro
Version:
PRO Version of Jodit Editor
936 lines (841 loc) • 41.6 kB
JavaScript
/*!
* jodit-pro - PRO Version of Jodit Editor
* Author: Chupurnov Valerii <chupurnov@gmail.com>
* Version: v4.9.27
* Url: https://xdsoft.net/jodit/pro/
* License(s): SEE LICENSE IN LICENSE.md
*/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else {
var a = factory();
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
}
})(self, function() {
return (self["webpackChunkjodit_pro"] = self["webpackChunkjodit_pro"] || []).push([[954],{
/***/ 11886:
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
;
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ _: function() { return /* binding */ _object_spread_props; }
/* harmony export */ });
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) {
symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
}
keys.push.apply(keys, symbols);
}
return keys;
}
function _object_spread_props(target, source) {
source = source != null ? source : {};
if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
else {
ownKeys(Object(source)).forEach(function(key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
return target;
}
/***/ }),
/***/ 20104:
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
;
/* harmony import */ var _assets_swap_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(74922);
/* harmony import */ var _assets_swap_svg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_assets_swap_svg__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _assets_translate_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34575);
/* harmony import */ var _assets_translate_svg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_assets_translate_svg__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6441);
/* harmony import */ var jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12153);
/*!
* Jodit Editor PRO (https://xdsoft.net/jodit/)
* See LICENSE.md in the project root for license information.
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
*/
jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.translate = {
hotkeys: {
translateSelection: [
'ctrl+shift+o',
'cmd+shift+o'
],
translateOptions: [
'ctrl+shift+p',
'cmd+shift+p'
]
},
provider: 'google',
googleProviderOptions: {
url: 'https://translation.googleapis.com/language/translate/v2',
key: ''
},
defaultSourceLang: '',
defaultTargetLang: 'de'
};
jodit_esm_config__WEBPACK_IMPORTED_MODULE_2__.Config.prototype.controls.translate = {
translate: {
tooltip: 'Translate selected text',
icon: 'translate',
command: 'translate',
exec: function exec(editor) {
editor.execCommand('translate');
},
list: [
'Options'
],
childExec: function childExec(editor, _, param) {
var control = param.control;
editor.execCommand('translate' + control.name);
},
mods: {
stroke: false
}
}
};
jodit_esm_core_ui_icon__WEBPACK_IMPORTED_MODULE_3__.Icon.set('translate', (_assets_translate_svg__WEBPACK_IMPORTED_MODULE_1___default())).set('translate-swap', (_assets_swap_svg__WEBPACK_IMPORTED_MODULE_0___default()));
/***/ }),
/***/ 27834:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
;
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ GoogleTranslateProvider: function() { return /* binding */ GoogleTranslateProvider; }
/* harmony export */ });
/* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20616);
/* harmony import */ var _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67709);
/* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82749);
/* harmony import */ var _swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(56075);
/* harmony import */ var _swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11886);
/* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(82758);
/* harmony import */ var jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(38837);
/* harmony import */ var jodit_pro_plugins_translate_providers_languages__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(80942);
/*!
* Jodit Editor PRO (https://xdsoft.net/jodit/)
* See LICENSE.md in the project root for license information.
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
*/
var GoogleTranslateProvider = /*#__PURE__*/ function() {
"use strict";
function GoogleTranslateProvider(jodit) {
(0,_swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_0__._)(this, GoogleTranslateProvider);
(0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_2__._)(this, "jodit", void 0);
this.jodit = jodit;
}
(0,_swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_1__._)(GoogleTranslateProvider, [
{
key: "__fetch",
value: function __fetch(command) {
var _this = this;
var data = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
var opt = this.jodit.o.translate.googleProviderOptions;
(0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_6__.assert)(opt, 'Set googleProviderOptions');
return this.jodit.fetch(opt.url + '?key=' + opt.key, {
method: 'POST',
data: (0,_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_4__._)((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_3__._)({}, data), {
ui: this.jodit.o.language
}),
contentType: 'application/json; charset=utf-8',
withCredentials: false
}).then(function(resp) {
return resp.json();
}).catch(function(resp) {
try {
_this.jodit.message.error(resp.json().message);
} catch (e) {
if (!jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_5__.IS_PROD) {
console.error(e);
}
}
});
}
},
{
key: "translate",
value: function translate(q, source, target) {
return this.__fetch('translate', {
q: q,
source: source,
target: target,
format: 'html'
}).then(function(resp) {
return {
text: resp.data.translations[0].translatedText
};
});
}
},
{
key: "supportedLanguages",
value: function supportedLanguages() {
return Promise.resolve({
langs: jodit_pro_plugins_translate_providers_languages__WEBPACK_IMPORTED_MODULE_7__.languages
});
}
}
]);
return GoogleTranslateProvider;
}();
/***/ }),
/***/ 33124:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
;
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ UITranslateSettings: function() { return /* binding */ UITranslateSettings; }
/* harmony export */ });
/* harmony import */ var _swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80294);
/* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20616);
/* harmony import */ var _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67709);
/* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82749);
/* harmony import */ var _swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18766);
/* harmony import */ var _swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(56075);
/* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(31635);
/* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(65478);
/* harmony import */ var jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(67510);
/* harmony import */ var jodit_pro_plugins_translate_ui_list_list__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(67082);
/*!
* Jodit Editor PRO (https://xdsoft.net/jodit/)
* See LICENSE.md in the project root for license information.
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
*/
var UITranslateSettings = /*#__PURE__*/ function(UIElement) {
"use strict";
(0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__._)(UITranslateSettings, UIElement);
function UITranslateSettings(jodit, state, options) {
(0,_swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_1__._)(this, UITranslateSettings);
var _this;
var _this_getElm, _this_getElm1;
_this = (0,_swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_0__._)(this, UITranslateSettings, [
jodit
]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "state", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "__sourceList", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "__targetList", void 0), _this.state = state, _this.options = options;
_this.__sourceList = new jodit_pro_plugins_translate_ui_list_list__WEBPACK_IMPORTED_MODULE_9__.UITranslateList(jodit, {
list: options.sourceList,
active: state.sourceLang,
onChange: function onChange(lang) {
_this.state.sourceLang = lang;
_this.options.onChange((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_5__._)({}, _this.state));
}
});
(_this_getElm = _this.getElm('source-list')) === null || _this_getElm === void 0 ? void 0 : _this_getElm.appendChild(_this.__sourceList.container);
_this.__targetList = new jodit_pro_plugins_translate_ui_list_list__WEBPACK_IMPORTED_MODULE_9__.UITranslateList(jodit, {
list: options.targetList,
active: state.targetLang,
onChange: function onChange(lang) {
_this.state.targetLang = lang;
_this.options.onChange((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_5__._)({}, _this.state));
}
});
(_this_getElm1 = _this.getElm('target-list')) === null || _this_getElm1 === void 0 ? void 0 : _this_getElm1.appendChild(_this.__targetList.container);
return _this;
}
(0,_swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_2__._)(UITranslateSettings, [
{
key: "className",
value: function className() {
return 'UITranslateSettings';
}
},
{
key: "render",
value: function render() {
return "<div>\n <div class='&__list &__source-list'></div>\n <div class='&__arrow'>\n <a class='&__arrow-swap'>*translate-swap*</a>\n </div>\n <div class='&__list &__target-list'></div>\n </div>";
}
},
{
key: "__onSwap",
value: function __onSwap() {
var tmp = this.state.sourceLang;
this.state.sourceLang = this.state.targetLang;
this.state.targetLang = tmp;
this.__sourceList.state.active = this.state.sourceLang;
this.__targetList.state.active = this.state.targetLang;
this.options.onChange((0,_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_5__._)({}, this.state));
}
}
]);
return UITranslateSettings;
}(jodit_esm_core_ui__WEBPACK_IMPORTED_MODULE_8__.UIElement);
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__decorate)([
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.watch)('arrow-swap:click')
], UITranslateSettings.prototype, "__onSwap", null);
UITranslateSettings = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_6__.__decorate)([
jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.component
], UITranslateSettings);
/***/ }),
/***/ 34575:
/***/ (function(module) {
module.exports = "<svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M4.545 6.714 4.11 8H3l1.862-5h1.284L8 8H6.833l-.435-1.286H4.545zm1.634-.736L5.5 3.956h-.049l-.679 2.022H6.18z\"/> <path d=\"M0 2a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v3h3a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-3H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2zm7.138 9.995c.193.301.402.583.63.846-.748.575-1.673 1.001-2.768 1.292.178.217.451.635.555.867 1.125-.359 2.08-.844 2.886-1.494.777.665 1.739 1.165 2.93 1.472.133-.254.414-.673.629-.89-1.125-.253-2.057-.694-2.82-1.284.681-.747 1.222-1.651 1.621-2.757H14V8h-3v1.047h.765c-.318.844-.74 1.546-1.272 2.13a6.066 6.066 0 0 1-.415-.492 1.988 1.988 0 0 1-.94.31z\"/> </svg>"
/***/ }),
/***/ 67082:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
;
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ UITranslateList: function() { return /* binding */ UITranslateList; }
/* harmony export */ });
/* harmony import */ var _swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80294);
/* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20616);
/* harmony import */ var _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67709);
/* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(82749);
/* harmony import */ var _swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18766);
/* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(31635);
/* harmony import */ var jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(82758);
/* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(65478);
/* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2748);
/* harmony import */ var jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(21537);
/* harmony import */ var jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(29960);
/* harmony import */ var jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(48538);
/* harmony import */ var jodit_esm_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(80256);
/*!
* Jodit Editor PRO (https://xdsoft.net/jodit/)
* See LICENSE.md in the project root for license information.
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
*/
var UITranslateList = /*#__PURE__*/ function(UIElement) {
"use strict";
(0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__._)(UITranslateList, UIElement);
function UITranslateList(jodit, options) {
(0,_swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_1__._)(this, UITranslateList);
var _this;
var _this_getElm;
_this = (0,_swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_0__._)(this, UITranslateList, [
jodit,
options
]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "options", void 0), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_3__._)(_this, "state", void 0), _this.options = options, _this.state = {
active: ''
};
_this.state.active = options.active;
var input = new jodit_esm_core_ui_form_inputs_input_input__WEBPACK_IMPORTED_MODULE_12__.UIInput(jodit, {
placeholder: jodit.i18n('Filter'),
icon: 'search',
onChange: _this.__onChangeFilter,
clearButton: true
});
(_this_getElm = _this.getElm('input')) === null || _this_getElm === void 0 ? void 0 : _this_getElm.appendChild(input.container);
_this.__onActiveChange();
return _this;
}
(0,_swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_2__._)(UITranslateList, [
{
key: "className",
value: function className() {
return 'UITranslateList';
}
},
{
key: "items",
get: function get() {
return this.getElms('item');
}
},
{
key: "render",
value: function render(options) {
var _this = this;
var list = [];
Object.keys(options.list).sort().forEach(function(lang) {
var key = options.list[lang];
list.push("<a role='button' tabindex='0' class='&__item' data-lang='".concat(key, "'>\n <span class='&__item-key'>").concat(key, "</span>\n <span class='&__item-title'>").concat(_this.j.i18n(lang), "</span>\n </a>"));
});
return "<div class='&'>\n <div class='&__input'></div>\n <div class='&__list'>".concat(list.join(''), "</div>\n </div>");
}
},
{
key: "__onChangeFilter",
value: function __onChangeFilter(value) {
this.items.forEach(function(elm) {
var _ref;
var _elm_textContent;
var key = (_ref = (_elm_textContent = elm.textContent) === null || _elm_textContent === void 0 ? void 0 : _elm_textContent.toLowerCase()) !== null && _ref !== void 0 ? _ref : '';
(0,jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_10__.attr)(elm, 'data-hidden', (0,jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_10__.attr)(elm, 'data-active') !== 'true' && !key.includes(value.toLowerCase()));
});
}
},
{
key: "__scrollToActive",
value: function __scrollToActive() {
var active = this.container.querySelector('[data-active="true"]');
var list = this.getElm('list');
active && list && (0,jodit_esm_core_helpers__WEBPACK_IMPORTED_MODULE_9__.scrollIntoViewIfNeeded)(active, list, this.j.od);
}
},
{
key: "onClickItem",
value: function onClickItem(e) {
if (e.type === 'keydown' && 'key' in e && e.key !== jodit_esm_core_constants__WEBPACK_IMPORTED_MODULE_6__.KEY_ENTER) {
return;
}
var target = e.target;
if (jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_8__.Dom.isHTMLElement(target) && target.getAttribute('data-lang')) {
var newValue = (0,jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_10__.attr)(target, 'data-lang');
this.options.onChange(newValue);
this.state.active = newValue;
}
}
},
{
key: "__onActiveChange",
value: function __onActiveChange() {
var _this = this;
this.items.forEach(function(elm) {
return (0,jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_10__.attr)(elm, 'data-active', (0,jodit_esm_core_helpers_utils_attr__WEBPACK_IMPORTED_MODULE_10__.attr)(elm, 'data-lang') === _this.state.active);
});
this.__scrollToActive();
}
}
]);
return UITranslateList;
}(jodit_esm_core_ui_element__WEBPACK_IMPORTED_MODULE_11__.UIElement);
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.debounce)()
], UITranslateList.prototype, "__onChangeFilter", null);
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.watch)(':afterOpen')
], UITranslateList.prototype, "__scrollToActive", null);
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.watch)([
'container:click',
'container:keydown'
])
], UITranslateList.prototype, "onClickItem", null);
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.watch)('state.active'),
(0,jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.debounce)()
], UITranslateList.prototype, "__onActiveChange", null);
UITranslateList = (0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_7__.component
], UITranslateList);
/***/ }),
/***/ 73098:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
;
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Translate: function() { return /* binding */ Translate; }
/* harmony export */ });
/* harmony import */ var _swc_helpers_async_to_generator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(77688);
/* harmony import */ var _swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(80294);
/* harmony import */ var _swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20616);
/* harmony import */ var _swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67709);
/* harmony import */ var _swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82749);
/* harmony import */ var _swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(18766);
/* harmony import */ var _swc_helpers_wrap_native_super__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(23078);
/* harmony import */ var _swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31635);
/* harmony import */ var _swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(62361);
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(20104);
/* harmony import */ var _providers_google_google__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(27834);
/* harmony import */ var _ui_settings_settings__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(33124);
/* harmony import */ var _replace_text_fragments__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(73534);
/* harmony import */ var jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(65478);
/* harmony import */ var jodit_esm_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(23282);
/* harmony import */ var jodit_esm_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(70799);
/* harmony import */ var jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(38837);
/* harmony import */ var jodit_esm_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(96325);
/* harmony import */ var jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(50911);
/* harmony import */ var jodit_esm_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(10830);
/* harmony import */ var jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(2692);
/*!
* Jodit Editor PRO (https://xdsoft.net/jodit/)
* See LICENSE.md in the project root for license information.
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
*/
var Translate = /*#__PURE__*/ function(Plugin) {
"use strict";
(0,_swc_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__._)(Translate, Plugin);
function Translate() {
(0,_swc_helpers_class_call_check__WEBPACK_IMPORTED_MODULE_2__._)(this, Translate);
var _this;
_this = (0,_swc_helpers_call_super__WEBPACK_IMPORTED_MODULE_1__._)(this, Translate, arguments), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "buttons", [
{
name: 'translate.translate',
group: 'insert'
}
]), (0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(_this, "state", {
sourceLang: _this.jodit.o.translate.defaultSourceLang || 'en',
targetLang: _this.jodit.o.translate.defaultTargetLang
});
return _this;
}
(0,_swc_helpers_create_class__WEBPACK_IMPORTED_MODULE_3__._)(Translate, [
{
key: "__getProvider",
value: function __getProvider() {
var provider = this.jodit.options.translate.provider;
if ((0,jodit_esm_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_15__.isString)(provider)) {
switch(provider){
case 'google':
return new _providers_google_google__WEBPACK_IMPORTED_MODULE_10__.GoogleTranslateProvider(this.j);
default:
throw new Error('Unknown provider');
}
}
(0,jodit_esm_core_helpers_utils_assert__WEBPACK_IMPORTED_MODULE_16__.assert)((0,jodit_esm_core_helpers_checker_is_function__WEBPACK_IMPORTED_MODULE_14__.isFunction)(provider), 'Provider must be a function');
return provider(this.jodit);
}
},
{
key: "afterInit",
value: function afterInit(jodit) {
var _this = this;
var defaultLanguage = (0,jodit_esm_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_17__.defaultLanguage)(jodit.o.language, jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_20__.JoditPro.defaultOptions.language), language = (0,jodit_esm_core_helpers_utils_default_language__WEBPACK_IMPORTED_MODULE_17__.defaultLanguage)(jodit.o.language, defaultLanguage);
var provider = this.__getProvider();
jodit.registerCommand('translateOptions', {
exec: function exec() {
return (0,_swc_helpers_async_to_generator__WEBPACK_IMPORTED_MODULE_0__._)(function() {
var _this, newState, dlg, langs, settings;
return (0,_swc_helpers_ts_generator__WEBPACK_IMPORTED_MODULE_8__._)(this, function(_state) {
switch(_state.label){
case 0:
_this = this;
newState = this.state;
dlg = jodit.dlg();
dlg.setHeader('Translate options');
return [
4,
provider.supportedLanguages()
];
case 1:
langs = _state.sent();
settings = new _ui_settings_settings__WEBPACK_IMPORTED_MODULE_11__.UITranslateSettings(dlg, this.state, {
sourceList: langs.langs,
targetList: langs.langs,
onChange: function onChange(state) {
newState = state;
}
});
dlg.setContent(settings);
dlg.setFooter([
(0,jodit_esm_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_19__.Button)(jodit, 'cancel', 'Cancel').onAction(function() {
return dlg.close();
}),
(0,jodit_esm_core_ui_button_button_button__WEBPACK_IMPORTED_MODULE_19__.Button)(jodit, 'ok', 'Save', 'primary').onAction(function() {
_this.state = newState;
dlg.close();
})
]);
settings.bindDestruct(dlg);
dlg.setSize(500, 400).open(true);
return [
2
];
}
});
}).call(_this);
},
hotkeys: jodit.o.translate.hotkeys.translateOptions
}).registerCommand('translate', {
exec: function exec() {
var selection = (0,_replace_text_fragments__WEBPACK_IMPORTED_MODULE_12__.getSelectionFragments)(jodit).filter(function(fragment) {
return fragment.text.trim().length > 0;
});
if (!selection.length) {
jodit.message.error('Select text for translate');
return;
}
var source = !_this.state.sourceLang || _this.state.sourceLang === 'auto' ? language : _this.state.sourceLang;
var target = _this.state.targetLang;
return Promise.all(selection.map(function(fragment) {
provider.translate(fragment.text, source, target).then(function(response) {
fragment.replace(response.text);
}).catch(function(error) {
jodit.message.error((0,jodit_esm_core_helpers_checker_is_string__WEBPACK_IMPORTED_MODULE_15__.isString)(error) ? error : error.message);
});
})).then(function() {
jodit.synchronizeValues();
});
},
hotkeys: jodit.o.translate.hotkeys.translateSelection
});
}
},
{
key: "beforeDestruct",
value: function beforeDestruct(jodit) {}
}
]);
return Translate;
}((0,_swc_helpers_wrap_native_super__WEBPACK_IMPORTED_MODULE_6__._)(jodit_esm_core_plugin__WEBPACK_IMPORTED_MODULE_18__.Plugin));
(0,_swc_helpers_define_property__WEBPACK_IMPORTED_MODULE_4__._)(Translate, "requires", [
'license'
]);
(0,_swc_helpers_ts_decorate__WEBPACK_IMPORTED_MODULE_7__.__decorate)([
jodit_esm_core_decorators__WEBPACK_IMPORTED_MODULE_13__.persistent
], Translate.prototype, "state", void 0);
jodit_pro_jodit_pro__WEBPACK_IMPORTED_MODULE_20__.JoditPro.plugins.add('translate', Translate);
/***/ }),
/***/ 73534:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
;
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ getSelectionFragments: function() { return /* binding */ getSelectionFragments; }
/* harmony export */ });
/* harmony import */ var jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2748);
function getSelectionFragments(jodit) {
var result = [];
var selection = jodit.s.expandSelection().sel;
if (!selection || selection.rangeCount === 0 || selection.isCollapsed) {
return result;
}
jodit.s.range.commonAncestorContainer.normalize();
var range = jodit.s.range;
var commonAncestorContainer = range.commonAncestorContainer, startContainer = range.startContainer, endContainer = range.endContainer, startOffset = range.startOffset, endOffset = range.endOffset;
if (startContainer === endContainer) {
if (jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isText(startContainer)) {
return [
replaceTextNode(startContainer, startOffset, endOffset)
];
}
// One child selected exactly
if (endOffset - startOffset === 1) {
var childNode = startContainer.childNodes[startOffset];
if (jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isText(childNode)) {
return [
replaceTextNode(childNode, 0, childNode.nodeValue.length)
];
}
return [
replaceElementNode(childNode)
];
}
// Whole container contents selected
if (startOffset === 0 && startContainer.childNodes.length === endOffset) {
return [
replaceElementNode(startContainer)
];
}
// Range spans multiple children of the same container
for(var i = startOffset; i < endOffset; i++){
var childNode1 = startContainer.childNodes[i];
if (jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isText(childNode1)) {
result.push(replaceTextNode(childNode1, 0, childNode1.nodeValue.length));
} else {
result.push(replaceElementNode(childNode1));
}
}
return result;
}
var allContainedEls = new Set();
var walker = jodit.ed.createTreeWalker(commonAncestorContainer, NodeFilter.SHOW_ALL, {
acceptNode: function acceptNode(n) {
if (!range.intersectsNode(n)) return NodeFilter.FILTER_REJECT;
if (jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.closest(n, function(el) {
return el && allContainedEls.has(el);
}, commonAncestorContainer)) {
return NodeFilter.FILTER_REJECT;
}
return NodeFilter.FILTER_ACCEPT;
}
});
var nextNode = walker.nextNode();
while(nextNode){
if (jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isElement(nextNode) && fullyContains(range, nextNode)) {
allContainedEls.add(nextNode);
result.push(replaceElementNode(nextNode));
} else if (jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isText(nextNode) && fullyContains(range, nextNode)) {
result.push(replaceTextNode(nextNode, 0, nextNode.nodeValue.length));
} else if (jodit_esm_core_dom_dom__WEBPACK_IMPORTED_MODULE_0__.Dom.isText(nextNode)) {
var sOffset = 0;
var eOffset = nextNode.nodeValue.length;
if (nextNode === startContainer) {
sOffset = startOffset;
}
if (nextNode === endContainer) {
eOffset = endOffset;
}
result.push(replaceTextNode(nextNode, sOffset, eOffset));
}
nextNode = walker.nextNode();
}
return result;
}
var fullyContains = function fullyContains(r, node) {
var nr = document.createRange();
// For containment, we want the node’s *contents*
try {
nr.selectNodeContents(node);
} catch (unused) {
nr.selectNode(node);
}
return r.compareBoundaryPoints(Range.START_TO_START, nr) <= 0 && r.compareBoundaryPoints(Range.END_TO_END, nr) >= 0;
};
function replaceTextNode(node, start, end) {
var text = node.nodeValue.slice(start, end);
return {
text: text,
replace: function replace(newText) {
node.nodeValue = node.nodeValue.slice(0, start) + newText + node.nodeValue.slice(end);
}
};
}
function replaceElementNode(node) {
var el = node;
return {
text: el.innerHTML,
replace: function replace(newHTML) {
el.innerHTML = newHTML;
}
};
}
/***/ }),
/***/ 74922:
/***/ (function(module) {
module.exports = "<svg viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M13.98 22L6 30l7.98 8v-6H28v-4H13.98v-6zM42 18l-7.98-8v6H20v4h14.02v6L42 18z\"/> <path d=\"M0 0h48v48H0z\" fill=\"none\"/> </svg>"
/***/ }),
/***/ 80942:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
;
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ languages: function() { return /* binding */ languages; }
/* harmony export */ });
/*!
* Jodit Editor PRO (https://xdsoft.net/jodit/)
* See LICENSE.md in the project root for license information.
* Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
*/ var languages = {
Afrikaans: 'af',
Albanian: 'sq',
Amharic: 'am',
Arabic: 'ar',
Armenian: 'hy',
'Assamese*': 'as',
'Aymara*': 'ay',
Azerbaijani: 'az',
'Bambara*': 'bm',
Basque: 'eu',
Belarusian: 'be',
Bengali: 'bn',
'Bhojpuri*': 'bho',
Bosnian: 'bs',
Bulgarian: 'bg',
Catalan: 'ca',
Cebuano: 'ceb',
'Chinese (Simplified)': 'zh-CN',
'Chinese (Traditional)': 'zh-TW',
Corsican: 'co',
Croatian: 'hr',
Czech: 'cs',
Danish: 'da',
'Dhivehi*': 'dv',
'Dogri*': 'doi',
Dutch: 'nl',
English: 'en',
Esperanto: 'eo',
Estonian: 'et',
'Ewe*': 'ee',
'Filipino (Tagalog)': 'fil',
Finnish: 'fi',
French: 'fr',
Frisian: 'fy',
Galician: 'gl',
Georgian: 'ka',
German: 'de',
Greek: 'el',
'Guarani*': 'gn',
Gujarati: 'gu',
'Haitian Creole': 'ht',
Hausa: 'ha',
Hawaiian: 'haw',
Hebrew: 'he',
Hindi: 'hi',
Hmong: 'hmn',
Hungarian: 'hu',
Icelandic: 'is',
Igbo: 'ig',
'Ilocano*': 'ilo',
Indonesian: 'id',
Irish: 'ga',
Italian: 'it',
Japanese: 'ja',
Kannada: 'kn',
Kazakh: 'kk',
Khmer: 'km',
Kinyarwanda: 'rw',
'Konkani*': 'gom',
Korean: 'ko',
'Krio*': 'kri',
Kurdish: 'ku',
'Kurdish (Sorani)*': 'ckb',
Kyrgyz: 'ky',
Lao: 'lo',
Latin: 'la',
Latvian: 'lv',
'Lingala*': 'ln',
Lithuanian: 'lt',
'Luganda*': 'lg',
Luxembourgish: 'lb',
Macedonian: 'mk',
'Maithili*': 'mai',
Malagasy: 'mg',
Malay: 'ms',
Malayalam: 'ml',
Maltese: 'mt',
Maori: 'mi',
Marathi: 'mr',
'Meiteilon (Manipuri)*': 'mni-Mtei',
Mizo: 'lus',
Mongolian: 'mn',
'Myanmar (Burmese)': 'my',
Nepali: 'ne',
Norwegian: 'no',
'Nyanja (Chichewa)': 'ny',
'Odia (Oriya)': 'or',
'Oromo*': 'om',
Pashto: 'ps',
Persian: 'fa',
Polish: 'pl',
Portuguese: 'pt',
Punjabi: 'pa',
'Quechua*': 'qu',
Romanian: 'ro',
Russian: 'ru',
Samoan: 'sm',
'Sanskrit*': 'sa',
'Scots Gaelic': 'gd',
'Sepedi*': 'nso',
Serbian: 'sr',
Sesotho: 'st',
Shona: 'sn',
Sindhi: 'sd',
'Sinhala (Sinhalese)': 'si',
Slovak: 'sk',
Slovenian: 'sl',
Somali: 'so',
Spanish: 'es',
Sundanese: 'su',
Swahili: 'sw',
Swedish: 'sv',
'Tagalog (Filipino)': 'tl',
Tajik: 'tg',
Tamil: 'ta',
Tatar: 'tt',
Telugu: 'te',
Thai: 'th',
'Tigrinya*': 'ti',
'Tsonga*': 'ts',
Turkish: 'tr',
Turkmen: 'tk',
'Twi (Akan)*': 'ak',
Ukrainian: 'uk',
Urdu: 'ur',
Uyghur: 'ug',
Uzbek: 'uz',
Vietnamese: 'vi',
Welsh: 'cy',
Xhosa: 'xh',
Yiddish: 'yi',
Yoruba: 'yo',
Zulu: 'zu'
};
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ var __webpack_exports__ = (__webpack_exec__(73098));
/******/ return __webpack_exports__;
/******/ }
]);
});