@ckeditor/ckeditor5-source-editing-enhanced 48.8.1-alpha.3 → 49.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/augmentation.d.ts +20 -20
- package/dist/index-editor.css +35 -24
- package/dist/index.css +23 -12
- package/dist/index.d.ts +12 -10
- package/dist/index.js +1 -1
- package/dist/replacesourcecommand.d.ts +23 -23
- package/dist/sourceeditingenhanced.d.ts +41 -42
- package/dist/sourceeditingenhancedconfig.d.ts +44 -44
- package/dist/sourceeditingenhancedui.d.ts +34 -35
- package/dist/translations/af.js +1 -1
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.js +1 -1
- package/dist/translations/zh.umd.js +1 -1
- package/dist/ui/codeeditorview.d.ts +46 -46
- package/dist/ui/editsourcecommand.d.ts +21 -21
- package/dist/utils/common-translations.d.ts +6 -6
- package/dist/utils/createcodemirroreditor.d.ts +54 -54
- package/dist/utils/format.d.ts +15 -15
- package/dist/utils/getactiverootname.d.ts +6 -6
- package/package.json +7 -6
package/dist/augmentation.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import type { SourceEditingEnhanced, SourceEditingEnhancedConfig, ReplaceSourceCommand, EditSourceCommand } from
|
|
6
|
-
declare module
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/
|
|
5
|
+
import type { SourceEditingEnhanced, SourceEditingEnhancedConfig, ReplaceSourceCommand, EditSourceCommand } from "./index.js";
|
|
6
|
+
declare module "@ckeditor/ckeditor5-core" {
|
|
7
|
+
interface EditorConfig {
|
|
8
|
+
/**
|
|
9
|
+
* The configuration of the source editing enhanced feature.
|
|
10
|
+
*
|
|
11
|
+
* Read more in {@link module:source-editing-enhanced/sourceeditingenhancedconfig~SourceEditingEnhancedConfig}.
|
|
12
|
+
*/
|
|
13
|
+
sourceEditingEnhanced?: SourceEditingEnhancedConfig;
|
|
14
|
+
}
|
|
15
|
+
interface PluginsMap {
|
|
16
|
+
[SourceEditingEnhanced.pluginName]: SourceEditingEnhanced;
|
|
17
|
+
}
|
|
18
|
+
interface CommandsMap {
|
|
19
|
+
replaceSource: ReplaceSourceCommand;
|
|
20
|
+
editSource: EditSourceCommand;
|
|
21
|
+
}
|
|
22
22
|
}
|
package/dist/index-editor.css
CHANGED
|
@@ -2,32 +2,43 @@
|
|
|
2
2
|
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
4
|
*/
|
|
5
|
-
:root{
|
|
6
|
-
--ck-source-editing-enhanced-height:calc(var(--ck-dialog-max-height)
|
|
7
|
-
- var(--ck-form-header-height)
|
|
8
|
-
- 2 * var(--ck-spacing-large)
|
|
9
|
-
- var(--ck-ui-component-min-height)
|
|
10
|
-
- 2 * var(--ck-spacing-tiny)
|
|
11
|
-
|
|
5
|
+
:root, :host {
|
|
6
|
+
--ck-source-editing-enhanced-height: calc(var(--ck-dialog-max-height) /* ─▶ Total max height of the dialog */
|
|
7
|
+
- var(--ck-form-header-height) /* ─▶ Height of the dialog header */
|
|
8
|
+
- 2 * var(--ck-spacing-large, var(--ck-spacing-lg)) /* ─┐ */
|
|
9
|
+
- var(--ck-ui-component-min-height, var(--ck-size-min-height)) /* ├─▶ Height of the dialog actions bar */
|
|
10
|
+
- 2 * var(--ck-spacing-tiny, var(--ck-spacing-xs)) /* ─┘ */
|
|
11
|
+
- 2 * var(--ck-dialog-content-padding) /* ─▶ Padding of the dialog content */);
|
|
12
|
+
--ck-source-editing-enhanced-width: min(80vw, 1200px);
|
|
13
|
+
--ck-source-editing-enhanced-font-size: var(--ck-font-size-md);
|
|
12
14
|
}
|
|
13
15
|
|
|
14
|
-
.ck.ck-code-editor{
|
|
15
|
-
white-space:initial;
|
|
16
|
-
|
|
17
|
-
height:var(--ck-source-editing-enhanced-height);
|
|
18
|
-
width:var(--ck-source-editing-enhanced-width);
|
|
19
|
-
flex-direction:row;
|
|
20
|
-
justify-content:flex-start;
|
|
21
|
-
align-items:stretch;
|
|
22
|
-
margin:0 auto;
|
|
23
|
-
display:flex;
|
|
24
|
-
}
|
|
16
|
+
.ck.ck-code-editor {
|
|
17
|
+
white-space: initial;
|
|
18
|
+
padding: var(--ck-dialog-content-padding);
|
|
19
|
+
height: var(--ck-source-editing-enhanced-height);
|
|
20
|
+
width: var(--ck-source-editing-enhanced-width);
|
|
21
|
+
flex-direction: row;
|
|
22
|
+
justify-content: flex-start;
|
|
23
|
+
align-items: stretch;
|
|
24
|
+
margin: 0 auto;
|
|
25
|
+
display: flex;
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
& .cm-editor {
|
|
28
|
+
width: 100%;
|
|
29
|
+
font-size: var(--ck-source-editing-enhanced-font-size);
|
|
30
|
+
border: var(--ck-border-control);
|
|
31
|
+
border-radius: var(--ck-input-border-radius);
|
|
32
|
+
flex-grow: 1;
|
|
33
|
+
|
|
34
|
+
&.cm-focused {
|
|
35
|
+
border-color: var(--ck-input-focus-border-color);
|
|
36
|
+
box-shadow: var(--ck-interactive-focus-shadow), 0 0;
|
|
37
|
+
outline: none;
|
|
38
|
+
}
|
|
30
39
|
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
& .cm-scroller {
|
|
41
|
+
border-radius: var(--ck-input-border-radius);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
33
44
|
}
|
package/dist/index.css
CHANGED
|
@@ -2,18 +2,20 @@
|
|
|
2
2
|
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
4
|
*/
|
|
5
|
-
:root {
|
|
5
|
+
:root, :host {
|
|
6
6
|
--ck-source-editing-enhanced-height: calc(var(--ck-dialog-max-height) /* ─▶ Total max height of the dialog */
|
|
7
7
|
- var(--ck-form-header-height) /* ─▶ Height of the dialog header */
|
|
8
|
-
- 2 * var(--ck-spacing-large) /* ─┐ */
|
|
9
|
-
- var(--ck-ui-component-min-height) /* ├─▶ Height of the dialog actions bar */
|
|
10
|
-
- 2 * var(--ck-spacing-tiny) /* ─┘ */
|
|
8
|
+
- 2 * var(--ck-spacing-large, var(--ck-spacing-lg)) /* ─┐ */
|
|
9
|
+
- var(--ck-ui-component-min-height, var(--ck-size-min-height)) /* ├─▶ Height of the dialog actions bar */
|
|
10
|
+
- 2 * var(--ck-spacing-tiny, var(--ck-spacing-xs)) /* ─┘ */
|
|
11
|
+
- 2 * var(--ck-dialog-content-padding) /* ─▶ Padding of the dialog content */);
|
|
11
12
|
--ck-source-editing-enhanced-width: min(80vw, 1200px);
|
|
13
|
+
--ck-source-editing-enhanced-font-size: var(--ck-font-size-md);
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
.ck.ck-code-editor {
|
|
15
17
|
white-space: initial;
|
|
16
|
-
|
|
18
|
+
padding: var(--ck-dialog-content-padding);
|
|
17
19
|
height: var(--ck-source-editing-enhanced-height);
|
|
18
20
|
width: var(--ck-source-editing-enhanced-width);
|
|
19
21
|
flex-direction: row;
|
|
@@ -21,13 +23,22 @@
|
|
|
21
23
|
align-items: stretch;
|
|
22
24
|
margin: 0 auto;
|
|
23
25
|
display: flex;
|
|
24
|
-
}
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
& .cm-editor {
|
|
28
|
+
width: 100%;
|
|
29
|
+
font-size: var(--ck-source-editing-enhanced-font-size);
|
|
30
|
+
border: var(--ck-border-control);
|
|
31
|
+
border-radius: var(--ck-input-border-radius);
|
|
32
|
+
flex-grow: 1;
|
|
33
|
+
|
|
34
|
+
&.cm-focused {
|
|
35
|
+
border-color: var(--ck-input-focus-border-color);
|
|
36
|
+
box-shadow: var(--ck-interactive-focus-shadow), 0 0;
|
|
37
|
+
outline: none;
|
|
38
|
+
}
|
|
30
39
|
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
& .cm-scroller {
|
|
41
|
+
border-radius: var(--ck-input-border-radius);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
33
44
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/
|
|
5
5
|
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export { SourceEditingEnhanced } from
|
|
9
|
-
export { ReplaceSourceCommand } from
|
|
10
|
-
export { EditSourceCommand } from
|
|
11
|
-
export type { SourceEditingEnhancedConfig } from
|
|
12
|
-
import
|
|
6
|
+
* @module source-editing-enhanced
|
|
7
|
+
*/
|
|
8
|
+
export { SourceEditingEnhanced } from "./sourceeditingenhanced.js";
|
|
9
|
+
export { ReplaceSourceCommand } from "./replacesourcecommand.js";
|
|
10
|
+
export { EditSourceCommand } from "./ui/editsourcecommand.js";
|
|
11
|
+
export type { SourceEditingEnhancedConfig } from "./sourceeditingenhancedconfig.js";
|
|
12
|
+
import "../theme/index-editor.css";
|
|
13
|
+
import "../theme/index-content.css";
|
|
14
|
+
import "./augmentation.js";
|
package/dist/index.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Command as _0x3938a2,PendingActions as _0x477d2b,Plugin as _0x526623}from'@ckeditor/ckeditor5-core/dist/index.js';import{CKEditorError as _0x593c24,formatHtml as _0x41b898,env as _0x2a7bf1,uid as _0x44e934}from'@ckeditor/ckeditor5-utils/dist/index.js';import{IconSource as _0x14432a}from'@ckeditor/ckeditor5-icons/dist/index.js';import{View as _0x5cf402,ButtonView as _0x44a85a,MenuBarMenuListItemButtonView as _0x473721}from'@ckeditor/ckeditor5-ui/dist/index.js';import{EditorView as _0x48bca3,crosshairCursor as _0x4ab89e,drawSelection as _0x49bcf0,dropCursor as _0x41d240,lineNumbers as _0x291871,highlightActiveLine as _0x44663c,highlightActiveLineGutter as _0x3c8a2b,highlightSpecialChars as _0x1465a1,rectangularSelection as _0x211a18,keymap as _0x15bc69}from'@codemirror/view';import{Compartment as _0x5a577d,Transaction as _0x2adace}from'@codemirror/state';import{bracketMatching as _0xc008cb,foldGutter as _0x22a23d,indentOnInput as _0xe17946,syntaxHighlighting as _0x39079a,defaultHighlightStyle as _0x39fecf,foldKeymap as _0x293acd}from'@codemirror/language';import{toggleTabFocusMode as _0x529d8b,history as _0x54a6cc,defaultKeymap as _0x99b0f3,historyKeymap as _0x4b8c2b,indentLess as _0xffa263,indentMore as _0x1e3671,redo as _0x5130d4,undo as _0x5831d1}from'@codemirror/commands';import{autocompletion as _0x19e6b8,closeBrackets as _0x64cd12,closeBracketsKeymap as _0x40ac96,completionKeymap as _0x5ecd4a}from'@codemirror/autocomplete';import{html as _0x1dc834}from'@codemirror/lang-html';import{markdown as _0x11a421}from'@codemirror/lang-markdown';import{oneDark as _0x37385c}from'@codemirror/theme-one-dark';function q(_0x4f7cb3,_0x2094f1){const t=_0x4f7cb3['t'];switch(_0x2094f1){case'Edit\x20source\x20modal\x20label':return t({'string':'Edit\x20source','id':'Edit\x20source\x20modal\x20label'});case'Source':return t('Source');case'Source\x20Editing\x20Enhanced':return t('Source\x20Editing\x20Enhanced');case'Copy\x20line\x20down':return t('Copy\x20line\x20down');case'Copy\x20line\x20up':return t('Copy\x20line\x20up');case'Delete\x20line':return t('Delete\x20line');case'Indent\x20less':return t('Indent\x20less');case'Indent\x20more':return t('Indent\x20more');case'Fold\x20all':return t('Fold\x20all');case'Fold\x20code\x20(current\x20level)':return t('Fold\x20code\x20(current\x20level)');case'Move\x20line\x20down':return t('Move\x20line\x20down');case'Move\x20line\x20up':return t('Move\x20line\x20up');case'Redo\x20(keystroke)':return t({'id':'Redo\x20(keystroke)','string':'Redo'});case'Select\x20line':return t('Select\x20line');case'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode':return t('Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode');case'Toggle\x20block\x20comment':return t('Toggle\x20block\x20comment');case'Toggle\x20comment':return t('Toggle\x20comment');case'Undo\x20(keystroke)':return t({'id':'Undo\x20(keystroke)','string':'Undo'});case'Unfold\x20all':return t('Unfold\x20all');case'Unfold\x20code\x20(current\x20level)':return t('Unfold\x20code\x20(current\x20level)');case'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.':return t('Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.');case'Cancel':return t('Cancel');case'Save':return t('Save');default:return _0x2094f1;}}function H(_0x4a019d){const _0x593fe2=_0x4a019d['editing']['view']['document']['roots'],_0x291d08=_0x593fe2['length'];if(0x0===_0x291d08)throw new _0x593c24('source-editing-enhanced-editor-no-root',_0x4a019d);if(0x1===_0x291d08)return _0x593fe2['first']['rootName'];return Array['from'](_0x4a019d['editing']['view']['document']['selection']['getRanges']())[0x0]['root']['rootName'];}function Z(_0x25381a){return J(_0x25381a['replace'](/^[\n\s]*/g,''))?_0x25381a['replace'](/\s+/g,''):_0x25381a;}function J(_0x4e64c1){return _0x4e64c1['startsWith']('<');}function G(_0x6031d6){const _0x3554da=[_0x48bca3['lineWrapping'],_0x19e6b8(),_0xc008cb(),_0x64cd12(),_0x4ab89e(),_0x49bcf0(),_0x41d240(),_0x291871(),_0x22a23d(),_0x44663c(),_0x3c8a2b(),_0x1465a1(),_0x54a6cc(),_0xe17946(),_0x211a18(),_0x39079a(_0x39fecf,{'fallback':!0x0})],_0x11c6b5=new _0x5a577d();_0x3554da['push'](_0x11c6b5['of'](_0x48bca3['editable']['of'](!0x0))),'html'===_0x6031d6['syntaxLanguage']?_0x3554da['push'](_0x1dc834()):_0x3554da['push'](_0x11a421());const _0x95a11=function(_0x46a039){if(_0x46a039&&'default'!==_0x46a039)return'dark'===_0x46a039?_0x37385c:_0x46a039;return null;}(_0x6031d6['theme']);_0x95a11&&_0x3554da['push'](_0x95a11),_0x3554da['push'](_0x15bc69['of']([..._0x40ac96,..._0x99b0f3,..._0x4b8c2b,..._0x293acd,..._0x5ecd4a,{'key':'Tab','run':_0x1e3671,'shift':_0xffa263,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-y','mac':'Cmd-y','run':_0x5130d4,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-Shift-z','mac':'Cmd-Shift-z','run':_0x5130d4,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-z','mac':'Cmd-z','run':_0x5831d1,'preventDefault':!0x0,'stopPropagation':!0x0}]));const _0x483dc8=new _0x48bca3({'extensions':_0x3554da,'parent':_0x6031d6['parent']});return _0x529d8b(_0x483dc8),{'focus':()=>{_0x483dc8['dispatch']({'selection':{'anchor':0x0},'scrollIntoView':!0x0}),_0x483dc8['focus']();},'getData':()=>_0x483dc8['state']['doc']['toString'](),'setData':_0x29cf3f=>{_0x483dc8['dispatch']({'changes':{'from':0x0,'to':_0x483dc8['state']['doc']['length'],'insert':_0x29cf3f},'annotations':_0x2adace['addToHistory']['of'](!0x1)});},'setReadOnly':_0x5096f6=>{_0x483dc8['dispatch']({'effects':[_0x11c6b5['reconfigure'](_0x48bca3['editable']['of'](!_0x5096f6))]});},'destroy':()=>{_0x483dc8['destroy']();},'instance':_0x483dc8};}class CodeEditorView extends _0x5cf402{['_codeEditorApi']=null;['_options'];constructor(_0x4286a5,_0x110513){super(_0x4286a5),this['_options']=_0x110513,this['set']('isReadOnly',!0x1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-reset_all-excluded','ck-code-editor'],'tabindex':-0x1}});}['render'](){super['render'](),this['_codeEditorApi']=G({'parent':this['element'],'syntaxLanguage':this['_options']['syntaxLanguage'],'theme':this['_options']['theme']}),this['on']('change:isReadOnly',(_0x1cf55e,_0x23f97b,_0x1625f0)=>{this['setReadOnly'](_0x1625f0);});}['destroy'](){super['destroy'](),this['_codeEditorApi']['destroy'](),this['_codeEditorApi']=null;}['focus'](){this['isReadOnly']?this['element']['focus']():this['_codeEditorApi']['focus']();}['getData'](){return this['_codeEditorApi']['getData']();}['setData'](_0x13d570){this['_codeEditorApi']['setData'](_0x13d570);}['setReadOnly'](_0x53cc0a){this['_codeEditorApi']['setReadOnly'](_0x53cc0a);}}const Q='SourceEditingEnhancedMode';class EditSourceCommand extends _0x3938a2{constructor(_0x520ad6){super(_0x520ad6),this['affectsData']=!0x1,this['editor']['plugins']['get'](_0x477d2b)['on']('change:hasAny',(_0xb6f76,_0x2ed2a6,_0x589b2e)=>{_0x589b2e?this['forceDisabled']('pendingActions'):this['clearForceDisabled']('pendingActions');});}['_disableCommands'](){const _0x12625f=this['editor'];for(const _0xe20d6a of _0x12625f['commands']['names']())['replaceSource','editSource']['includes'](_0xe20d6a)||_0x12625f['commands']['get'](_0xe20d6a)['forceDisabled'](Q);}['_enableCommands'](){const _0x480e0b=this['editor'];for(const _0x1e5014 of _0x480e0b['commands']['commands']())_0x1e5014['clearForceDisabled'](Q);}['refresh'](){this['isEnabled']=!0x0;}['execute'](){const _0x2b872a=this['editor'],_0x153f46=_0x2b872a['locale'],_0x52412e=_0x2b872a['plugins']['get']('Dialog'),_0x50ea89=H(_0x2b872a),_0x58dc26=_0x2b872a['data']['get']({'rootName':_0x50ea89}),_0x5b9776=J(_0x22f69d=_0x58dc26)?_0x41b898(_0x22f69d):_0x22f69d;var _0x22f69d;const _0x20a7b3=new CodeEditorView(_0x153f46,{'syntaxLanguage':_0x2b872a['plugins']['has']('Markdown')?'markdown':'html','theme':_0x2b872a['config']['get']('sourceEditingEnhanced.theme')});let _0x243374=!0x0;const _0x4e7159=_0xc55ead=>{if(!_0x243374)return;return Z(_0x20a7b3['getData']())!==Z(_0x5b9776)?window['confirm'](q(_0x153f46,'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.'))?void 0x0:_0xc55ead['stop']():void 0x0;};_0x52412e['show']({'id':'sourceEditingEnhanced','title':q(_0x153f46,'Edit\x20source\x20modal\x20label'),'isModal':!0x0,'className':'ck-source-editing-enhanced-dialog','content':_0x20a7b3,'actionButtons':[{'label':q(_0x153f46,'Cancel'),'withText':!0x0,'onExecute':()=>{_0x52412e['hide']();}},{'label':q(_0x153f46,'Save'),'class':'ck-button-action','withText':!0x0,'onExecute':()=>{const _0x2adf45=Z(_0x20a7b3['getData']())!==Z(_0x5b9776);(_0x2adf45&&_0x2b872a['execute']('replaceSource',_0x20a7b3['getData']()),_0x243374=!0x1,_0x52412e['hide'](),_0x2adf45&&'editables'in _0x2b872a['ui']['view'])&&_0x2b872a['ui']['view']['editables'][_0x50ea89]['element']['focus']();},'onCreate':_0x142f30=>{_0x142f30['set']('isEnabled',!_0x2b872a['isReadOnly']),_0x142f30['bind']('isEnabled')['to'](_0x2b872a,'isReadOnly',this,'isEnabled',(_0x2b4268,_0x2f98a2)=>!_0x2b4268&&_0x2f98a2);}}],'onHide':()=>{this['_enableCommands'](),_0x52412e['off']('hide',_0x4e7159),_0x20a7b3['destroy']();},'onShow':()=>{_0x20a7b3['bind']('isReadOnly')['to'](_0x2b872a,'isReadOnly',this,'isEnabled',(_0x363ac4,_0x55fddb)=>_0x363ac4||!_0x55fddb),_0x20a7b3['setData'](_0x5b9776),_0x20a7b3['focus'](),_0x52412e['on']('hide',_0x4e7159,{'priority':'highest'}),this['_disableCommands']();}});}}class SourceEditingEnhancedUI extends _0x526623{static get['pluginName'](){return'SourceEditingEnhancedUI';}static get['requires'](){return[_0x477d2b];}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1fac70=this['editor'],_0x364c09=_0x1fac70['locale'],_0x4915d4=new EditSourceCommand(_0x1fac70);_0x1fac70['commands']['add']('editSource',_0x4915d4),_0x1fac70['ui']['componentFactory']['add']('sourceEditingEnhanced',()=>{const _0x1e1daf=this['_createButton'](_0x44a85a,_0x4915d4);return _0x1e1daf['set']({'label':q(_0x364c09,'Source'),'icon':_0x14432a,'tooltip':q(_0x364c09,'Edit\x20source\x20modal\x20label'),'class':'ck-source-editing-enhanced-button'}),_0x1e1daf;}),_0x1fac70['ui']['componentFactory']['add']('menuBar:sourceEditingEnhanced',()=>{const _0x941092=this['_createButton'](_0x473721,_0x4915d4,!0x0);return _0x941092['set']({'label':q(_0x364c09,'Edit\x20source\x20modal\x20label'),'icon':_0x14432a,'role':'menuitemcheckbox'}),_0x941092;}),this['_registerKeybindings']();}['afterInit'](){!async function(_0x233fb4){const _0x4c0b49=_0x42c301([0x4e,0x51,0x56,0x58,0x79,0x42,0x46,0x48,0x4a,0x7a,0x72,0x38,0x57,0x47,0x49,0x34,0x61,0x5a,0x6e,0x54,0x65,0x6f,0x55,0x78,0x36,0x70,0x39,0x6a,0x66,0x76,0x33,0x44,0x69,0x74,0x4c,0x77,0x75,0x63,0x6b,0x59,0x6c,0x68,0x64,0x4d,0x41,0x32,0x4b,0x35,0x53,0x37,0x6d,0x62,0x43,0x4f,0x50,0x45,0x73,0x31,0x71,0x67,0x52,0x30]),_0x9c2139=0x5dba9314,_0x1d36b2=0x5dbd197c^_0x9c2139,_0x5be6df=window[_0x42c301([0x44,0x61,0x74,0x65])][_0x42c301([0x6e,0x6f,0x77])](),_0x28af16=_0x233fb4[_0x42c301([0x65,0x64,0x69,0x74,0x6f,0x72])],_0x33e745=new window[(_0x42c301([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x426c51=>{_0x28af16[_0x42c301([0x6f,0x6e,0x63,0x65])](_0x42c301([0x72,0x65,0x61,0x64,0x79]),_0x426c51);}),_0x1195af={[_0x42c301([0x6b,0x74,0x79])]:_0x42c301([0x45,0x43]),[_0x42c301([0x75,0x73,0x65])]:_0x42c301([0x73,0x69,0x67]),[_0x42c301([0x63,0x72,0x76])]:_0x42c301([0x50,0x2d,0x32,0x35,0x36]),[_0x42c301([0x78])]:_0x42c301([0x69,0x43,0x6a,0x4f,0x43,0x76,0x44,0x46,0x49,0x36,0x6c,0x51,0x48,0x48,0x54,0x31,0x38,0x6a,0x56,0x77,0x52,0x66,0x6b,0x66,0x48,0x51,0x32,0x61,0x5f,0x4d,0x79,0x6d,0x54,0x33,0x35,0x4c,0x51,0x56,0x6f,0x46,0x53,0x41,0x49]),[_0x42c301([0x79])]:_0x42c301([0x6b,0x58,0x49,0x79,0x4a,0x34,0x65,0x76,0x74,0x43,0x45,0x46,0x52,0x6d,0x78,0x4b,0x53,0x55,0x70,0x4b,0x39,0x66,0x44,0x57,0x34,0x35,0x39,0x76,0x58,0x4f,0x76,0x56,0x72,0x68,0x66,0x36,0x75,0x51,0x41,0x65,0x4f,0x69,0x6f]),[_0x42c301([0x61,0x6c,0x67])]:_0x42c301([0x45,0x53,0x32,0x35,0x36])},_0x188da8=_0x28af16[_0x42c301([0x63,0x6f,0x6e,0x66,0x69,0x67])][_0x42c301([0x67,0x65,0x74])](_0x42c301([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]));async function _0x2591e1(){let _0x555c07,_0x2c0f93=null,_0x4e65ae=null;try{if(_0x188da8==_0x42c301([0x47,0x50,0x4c]))return _0x42c301([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]);if(_0x555c07=_0x563c77(),!_0x555c07)return _0x42c301([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);return _0x555c07[_0x42c301([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])]&&(_0x4e65ae=_0x5bacb6(_0x555c07[_0x42c301([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])],_0x555c07[_0x42c301([0x6a,0x74,0x69])])),await _0x274a28()?_0x1f52ec()?_0x3859f9()?_0x42c301([0x45,0x78,0x70,0x69,0x72,0x65,0x64]):_0x23e13f()?(_0x555c07[_0x42c301([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])]==_0x42c301([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e])&&(_0x2c0f93=_0x597ada(_0x42c301([0x45,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e,0x4c,0x69,0x6d,0x69,0x74]))),await _0x4b40e()):_0x42c301([0x44,0x6f,0x6d,0x61,0x69,0x6e,0x4c,0x69,0x6d,0x69,0x74]):_0x42c301([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]):_0x42c301([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}catch{return _0x42c301([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}function _0x3859f9(){const _0x3b487c=[_0x42c301([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e]),_0x42c301([0x74,0x72,0x69,0x61,0x6c])][_0x42c301([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x555c07[_0x42c301([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])])?_0x5be6df/0x3e8:0xe10*_0x1d36b2;return _0x555c07[_0x42c301([0x65,0x78,0x70])]<_0x3b487c;}function _0x1f52ec(){const _0x1f6c0a=_0x555c07[_0x42c301([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73])];return!!_0x1f6c0a&&(!!_0x1f6c0a[_0x42c301([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x42c301([0x2a]))||!!_0x1f6c0a[_0x42c301([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x42c301([0x53,0x45,0x45])));}function _0x23e13f(){const _0x2227a8=_0x555c07[_0x42c301([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x64,0x48,0x6f,0x73,0x74,0x73])];if(!_0x2227a8||0x0==_0x2227a8[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])])return!0x0;const {hostname:_0x3d1fbd}=new URL(window[_0x42c301([0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e])]['href']);if(_0x2227a8[_0x42c301([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x3d1fbd))return!0x0;const _0x263b0c=_0x3d1fbd[_0x42c301([0x73,0x70,0x6c,0x69,0x74])](_0x42c301([0x2e]));return _0x2227a8[_0x42c301([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x168d79=>_0x168d79[_0x42c301([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x42c301([0x2a])))[_0x42c301([0x6d,0x61,0x70])](_0x391a53=>_0x391a53[_0x42c301([0x73,0x70,0x6c,0x69,0x74])](_0x42c301([0x2e])))[_0x42c301([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x5365ea=>_0x5365ea[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])]<=_0x263b0c[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])])[_0x42c301([0x6d,0x61,0x70])](_0x1d4822=>Array(_0x263b0c[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])]-_0x1d4822[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])])[_0x42c301([0x66,0x69,0x6c,0x6c])](_0x1d4822[0x0]===_0x42c301([0x2a])?_0x42c301([0x2a]):'')[_0x42c301([0x63,0x6f,0x6e,0x63,0x61,0x74])](_0x1d4822))[_0x42c301([0x73,0x6f,0x6d,0x65])](_0x5a7974=>_0x263b0c[_0x42c301([0x65,0x76,0x65,0x72,0x79])]((_0x4cf7d3,_0x48f22c)=>_0x5a7974[_0x48f22c]===_0x4cf7d3||_0x5a7974[_0x48f22c]===_0x42c301([0x2a])));}function _0x4b40e(){return _0x2c0f93&&_0x4e65ae?new window[(_0x42c301([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x17b6ec,_0x3b5ebf)=>{_0x2c0f93[_0x42c301([0x74,0x68,0x65,0x6e])](_0x17b6ec,_0x3b5ebf),_0x4e65ae[_0x42c301([0x74,0x68,0x65,0x6e])](_0x42487a=>{_0x42487a!=_0x42c301([0x56,0x61,0x6c,0x69,0x64])&&_0x17b6ec(_0x42487a);},_0x3b5ebf);}):_0x2c0f93||_0x4e65ae||_0x42c301([0x56,0x61,0x6c,0x69,0x64]);}}function _0x5bacb6(_0x45dae2,_0x547cd3){return new window[(_0x42c301([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x4afe6d=>{if(_0x2edb00())return _0x4afe6d(_0x42c301([0x56,0x61,0x6c,0x69,0x64]));_0x1d50f8(),_0x28af16[_0x42c301([0x64,0x65,0x63,0x6f,0x72,0x61,0x74,0x65])](_0x42c301([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]));let _0x3ad459=!0x1;const _0x4d5eb5=_0x44e934();function _0x34d1bb(_0x5d00fd){return!!_0x5d00fd&&(typeof _0x5d00fd===_0x42c301([0x6f,0x62,0x6a,0x65,0x63,0x74])||typeof _0x5d00fd===_0x42c301([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]))&&typeof _0x5d00fd[_0x42c301([0x74,0x68,0x65,0x6e])]===_0x42c301([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e])&&typeof _0x5d00fd[_0x42c301([0x63,0x61,0x74,0x63,0x68])]===_0x42c301([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]);}function _0x27c390(_0x1ffb54){_0x49a204(_0x1ffb54)[_0x42c301([0x74,0x68,0x65,0x6e])](_0x1472ba=>{if(!_0x1472ba||_0x1472ba[_0x42c301([0x73,0x74,0x61,0x74,0x75,0x73])]!=_0x42c301([0x6f,0x6b]))return _0x42c301([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]);return _0x76e3e9(_0x349840(_0x4d5eb5+_0x547cd3))!=_0x1472ba[_0x42c301([0x76,0x65,0x72,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e])]?_0x42c301([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]):_0x42c301([0x56,0x61,0x6c,0x69,0x64]);})[_0x42c301([0x74,0x68,0x65,0x6e])](_0x2a5d48=>(_0x12e099(),_0x2a5d48),()=>{const _0x886a2a=_0x500f51();return null==_0x886a2a?(_0x12e099(),_0x42c301([0x56,0x61,0x6c,0x69,0x64])):_0x42c301(_0x5be6df-_0x886a2a>(0x79b61714^_0x9c2139)?[0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]:[0x56,0x61,0x6c,0x69,0x64]);})[_0x42c301([0x74,0x68,0x65,0x6e])](_0x4afe6d)[_0x42c301([0x63,0x61,0x74,0x63,0x68])](()=>{_0x4afe6d(_0x42c301([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});const _0x188339=0x5d8c7d94^_0x9c2139;function _0x12e099(){const _0x4edac6=_0x42c301([0x6c,0x6c,0x63,0x74,0x2d])+_0x76e3e9(_0x349840(_0x45dae2)),_0x548fb6=_0x1c7319(_0x76e3e9(window[_0x42c301([0x4d,0x61,0x74,0x68])][_0x42c301([0x63,0x65,0x69,0x6c])](_0x5be6df/_0x188339)));window[_0x42c301([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x42c301([0x73,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x4edac6,_0x548fb6);}function _0x500f51(){const _0x44a15f=_0x42c301([0x6c,0x6c,0x63,0x74,0x2d])+_0x76e3e9(_0x349840(_0x45dae2)),_0x9f2f5e=window[_0x42c301([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x42c301([0x67,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x44a15f);return _0x9f2f5e?window[_0x42c301([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x1c7319(_0x9f2f5e),0x10)*_0x188339:null;}function _0x49a204(_0x16bca8){return new window[(_0x42c301([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x1447ff,_0x50d8d7)=>{_0x16bca8[_0x42c301([0x74,0x68,0x65,0x6e])](_0x1447ff,_0x50d8d7),window[_0x42c301([0x73,0x65,0x74,0x54,0x69,0x6d,0x65,0x6f,0x75,0x74])](_0x50d8d7,0x5dbb47d4^_0x9c2139);});}}_0x28af16[_0x42c301([0x6f,0x6e])](_0x42c301([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),(_0x4c9038,_0x2e1bb4)=>{if(_0x2e1bb4[0x0]!=_0x45dae2)return _0x4afe6d(_0x42c301([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));_0x2e1bb4[0x1]={..._0x2e1bb4[0x1],[_0x42c301([0x72,0x65,0x71,0x75,0x65,0x73,0x74,0x49,0x64])]:_0x4d5eb5};},{[_0x42c301([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x42c301([0x68,0x69,0x67,0x68])}),_0x28af16[_0x42c301([0x6f,0x6e])](_0x42c301([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),_0x179c8b=>{_0x34d1bb(_0x179c8b[_0x42c301([0x72,0x65,0x74,0x75,0x72,0x6e])])&&(_0x3ad459=!0x0,_0x27c390(_0x179c8b[_0x42c301([0x72,0x65,0x74,0x75,0x72,0x6e])]));},{[_0x42c301([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x42c301([0x6c,0x6f,0x77])}),_0x33e745[_0x42c301([0x74,0x68,0x65,0x6e])](()=>{_0x3ad459||_0x4afe6d(_0x42c301([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});});function _0x2edb00(){return _0x28af16[_0x42c301([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x42c301([0x76,0x69,0x65,0x77])][_0x42c301([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]==_0x42c301([0x61,0x75,0x74,0x6f]);}function _0x1d50f8(){_0x28af16[_0x42c301([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x42c301([0x76,0x69,0x65,0x77])][_0x42c301([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]=_0x42c301([0x61,0x75,0x74,0x6f]);}}function _0x597ada(_0x29a912){const _0x41ae36=[new window[(_0x42c301([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x3a1314=>setTimeout(_0x3a1314,0x5db3add8^_0x9c2139)),_0x33e745[_0x42c301([0x74,0x68,0x65,0x6e])](()=>new window[(_0x42c301([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x475c0f=>{let _0x101ce6=0x0;_0x28af16[_0x42c301([0x6d,0x6f,0x64,0x65,0x6c])][_0x42c301([0x6f,0x6e])](_0x42c301([0x61,0x70,0x70,0x6c,0x79,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e]),(_0x33ad31,_0x5e18db)=>{_0x5e18db[0x0][_0x42c301([0x69,0x73,0x44,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e])]&&_0x101ce6++,_0x101ce6==(0x5dba96fc^_0x9c2139)&&(_0x475c0f(),_0x33ad31[_0x42c301([0x6f,0x66,0x66])]());});}))];return window[_0x42c301([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65])][_0x42c301([0x72,0x61,0x63,0x65])](_0x41ae36)[_0x42c301([0x74,0x68,0x65,0x6e])](()=>_0x29a912);}async function _0x5a617a(){await _0x33e745,_0x28af16[_0x42c301([0x6d,0x6f,0x64,0x65,0x6c])][_0x42c301([0x63,0x68,0x61,0x6e,0x67,0x65])]=_0x4bad06,_0x28af16[_0x42c301([0x6d,0x6f,0x64,0x65,0x6c])][_0x42c301([0x65,0x6e,0x71,0x75,0x65,0x75,0x65,0x43,0x68,0x61,0x6e,0x67,0x65])]=_0x4bad06,_0x28af16[_0x42c301([0x65,0x6e,0x61,0x62,0x6c,0x65,0x52,0x65,0x61,0x64,0x4f,0x6e,0x6c,0x79,0x4d,0x6f,0x64,0x65])](_0x42c301([0x6d,0x6f,0x64,0x65,0x6c]));}function _0x24f72c(_0x1e39f3){const _0xe42ec0=_0x409de2();_0x28af16[_0xe42ec0]=_0x42c301([0x73,0x6f,0x75,0x72,0x63,0x65,0x45,0x64,0x69,0x74,0x69,0x6e,0x67,0x45,0x6e,0x68,0x61,0x6e,0x63,0x65,0x64,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79])+_0x1e39f3,_0x1e39f3!=_0x42c301([0x56,0x61,0x6c,0x69,0x64])&&_0x5a617a();}function _0x409de2(){const _0x4b3ead=window[_0x42c301([0x53,0x74,0x72,0x69,0x6e,0x67])](window[_0x42c301([0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,0x65])][_0x42c301([0x6e,0x6f,0x77])]())[_0x42c301([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](_0x42c301([0x2e]),'');let _0x546311=_0x42c301([0x4e]);for(let _0x17c786=0x0;_0x17c786<_0x4b3ead[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x17c786+=0x2){let _0x537c39=window[_0x42c301([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x4b3ead[_0x42c301([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x17c786,_0x17c786+0x2));_0x537c39>=_0x4c0b49[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])]&&(_0x537c39-=_0x4c0b49[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])]),_0x546311+=_0x4c0b49[_0x537c39];}return _0x546311;}function _0x563c77(){const _0x20def4=_0x188da8[_0x42c301([0x73,0x70,0x6c,0x69,0x74])](_0x42c301([0x2e]));if(0x3!=_0x20def4[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])])return null;return _0x5e5c97(_0x20def4[0x1]);function _0x5e5c97(_0x5b593c){const _0x50e1dc=_0x3c6bfe(_0x5b593c);return _0x50e1dc&&_0x1ff430()?_0x50e1dc:null;function _0x1ff430(){const _0x198241=_0x50e1dc[_0x42c301([0x6a,0x74,0x69])],_0x9a7642=window[_0x42c301([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x198241[_0x42c301([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x198241[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8),0x10),_0x2eadaf={..._0x50e1dc,[_0x42c301([0x6a,0x74,0x69])]:_0x198241[_0x42c301([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](0x0,_0x198241[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8)};return delete _0x2eadaf[_0x42c301([0x76,0x63])],_0x349840(_0x2eadaf)==_0x9a7642;}}}async function _0x274a28(){let _0x70976c=!0x0;try{const _0x550608=_0x188da8[_0x42c301([0x73,0x70,0x6c,0x69,0x74])](_0x42c301([0x2e])),[_0xac5efe,_0x544cc7,_0x2b0ec8]=_0x550608;return _0x361900(_0xac5efe),await _0x584ee8(_0xac5efe,_0x544cc7,_0x2b0ec8),_0x70976c;}catch{return!0x1;}function _0x361900(_0x541b9e){const _0x495645=_0x3c6bfe(_0x541b9e);_0x495645&&_0x495645[_0x42c301([0x61,0x6c,0x67])]==_0x42c301([0x45,0x53,0x32,0x35,0x36])||(_0x70976c=!0x1);}async function _0x584ee8(_0x18b672,_0x33cc32,_0x3aa035){const _0xc91089=window[_0x42c301([0x55,0x69,0x6e,0x74,0x38,0x41,0x72,0x72,0x61,0x79])][_0x42c301([0x66,0x72,0x6f,0x6d])](_0x5c4e49(_0x3aa035),_0x458adc=>_0x458adc[_0x42c301([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](0x0)),_0x30a904=new window[(_0x42c301([0x54,0x65,0x78,0x74,0x45,0x6e,0x63,0x6f,0x64,0x65,0x72]))]()[_0x42c301([0x65,0x6e,0x63,0x6f,0x64,0x65])](_0x18b672+_0x42c301([0x2e])+_0x33cc32),_0x17e244=window[_0x42c301([0x63,0x72,0x79,0x70,0x74,0x6f])][_0x42c301([0x73,0x75,0x62,0x74,0x6c,0x65])];if(!_0x17e244)return;const _0x476af7=await _0x17e244[_0x42c301([0x69,0x6d,0x70,0x6f,0x72,0x74,0x4b,0x65,0x79])](_0x42c301([0x6a,0x77,0x6b]),_0x1195af,{[_0x42c301([0x6e,0x61,0x6d,0x65])]:_0x42c301([0x45,0x43,0x44,0x53,0x41]),[_0x42c301([0x6e,0x61,0x6d,0x65,0x64,0x43,0x75,0x72,0x76,0x65])]:_0x42c301([0x50,0x2d,0x32,0x35,0x36])},!0x1,[_0x42c301([0x76,0x65,0x72,0x69,0x66,0x79])]);await _0x17e244[_0x42c301([0x76,0x65,0x72,0x69,0x66,0x79])]({[_0x42c301([0x6e,0x61,0x6d,0x65])]:_0x42c301([0x45,0x43,0x44,0x53,0x41]),[_0x42c301([0x68,0x61,0x73,0x68])]:{[_0x42c301([0x6e,0x61,0x6d,0x65])]:_0x42c301([0x53,0x48,0x41,0x2d,0x32,0x35,0x36])}},_0x476af7,_0xc91089,_0x30a904)||(_0x70976c=!0x1);}}function _0x3c6bfe(_0x217f68){return _0x217f68[_0x42c301([0x73,0x74,0x61,0x72,0x74,0x73,0x57,0x69,0x74,0x68])](_0x42c301([0x65,0x79]))?JSON[_0x42c301([0x70,0x61,0x72,0x73,0x65])](_0x5c4e49(_0x217f68)):null;}function _0x5c4e49(_0x340f77){return window[_0x42c301([0x61,0x74,0x6f,0x62])](_0x340f77[_0x42c301([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/-/g,_0x42c301([0x2b]))[_0x42c301([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/_/g,_0x42c301([0x2f])));}function _0x349840(_0x5ef0eb){let _0x4da369=0x1505;function _0x1c43b4(_0x28820b){for(let _0x4d8cbf=0x0;_0x4d8cbf<_0x28820b[_0x42c301([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x4d8cbf++){const _0x9e94e3=_0x28820b[_0x42c301([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](_0x4d8cbf);_0x4da369=(_0x4da369<<0x5)+_0x4da369+_0x9e94e3,_0x4da369&=_0x4da369;}}function _0x13aed9(_0x1726c1){Array[_0x42c301([0x69,0x73,0x41,0x72,0x72,0x61,0x79])](_0x1726c1)?_0x1726c1[_0x42c301([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](_0x13aed9):_0x1726c1&&typeof _0x1726c1==_0x42c301([0x6f,0x62,0x6a,0x65,0x63,0x74])?Object[_0x42c301([0x65,0x6e,0x74,0x72,0x69,0x65,0x73])](_0x1726c1)[_0x42c301([0x73,0x6f,0x72,0x74])]()[_0x42c301([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](([_0x2ea440,_0x4d2917])=>{_0x1c43b4(_0x2ea440),_0x13aed9(_0x4d2917);}):_0x1c43b4(window[_0x42c301([0x53,0x74,0x72,0x69,0x6e,0x67])](_0x1726c1));}return _0x13aed9(_0x5ef0eb),_0x4da369>>>0x0;}function _0x76e3e9(_0x2edbd7){return _0x2edbd7[_0x42c301([0x74,0x6f,0x53,0x74,0x72,0x69,0x6e,0x67])](0x10)[_0x42c301([0x70,0x61,0x64,0x53,0x74,0x61,0x72,0x74])](0x8,_0x42c301([0x30]));}function _0x1c7319(_0x3f1782){return _0x3f1782[_0x42c301([0x73,0x70,0x6c,0x69,0x74])]('')[_0x42c301([0x72,0x65,0x76,0x65,0x72,0x73,0x65])]()[_0x42c301([0x6a,0x6f,0x69,0x6e])]('');}function _0x4bad06(){}function _0x42c301(_0x6834c8){return _0x6834c8['map'](_0x22f1fa=>String['fromCharCode'](_0x22f1fa))['join']('');}_0x24f72c(await _0x2591e1());}(this);}['_createButton'](_0x18a283,_0x1c5cc6,_0x3a5a25=!0x1){const _0xb774a2=new _0x18a283(this['editor']['locale']);return _0xb774a2['set']({'withText':_0x3a5a25,'isToggleable':!0x1}),_0xb774a2['bind']('isEnabled')['to'](_0x1c5cc6,'isEnabled'),this['listenTo'](_0xb774a2,'execute',()=>_0x1c5cc6['execute']()),_0xb774a2;}['_registerKeybindings'](){const _0x254df6=this['editor']['locale'];this['editor']['accessibility']['addKeystrokeInfoCategory']({'id':'sourceEditingEnhanced','label':q(_0x254df6,'Source\x20Editing\x20Enhanced')});const _0x22332f=_0x2a7bf1['isMac']||_0x2a7bf1['isiOS'];this['editor']['accessibility']['addKeystrokeInfos']({'categoryId':'sourceEditingEnhanced','keystrokes':[{'label':q(_0x254df6,'Copy\x20line\x20down'),'keystroke':'Shift+Alt+ArrowDown'},{'label':q(_0x254df6,'Copy\x20line\x20up'),'keystroke':'Shift+Alt+ArrowUp'},{'label':q(_0x254df6,'Delete\x20line'),'keystroke':'Shift+Ctrl+K'},{'label':q(_0x254df6,'Indent\x20less'),'keystroke':'Ctrl+['},{'label':q(_0x254df6,'Indent\x20more'),'keystroke':'Ctrl+]'},{'label':q(_0x254df6,'Fold\x20all'),'keystroke':'Ctrl!+Alt+['},{'label':q(_0x254df6,'Fold\x20code\x20(current\x20level)'),'keystroke':_0x22332f?'Cmd+Alt+[':'Ctrl+Shift+['},{'label':q(_0x254df6,'Move\x20line\x20down'),'keystroke':'Alt+ArrowDown'},{'label':q(_0x254df6,'Move\x20line\x20up'),'keystroke':'Alt+ArrowUp'},{'label':q(_0x254df6,'Redo\x20(keystroke)'),'keystroke':[['Ctrl+Shift+Z'],['Ctrl+Y']]},{'label':q(_0x254df6,'Select\x20line'),'keystroke':_0x22332f?'Ctrl!+L':'Alt+L'},{'label':q(_0x254df6,'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode'),'keystroke':_0x22332f?'Alt+Shift+M':'Ctrl+M'},{'label':q(_0x254df6,'Toggle\x20block\x20comment'),'keystroke':'Shift+Alt+A'},{'label':q(_0x254df6,'Toggle\x20comment'),'keystroke':'Ctrl+/'},{'label':q(_0x254df6,'Undo\x20(keystroke)'),'keystroke':'Ctrl+Z'},{'label':q(_0x254df6,'Unfold\x20all'),'keystroke':'Ctrl!+Alt+]'},{'label':q(_0x254df6,'Unfold\x20code\x20(current\x20level)'),'keystroke':_0x22332f?'Cmd+Alt+]':'Ctrl+Shift+]'}]});}}class ReplaceSourceCommand extends _0x3938a2{constructor(_0x1d5554){super(_0x1d5554),this['refresh']();}['refresh'](){this['isEnabled']=!this['editor']['isReadOnly'];}['execute'](_0x813f7b,_0x33d5b8){const _0x2d6cc4=this['editor'],_0x569bd5=_0x33d5b8?.['rootName']??H(_0x2d6cc4);_0x2d6cc4['data']['set']({[_0x569bd5]:_0x813f7b},{'batchType':{'isUndoable':!0x0},'suppressErrorInCollaboration':!0x0});}}class SourceEditingEnhanced extends _0x526623{['licenseKey'];['_licenseKeyCheckInterval'];static get['pluginName'](){return'SourceEditingEnhanced';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[SourceEditingEnhancedUI];}constructor(_0x42ba50){super(_0x42ba50),_0x42ba50['config']['define']('sourceEditingEnhanced.allowCollaborationFeatures',!0x1);}['init'](){this['_checkCompatibility'](),this['editor']['commands']['add']('replaceSource',new ReplaceSourceCommand(this['editor'])),this['licenseKey']=this['editor']['config']['get']('licenseKey');const _0x1caf48=this['editor'];this['_licenseKeyCheckInterval']=setInterval(()=>{let _0x3d9102;for(const _0x6c1af5 in _0x1caf48){const _0x27a56c=_0x6c1af5,_0x3b69a2=_0x1caf48[_0x27a56c];if('sourceEditingEnhancedLicenseKeyValid'==_0x3b69a2||'sourceEditingEnhancedLicenseKeyInvalid'==_0x3b69a2||'sourceEditingEnhancedLicenseKeyExpired'==_0x3b69a2||'sourceEditingEnhancedLicenseKeyDomainLimit'==_0x3b69a2||'sourceEditingEnhancedLicenseKeyNotAllowed'==_0x3b69a2||'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0x3b69a2||'sourceEditingEnhancedLicenseKeyUsageLimit'==_0x3b69a2){delete _0x1caf48[_0x27a56c],_0x3d9102=_0x3b69a2,clearInterval(this['_licenseKeyCheckInterval']),this['_licenseKeyCheckInterval']=void 0x0;break;}}'sourceEditingEnhancedLicenseKeyInvalid'==_0x3d9102&&_0x1caf48['_showLicenseError']('invalid'),'sourceEditingEnhancedLicenseKeyExpired'==_0x3d9102&&_0x1caf48['_showLicenseError']('expired'),'sourceEditingEnhancedLicenseKeyDomainLimit'==_0x3d9102&&_0x1caf48['_showLicenseError']('domainLimit'),'sourceEditingEnhancedLicenseKeyNotAllowed'==_0x3d9102&&_0x1caf48['_showLicenseError']('featureNotAllowed','SourceEditingEnhanced'),'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0x3d9102&&_0x1caf48['_showLicenseError']('evaluationLimit'),'sourceEditingEnhancedLicenseKeyUsageLimit'==_0x3d9102&&_0x1caf48['_showLicenseError']('usageLimit');},0x3e8);}['destroy'](){this['_licenseKeyCheckInterval']&&clearInterval(this['_licenseKeyCheckInterval']);}['_checkCompatibility'](){const _0x125b0a=this['editor'],_0x1c62fa=_0x125b0a['config']['get']('sourceEditingEnhanced.allowCollaborationFeatures');if(!_0x1c62fa&&_0x125b0a['plugins']['has']('RealTimeCollaborativeEditing'))throw new _0x593c24('source-editing-enhanced-incompatible-with-real-time-collaboration',null);!_0x1c62fa&&['CommentsEditing','TrackChangesEditing','RevisionHistory']['some'](_0x54a749=>_0x125b0a['plugins']['has'](_0x54a749))&&console['warn']('You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20at\x20least\x20one\x20of\x20the\x20collaboration\x20features.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20collaboration\x20features.'),_0x125b0a['plugins']['has']('RestrictedEditingModeEditing')&&console['warn']('You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20restricted\x20editing\x20feature.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20enhanced\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20restricted\x20editing\x20feature.');}}export{EditSourceCommand,ReplaceSourceCommand,SourceEditingEnhanced};
|
|
23
|
+
import{Command as _0x18668f,PendingActions as _0x5e3145,Plugin as _0x4f0d68}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x3622e8,env as _0x1235a8,formatHtml as _0x5637ac,uid as _0xe166a1}from'@ckeditor/ckeditor5-utils';import{IconSource as _0x2f5891}from'@ckeditor/ckeditor5-icons';import{ButtonView as _0x9a7aa9,MenuBarMenuListItemButtonView as _0x1e4be0,View as _0x138910}from'@ckeditor/ckeditor5-ui';import{EditorView as _0x51870b,crosshairCursor as _0x4be395,drawSelection as _0x32f5fe,dropCursor as _0x285b4d,highlightActiveLine as _0x53927e,highlightActiveLineGutter as _0x133c94,highlightSpecialChars as _0xae1a6,keymap as _0x26ec3d,lineNumbers as _0x2d490c,rectangularSelection as _0x485f28}from'@codemirror/view';import{Compartment as _0x3a91b3,Transaction as _0x219851}from'@codemirror/state';import{bracketMatching as _0x345e42,defaultHighlightStyle as _0x3c62d6,foldGutter as _0x2a286b,foldKeymap as _0x47b7f7,indentOnInput as _0x398e2c,syntaxHighlighting as _0x2be554}from'@codemirror/language';import{defaultKeymap as _0x10541c,history as _0x268577,historyKeymap as _0x1b9e7d,indentLess as _0xc9aa85,indentMore as _0x5ebb94,redo as _0x13fc6c,toggleTabFocusMode as _0x4a2669,undo as _0x53d5a1}from'@codemirror/commands';import{autocompletion as _0x5a2eff,closeBrackets as _0xac73d2,closeBracketsKeymap as _0x314952,completionKeymap as _0x5ca36a}from'@codemirror/autocomplete';import{html as _0x580838}from'@codemirror/lang-html';import{markdown as _0x70bf07}from'@codemirror/lang-markdown';import{oneDark as _0x512932}from'@codemirror/theme-one-dark';function Q(_0x5a9eaf,_0x3b0817){const t=_0x5a9eaf['t'];switch(_0x3b0817){case'Edit\x20source\x20modal\x20label':return t({'string':'Edit\x20source','id':'Edit\x20source\x20modal\x20label'});case'Source':return t('Source');case'Source\x20Editing\x20Enhanced':return t('Source\x20Editing\x20Enhanced');case'Copy\x20line\x20down':return t('Copy\x20line\x20down');case'Copy\x20line\x20up':return t('Copy\x20line\x20up');case'Delete\x20line':return t('Delete\x20line');case'Indent\x20less':return t('Indent\x20less');case'Indent\x20more':return t('Indent\x20more');case'Fold\x20all':return t('Fold\x20all');case'Fold\x20code\x20(current\x20level)':return t('Fold\x20code\x20(current\x20level)');case'Move\x20line\x20down':return t('Move\x20line\x20down');case'Move\x20line\x20up':return t('Move\x20line\x20up');case'Redo\x20(keystroke)':return t({'id':'Redo\x20(keystroke)','string':'Redo'});case'Select\x20line':return t('Select\x20line');case'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode':return t('Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode');case'Toggle\x20block\x20comment':return t('Toggle\x20block\x20comment');case'Toggle\x20comment':return t('Toggle\x20comment');case'Undo\x20(keystroke)':return t({'id':'Undo\x20(keystroke)','string':'Undo'});case'Unfold\x20all':return t('Unfold\x20all');case'Unfold\x20code\x20(current\x20level)':return t('Unfold\x20code\x20(current\x20level)');case'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.':return t('Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.');case'Cancel':return t('Cancel');case'Save':return t('Save');default:return _0x3b0817;}}function B(_0x557497){const _0x2365e2=_0x557497['editing']['view']['document']['roots'],_0x2b8e82=_0x2365e2['length'];if(0x0===_0x2b8e82)throw new _0x3622e8('source-editing-enhanced-editor-no-root',_0x557497);return 0x1===_0x2b8e82?_0x2365e2['first']['rootName']:Array['from'](_0x557497['editing']['view']['document']['selection']['getRanges']())[0x0]['root']['rootName'];}function Y(_0xae2438){return J(_0xae2438['replace'](/^[\n\s]*/g,''))?_0xae2438['replace'](/\s+/g,''):_0xae2438;}function J(_0x42c70b){return _0x42c70b['startsWith']('<');}function X(_0x52d3f0){const _0xec2071=[_0x51870b['lineWrapping'],_0x5a2eff(),_0x345e42(),_0xac73d2(),_0x4be395(),_0x32f5fe(),_0x285b4d(),_0x2d490c(),_0x2a286b(),_0x53927e(),_0x133c94(),_0xae1a6(),_0x268577(),_0x398e2c(),_0x485f28(),_0x2be554(_0x3c62d6,{'fallback':!0x0})],_0x5cf957=new _0x3a91b3();_0xec2071['push'](_0x5cf957['of'](_0x51870b['editable']['of'](!0x0))),'html'===_0x52d3f0['syntaxLanguage']?_0xec2071['push'](_0x580838()):_0xec2071['push'](_0x70bf07());const _0x4c2f92=(_0x117d8d=_0x52d3f0['theme'])&&'default'!==_0x117d8d?'dark'===_0x117d8d?_0x512932:_0x117d8d:null;var _0x117d8d;_0x4c2f92&&_0xec2071['push'](_0x4c2f92),_0xec2071['push'](_0x26ec3d['of']([..._0x314952,..._0x10541c,..._0x1b9e7d,..._0x47b7f7,..._0x5ca36a,{'key':'Tab','run':_0x5ebb94,'shift':_0xc9aa85,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-y','mac':'Cmd-y','run':_0x13fc6c,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-Shift-z','mac':'Cmd-Shift-z','run':_0x13fc6c,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-z','mac':'Cmd-z','run':_0x53d5a1,'preventDefault':!0x0,'stopPropagation':!0x0}]));const _0x1b871c=new _0x51870b({'extensions':_0xec2071,'parent':_0x52d3f0['parent']});return _0x4a2669(_0x1b871c),{'focus':()=>{_0x1b871c['dispatch']({'selection':{'anchor':0x0},'scrollIntoView':!0x0}),_0x1b871c['focus']();},'getData':()=>_0x1b871c['state']['doc']['toString'](),'setData':_0x17d1da=>{_0x1b871c['dispatch']({'changes':{'from':0x0,'to':_0x1b871c['state']['doc']['length'],'insert':_0x17d1da},'annotations':_0x219851['addToHistory']['of'](!0x1)});},'setReadOnly':_0x37a653=>{_0x1b871c['dispatch']({'effects':[_0x5cf957['reconfigure'](_0x51870b['editable']['of'](!_0x37a653))]});},'destroy':()=>{_0x1b871c['destroy']();},'instance':_0x1b871c};}var Z=class extends _0x138910{_codeEditorApi=null;_options;constructor(_0x425145,_0x491242){super(_0x425145),this['_options']=_0x491242,this['set']('isReadOnly',!0x1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-reset_all-excluded','ck-code-editor'],'tabindex':-0x1}});}['render'](){super['render'](),this['_codeEditorApi']=X({'parent':this['element'],'syntaxLanguage':this['_options']['syntaxLanguage'],'theme':this['_options']['theme']}),this['on']('change:isReadOnly',(_0x19bffb,_0x42395c,_0x4bf249)=>{this['setReadOnly'](_0x4bf249);});}destroy(){super['destroy'](),this['_codeEditorApi']['destroy'](),this['_codeEditorApi']=null;}['focus'](){this['isReadOnly']?this['element']['focus']():this['_codeEditorApi']['focus']();}getData(){return this['_codeEditorApi']['getData']();}setData(_0x3ea9f2){this['_codeEditorApi']['setData'](_0x3ea9f2);}setReadOnly(_0x1cde42){this['_codeEditorApi']['setReadOnly'](_0x1cde42);}};const G='SourceEditingEnhancedMode';var W=class extends _0x18668f{constructor(_0x438427){super(_0x438427),this['affectsData']=!0x1,this['editor']['plugins']['get'](_0x5e3145)['on']('change:hasAny',(_0x1ed98b,_0x1dd787,_0x36d81b)=>{_0x36d81b?this['forceDisabled']('pendingActions'):this['clearForceDisabled']('pendingActions');});}['_disableCommands'](){const _0x5e793d=this['editor'];for(const _0x2d22e1 of _0x5e793d['commands']['names']())['replaceSource','editSource']['includes'](_0x2d22e1)||_0x5e793d['commands']['get'](_0x2d22e1)['forceDisabled'](G);}['_enableCommands'](){const _0x1373cb=this['editor'];for(const _0x479ae8 of _0x1373cb['commands']['commands']())_0x479ae8['clearForceDisabled'](G);}['refresh'](){this['isEnabled']=!0x0;}execute(){const _0x47f211=this['editor'],_0x3134cb=_0x47f211['locale'],_0xb9a14d=_0x47f211['plugins']['get']('Dialog'),_0x5b0080=B(_0x47f211),_0xa3455b=_0x47f211['data']['get']({'rootName':_0x5b0080}),_0x54a798=J(_0xd45247=_0xa3455b)?_0x5637ac(_0xd45247):_0xd45247;var _0xd45247;const _0x485537=new Z(_0x3134cb,{'syntaxLanguage':_0x47f211['plugins']['has']('Markdown')?'markdown':'html','theme':_0x47f211['config']['get']('sourceEditingEnhanced.theme')});let _0x102511=!0x0;const _0x5bbf8b=_0x2cc69f=>{if(!_0x102511)return;return Y(_0x485537['getData']())!==Y(_0x54a798)?window['confirm'](Q(_0x3134cb,'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.'))?void 0x0:_0x2cc69f['stop']():void 0x0;};_0xb9a14d['show']({'id':'sourceEditingEnhanced','title':Q(_0x3134cb,'Edit\x20source\x20modal\x20label'),'isModal':!0x0,'className':'ck-source-editing-enhanced-dialog','content':_0x485537,'actionButtons':[{'label':Q(_0x3134cb,'Cancel'),'withText':!0x0,'onExecute':()=>{_0xb9a14d['hide']();}},{'label':Q(_0x3134cb,'Save'),'class':'ck-button-action','withText':!0x0,'onExecute':()=>{const _0x27f663=Y(_0x485537['getData']())!==Y(_0x54a798);_0x27f663&&_0x47f211['execute']('replaceSource',_0x485537['getData']()),_0x102511=!0x1,_0xb9a14d['hide'](),_0x27f663&&'editables'in _0x47f211['ui']['view']&&_0x47f211['ui']['view']['editables'][_0x5b0080]['element']['focus']();},'onCreate':_0x2f3908=>{_0x2f3908['set']('isEnabled',!_0x47f211['isReadOnly']),_0x2f3908['bind']('isEnabled')['to'](_0x47f211,'isReadOnly',this,'isEnabled',(_0xbb3a60,_0x48aa7e)=>!_0xbb3a60&&_0x48aa7e);}}],'onHide':()=>{this['_enableCommands'](),_0xb9a14d['off']('hide',_0x5bbf8b),_0x485537['destroy']();},'onShow':()=>{_0x485537['bind']('isReadOnly')['to'](_0x47f211,'isReadOnly',this,'isEnabled',(_0x107446,_0x184711)=>_0x107446||!_0x184711),_0x485537['setData'](_0x54a798),_0x485537['focus'](),_0xb9a14d['on']('hide',_0x5bbf8b,{'priority':'highest'}),this['_disableCommands']();}});}},$=class extends _0x4f0d68{static get['pluginName'](){return'SourceEditingEnhancedUI';}static get requires(){return[_0x5e3145];}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0xad2368=this['editor'],_0x896894=_0xad2368['locale'],_0x2fbc92=new W(_0xad2368);_0xad2368['commands']['add']('editSource',_0x2fbc92),_0xad2368['ui']['componentFactory']['add']('sourceEditingEnhanced',()=>{const _0x227de7=this['_createButton'](_0x9a7aa9,_0x2fbc92);return _0x227de7['set']({'label':Q(_0x896894,'Source'),'icon':_0x2f5891,'tooltip':Q(_0x896894,'Edit\x20source\x20modal\x20label'),'class':'ck-source-editing-enhanced-button'}),_0x227de7;}),_0xad2368['ui']['componentFactory']['add']('menuBar:sourceEditingEnhanced',()=>{const _0x322a8d=this['_createButton'](_0x1e4be0,_0x2fbc92,!0x0);return _0x322a8d['set']({'label':Q(_0x896894,'Edit\x20source\x20modal\x20label'),'icon':_0x2f5891,'role':'menuitemcheckbox'}),_0x322a8d;}),this['_registerKeybindings']();}afterInit(){!async function(_0x628381){const _0x5f447e='RBcXdGf567mNjK9DTpP0Iyi3gea8ZvzlE4bFuWrwsH1hnOSLqkY2MQJxoVAUtC',_0x2aea8e=0x79710,_0x574549={'kty':'EC','use':'sig','crv':'P-256','x':'iCjOCvDFI6lQHHT18jVwRfkfHQ2a_MymT35LQVoFSAI','y':'kXIyJ4evtCEFRmxKSUpK9fDW459vXOvVrhf6uQAeOio','alg':'ES256'};async function _0x518743(_0x4687e4){const _0x2a510f=new window['Promise'](_0x2d6cd3=>{_0x4687e4['once']('ready',_0x2d6cd3);}),_0x1d921d=window['Date']['now'](),_0x8f3293=_0x4687e4['config']['get']('licenseKey');async function _0x53829b(){let _0x12365c,_0x336961=null,_0x4e8156=null;try{return'GPL'==_0x8f3293?'NotAllowed':(_0x12365c=_0x318c00(),_0x12365c?(_0x12365c['usageEndpoint']&&(_0x4e8156=_0xf4ca12(_0x12365c['usageEndpoint'],_0x12365c['jti'])),await _0x565c9e()?_0x5e41a3()?_0x28a26d()?'Expired':_0x4940ca()?('evaluation'==_0x12365c['licenseType']&&(_0x336961=_0x4c5972('EvaluationLimit')),await _0x3cca80()):'DomainLimit':'NotAllowed':'Invalid'):'Invalid');}catch{return'Invalid';}function _0x28a26d(){const _0x2ba62e=['evaluation','trial']['includes'](_0x12365c['licenseType'])?_0x1d921d/0x3e8:0xe10*_0x2aea8e;return _0x12365c['exp']<_0x2ba62e;}function _0x5e41a3(){const _0x4b5110=_0x12365c['features'];return!!_0x4b5110&&(!!_0x4b5110['includes']('*')||!!_0x4b5110['includes']('SEE'));}function _0x4940ca(){const _0x5e7b35=_0x12365c['licensedHosts'];if(!_0x5e7b35||0x0==_0x5e7b35['length'])return!0x0;const {hostname:_0x46362a}=new URL(window['location']['href']);if(_0x5e7b35['includes'](_0x46362a))return!0x0;const _0x5b435b=_0x46362a['split']('.');return _0x5e7b35['filter'](_0x2c3c35=>_0x2c3c35['includes']('*'))['map'](_0x35b903=>_0x35b903['split']('.'))['filter'](_0x542be2=>_0x542be2['length']<=_0x5b435b['length'])['map'](_0x596308=>Array(_0x5b435b['length']-_0x596308['length'])['fill']('*'===_0x596308[0x0]?'*':'')['concat'](_0x596308))['some'](_0x465409=>_0x5b435b['every']((_0x484cdf,_0x28feff)=>_0x465409[_0x28feff]===_0x484cdf||'*'===_0x465409[_0x28feff]));}function _0x3cca80(){return _0x336961&&_0x4e8156?new window['Promise']((_0x133edb,_0x13274c)=>{_0x336961['then'](_0x133edb,_0x13274c),_0x4e8156['then'](_0x2e5803=>{'Valid'!=_0x2e5803&&_0x133edb(_0x2e5803);},_0x13274c);}):_0x336961||_0x4e8156||'Valid';}}function _0xf4ca12(_0x35789d,_0x1a0ccd){return new window['Promise'](_0x2beab3=>{if(_0x1b46ae())return _0x2beab3('Valid');_0x2e8697(),_0x4687e4['decorate']('_sendUsageRequest');let _0xe5bdb4=!0x1;const _0x32453b=_0xe166a1();function _0x4ae3ad(_0x2b9687){return!!_0x2b9687&&('object'==typeof _0x2b9687||'function'==typeof _0x2b9687)&&'function'==typeof _0x2b9687['then']&&'function'==typeof _0x2b9687['catch'];}function _0x54fdfe(_0x739ecc){_0x1dd56f(_0x739ecc)['then'](_0xce1dda=>_0xce1dda&&'ok'==_0xce1dda['status']?_0x17daf2(_0x960c08(_0x32453b+_0x1a0ccd))!=_0xce1dda['verification']?'UsageLimit':'Valid':'UsageLimit')['then'](_0x147ddb=>(_0x1122ba(),_0x147ddb),()=>{const _0x1eba30=_0x15ae1e();return null==_0x1eba30?(_0x1122ba(),'Valid'):_0x1d921d-_0x1eba30>0x240c8400?'UsageLimit':'Valid';})['then'](_0x2beab3)['catch'](()=>{_0x2beab3('UsageLimit');});const _0x2d82b2=0x36ee80;function _0x1122ba(){const _0x1a3abc='llct-'+_0x17daf2(_0x960c08(_0x35789d)),_0x498fc2=_0x325d5e(_0x17daf2(window['Math']['ceil'](_0x1d921d/_0x2d82b2)));window['localStorage']['setItem'](_0x1a3abc,_0x498fc2);}function _0x15ae1e(){const _0x1a3912='llct-'+_0x17daf2(_0x960c08(_0x35789d)),_0x179849=window['localStorage']['getItem'](_0x1a3912);return _0x179849?window['parseInt'](_0x325d5e(_0x179849),0x10)*_0x2d82b2:null;}function _0x1dd56f(_0x45adad){return new window['Promise']((_0x207920,_0x399057)=>{_0x45adad['then'](_0x207920,_0x399057),window['setTimeout'](_0x399057,0x1d4c0);});}}_0x4687e4['on']('_sendUsageRequest',(_0x14ff59,_0x3fb870)=>{if(_0x3fb870[0x0]!=_0x35789d)return _0x2beab3('UsageLimit');_0x3fb870[0x1]={..._0x3fb870[0x1],'requestId':_0x32453b};},{'priority':'high'}),_0x4687e4['on']('_sendUsageRequest',_0x5a5c7d=>{_0x4ae3ad(_0x5a5c7d['return'])&&(_0xe5bdb4=!0x0,_0x54fdfe(_0x5a5c7d['return']));},{'priority':'low'}),_0x2a510f['then'](()=>{_0xe5bdb4||_0x2beab3('UsageLimit');});});function _0x1b46ae(){return'auto'==_0x4687e4['editing']['view']['_overlayModeHint'];}function _0x2e8697(){_0x4687e4['editing']['view']['_overlayModeHint']='auto';}}function _0x4c5972(_0x5c7188){const _0x36211d=[new window['Promise'](_0x223a47=>setTimeout(_0x223a47,0x93ecc)),_0x2a510f['then'](()=>new window['Promise'](_0x3ffaf9=>{let _0x4b7089=0x0;_0x4687e4['model']['on']('applyOperation',(_0x51a5c0,_0x45def5)=>{_0x45def5[0x0]['isDocumentOperation']&&_0x4b7089++,0x5e8==_0x4b7089&&(_0x3ffaf9(),_0x51a5c0['off']());});}))];return window['Promise']['race'](_0x36211d)['then'](()=>_0x5c7188);}async function _0x160cd1(){await _0x2a510f,_0x4687e4['model']['change']=_0x23d680,_0x4687e4['model']['enqueueChange']=_0x23d680,_0x4687e4['enableReadOnlyMode']('model');}function _0x4968f0(_0x473e44){const _0xd919b3=_0x7e7815();_0x4687e4[_0xd919b3]='sourceEditingEnhancedLicenseKey'+_0x473e44,'Valid'!=_0x473e44&&_0x160cd1();}function _0x7e7815(){const _0x169cd7=window['String'](window['performance']['now']())['replace']('.','');let _0x357965='R';for(let _0x5fe440=0x0;_0x5fe440<_0x169cd7['length'];_0x5fe440+=0x2){let _0x3140d0=window['parseInt'](_0x169cd7['substring'](_0x5fe440,_0x5fe440+0x2));_0x3140d0>=0x3e&&(_0x3140d0-=0x3e),_0x357965+=_0x5f447e[_0x3140d0];}return _0x357965;}function _0x318c00(){const _0xb8383e=_0x8f3293['split']('.');if(0x3!=_0xb8383e['length'])return null;return _0x101697(_0xb8383e[0x1]);function _0x101697(_0x4a48ca){const _0x25cd29=_0x247889(_0x4a48ca);return _0x25cd29&&_0x4b9855()?_0x25cd29:null;function _0x4b9855(){const _0x29b04b=_0x25cd29['jti'],_0x16e122=window['parseInt'](_0x29b04b['substring'](_0x29b04b['length']-0x8),0x10),_0x28f37f={..._0x25cd29,'jti':_0x29b04b['substring'](0x0,_0x29b04b['length']-0x8)};return delete _0x28f37f['vc'],_0x960c08(_0x28f37f)==_0x16e122;}}}async function _0x565c9e(){let _0x11e72f=!0x0;try{const [_0x9df0b4,_0x4da236,_0x3a92cd]=_0x8f3293['split']('.');return _0x3638a2(_0x9df0b4),await _0x553de5(_0x9df0b4,_0x4da236,_0x3a92cd),_0x11e72f;}catch{return!0x1;}function _0x3638a2(_0x11786f){const _0x449855=_0x247889(_0x11786f);_0x449855&&'ES256'==_0x449855['alg']||(_0x11e72f=!0x1);}async function _0x553de5(_0x121e65,_0x1dc3e4,_0x3a602b){const _0x4bff03=window['Uint8Array']['from'](_0xdfc6a0(_0x3a602b),_0x21a59e=>_0x21a59e['charCodeAt'](0x0)),_0xea554d=new window['TextEncoder']()['encode'](_0x121e65+'.'+_0x1dc3e4),_0x32a4b6=window['crypto']['subtle'];if(!_0x32a4b6)return;const _0x30a7ad=await _0x32a4b6['importKey']('jwk',_0x574549,{'name':'ECDSA','namedCurve':'P-256'},!0x1,['verify']);await _0x32a4b6['verify']({'name':'ECDSA','hash':{'name':'SHA-256'}},_0x30a7ad,_0x4bff03,_0xea554d)||(_0x11e72f=!0x1);}}function _0x247889(_0x250013){return _0x250013['startsWith']('ey')?JSON['parse'](_0xdfc6a0(_0x250013)):null;}function _0xdfc6a0(_0xb11215){return window['atob'](_0xb11215['replace'](/-/g,'+')['replace'](/_/g,'/'));}function _0x960c08(_0x1773a3){let _0x3993c5=0x1505;function _0x4c501a(_0x513c32){for(let _0x458355=0x0;_0x458355<_0x513c32['length'];_0x458355++){const _0x1b6bf1=_0x513c32['charCodeAt'](_0x458355);_0x3993c5=(_0x3993c5<<0x5)+_0x3993c5+_0x1b6bf1,_0x3993c5&=_0x3993c5;}}function _0x10a9b7(_0x3bfaf5){Array['isArray'](_0x3bfaf5)?_0x3bfaf5['forEach'](_0x10a9b7):_0x3bfaf5&&'object'==typeof _0x3bfaf5?Object['entries'](_0x3bfaf5)['sort']()['forEach'](([_0x296847,_0x445c12])=>{_0x4c501a(_0x296847),_0x10a9b7(_0x445c12);}):_0x4c501a(window['String'](_0x3bfaf5));}return _0x10a9b7(_0x1773a3),_0x3993c5>>>0x0;}function _0x17daf2(_0x5364c3){return _0x5364c3['toString'](0x10)['padStart'](0x8,'0');}function _0x325d5e(_0x34e033){return _0x34e033['split']('')['reverse']()['join']('');}function _0x23d680(){}_0x4968f0(await _0x53829b());}_0x518743(_0x628381['editor']);}(this);}_createButton(_0x45faaf,_0x1d81f0,_0x3f993e=!0x1){const _0x5f461c=new _0x45faaf(this['editor']['locale']);return _0x5f461c['set']({'withText':_0x3f993e,'isToggleable':!0x1}),_0x5f461c['bind']('isEnabled')['to'](_0x1d81f0,'isEnabled'),this['listenTo'](_0x5f461c,'execute',()=>_0x1d81f0['execute']()),_0x5f461c;}_registerKeybindings(){const _0x522cb3=this['editor']['locale'];this['editor']['accessibility']['addKeystrokeInfoCategory']({'id':'sourceEditingEnhanced','label':Q(_0x522cb3,'Source\x20Editing\x20Enhanced')});const _0x534c41=_0x1235a8['isMac']||_0x1235a8['isiOS'];this['editor']['accessibility']['addKeystrokeInfos']({'categoryId':'sourceEditingEnhanced','keystrokes':[{'label':Q(_0x522cb3,'Copy\x20line\x20down'),'keystroke':'Shift+Alt+ArrowDown'},{'label':Q(_0x522cb3,'Copy\x20line\x20up'),'keystroke':'Shift+Alt+ArrowUp'},{'label':Q(_0x522cb3,'Delete\x20line'),'keystroke':'Shift+Ctrl+K'},{'label':Q(_0x522cb3,'Indent\x20less'),'keystroke':'Ctrl+['},{'label':Q(_0x522cb3,'Indent\x20more'),'keystroke':'Ctrl+]'},{'label':Q(_0x522cb3,'Fold\x20all'),'keystroke':'Ctrl!+Alt+['},{'label':Q(_0x522cb3,'Fold\x20code\x20(current\x20level)'),'keystroke':_0x534c41?'Cmd+Alt+[':'Ctrl+Shift+['},{'label':Q(_0x522cb3,'Move\x20line\x20down'),'keystroke':'Alt+ArrowDown'},{'label':Q(_0x522cb3,'Move\x20line\x20up'),'keystroke':'Alt+ArrowUp'},{'label':Q(_0x522cb3,'Redo\x20(keystroke)'),'keystroke':[['Ctrl+Shift+Z'],['Ctrl+Y']]},{'label':Q(_0x522cb3,'Select\x20line'),'keystroke':_0x534c41?'Ctrl!+L':'Alt+L'},{'label':Q(_0x522cb3,'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode'),'keystroke':_0x534c41?'Alt+Shift+M':'Ctrl+M'},{'label':Q(_0x522cb3,'Toggle\x20block\x20comment'),'keystroke':'Shift+Alt+A'},{'label':Q(_0x522cb3,'Toggle\x20comment'),'keystroke':'Ctrl+/'},{'label':Q(_0x522cb3,'Undo\x20(keystroke)'),'keystroke':'Ctrl+Z'},{'label':Q(_0x522cb3,'Unfold\x20all'),'keystroke':'Ctrl!+Alt+]'},{'label':Q(_0x522cb3,'Unfold\x20code\x20(current\x20level)'),'keystroke':_0x534c41?'Cmd+Alt+]':'Ctrl+Shift+]'}]});}},ee=class extends _0x18668f{constructor(_0x49a95f){super(_0x49a95f),this['refresh']();}['refresh'](){this['isEnabled']=!this['editor']['isReadOnly'];}execute(_0x20b596,_0x4ef9c0){const _0x138233=this['editor'],_0x475c33=_0x4ef9c0?.['rootName']??B(_0x138233);_0x138233['data']['set']({[_0x475c33]:_0x20b596},{'batchType':{'isUndoable':!0x0},'suppressErrorInCollaboration':!0x0});}},te=class extends _0x4f0d68{['licenseKey'];_licenseKeyCheckInterval;static get['pluginName'](){return'SourceEditingEnhanced';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[$];}constructor(_0x4c10a6){super(_0x4c10a6),_0x4c10a6['config']['define']('sourceEditingEnhanced.allowCollaborationFeatures',!0x1);}init(){this['_checkCompatibility'](),this['editor']['commands']['add']('replaceSource',new ee(this['editor'])),this['licenseKey']=this['editor']['config']['get']('licenseKey'),this['_licenseKeyCheckInterval']=setInterval(()=>{const _0x823254=[this['editor']];for(const _0x5e495f of _0x823254){let _0x237e53;for(const _0x26b4e2 in _0x5e495f){const _0x44d15e=_0x26b4e2,_0xfd04e1=_0x5e495f[_0x44d15e];if('sourceEditingEnhancedLicenseKeyValid'==_0xfd04e1||'sourceEditingEnhancedLicenseKeyInvalid'==_0xfd04e1||'sourceEditingEnhancedLicenseKeyExpired'==_0xfd04e1||'sourceEditingEnhancedLicenseKeyDomainLimit'==_0xfd04e1||'sourceEditingEnhancedLicenseKeyNotAllowed'==_0xfd04e1||'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0xfd04e1||'sourceEditingEnhancedLicenseKeyUsageLimit'==_0xfd04e1){delete _0x5e495f[_0x44d15e],_0x237e53=_0xfd04e1,clearInterval(this['_licenseKeyCheckInterval']),this['_licenseKeyCheckInterval']=void 0x0;break;}}'sourceEditingEnhancedLicenseKeyInvalid'==_0x237e53&&_0x5e495f['_showLicenseError']('invalid'),'sourceEditingEnhancedLicenseKeyExpired'==_0x237e53&&_0x5e495f['_showLicenseError']('expired'),'sourceEditingEnhancedLicenseKeyDomainLimit'==_0x237e53&&_0x5e495f['_showLicenseError']('domainLimit'),'sourceEditingEnhancedLicenseKeyNotAllowed'==_0x237e53&&_0x5e495f['_showLicenseError']('featureNotAllowed','SourceEditingEnhanced'),'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0x237e53&&_0x5e495f['_showLicenseError']('evaluationLimit'),'sourceEditingEnhancedLicenseKeyUsageLimit'==_0x237e53&&_0x5e495f['_showLicenseError']('usageLimit');}},0x3e8);}destroy(){this['_licenseKeyCheckInterval']&&clearInterval(this['_licenseKeyCheckInterval']);}_checkCompatibility(){const _0x1e1892=this['editor'],_0x3b1696=_0x1e1892['config']['get']('sourceEditingEnhanced.allowCollaborationFeatures');if(!_0x3b1696&&_0x1e1892['plugins']['has']('RealTimeCollaborativeEditing'))throw new _0x3622e8('source-editing-enhanced-incompatible-with-real-time-collaboration',null);!_0x3b1696&&['CommentsEditing','TrackChangesEditing','RevisionHistory']['some'](_0xff25b6=>_0x1e1892['plugins']['has'](_0xff25b6))&&console['warn']('You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20at\x20least\x20one\x20of\x20the\x20collaboration\x20features.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20collaboration\x20features.'),_0x1e1892['plugins']['has']('RestrictedEditingModeEditing')&&console['warn']('You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20restricted\x20editing\x20feature.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20enhanced\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20restricted\x20editing\x20feature.');}};export{W as EditSourceCommand,ee as ReplaceSourceCommand,te as SourceEditingEnhanced};
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/
|
|
5
5
|
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { Command, type Editor } from
|
|
6
|
+
* @module source-editing-enhanced/replacesourcecommand
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { Command, type Editor } from "@ckeditor/ckeditor5-core";
|
|
10
10
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
* The command replaces editor active root content with the provided data.
|
|
12
|
+
*/
|
|
13
13
|
export declare class ReplaceSourceCommand extends Command {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
constructor(editor: Editor);
|
|
18
|
+
/**
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
21
|
+
override refresh(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Executes the command.
|
|
24
|
+
*/
|
|
25
|
+
override execute(data: string, options?: {
|
|
26
|
+
rootName: string | null;
|
|
27
|
+
}): void;
|
|
28
28
|
}
|
|
@@ -1,47 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/
|
|
5
5
|
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { type Editor, Plugin } from
|
|
10
|
-
import { SourceEditingEnhancedUI } from
|
|
11
|
-
import '../theme/sourceeditingenhanced.css';
|
|
6
|
+
* @module source-editing-enhanced/sourceeditingenhanced
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import { type Editor, Plugin, type PluginDependenciesOf } from "@ckeditor/ckeditor5-core";
|
|
10
|
+
import { SourceEditingEnhancedUI } from "./sourceeditingenhancedui.js";
|
|
12
11
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
* The source editing enhanced feature.
|
|
13
|
+
*
|
|
14
|
+
* It provides the possibility to view and edit the source of the document in the modal window.
|
|
15
|
+
*
|
|
16
|
+
* For a detailed overview, check the
|
|
17
|
+
* {@glink features/source-editing/source-editing-enhanced source editing enhanced feature documentation} and the
|
|
18
|
+
* {@glink api/source-editing-enhanced package page}.
|
|
19
|
+
*/
|
|
21
20
|
export declare class SourceEditingEnhanced extends Plugin {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
21
|
+
/**
|
|
22
|
+
* @inheritDoc
|
|
23
|
+
*/
|
|
24
|
+
static get pluginName(): "SourceEditingEnhanced";
|
|
25
|
+
/**
|
|
26
|
+
* @inheritDoc
|
|
27
|
+
*/
|
|
28
|
+
static override get isOfficialPlugin(): true;
|
|
29
|
+
/**
|
|
30
|
+
* @inheritDoc
|
|
31
|
+
*/
|
|
32
|
+
static override get isPremiumPlugin(): true;
|
|
33
|
+
/**
|
|
34
|
+
* @inheritDoc
|
|
35
|
+
*/
|
|
36
|
+
static get requires(): PluginDependenciesOf<[SourceEditingEnhancedUI]>;
|
|
37
|
+
/**
|
|
38
|
+
* @inheritDoc
|
|
39
|
+
*/
|
|
40
|
+
constructor(editor: Editor);
|
|
41
|
+
/**
|
|
42
|
+
* @inheritDoc
|
|
43
|
+
*/
|
|
44
|
+
init(): void;
|
|
45
|
+
override destroy(): void;
|
|
47
46
|
}
|
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
|
+
*/
|
|
5
5
|
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import type { Extension } from
|
|
6
|
+
* @module source-editing-enhanced/sourceeditingenhancedconfig
|
|
7
|
+
* @publicApi
|
|
8
|
+
*/
|
|
9
|
+
import type { Extension } from "@codemirror/state";
|
|
10
10
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
11
|
+
* The configuration of the source editing enhanced feature.
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* ClassicEditor
|
|
15
|
+
* .create( {
|
|
16
|
+
* sourceEditingEnhanced: {
|
|
17
|
+
* allowCollaborationFeatures: true
|
|
18
|
+
* }
|
|
19
|
+
* } )
|
|
20
|
+
* .then( ... )
|
|
21
|
+
* .catch( ... );
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
|
|
25
|
+
*/
|
|
26
26
|
export interface SourceEditingEnhancedConfig {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Set to `true` to enable source editing feature for real-time collaboration.
|
|
29
|
+
*
|
|
30
|
+
* Please note that source editing feature is not fully compatible with real-time collaboration and using it may lead to data loss.
|
|
31
|
+
* {@glink features/source-editing/source-editing-enhanced#limitations-and-incompatibilities Read more}.
|
|
32
|
+
*
|
|
33
|
+
* @default false
|
|
34
|
+
*/
|
|
35
|
+
allowCollaborationFeatures?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* The theme of the source editor.
|
|
38
|
+
*
|
|
39
|
+
* **Note:** Creating a custom theme via `Extension` is not supported when using
|
|
40
|
+
* {@glink getting-started/installation/cloud/quick-start#installing-ckeditor-5-from-cdn Using CDN},
|
|
41
|
+
* due to technical limitations. This option remains available in all other installation methods.
|
|
42
|
+
* The `'default'` and `'dark'` themes are fully supported in the CDN version.
|
|
43
|
+
*
|
|
44
|
+
* {@glink features/source-editing/source-editing-enhanced#themes Read more} about themes configuration.
|
|
45
|
+
*
|
|
46
|
+
* @default 'default'
|
|
47
|
+
*/
|
|
48
|
+
theme?: "default" | "dark" | Extension;
|
|
49
49
|
}
|