texditor 2.0.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/LICENSE.md +9 -0
- package/README.md +232 -0
- package/dist/core/base/base-model.d.ts +160 -0
- package/dist/core/base/base-model.d.ts.map +1 -0
- package/dist/core/base/event-manager.d.ts +20 -0
- package/dist/core/base/event-manager.d.ts.map +1 -0
- package/dist/core/base/index.d.ts +3 -0
- package/dist/core/base/index.d.ts.map +1 -0
- package/dist/core/base.d.ts +2 -0
- package/dist/core/base.mjs +1 -0
- package/dist/core/block-manager.d.ts +91 -0
- package/dist/core/block-manager.d.ts.map +1 -0
- package/dist/core/commands.d.ts +73 -0
- package/dist/core/commands.d.ts.map +1 -0
- package/dist/core/config.d.ts +11 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/events.d.ts +121 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/extensions.d.ts +23 -0
- package/dist/core/extensions.d.ts.map +1 -0
- package/dist/core/history-manager.d.ts +76 -0
- package/dist/core/history-manager.d.ts.map +1 -0
- package/dist/core/i18n.d.ts +29 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/models/action-model.d.ts +54 -0
- package/dist/core/models/action-model.d.ts.map +1 -0
- package/dist/core/models/block-model.d.ts +396 -0
- package/dist/core/models/block-model.d.ts.map +1 -0
- package/dist/core/models/extension-model.d.ts +25 -0
- package/dist/core/models/extension-model.d.ts.map +1 -0
- package/dist/core/models/file-action-model.d.ts +20 -0
- package/dist/core/models/file-action-model.d.ts.map +1 -0
- package/dist/core/models/index.d.ts +7 -0
- package/dist/core/models/index.d.ts.map +1 -0
- package/dist/core/models/tool-model.d.ts +69 -0
- package/dist/core/models/tool-model.d.ts.map +1 -0
- package/dist/core/models.d.ts +2 -0
- package/dist/core/models.mjs +6 -0
- package/dist/core/security/sanitizer.d.ts +65 -0
- package/dist/core/security/sanitizer.d.ts.map +1 -0
- package/dist/core/selection-api.d.ts +52 -0
- package/dist/core/selection-api.d.ts.map +1 -0
- package/dist/core/tools.d.ts +27 -0
- package/dist/core/tools.d.ts.map +1 -0
- package/dist/core/ui/slider.d.ts +50 -0
- package/dist/core/ui/slider.d.ts.map +1 -0
- package/dist/core/ui/toasts.d.ts +23 -0
- package/dist/core/ui/toasts.d.ts.map +1 -0
- package/dist/core/ui/virtual-selection.d.ts +171 -0
- package/dist/core/ui/virtual-selection.d.ts.map +1 -0
- package/dist/entities/actions/convert-action.d.ts +9 -0
- package/dist/entities/actions/convert-action.d.ts.map +1 -0
- package/dist/entities/actions/create-action.d.ts +8 -0
- package/dist/entities/actions/create-action.d.ts.map +1 -0
- package/dist/entities/actions/delete-action.d.ts +8 -0
- package/dist/entities/actions/delete-action.d.ts.map +1 -0
- package/dist/entities/actions/index.d.ts +7 -0
- package/dist/entities/actions/index.d.ts.map +1 -0
- package/dist/entities/actions/move-down-action.d.ts +9 -0
- package/dist/entities/actions/move-down-action.d.ts.map +1 -0
- package/dist/entities/actions/move-up-action.d.ts +9 -0
- package/dist/entities/actions/move-up-action.d.ts.map +1 -0
- package/dist/entities/actions.d.ts +2 -0
- package/dist/entities/actions.mjs +6 -0
- package/dist/entities/blocks/code/index.d.ts +48 -0
- package/dist/entities/blocks/code/index.d.ts.map +1 -0
- package/dist/entities/blocks/code/languages.d.ts +4 -0
- package/dist/entities/blocks/code/languages.d.ts.map +1 -0
- package/dist/entities/blocks/files/actions/DeleteFileAction.d.ts +7 -0
- package/dist/entities/blocks/files/actions/DeleteFileAction.d.ts.map +1 -0
- package/dist/entities/blocks/files/actions/DownloadFileAction.d.ts +12 -0
- package/dist/entities/blocks/files/actions/DownloadFileAction.d.ts.map +1 -0
- package/dist/entities/blocks/files/actions/EditFileAction.d.ts +32 -0
- package/dist/entities/blocks/files/actions/EditFileAction.d.ts.map +1 -0
- package/dist/entities/blocks/files/actions/MoveLeftFileAction.d.ts +8 -0
- package/dist/entities/blocks/files/actions/MoveLeftFileAction.d.ts.map +1 -0
- package/dist/entities/blocks/files/actions/MoveRightFileAction.d.ts +8 -0
- package/dist/entities/blocks/files/actions/MoveRightFileAction.d.ts.map +1 -0
- package/dist/entities/blocks/files/index.d.ts +185 -0
- package/dist/entities/blocks/files/index.d.ts.map +1 -0
- package/dist/entities/blocks/gallery/index.d.ts +60 -0
- package/dist/entities/blocks/gallery/index.d.ts.map +1 -0
- package/dist/entities/blocks/header/H1.d.ts +4 -0
- package/dist/entities/blocks/header/H1.d.ts.map +1 -0
- package/dist/entities/blocks/header/H2.d.ts +6 -0
- package/dist/entities/blocks/header/H2.d.ts.map +1 -0
- package/dist/entities/blocks/header/H3.d.ts +6 -0
- package/dist/entities/blocks/header/H3.d.ts.map +1 -0
- package/dist/entities/blocks/header/H4.d.ts +6 -0
- package/dist/entities/blocks/header/H4.d.ts.map +1 -0
- package/dist/entities/blocks/header/H5.d.ts +6 -0
- package/dist/entities/blocks/header/H5.d.ts.map +1 -0
- package/dist/entities/blocks/header/H6.d.ts +6 -0
- package/dist/entities/blocks/header/H6.d.ts.map +1 -0
- package/dist/entities/blocks/header/index.d.ts +6 -0
- package/dist/entities/blocks/header/index.d.ts.map +1 -0
- package/dist/entities/blocks/index.d.ts +14 -0
- package/dist/entities/blocks/index.d.ts.map +1 -0
- package/dist/entities/blocks/list/index.d.ts +6 -0
- package/dist/entities/blocks/list/index.d.ts.map +1 -0
- package/dist/entities/blocks/list/ol.d.ts +6 -0
- package/dist/entities/blocks/list/ol.d.ts.map +1 -0
- package/dist/entities/blocks/paragraph/index.d.ts +6 -0
- package/dist/entities/blocks/paragraph/index.d.ts.map +1 -0
- package/dist/entities/blocks.d.ts +2 -0
- package/dist/entities/blocks.mjs +13 -0
- package/dist/entities/extensions/delete-selected.d.ts +9 -0
- package/dist/entities/extensions/delete-selected.d.ts.map +1 -0
- package/dist/entities/extensions/index.d.ts +5 -0
- package/dist/entities/extensions/index.d.ts.map +1 -0
- package/dist/entities/extensions/redo.d.ts +8 -0
- package/dist/entities/extensions/redo.d.ts.map +1 -0
- package/dist/entities/extensions/undo.d.ts +8 -0
- package/dist/entities/extensions/undo.d.ts.map +1 -0
- package/dist/entities/extensions.d.ts +2 -0
- package/dist/entities/extensions.mjs +4 -0
- package/dist/entities/tools/bold.d.ts +6 -0
- package/dist/entities/tools/bold.d.ts.map +1 -0
- package/dist/entities/tools/clear-formatting.d.ts +7 -0
- package/dist/entities/tools/clear-formatting.d.ts.map +1 -0
- package/dist/entities/tools/index.d.ts +10 -0
- package/dist/entities/tools/index.d.ts.map +1 -0
- package/dist/entities/tools/inline-code.d.ts +6 -0
- package/dist/entities/tools/inline-code.d.ts.map +1 -0
- package/dist/entities/tools/italic.d.ts +6 -0
- package/dist/entities/tools/italic.d.ts.map +1 -0
- package/dist/entities/tools/link.d.ts +35 -0
- package/dist/entities/tools/link.d.ts.map +1 -0
- package/dist/entities/tools/marker.d.ts +6 -0
- package/dist/entities/tools/marker.d.ts.map +1 -0
- package/dist/entities/tools/subscript.d.ts +6 -0
- package/dist/entities/tools/subscript.d.ts.map +1 -0
- package/dist/entities/tools/superscript.d.ts +6 -0
- package/dist/entities/tools/superscript.d.ts.map +1 -0
- package/dist/entities/tools.d.ts +2 -0
- package/dist/entities/tools.mjs +9 -0
- package/dist/icons/index.d.ts +42 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/locales/en.d.ts +66 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/index.d.ts +4 -0
- package/dist/locales/index.d.ts.map +1 -0
- package/dist/locales/ru.d.ts +66 -0
- package/dist/locales/ru.d.ts.map +1 -0
- package/dist/locales.d.ts +2 -0
- package/dist/locales.mjs +3 -0
- package/dist/main.d.ts +6 -0
- package/dist/node_modules/snappykit/dist/snappykit.mjs +440 -0
- package/dist/node_modules/sortum/dist/sortum.mjs +588 -0
- package/dist/src/core/base/base-model.mjs +184 -0
- package/dist/src/core/base/event-manager.mjs +31 -0
- package/dist/src/core/block-manager.mjs +499 -0
- package/dist/src/core/commands.mjs +311 -0
- package/dist/src/core/config.mjs +12 -0
- package/dist/src/core/events.mjs +369 -0
- package/dist/src/core/extensions.mjs +48 -0
- package/dist/src/core/history-manager.mjs +107 -0
- package/dist/src/core/i18n.mjs +25 -0
- package/dist/src/core/models/action-model.mjs +72 -0
- package/dist/src/core/models/block-model.mjs +619 -0
- package/dist/src/core/models/extension-model.mjs +28 -0
- package/dist/src/core/models/file-action-model.mjs +24 -0
- package/dist/src/core/models/tool-model.mjs +80 -0
- package/dist/src/core/security/sanitizer.mjs +130 -0
- package/dist/src/core/selection-api.mjs +202 -0
- package/dist/src/core/tools.mjs +88 -0
- package/dist/src/core/ui/slider.mjs +81 -0
- package/dist/src/core/ui/toasts.mjs +55 -0
- package/dist/src/core/ui/virtual-selection.mjs +205 -0
- package/dist/src/entities/actions/convert-action.mjs +43 -0
- package/dist/src/entities/actions/create-action.mjs +39 -0
- package/dist/src/entities/actions/delete-action.mjs +19 -0
- package/dist/src/entities/actions/move-down-action.mjs +22 -0
- package/dist/src/entities/actions/move-up-action.mjs +22 -0
- package/dist/src/entities/blocks/code/index.mjs +144 -0
- package/dist/src/entities/blocks/code/languages.mjs +54 -0
- package/dist/src/entities/blocks/files/actions/DeleteFileAction.mjs +21 -0
- package/dist/src/entities/blocks/files/actions/DownloadFileAction.mjs +44 -0
- package/dist/src/entities/blocks/files/actions/EditFileAction.mjs +111 -0
- package/dist/src/entities/blocks/files/actions/MoveLeftFileAction.mjs +24 -0
- package/dist/src/entities/blocks/files/actions/MoveRightFileAction.mjs +24 -0
- package/dist/src/entities/blocks/files/index.mjs +424 -0
- package/dist/src/entities/blocks/gallery/index.mjs +141 -0
- package/dist/src/entities/blocks/header/H1.mjs +5 -0
- package/dist/src/entities/blocks/header/H2.mjs +16 -0
- package/dist/src/entities/blocks/header/H3.mjs +16 -0
- package/dist/src/entities/blocks/header/H4.mjs +16 -0
- package/dist/src/entities/blocks/header/H5.mjs +16 -0
- package/dist/src/entities/blocks/header/H6.mjs +16 -0
- package/dist/src/entities/blocks/header/index.mjs +46 -0
- package/dist/src/entities/blocks/list/index.mjs +51 -0
- package/dist/src/entities/blocks/list/ol.mjs +16 -0
- package/dist/src/entities/blocks/paragraph/index.mjs +46 -0
- package/dist/src/entities/extensions/delete-selected.mjs +27 -0
- package/dist/src/entities/extensions/redo.mjs +22 -0
- package/dist/src/entities/extensions/undo.mjs +22 -0
- package/dist/src/entities/tools/bold.mjs +16 -0
- package/dist/src/entities/tools/clear-formatting.mjs +20 -0
- package/dist/src/entities/tools/inline-code.mjs +19 -0
- package/dist/src/entities/tools/italic.mjs +16 -0
- package/dist/src/entities/tools/link.mjs +89 -0
- package/dist/src/entities/tools/marker.mjs +17 -0
- package/dist/src/entities/tools/subscript.mjs +17 -0
- package/dist/src/entities/tools/superscript.mjs +18 -0
- package/dist/src/icons/index.mjs +4 -0
- package/dist/src/locales/en.mjs +68 -0
- package/dist/src/locales/ru.mjs +68 -0
- package/dist/src/store/currentStore.mjs +8 -0
- package/dist/src/store/mainStore.mjs +4 -0
- package/dist/src/utils/ajax.mjs +35 -0
- package/dist/src/utils/common.mjs +26 -0
- package/dist/src/utils/icon.mjs +12 -0
- package/dist/src/utils/sanitizer.mjs +20 -0
- package/dist/src/views/extensions.mjs +18 -0
- package/dist/src/views/main.mjs +19 -0
- package/dist/src/views/tools.mjs +9 -0
- package/dist/store/currentStore.d.ts +15 -0
- package/dist/store/currentStore.d.ts.map +1 -0
- package/dist/store/mainStore.d.ts +14 -0
- package/dist/store/mainStore.d.ts.map +1 -0
- package/dist/styles/animations.css +1 -0
- package/dist/styles/core/ui/selection.css +1 -0
- package/dist/styles/core/ui/slider.css +1 -0
- package/dist/styles/entities/blocks/code.css +1 -0
- package/dist/styles/entities/blocks/files.css +1 -0
- package/dist/styles/entities/blocks/gallery.css +1 -0
- package/dist/styles/entities/blocks/list.css +1 -0
- package/dist/styles/entities/blocks/paragraph.css +1 -0
- package/dist/styles/entities/tools/inline-code.css +1 -0
- package/dist/styles/entities/tools/link.css +1 -0
- package/dist/styles/texditor.css +1 -0
- package/dist/styles/theme.css +42 -0
- package/dist/texditor.d.ts +68 -0
- package/dist/texditor.d.ts.map +1 -0
- package/dist/texditor.mjs +138 -0
- package/dist/types/core/base/base-model.d.ts +212 -0
- package/dist/types/core/base/base-model.d.ts.map +1 -0
- package/dist/types/core/base/event-manager.d.ts +42 -0
- package/dist/types/core/base/event-manager.d.ts.map +1 -0
- package/dist/types/core/base/index.d.ts +3 -0
- package/dist/types/core/base/index.d.ts.map +1 -0
- package/dist/types/core/block-manager.d.ts +223 -0
- package/dist/types/core/block-manager.d.ts.map +1 -0
- package/dist/types/core/commands.d.ts +93 -0
- package/dist/types/core/commands.d.ts.map +1 -0
- package/dist/types/core/config.d.ts +86 -0
- package/dist/types/core/config.d.ts.map +1 -0
- package/dist/types/core/events.d.ts +58 -0
- package/dist/types/core/events.d.ts.map +1 -0
- package/dist/types/core/extensions.d.ts +19 -0
- package/dist/types/core/extensions.d.ts.map +1 -0
- package/dist/types/core/history-manager.d.ts +72 -0
- package/dist/types/core/history-manager.d.ts.map +1 -0
- package/dist/types/core/http/index.d.ts +2 -0
- package/dist/types/core/http/index.d.ts.map +1 -0
- package/dist/types/core/http/response.d.ts +6 -0
- package/dist/types/core/http/response.d.ts.map +1 -0
- package/dist/types/core/i18n.d.ts +40 -0
- package/dist/types/core/i18n.d.ts.map +1 -0
- package/dist/types/core/index.d.ts +15 -0
- package/dist/types/core/index.d.ts.map +1 -0
- package/dist/types/core/models/action-model.d.ts +46 -0
- package/dist/types/core/models/action-model.d.ts.map +1 -0
- package/dist/types/core/models/block-model.d.ts +404 -0
- package/dist/types/core/models/block-model.d.ts.map +1 -0
- package/dist/types/core/models/extension-model.d.ts +41 -0
- package/dist/types/core/models/extension-model.d.ts.map +1 -0
- package/dist/types/core/models/file-action-model.d.ts +36 -0
- package/dist/types/core/models/file-action-model.d.ts.map +1 -0
- package/dist/types/core/models/index.d.ts +7 -0
- package/dist/types/core/models/index.d.ts.map +1 -0
- package/dist/types/core/models/tool-model.d.ts +54 -0
- package/dist/types/core/models/tool-model.d.ts.map +1 -0
- package/dist/types/core/sanitizer.d.ts +27 -0
- package/dist/types/core/sanitizer.d.ts.map +1 -0
- package/dist/types/core/selection-api.d.ts +116 -0
- package/dist/types/core/selection-api.d.ts.map +1 -0
- package/dist/types/core/tools.d.ts +35 -0
- package/dist/types/core/tools.d.ts.map +1 -0
- package/dist/types/core/ui/index.d.ts +4 -0
- package/dist/types/core/ui/index.d.ts.map +1 -0
- package/dist/types/core/ui/slider.d.ts +45 -0
- package/dist/types/core/ui/slider.d.ts.map +1 -0
- package/dist/types/core/ui/toasts.d.ts +58 -0
- package/dist/types/core/ui/toasts.d.ts.map +1 -0
- package/dist/types/core/ui/virtual-selection.d.ts +83 -0
- package/dist/types/core/ui/virtual-selection.d.ts.map +1 -0
- package/dist/types/entities/blocks/code.d.ts +4 -0
- package/dist/types/entities/blocks/code.d.ts.map +1 -0
- package/dist/types/entities/blocks/files.d.ts +170 -0
- package/dist/types/entities/blocks/files.d.ts.map +1 -0
- package/dist/types/entities/blocks/gallery.d.ts +40 -0
- package/dist/types/entities/blocks/gallery.d.ts.map +1 -0
- package/dist/types/entities/blocks/header.d.ts +4 -0
- package/dist/types/entities/blocks/header.d.ts.map +1 -0
- package/dist/types/entities/blocks/index.d.ts +7 -0
- package/dist/types/entities/blocks/index.d.ts.map +1 -0
- package/dist/types/entities/blocks/list.d.ts +4 -0
- package/dist/types/entities/blocks/list.d.ts.map +1 -0
- package/dist/types/entities/blocks/paragraph.d.ts +4 -0
- package/dist/types/entities/blocks/paragraph.d.ts.map +1 -0
- package/dist/types/entities/index.d.ts +2 -0
- package/dist/types/entities/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/texditor.d.ts +66 -0
- package/dist/types/texditor.d.ts.map +1 -0
- package/dist/types/utils/ajax.d.ts +31 -0
- package/dist/types/utils/ajax.d.ts.map +1 -0
- package/dist/types/utils/icon.d.ts +10 -0
- package/dist/types/utils/icon.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +3 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/utils/ajax.d.ts +9 -0
- package/dist/utils/ajax.d.ts.map +1 -0
- package/dist/utils/common.d.ts +28 -0
- package/dist/utils/common.d.ts.map +1 -0
- package/dist/utils/icon.d.ts +12 -0
- package/dist/utils/icon.d.ts.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/sanitizer.d.ts +8 -0
- package/dist/utils/sanitizer.d.ts.map +1 -0
- package/dist/views/extensions.d.ts +3 -0
- package/dist/views/extensions.d.ts.map +1 -0
- package/dist/views/main.d.ts +3 -0
- package/dist/views/main.d.ts.map +1 -0
- package/dist/views/tools.d.ts +2 -0
- package/dist/views/tools.d.ts.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { TexditorEventBase, Texditor, Events as IEvents } from '../types';
|
|
2
|
+
import { default as EventManager } from './base/event-manager';
|
|
3
|
+
export default class Events extends EventManager implements IEvents {
|
|
4
|
+
/** Reference to the main editor instance */
|
|
5
|
+
private editor;
|
|
6
|
+
/** Unique identifier for event listeners to prevent conflicts */
|
|
7
|
+
private eventId;
|
|
8
|
+
private isPaused;
|
|
9
|
+
constructor(editor: Texditor);
|
|
10
|
+
/** @see IEvents.refresh */
|
|
11
|
+
refresh(): void;
|
|
12
|
+
/** @see IEvents.change */
|
|
13
|
+
change(event: TexditorEventBase): void;
|
|
14
|
+
/**
|
|
15
|
+
* Handles focus events on blocks
|
|
16
|
+
* @param evt - Focus event
|
|
17
|
+
*/
|
|
18
|
+
private onFocusHandle;
|
|
19
|
+
/**
|
|
20
|
+
* Handles click events on blocks
|
|
21
|
+
* @param evt - Mouse event
|
|
22
|
+
*/
|
|
23
|
+
private onClickHandle;
|
|
24
|
+
/**
|
|
25
|
+
* Handles blur events on blocks
|
|
26
|
+
* @param evt - Focus event
|
|
27
|
+
*/
|
|
28
|
+
private onBlurHandle;
|
|
29
|
+
/**
|
|
30
|
+
* Handles keyup events on blocks
|
|
31
|
+
* @param evt - Keyboard event
|
|
32
|
+
*/
|
|
33
|
+
private onKeyUpHandle;
|
|
34
|
+
/**
|
|
35
|
+
* Sets the current block index based on target
|
|
36
|
+
* @param target - Event target
|
|
37
|
+
*/
|
|
38
|
+
private setIndexByTarget;
|
|
39
|
+
/**
|
|
40
|
+
* Sets the current block index and updates active item styling
|
|
41
|
+
* @param index - Block index to set as current
|
|
42
|
+
*/
|
|
43
|
+
private setIndex;
|
|
44
|
+
/**
|
|
45
|
+
* Handles document-level keydown events for global shortcuts
|
|
46
|
+
* @param evt - Keyboard event
|
|
47
|
+
*/
|
|
48
|
+
private onDocumentKeyDownHandle;
|
|
49
|
+
/**
|
|
50
|
+
* Handles keydown events with special behavior for Enter, Backspace, etc.
|
|
51
|
+
* @param evt - Keyboard event
|
|
52
|
+
*/
|
|
53
|
+
private onKeyDownHandle;
|
|
54
|
+
/**
|
|
55
|
+
* Handles keyboard shortcuts for undo/redo operations
|
|
56
|
+
* @param evt - Keyboard event
|
|
57
|
+
* @returns True if undo/redo was handled
|
|
58
|
+
*/
|
|
59
|
+
private handleHistoryShortcuts;
|
|
60
|
+
/**
|
|
61
|
+
* Builds a structured paste map from child nodes, classifying them as blocks, text nodes, or generic nodes.
|
|
62
|
+
* @param childNodes - The child nodes to process.
|
|
63
|
+
* @returns A paste map with the determined schema and classified items.
|
|
64
|
+
*/
|
|
65
|
+
private createPasteMap;
|
|
66
|
+
/**
|
|
67
|
+
* Handles paste events with smart content parsing
|
|
68
|
+
* @param evt - Clipboard event
|
|
69
|
+
*/
|
|
70
|
+
private onPasteHandle;
|
|
71
|
+
/**
|
|
72
|
+
* The basic DOM event
|
|
73
|
+
* @param name - Event Name
|
|
74
|
+
* @param evt - The DOM event object.
|
|
75
|
+
*/
|
|
76
|
+
private defEvent;
|
|
77
|
+
/**
|
|
78
|
+
* Prevents default drag start behavior
|
|
79
|
+
* @param evt - Drag event
|
|
80
|
+
*/
|
|
81
|
+
private onDragStart;
|
|
82
|
+
/**
|
|
83
|
+
* Prevents default drag leave behavior
|
|
84
|
+
* @param evt - Drag event
|
|
85
|
+
*/
|
|
86
|
+
private onDragLeave;
|
|
87
|
+
/**
|
|
88
|
+
* Prevents default drag over behavior
|
|
89
|
+
* @param evt - Drag event
|
|
90
|
+
*/
|
|
91
|
+
private onDragOver;
|
|
92
|
+
/**
|
|
93
|
+
* Prevents default drag behavior
|
|
94
|
+
* @param evt - Drag event
|
|
95
|
+
*/
|
|
96
|
+
private onDrag;
|
|
97
|
+
/**
|
|
98
|
+
* Prevents default drag end behavior
|
|
99
|
+
* @param evt - Drag event
|
|
100
|
+
*/
|
|
101
|
+
private onDragEnd;
|
|
102
|
+
/**
|
|
103
|
+
* Prevents default drop behavior
|
|
104
|
+
* @param evt - Drag event
|
|
105
|
+
*/
|
|
106
|
+
private onDrop;
|
|
107
|
+
/**
|
|
108
|
+
* Handles selection change events
|
|
109
|
+
* Updates tools and actions based on current selection
|
|
110
|
+
* @param evt - Event
|
|
111
|
+
*/
|
|
112
|
+
private onSelectionChangeHandle;
|
|
113
|
+
/**
|
|
114
|
+
* Provides the parent component with access to the child's current editor instance.
|
|
115
|
+
* Returns the editor object if initialized, or `null` otherwise.
|
|
116
|
+
*/
|
|
117
|
+
protected provideEditor(): Texditor | null;
|
|
118
|
+
/** @see IEvents.destroy */
|
|
119
|
+
destroy(): void;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/core/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,iBAAiB,EACjB,QAAQ,EACR,MAAM,IAAI,OAAO,EAClB,MAAM,SAAS,CAAC;AAIjB,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAwBhD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAa,YAAW,OAAO;IACjE,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAW;IAEzB,iEAAiE;IACjE,OAAO,CAAC,OAAO,CAA0B;IAEzC,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,MAAM,EAAE,QAAQ;IAK5B,2BAA2B;IAC3B,OAAO,IAAI,IAAI;IAmCf,0BAA0B;IAC1B,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IA0BtC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAUrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAWrB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAQpB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAmBrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAuBhB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAiC/B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAoJvB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA0GtB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAiLrB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAYhB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAIlB;;;OAGG;IACH,OAAO,CAAC,MAAM;IAId;;;OAGG;IACH,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IACH,OAAO,CAAC,MAAM;IAId;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IA8D/B;;;OAGG;IACH,SAAS,CAAC,aAAa,IAAI,QAAQ,GAAG,IAAI;IAI1C,2BAA2B;IAC3B,OAAO,IAAI,IAAI;CA+BhB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ExtensionModel, Extensions as IExtensions, Texditor } from '../types';
|
|
2
|
+
export default class Extensions implements IExtensions {
|
|
3
|
+
/** Reference to the main editor instance */
|
|
4
|
+
private editor;
|
|
5
|
+
/** Collection of extensions models */
|
|
6
|
+
private extensions;
|
|
7
|
+
/** Unique identifier for event listeners to prevent conflicts */
|
|
8
|
+
private eventId;
|
|
9
|
+
constructor(editor: Texditor);
|
|
10
|
+
/** @see IExtensions.getExtensions */
|
|
11
|
+
getExtensions(): ExtensionModel[];
|
|
12
|
+
/** @see IExtensions.refresh */
|
|
13
|
+
refresh(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Sets up fixed positioning behavior for extensions bar.
|
|
16
|
+
* Attaches scroll, load, and resize event listeners.
|
|
17
|
+
* Makes extensions bar sticky when scrolling past editor.
|
|
18
|
+
*/
|
|
19
|
+
__apply(): void;
|
|
20
|
+
/** @see IExtensions.destroy */
|
|
21
|
+
destroy(): void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=extensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/core/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,cAAc,EAAE,UAAU,IAAI,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI9G,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,WAAW;IACpD,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAW;IAEzB,sCAAsC;IACtC,OAAO,CAAC,UAAU,CAAwB;IAE1C,iEAAiE;IACjE,OAAO,CAAC,OAAO,CAAmC;gBAEtC,MAAM,EAAE,QAAQ;IAW5B,qCAAqC;IACrC,aAAa,IAAI,cAAc,EAAE;IAIjC,+BAA+B;IAC/B,OAAO,IAAI,IAAI;IAcf;;;;OAIG;IACH,OAAO,IAAI,IAAI;IA+Cf,+BAA+B;IAC/B,OAAO;CAQR"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { HistoryManager as IHistoryManager, Texditor } from '../types';
|
|
2
|
+
export default class HistoryManager implements IHistoryManager {
|
|
3
|
+
private editor;
|
|
4
|
+
private history;
|
|
5
|
+
private future;
|
|
6
|
+
private maxHistorySize;
|
|
7
|
+
private currentState;
|
|
8
|
+
private isRestoring;
|
|
9
|
+
private saveInterval;
|
|
10
|
+
private saveTimer;
|
|
11
|
+
constructor(editor: Texditor);
|
|
12
|
+
/**
|
|
13
|
+
* Schedule state saving with interval-based debouncing
|
|
14
|
+
*/
|
|
15
|
+
scheduleSave(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Immediately save the current editor state
|
|
18
|
+
*/
|
|
19
|
+
save(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Perform the actual state saving operation
|
|
22
|
+
*/
|
|
23
|
+
private doSave;
|
|
24
|
+
/**
|
|
25
|
+
* Compare two history states for equality
|
|
26
|
+
* @param state1 - First state to compare
|
|
27
|
+
* @param state2 - Second state to compare
|
|
28
|
+
* @returns True if states are equal, false otherwise
|
|
29
|
+
*/
|
|
30
|
+
private statesEqual;
|
|
31
|
+
/**
|
|
32
|
+
* Deep equality check for objects/arrays
|
|
33
|
+
*/
|
|
34
|
+
private isDeepEqual;
|
|
35
|
+
/**
|
|
36
|
+
* Undo the last operation
|
|
37
|
+
* @returns True if undo was successful, false otherwise
|
|
38
|
+
*/
|
|
39
|
+
undo(): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Redo the previously undone operation
|
|
42
|
+
* @returns True if redo was successful, false otherwise
|
|
43
|
+
*/
|
|
44
|
+
redo(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Clear all history and future states
|
|
47
|
+
*/
|
|
48
|
+
clear(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Get current editor selection range
|
|
51
|
+
* @returns Object with start and end positions of selection
|
|
52
|
+
*/
|
|
53
|
+
private getEditorSelection;
|
|
54
|
+
/**
|
|
55
|
+
* Restore editor to a specific historical state
|
|
56
|
+
* @param type - Type of action
|
|
57
|
+
* @param state - Current state of history
|
|
58
|
+
*/
|
|
59
|
+
private restoreState;
|
|
60
|
+
/**
|
|
61
|
+
* Check if undo operation is available
|
|
62
|
+
* @returns True if undo is possible, false otherwise
|
|
63
|
+
*/
|
|
64
|
+
canUndo(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Check if redo operation is available
|
|
67
|
+
* @returns True if redo is possible, false otherwise
|
|
68
|
+
*/
|
|
69
|
+
canRedo(): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Set the save interval duration
|
|
72
|
+
* @param interval - Interval duration in milliseconds
|
|
73
|
+
*/
|
|
74
|
+
setSaveInterval(interval: number): void;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=history-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../../src/core/history-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2C,cAAc,IAAI,eAAe,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEpH,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,eAAe;IAC5D,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAA8C;gBAEnD,MAAM,EAAE,QAAQ;IAI5B;;OAEG;IACH,YAAY,IAAI,IAAI;IAapB;;OAEG;IACH,IAAI,IAAI,IAAI;IAWZ;;OAEG;IACH,OAAO,CAAC,MAAM;IAgDd;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,WAAW;IA2BnB;;;OAGG;IACH,IAAI,IAAI,OAAO;IAuBf;;;OAGG;IACH,IAAI,IAAI,OAAO;IAuBf;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAWpB;;;OAGG;IACH,OAAO,IAAI,OAAO;IAIlB;;;OAGG;IACH,OAAO,IAAI,OAAO;IAIlB;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAGxC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { I18N as II18N, Texditor } from '../types';
|
|
2
|
+
export default class I18N implements II18N {
|
|
3
|
+
/** Reference to the editor instance */
|
|
4
|
+
private editor;
|
|
5
|
+
/** Current active locale code */
|
|
6
|
+
private locale;
|
|
7
|
+
/** Default fallback locale code */
|
|
8
|
+
private defaultLocale;
|
|
9
|
+
/** Collection of translation dictionaries keyed by locale code */
|
|
10
|
+
private translations;
|
|
11
|
+
/**
|
|
12
|
+
* Create a new i18n instance
|
|
13
|
+
* @param editor - Editor instance reference
|
|
14
|
+
*/
|
|
15
|
+
constructor(editor: Texditor);
|
|
16
|
+
/**
|
|
17
|
+
* @see II18N.getLocale
|
|
18
|
+
*/
|
|
19
|
+
getLocale(): string;
|
|
20
|
+
/**
|
|
21
|
+
* @see II18N.getDefaultLocale
|
|
22
|
+
*/
|
|
23
|
+
getDefaultLocale(): string;
|
|
24
|
+
/**
|
|
25
|
+
* @see II18N.get
|
|
26
|
+
*/
|
|
27
|
+
get(key: string, def?: string): string;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/core/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,KAAK,EAAiB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGtE,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,KAAK;IACxC,uCAAuC;IACvC,OAAO,CAAC,MAAM,CAAW;IAEzB,iCAAiC;IACjC,OAAO,CAAC,MAAM,CAAgB;IAE9B,mCAAmC;IACnC,OAAO,CAAC,aAAa,CAAgB;IAErC,kEAAkE;IAClE,OAAO,CAAC,YAAY,CAAsC;IAE1D;;;OAGG;gBACS,MAAM,EAAE,QAAQ;IAgB5B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAW,GAAG,MAAM;CAW3C"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ActionModelConfig, ActionModel as IActionModel, ActionModelConstructor, ActionElement, BlockElement } from '../../types';
|
|
2
|
+
import { default as BaseModel } from '../base/base-model';
|
|
3
|
+
export default class ActionModel extends BaseModel<ActionElement> implements IActionModel {
|
|
4
|
+
/** Block element */
|
|
5
|
+
private blockElement;
|
|
6
|
+
/**
|
|
7
|
+
* Set up global configuration
|
|
8
|
+
* @param config - Partial configuration
|
|
9
|
+
* @returns Model constructor
|
|
10
|
+
*/
|
|
11
|
+
static setup(config: Partial<ActionModelConfig>): ActionModelConstructor;
|
|
12
|
+
/**
|
|
13
|
+
* @see IActionModel.getBlockElement
|
|
14
|
+
*/
|
|
15
|
+
getBlockElement(): BlockElement | null;
|
|
16
|
+
/**
|
|
17
|
+
* Parent model configuration
|
|
18
|
+
* @returns Parent model configuration
|
|
19
|
+
*/
|
|
20
|
+
protected parentConfig(): Partial<ActionModelConfig>;
|
|
21
|
+
/**
|
|
22
|
+
* Parent hook called after model node creation
|
|
23
|
+
* @param el - Created model node
|
|
24
|
+
* @returns void
|
|
25
|
+
*/
|
|
26
|
+
protected parentOnCreateElement(el: ActionElement): void;
|
|
27
|
+
/**
|
|
28
|
+
* Handle confirmation flow for actions that require user verification
|
|
29
|
+
* @param evt - Basic event
|
|
30
|
+
*/
|
|
31
|
+
protected confirm(evt: MouseEvent): void;
|
|
32
|
+
/**
|
|
33
|
+
* Parent hook called after model node clicked
|
|
34
|
+
* @param evt - Basic event
|
|
35
|
+
* @returns void
|
|
36
|
+
*/
|
|
37
|
+
protected parentOnClick(evt: MouseEvent): void;
|
|
38
|
+
/**
|
|
39
|
+
* Create and return the dropdown menu element
|
|
40
|
+
* @returns Empty div element as placeholder for dropdown content
|
|
41
|
+
*/
|
|
42
|
+
protected dropdown(): HTMLElement;
|
|
43
|
+
/**
|
|
44
|
+
* Check if action shows a menu on click
|
|
45
|
+
* @returns True if action has a menu, false otherwise
|
|
46
|
+
*/
|
|
47
|
+
isDropdown(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* @see IActionModel.isConfirm
|
|
50
|
+
*/
|
|
51
|
+
isConfirm(): boolean;
|
|
52
|
+
__setBlockElement(blockElement: BlockElement): void;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=action-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-model.d.ts","sourceRoot":"","sources":["../../../src/core/models/action-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,IAAI,YAAY,EAC3B,sBAAsB,EACtB,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAIjB,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAAS,CAAC,aAAa,CAAE,YAAW,YAAY;IACvF,oBAAoB;IACpB,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;;OAIG;WACW,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,sBAAsB;IAI/E;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;IASpD;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI;IAkBxD;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAoCxC;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IA6B9C;;;OAGG;IACH,SAAS,CAAC,QAAQ,IAAI,WAAW;IAIjC;;;OAGG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;CAGpD"}
|