@ckeditor/ckeditor5-source-editing-enhanced 48.8.1-alpha.4 → 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 _0x2c50a4,PendingActions as _0x972dd9,Plugin as _0x5dc731}from'@ckeditor/ckeditor5-core/dist/index.js';import{CKEditorError as _0x441c9,formatHtml as _0x3711f5,env as _0x541475,uid as _0x3f1a81}from'@ckeditor/ckeditor5-utils/dist/index.js';import{IconSource as _0x46aa87}from'@ckeditor/ckeditor5-icons/dist/index.js';import{View as _0xfcb9c3,ButtonView as _0xcc5332,MenuBarMenuListItemButtonView as _0x2c3fc1}from'@ckeditor/ckeditor5-ui/dist/index.js';import{EditorView as _0x4c45a9,crosshairCursor as _0xc06565,drawSelection as _0xa0d9f5,dropCursor as _0x2bd9f6,lineNumbers as _0x4c156b,highlightActiveLine as _0xaf172c,highlightActiveLineGutter as _0x22e614,highlightSpecialChars as _0x28e25a,rectangularSelection as _0xf315c4,keymap as _0x255e36}from'@codemirror/view';import{Compartment as _0x342300,Transaction as _0x134edf}from'@codemirror/state';import{bracketMatching as _0x145a31,foldGutter as _0x2ff5d3,indentOnInput as _0x1d817a,syntaxHighlighting as _0x541783,defaultHighlightStyle as _0x2aff34,foldKeymap as _0x127a81}from'@codemirror/language';import{toggleTabFocusMode as _0x4c53df,history as _0x49c797,defaultKeymap as _0x1822b6,historyKeymap as _0xc17b1e,indentLess as _0x51fe90,indentMore as _0x15f2a8,redo as _0x5f3d0a,undo as _0x2f91e3}from'@codemirror/commands';import{autocompletion as _0x2c603e,closeBrackets as _0x4aa8cf,closeBracketsKeymap as _0x54436d,completionKeymap as _0x2cbf5e}from'@codemirror/autocomplete';import{html as _0xe3c415}from'@codemirror/lang-html';import{markdown as _0x361a7b}from'@codemirror/lang-markdown';import{oneDark as _0x99200c}from'@codemirror/theme-one-dark';function q(_0x585f2f,_0x50c4c9){const t=_0x585f2f['t'];switch(_0x50c4c9){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 _0x50c4c9;}}function H(_0x1d4637){const _0x1c845a=_0x1d4637['editing']['view']['document']['roots'],_0x24afe9=_0x1c845a['length'];if(0x0===_0x24afe9)throw new _0x441c9('source-editing-enhanced-editor-no-root',_0x1d4637);if(0x1===_0x24afe9)return _0x1c845a['first']['rootName'];return Array['from'](_0x1d4637['editing']['view']['document']['selection']['getRanges']())[0x0]['root']['rootName'];}function Z(_0x3a8c28){return J(_0x3a8c28['replace'](/^[\n\s]*/g,''))?_0x3a8c28['replace'](/\s+/g,''):_0x3a8c28;}function J(_0x451ce2){return _0x451ce2['startsWith']('<');}function G(_0x365f9a){const _0x1dc70d=[_0x4c45a9['lineWrapping'],_0x2c603e(),_0x145a31(),_0x4aa8cf(),_0xc06565(),_0xa0d9f5(),_0x2bd9f6(),_0x4c156b(),_0x2ff5d3(),_0xaf172c(),_0x22e614(),_0x28e25a(),_0x49c797(),_0x1d817a(),_0xf315c4(),_0x541783(_0x2aff34,{'fallback':!0x0})],_0x1b1d78=new _0x342300();_0x1dc70d['push'](_0x1b1d78['of'](_0x4c45a9['editable']['of'](!0x0))),'html'===_0x365f9a['syntaxLanguage']?_0x1dc70d['push'](_0xe3c415()):_0x1dc70d['push'](_0x361a7b());const _0x31c0e9=function(_0x32f9ca){if(_0x32f9ca&&'default'!==_0x32f9ca)return'dark'===_0x32f9ca?_0x99200c:_0x32f9ca;return null;}(_0x365f9a['theme']);_0x31c0e9&&_0x1dc70d['push'](_0x31c0e9),_0x1dc70d['push'](_0x255e36['of']([..._0x54436d,..._0x1822b6,..._0xc17b1e,..._0x127a81,..._0x2cbf5e,{'key':'Tab','run':_0x15f2a8,'shift':_0x51fe90,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-y','mac':'Cmd-y','run':_0x5f3d0a,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-Shift-z','mac':'Cmd-Shift-z','run':_0x5f3d0a,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-z','mac':'Cmd-z','run':_0x2f91e3,'preventDefault':!0x0,'stopPropagation':!0x0}]));const _0x5e45a1=new _0x4c45a9({'extensions':_0x1dc70d,'parent':_0x365f9a['parent']});return _0x4c53df(_0x5e45a1),{'focus':()=>{_0x5e45a1['dispatch']({'selection':{'anchor':0x0},'scrollIntoView':!0x0}),_0x5e45a1['focus']();},'getData':()=>_0x5e45a1['state']['doc']['toString'](),'setData':_0x21d810=>{_0x5e45a1['dispatch']({'changes':{'from':0x0,'to':_0x5e45a1['state']['doc']['length'],'insert':_0x21d810},'annotations':_0x134edf['addToHistory']['of'](!0x1)});},'setReadOnly':_0x11ac95=>{_0x5e45a1['dispatch']({'effects':[_0x1b1d78['reconfigure'](_0x4c45a9['editable']['of'](!_0x11ac95))]});},'destroy':()=>{_0x5e45a1['destroy']();},'instance':_0x5e45a1};}class CodeEditorView extends _0xfcb9c3{['_codeEditorApi']=null;['_options'];constructor(_0x472c58,_0x34a332){super(_0x472c58),this['_options']=_0x34a332,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',(_0x39e400,_0x248fc1,_0x147f72)=>{this['setReadOnly'](_0x147f72);});}['destroy'](){super['destroy'](),this['_codeEditorApi']['destroy'](),this['_codeEditorApi']=null;}['focus'](){this['isReadOnly']?this['element']['focus']():this['_codeEditorApi']['focus']();}['getData'](){return this['_codeEditorApi']['getData']();}['setData'](_0x2bfcdd){this['_codeEditorApi']['setData'](_0x2bfcdd);}['setReadOnly'](_0x2c18a5){this['_codeEditorApi']['setReadOnly'](_0x2c18a5);}}const Q='SourceEditingEnhancedMode';class EditSourceCommand extends _0x2c50a4{constructor(_0x55d69a){super(_0x55d69a),this['affectsData']=!0x1,this['editor']['plugins']['get'](_0x972dd9)['on']('change:hasAny',(_0x55bf11,_0x2ea983,_0x2ddb30)=>{_0x2ddb30?this['forceDisabled']('pendingActions'):this['clearForceDisabled']('pendingActions');});}['_disableCommands'](){const _0x27ba20=this['editor'];for(const _0x576d9f of _0x27ba20['commands']['names']())['replaceSource','editSource']['includes'](_0x576d9f)||_0x27ba20['commands']['get'](_0x576d9f)['forceDisabled'](Q);}['_enableCommands'](){const _0x3e270a=this['editor'];for(const _0x488029 of _0x3e270a['commands']['commands']())_0x488029['clearForceDisabled'](Q);}['refresh'](){this['isEnabled']=!0x0;}['execute'](){const _0x148c2c=this['editor'],_0x90e48d=_0x148c2c['locale'],_0x49901e=_0x148c2c['plugins']['get']('Dialog'),_0x5aee4d=H(_0x148c2c),_0x190c4f=_0x148c2c['data']['get']({'rootName':_0x5aee4d}),_0x25313a=J(_0x57dacd=_0x190c4f)?_0x3711f5(_0x57dacd):_0x57dacd;var _0x57dacd;const _0x20f2f3=new CodeEditorView(_0x90e48d,{'syntaxLanguage':_0x148c2c['plugins']['has']('Markdown')?'markdown':'html','theme':_0x148c2c['config']['get']('sourceEditingEnhanced.theme')});let _0x76069d=!0x0;const _0x55259e=_0x21bb63=>{if(!_0x76069d)return;return Z(_0x20f2f3['getData']())!==Z(_0x25313a)?window['confirm'](q(_0x90e48d,'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.'))?void 0x0:_0x21bb63['stop']():void 0x0;};_0x49901e['show']({'id':'sourceEditingEnhanced','title':q(_0x90e48d,'Edit\x20source\x20modal\x20label'),'isModal':!0x0,'className':'ck-source-editing-enhanced-dialog','content':_0x20f2f3,'actionButtons':[{'label':q(_0x90e48d,'Cancel'),'withText':!0x0,'onExecute':()=>{_0x49901e['hide']();}},{'label':q(_0x90e48d,'Save'),'class':'ck-button-action','withText':!0x0,'onExecute':()=>{const _0x4d15dc=Z(_0x20f2f3['getData']())!==Z(_0x25313a);(_0x4d15dc&&_0x148c2c['execute']('replaceSource',_0x20f2f3['getData']()),_0x76069d=!0x1,_0x49901e['hide'](),_0x4d15dc&&'editables'in _0x148c2c['ui']['view'])&&_0x148c2c['ui']['view']['editables'][_0x5aee4d]['element']['focus']();},'onCreate':_0x5c4e0d=>{_0x5c4e0d['set']('isEnabled',!_0x148c2c['isReadOnly']),_0x5c4e0d['bind']('isEnabled')['to'](_0x148c2c,'isReadOnly',this,'isEnabled',(_0x9396f9,_0x373086)=>!_0x9396f9&&_0x373086);}}],'onHide':()=>{this['_enableCommands'](),_0x49901e['off']('hide',_0x55259e),_0x20f2f3['destroy']();},'onShow':()=>{_0x20f2f3['bind']('isReadOnly')['to'](_0x148c2c,'isReadOnly',this,'isEnabled',(_0x25c51c,_0x105c1f)=>_0x25c51c||!_0x105c1f),_0x20f2f3['setData'](_0x25313a),_0x20f2f3['focus'](),_0x49901e['on']('hide',_0x55259e,{'priority':'highest'}),this['_disableCommands']();}});}}class SourceEditingEnhancedUI extends _0x5dc731{static get['pluginName'](){return'SourceEditingEnhancedUI';}static get['requires'](){return[_0x972dd9];}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x582bef=this['editor'],_0x1bc53c=_0x582bef['locale'],_0x1f64a7=new EditSourceCommand(_0x582bef);_0x582bef['commands']['add']('editSource',_0x1f64a7),_0x582bef['ui']['componentFactory']['add']('sourceEditingEnhanced',()=>{const _0x2c46ee=this['_createButton'](_0xcc5332,_0x1f64a7);return _0x2c46ee['set']({'label':q(_0x1bc53c,'Source'),'icon':_0x46aa87,'tooltip':q(_0x1bc53c,'Edit\x20source\x20modal\x20label'),'class':'ck-source-editing-enhanced-button'}),_0x2c46ee;}),_0x582bef['ui']['componentFactory']['add']('menuBar:sourceEditingEnhanced',()=>{const _0x4a8c0c=this['_createButton'](_0x2c3fc1,_0x1f64a7,!0x0);return _0x4a8c0c['set']({'label':q(_0x1bc53c,'Edit\x20source\x20modal\x20label'),'icon':_0x46aa87,'role':'menuitemcheckbox'}),_0x4a8c0c;}),this['_registerKeybindings']();}['afterInit'](){!async function(_0x24ad66){const _0x3578ad=_0x46444c([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]),_0x16605b=0x5dba9314,_0x46998e=0x5dbd1994^_0x16605b,_0x22650e=window[_0x46444c([0x44,0x61,0x74,0x65])][_0x46444c([0x6e,0x6f,0x77])](),_0x52d2f2=_0x24ad66[_0x46444c([0x65,0x64,0x69,0x74,0x6f,0x72])],_0xd3ab7d=new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x486842=>{_0x52d2f2[_0x46444c([0x6f,0x6e,0x63,0x65])](_0x46444c([0x72,0x65,0x61,0x64,0x79]),_0x486842);}),_0x4a5546={[_0x46444c([0x6b,0x74,0x79])]:_0x46444c([0x45,0x43]),[_0x46444c([0x75,0x73,0x65])]:_0x46444c([0x73,0x69,0x67]),[_0x46444c([0x63,0x72,0x76])]:_0x46444c([0x50,0x2d,0x32,0x35,0x36]),[_0x46444c([0x78])]:_0x46444c([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]),[_0x46444c([0x79])]:_0x46444c([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]),[_0x46444c([0x61,0x6c,0x67])]:_0x46444c([0x45,0x53,0x32,0x35,0x36])},_0x52eef4=_0x52d2f2[_0x46444c([0x63,0x6f,0x6e,0x66,0x69,0x67])][_0x46444c([0x67,0x65,0x74])](_0x46444c([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]));async function _0x511b6d(){let _0x43456a,_0x31ac47=null,_0xc1ff09=null;try{if(_0x52eef4==_0x46444c([0x47,0x50,0x4c]))return _0x46444c([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]);if(_0x43456a=_0x259b4e(),!_0x43456a)return _0x46444c([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);return _0x43456a[_0x46444c([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])]&&(_0xc1ff09=_0x470352(_0x43456a[_0x46444c([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])],_0x43456a[_0x46444c([0x6a,0x74,0x69])])),await _0x3ab3a2()?_0x3c658c()?_0x430b05()?_0x46444c([0x45,0x78,0x70,0x69,0x72,0x65,0x64]):_0x2dfdfd()?(_0x43456a[_0x46444c([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])]==_0x46444c([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e])&&(_0x31ac47=_0x5d3a8b(_0x46444c([0x45,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e,0x4c,0x69,0x6d,0x69,0x74]))),await _0x15f51a()):_0x46444c([0x44,0x6f,0x6d,0x61,0x69,0x6e,0x4c,0x69,0x6d,0x69,0x74]):_0x46444c([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]):_0x46444c([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}catch{return _0x46444c([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}function _0x430b05(){const _0x511f1a=[_0x46444c([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e]),_0x46444c([0x74,0x72,0x69,0x61,0x6c])][_0x46444c([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x43456a[_0x46444c([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])])?_0x22650e/0x3e8:0xe10*_0x46998e;return _0x43456a[_0x46444c([0x65,0x78,0x70])]<_0x511f1a;}function _0x3c658c(){const _0x2f72ad=_0x43456a[_0x46444c([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73])];return!!_0x2f72ad&&(!!_0x2f72ad[_0x46444c([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x46444c([0x2a]))||!!_0x2f72ad[_0x46444c([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x46444c([0x53,0x45,0x45])));}function _0x2dfdfd(){const _0x350ee7=_0x43456a[_0x46444c([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x64,0x48,0x6f,0x73,0x74,0x73])];if(!_0x350ee7||0x0==_0x350ee7[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])])return!0x0;const {hostname:_0xfa6154}=new URL(window[_0x46444c([0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e])]['href']);if(_0x350ee7[_0x46444c([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0xfa6154))return!0x0;const _0xb53e32=_0xfa6154[_0x46444c([0x73,0x70,0x6c,0x69,0x74])](_0x46444c([0x2e]));return _0x350ee7[_0x46444c([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x218950=>_0x218950[_0x46444c([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x46444c([0x2a])))[_0x46444c([0x6d,0x61,0x70])](_0x3a1f7d=>_0x3a1f7d[_0x46444c([0x73,0x70,0x6c,0x69,0x74])](_0x46444c([0x2e])))[_0x46444c([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x3cfa62=>_0x3cfa62[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]<=_0xb53e32[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])])[_0x46444c([0x6d,0x61,0x70])](_0x36bde3=>Array(_0xb53e32[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]-_0x36bde3[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])])[_0x46444c([0x66,0x69,0x6c,0x6c])](_0x36bde3[0x0]===_0x46444c([0x2a])?_0x46444c([0x2a]):'')[_0x46444c([0x63,0x6f,0x6e,0x63,0x61,0x74])](_0x36bde3))[_0x46444c([0x73,0x6f,0x6d,0x65])](_0x46e626=>_0xb53e32[_0x46444c([0x65,0x76,0x65,0x72,0x79])]((_0x1b99ef,_0x4899d7)=>_0x46e626[_0x4899d7]===_0x1b99ef||_0x46e626[_0x4899d7]===_0x46444c([0x2a])));}function _0x15f51a(){return _0x31ac47&&_0xc1ff09?new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x370b9b,_0x13eaff)=>{_0x31ac47[_0x46444c([0x74,0x68,0x65,0x6e])](_0x370b9b,_0x13eaff),_0xc1ff09[_0x46444c([0x74,0x68,0x65,0x6e])](_0x167bf7=>{_0x167bf7!=_0x46444c([0x56,0x61,0x6c,0x69,0x64])&&_0x370b9b(_0x167bf7);},_0x13eaff);}):_0x31ac47||_0xc1ff09||_0x46444c([0x56,0x61,0x6c,0x69,0x64]);}}function _0x470352(_0x2ae6ba,_0x44d98d){return new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x4c2e54=>{if(_0x3480a1())return _0x4c2e54(_0x46444c([0x56,0x61,0x6c,0x69,0x64]));_0x34dc70(),_0x52d2f2[_0x46444c([0x64,0x65,0x63,0x6f,0x72,0x61,0x74,0x65])](_0x46444c([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]));let _0xa4cb8a=!0x1;const _0x325e69=_0x3f1a81();function _0x59867a(_0xce1e0b){return!!_0xce1e0b&&(typeof _0xce1e0b===_0x46444c([0x6f,0x62,0x6a,0x65,0x63,0x74])||typeof _0xce1e0b===_0x46444c([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]))&&typeof _0xce1e0b[_0x46444c([0x74,0x68,0x65,0x6e])]===_0x46444c([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e])&&typeof _0xce1e0b[_0x46444c([0x63,0x61,0x74,0x63,0x68])]===_0x46444c([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]);}function _0x455c04(_0x33992c){_0x537f99(_0x33992c)[_0x46444c([0x74,0x68,0x65,0x6e])](_0x2a9cc5=>{if(!_0x2a9cc5||_0x2a9cc5[_0x46444c([0x73,0x74,0x61,0x74,0x75,0x73])]!=_0x46444c([0x6f,0x6b]))return _0x46444c([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]);return _0x344a18(_0x453fee(_0x325e69+_0x44d98d))!=_0x2a9cc5[_0x46444c([0x76,0x65,0x72,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e])]?_0x46444c([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]):_0x46444c([0x56,0x61,0x6c,0x69,0x64]);})[_0x46444c([0x74,0x68,0x65,0x6e])](_0x5c869c=>(_0x4999c2(),_0x5c869c),()=>{const _0x3b5300=_0x1aee42();return null==_0x3b5300?(_0x4999c2(),_0x46444c([0x56,0x61,0x6c,0x69,0x64])):_0x46444c(_0x22650e-_0x3b5300>(0x79b61714^_0x16605b)?[0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]:[0x56,0x61,0x6c,0x69,0x64]);})[_0x46444c([0x74,0x68,0x65,0x6e])](_0x4c2e54)[_0x46444c([0x63,0x61,0x74,0x63,0x68])](()=>{_0x4c2e54(_0x46444c([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});const _0xe8eeee=0x5d8c7d94^_0x16605b;function _0x4999c2(){const _0x55826a=_0x46444c([0x6c,0x6c,0x63,0x74,0x2d])+_0x344a18(_0x453fee(_0x2ae6ba)),_0x411e55=_0x746475(_0x344a18(window[_0x46444c([0x4d,0x61,0x74,0x68])][_0x46444c([0x63,0x65,0x69,0x6c])](_0x22650e/_0xe8eeee)));window[_0x46444c([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x46444c([0x73,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x55826a,_0x411e55);}function _0x1aee42(){const _0x47c102=_0x46444c([0x6c,0x6c,0x63,0x74,0x2d])+_0x344a18(_0x453fee(_0x2ae6ba)),_0x2ece35=window[_0x46444c([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x46444c([0x67,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x47c102);return _0x2ece35?window[_0x46444c([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x746475(_0x2ece35),0x10)*_0xe8eeee:null;}function _0x537f99(_0x249db3){return new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x1946ea,_0x441bd4)=>{_0x249db3[_0x46444c([0x74,0x68,0x65,0x6e])](_0x1946ea,_0x441bd4),window[_0x46444c([0x73,0x65,0x74,0x54,0x69,0x6d,0x65,0x6f,0x75,0x74])](_0x441bd4,0x5dbb47d4^_0x16605b);});}}_0x52d2f2[_0x46444c([0x6f,0x6e])](_0x46444c([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),(_0x4a2dd5,_0x5242b6)=>{if(_0x5242b6[0x0]!=_0x2ae6ba)return _0x4c2e54(_0x46444c([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));_0x5242b6[0x1]={..._0x5242b6[0x1],[_0x46444c([0x72,0x65,0x71,0x75,0x65,0x73,0x74,0x49,0x64])]:_0x325e69};},{[_0x46444c([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x46444c([0x68,0x69,0x67,0x68])}),_0x52d2f2[_0x46444c([0x6f,0x6e])](_0x46444c([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),_0x2916fe=>{_0x59867a(_0x2916fe[_0x46444c([0x72,0x65,0x74,0x75,0x72,0x6e])])&&(_0xa4cb8a=!0x0,_0x455c04(_0x2916fe[_0x46444c([0x72,0x65,0x74,0x75,0x72,0x6e])]));},{[_0x46444c([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x46444c([0x6c,0x6f,0x77])}),_0xd3ab7d[_0x46444c([0x74,0x68,0x65,0x6e])](()=>{_0xa4cb8a||_0x4c2e54(_0x46444c([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});});function _0x3480a1(){return _0x52d2f2[_0x46444c([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x46444c([0x76,0x69,0x65,0x77])][_0x46444c([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]==_0x46444c([0x61,0x75,0x74,0x6f]);}function _0x34dc70(){_0x52d2f2[_0x46444c([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x46444c([0x76,0x69,0x65,0x77])][_0x46444c([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]=_0x46444c([0x61,0x75,0x74,0x6f]);}}function _0x5d3a8b(_0xec77a6){const _0x301f20=[new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x35fb24=>setTimeout(_0x35fb24,0x5db3add8^_0x16605b)),_0xd3ab7d[_0x46444c([0x74,0x68,0x65,0x6e])](()=>new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x519dcf=>{let _0x26465a=0x0;_0x52d2f2[_0x46444c([0x6d,0x6f,0x64,0x65,0x6c])][_0x46444c([0x6f,0x6e])](_0x46444c([0x61,0x70,0x70,0x6c,0x79,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e]),(_0x51518e,_0x554b70)=>{_0x554b70[0x0][_0x46444c([0x69,0x73,0x44,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e])]&&_0x26465a++,_0x26465a==(0x5dba96fc^_0x16605b)&&(_0x519dcf(),_0x51518e[_0x46444c([0x6f,0x66,0x66])]());});}))];return window[_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65])][_0x46444c([0x72,0x61,0x63,0x65])](_0x301f20)[_0x46444c([0x74,0x68,0x65,0x6e])](()=>_0xec77a6);}async function _0x22c4ac(){await _0xd3ab7d,_0x52d2f2[_0x46444c([0x6d,0x6f,0x64,0x65,0x6c])][_0x46444c([0x63,0x68,0x61,0x6e,0x67,0x65])]=_0x55de96,_0x52d2f2[_0x46444c([0x6d,0x6f,0x64,0x65,0x6c])][_0x46444c([0x65,0x6e,0x71,0x75,0x65,0x75,0x65,0x43,0x68,0x61,0x6e,0x67,0x65])]=_0x55de96,_0x52d2f2[_0x46444c([0x65,0x6e,0x61,0x62,0x6c,0x65,0x52,0x65,0x61,0x64,0x4f,0x6e,0x6c,0x79,0x4d,0x6f,0x64,0x65])](_0x46444c([0x6d,0x6f,0x64,0x65,0x6c]));}function _0x292901(_0x2349ea){const _0x1eb60a=_0x151276();_0x52d2f2[_0x1eb60a]=_0x46444c([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])+_0x2349ea,_0x2349ea!=_0x46444c([0x56,0x61,0x6c,0x69,0x64])&&_0x22c4ac();}function _0x151276(){const _0xd5e871=window[_0x46444c([0x53,0x74,0x72,0x69,0x6e,0x67])](window[_0x46444c([0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,0x65])][_0x46444c([0x6e,0x6f,0x77])]())[_0x46444c([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](_0x46444c([0x2e]),'');let _0x4215de=_0x46444c([0x4e]);for(let _0x7429c4=0x0;_0x7429c4<_0xd5e871[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x7429c4+=0x2){let _0x1bc0ba=window[_0x46444c([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0xd5e871[_0x46444c([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x7429c4,_0x7429c4+0x2));_0x1bc0ba>=_0x3578ad[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]&&(_0x1bc0ba-=_0x3578ad[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]),_0x4215de+=_0x3578ad[_0x1bc0ba];}return _0x4215de;}function _0x259b4e(){const _0xe4549e=_0x52eef4[_0x46444c([0x73,0x70,0x6c,0x69,0x74])](_0x46444c([0x2e]));if(0x3!=_0xe4549e[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])])return null;return _0x342a00(_0xe4549e[0x1]);function _0x342a00(_0x5e03e8){const _0x10a333=_0xabf54c(_0x5e03e8);return _0x10a333&&_0x316af8()?_0x10a333:null;function _0x316af8(){const _0x11a447=_0x10a333[_0x46444c([0x6a,0x74,0x69])],_0x47e69c=window[_0x46444c([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x11a447[_0x46444c([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x11a447[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8),0x10),_0x47597a={..._0x10a333,[_0x46444c([0x6a,0x74,0x69])]:_0x11a447[_0x46444c([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](0x0,_0x11a447[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8)};return delete _0x47597a[_0x46444c([0x76,0x63])],_0x453fee(_0x47597a)==_0x47e69c;}}}async function _0x3ab3a2(){let _0x3bd10c=!0x0;try{const _0x3f050b=_0x52eef4[_0x46444c([0x73,0x70,0x6c,0x69,0x74])](_0x46444c([0x2e])),[_0x1305d3,_0x12d049,_0xd7e28e]=_0x3f050b;return _0x153a8e(_0x1305d3),await _0x11dfb5(_0x1305d3,_0x12d049,_0xd7e28e),_0x3bd10c;}catch{return!0x1;}function _0x153a8e(_0x3adbc0){const _0x3ad79b=_0xabf54c(_0x3adbc0);_0x3ad79b&&_0x3ad79b[_0x46444c([0x61,0x6c,0x67])]==_0x46444c([0x45,0x53,0x32,0x35,0x36])||(_0x3bd10c=!0x1);}async function _0x11dfb5(_0x362b0b,_0x5ecc55,_0x20d5c0){const _0x4a742c=window[_0x46444c([0x55,0x69,0x6e,0x74,0x38,0x41,0x72,0x72,0x61,0x79])][_0x46444c([0x66,0x72,0x6f,0x6d])](_0x24bcab(_0x20d5c0),_0x17dadf=>_0x17dadf[_0x46444c([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](0x0)),_0x142813=new window[(_0x46444c([0x54,0x65,0x78,0x74,0x45,0x6e,0x63,0x6f,0x64,0x65,0x72]))]()[_0x46444c([0x65,0x6e,0x63,0x6f,0x64,0x65])](_0x362b0b+_0x46444c([0x2e])+_0x5ecc55),_0x2db70e=window[_0x46444c([0x63,0x72,0x79,0x70,0x74,0x6f])][_0x46444c([0x73,0x75,0x62,0x74,0x6c,0x65])];if(!_0x2db70e)return;const _0x56a24f=await _0x2db70e[_0x46444c([0x69,0x6d,0x70,0x6f,0x72,0x74,0x4b,0x65,0x79])](_0x46444c([0x6a,0x77,0x6b]),_0x4a5546,{[_0x46444c([0x6e,0x61,0x6d,0x65])]:_0x46444c([0x45,0x43,0x44,0x53,0x41]),[_0x46444c([0x6e,0x61,0x6d,0x65,0x64,0x43,0x75,0x72,0x76,0x65])]:_0x46444c([0x50,0x2d,0x32,0x35,0x36])},!0x1,[_0x46444c([0x76,0x65,0x72,0x69,0x66,0x79])]);await _0x2db70e[_0x46444c([0x76,0x65,0x72,0x69,0x66,0x79])]({[_0x46444c([0x6e,0x61,0x6d,0x65])]:_0x46444c([0x45,0x43,0x44,0x53,0x41]),[_0x46444c([0x68,0x61,0x73,0x68])]:{[_0x46444c([0x6e,0x61,0x6d,0x65])]:_0x46444c([0x53,0x48,0x41,0x2d,0x32,0x35,0x36])}},_0x56a24f,_0x4a742c,_0x142813)||(_0x3bd10c=!0x1);}}function _0xabf54c(_0x3377aa){return _0x3377aa[_0x46444c([0x73,0x74,0x61,0x72,0x74,0x73,0x57,0x69,0x74,0x68])](_0x46444c([0x65,0x79]))?JSON[_0x46444c([0x70,0x61,0x72,0x73,0x65])](_0x24bcab(_0x3377aa)):null;}function _0x24bcab(_0x3f5420){return window[_0x46444c([0x61,0x74,0x6f,0x62])](_0x3f5420[_0x46444c([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/-/g,_0x46444c([0x2b]))[_0x46444c([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/_/g,_0x46444c([0x2f])));}function _0x453fee(_0x129501){let _0x49250d=0x1505;function _0x22b3f0(_0x488c4a){for(let _0x125fba=0x0;_0x125fba<_0x488c4a[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x125fba++){const _0x4be45a=_0x488c4a[_0x46444c([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](_0x125fba);_0x49250d=(_0x49250d<<0x5)+_0x49250d+_0x4be45a,_0x49250d&=_0x49250d;}}function _0x38751a(_0x512229){Array[_0x46444c([0x69,0x73,0x41,0x72,0x72,0x61,0x79])](_0x512229)?_0x512229[_0x46444c([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](_0x38751a):_0x512229&&typeof _0x512229==_0x46444c([0x6f,0x62,0x6a,0x65,0x63,0x74])?Object[_0x46444c([0x65,0x6e,0x74,0x72,0x69,0x65,0x73])](_0x512229)[_0x46444c([0x73,0x6f,0x72,0x74])]()[_0x46444c([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](([_0x28c833,_0x52b235])=>{_0x22b3f0(_0x28c833),_0x38751a(_0x52b235);}):_0x22b3f0(window[_0x46444c([0x53,0x74,0x72,0x69,0x6e,0x67])](_0x512229));}return _0x38751a(_0x129501),_0x49250d>>>0x0;}function _0x344a18(_0x277f7e){return _0x277f7e[_0x46444c([0x74,0x6f,0x53,0x74,0x72,0x69,0x6e,0x67])](0x10)[_0x46444c([0x70,0x61,0x64,0x53,0x74,0x61,0x72,0x74])](0x8,_0x46444c([0x30]));}function _0x746475(_0x46bb9e){return _0x46bb9e[_0x46444c([0x73,0x70,0x6c,0x69,0x74])]('')[_0x46444c([0x72,0x65,0x76,0x65,0x72,0x73,0x65])]()[_0x46444c([0x6a,0x6f,0x69,0x6e])]('');}function _0x55de96(){}function _0x46444c(_0xb8db4e){return _0xb8db4e['map'](_0x19d49d=>String['fromCharCode'](_0x19d49d))['join']('');}_0x292901(await _0x511b6d());}(this);}['_createButton'](_0x49c311,_0x5f50f1,_0x58e975=!0x1){const _0xbe9e4e=new _0x49c311(this['editor']['locale']);return _0xbe9e4e['set']({'withText':_0x58e975,'isToggleable':!0x1}),_0xbe9e4e['bind']('isEnabled')['to'](_0x5f50f1,'isEnabled'),this['listenTo'](_0xbe9e4e,'execute',()=>_0x5f50f1['execute']()),_0xbe9e4e;}['_registerKeybindings'](){const _0x1d3d3d=this['editor']['locale'];this['editor']['accessibility']['addKeystrokeInfoCategory']({'id':'sourceEditingEnhanced','label':q(_0x1d3d3d,'Source\x20Editing\x20Enhanced')});const _0x3e9e15=_0x541475['isMac']||_0x541475['isiOS'];this['editor']['accessibility']['addKeystrokeInfos']({'categoryId':'sourceEditingEnhanced','keystrokes':[{'label':q(_0x1d3d3d,'Copy\x20line\x20down'),'keystroke':'Shift+Alt+ArrowDown'},{'label':q(_0x1d3d3d,'Copy\x20line\x20up'),'keystroke':'Shift+Alt+ArrowUp'},{'label':q(_0x1d3d3d,'Delete\x20line'),'keystroke':'Shift+Ctrl+K'},{'label':q(_0x1d3d3d,'Indent\x20less'),'keystroke':'Ctrl+['},{'label':q(_0x1d3d3d,'Indent\x20more'),'keystroke':'Ctrl+]'},{'label':q(_0x1d3d3d,'Fold\x20all'),'keystroke':'Ctrl!+Alt+['},{'label':q(_0x1d3d3d,'Fold\x20code\x20(current\x20level)'),'keystroke':_0x3e9e15?'Cmd+Alt+[':'Ctrl+Shift+['},{'label':q(_0x1d3d3d,'Move\x20line\x20down'),'keystroke':'Alt+ArrowDown'},{'label':q(_0x1d3d3d,'Move\x20line\x20up'),'keystroke':'Alt+ArrowUp'},{'label':q(_0x1d3d3d,'Redo\x20(keystroke)'),'keystroke':[['Ctrl+Shift+Z'],['Ctrl+Y']]},{'label':q(_0x1d3d3d,'Select\x20line'),'keystroke':_0x3e9e15?'Ctrl!+L':'Alt+L'},{'label':q(_0x1d3d3d,'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode'),'keystroke':_0x3e9e15?'Alt+Shift+M':'Ctrl+M'},{'label':q(_0x1d3d3d,'Toggle\x20block\x20comment'),'keystroke':'Shift+Alt+A'},{'label':q(_0x1d3d3d,'Toggle\x20comment'),'keystroke':'Ctrl+/'},{'label':q(_0x1d3d3d,'Undo\x20(keystroke)'),'keystroke':'Ctrl+Z'},{'label':q(_0x1d3d3d,'Unfold\x20all'),'keystroke':'Ctrl!+Alt+]'},{'label':q(_0x1d3d3d,'Unfold\x20code\x20(current\x20level)'),'keystroke':_0x3e9e15?'Cmd+Alt+]':'Ctrl+Shift+]'}]});}}class ReplaceSourceCommand extends _0x2c50a4{constructor(_0x515374){super(_0x515374),this['refresh']();}['refresh'](){this['isEnabled']=!this['editor']['isReadOnly'];}['execute'](_0xceb25a,_0x4d169e){const _0x49a722=this['editor'],_0x549375=_0x4d169e?.['rootName']??H(_0x49a722);_0x49a722['data']['set']({[_0x549375]:_0xceb25a},{'batchType':{'isUndoable':!0x0},'suppressErrorInCollaboration':!0x0});}}class SourceEditingEnhanced extends _0x5dc731{['licenseKey'];['_licenseKeyCheckInterval'];static get['pluginName'](){return'SourceEditingEnhanced';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[SourceEditingEnhancedUI];}constructor(_0x4861e9){super(_0x4861e9),_0x4861e9['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 _0x11a4f5=this['editor'];this['_licenseKeyCheckInterval']=setInterval(()=>{let _0x3c965d;for(const _0x18ce17 in _0x11a4f5){const _0x50deb1=_0x18ce17,_0x1167ef=_0x11a4f5[_0x50deb1];if('sourceEditingEnhancedLicenseKeyValid'==_0x1167ef||'sourceEditingEnhancedLicenseKeyInvalid'==_0x1167ef||'sourceEditingEnhancedLicenseKeyExpired'==_0x1167ef||'sourceEditingEnhancedLicenseKeyDomainLimit'==_0x1167ef||'sourceEditingEnhancedLicenseKeyNotAllowed'==_0x1167ef||'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0x1167ef||'sourceEditingEnhancedLicenseKeyUsageLimit'==_0x1167ef){delete _0x11a4f5[_0x50deb1],_0x3c965d=_0x1167ef,clearInterval(this['_licenseKeyCheckInterval']),this['_licenseKeyCheckInterval']=void 0x0;break;}}'sourceEditingEnhancedLicenseKeyInvalid'==_0x3c965d&&_0x11a4f5['_showLicenseError']('invalid'),'sourceEditingEnhancedLicenseKeyExpired'==_0x3c965d&&_0x11a4f5['_showLicenseError']('expired'),'sourceEditingEnhancedLicenseKeyDomainLimit'==_0x3c965d&&_0x11a4f5['_showLicenseError']('domainLimit'),'sourceEditingEnhancedLicenseKeyNotAllowed'==_0x3c965d&&_0x11a4f5['_showLicenseError']('featureNotAllowed','SourceEditingEnhanced'),'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0x3c965d&&_0x11a4f5['_showLicenseError']('evaluationLimit'),'sourceEditingEnhancedLicenseKeyUsageLimit'==_0x3c965d&&_0x11a4f5['_showLicenseError']('usageLimit');},0x3e8);}['destroy'](){this['_licenseKeyCheckInterval']&&clearInterval(this['_licenseKeyCheckInterval']);}['_checkCompatibility'](){const _0x1d65da=this['editor'],_0x57a7d5=_0x1d65da['config']['get']('sourceEditingEnhanced.allowCollaborationFeatures');if(!_0x57a7d5&&_0x1d65da['plugins']['has']('RealTimeCollaborativeEditing'))throw new _0x441c9('source-editing-enhanced-incompatible-with-real-time-collaboration',null);!_0x57a7d5&&['CommentsEditing','TrackChangesEditing','RevisionHistory']['some'](_0x7461f2=>_0x1d65da['plugins']['has'](_0x7461f2))&&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.'),_0x1d65da['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
|
}
|