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,52 @@
|
|
|
1
|
+
import { SelectionState, SelectionAPI as ISelectionAPI, Texditor } from '../types';
|
|
2
|
+
export default class SelectionAPI implements ISelectionAPI {
|
|
3
|
+
/** Reference to the main editor instance */
|
|
4
|
+
private editor;
|
|
5
|
+
/** Currently stored selection data (element and cursor position) */
|
|
6
|
+
private state;
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new SelectionAPI instance
|
|
9
|
+
* @param editor - Reference to the main Texditor instance
|
|
10
|
+
*/
|
|
11
|
+
constructor(editor: Texditor);
|
|
12
|
+
/** @see ISelectionAPI.setState */
|
|
13
|
+
setState(state: SelectionState): void;
|
|
14
|
+
/** @see ISelectionAPI.getState */
|
|
15
|
+
getState(): SelectionState;
|
|
16
|
+
/** @see ISelectionAPI.clearState */
|
|
17
|
+
clearState(): void;
|
|
18
|
+
/** @see ISelectionAPI.selectCurrent */
|
|
19
|
+
applyState(): void;
|
|
20
|
+
/** @see ISelectionAPI.select */
|
|
21
|
+
select(startPos: number, endPos: number, container?: Element, scrollToContainer?: boolean): void;
|
|
22
|
+
/** @see ISelectionAPI.insert */
|
|
23
|
+
insert(content: string, isHtml?: boolean, strip?: boolean): boolean;
|
|
24
|
+
/** @see ISelectionAPI.insertText */
|
|
25
|
+
insertText(content: string, stripTags?: boolean): boolean;
|
|
26
|
+
/** @see ISelectionAPI.splitContent */
|
|
27
|
+
splitContent(container?: HTMLElement | null): string;
|
|
28
|
+
/** @see ISelectionAPI.findTags */
|
|
29
|
+
findTags(container: Element | HTMLElement, children?: boolean): HTMLElement[];
|
|
30
|
+
/** @see ISelectionAPI.getSelection */
|
|
31
|
+
getSelection(): Selection | null;
|
|
32
|
+
/** @see ISelectionAPI.getRange */
|
|
33
|
+
getRange(index?: number): Range | null;
|
|
34
|
+
/** @see ISelectionAPI.getAbsoluteOffset */
|
|
35
|
+
getAbsoluteOffset(container: Node, offset: number): number;
|
|
36
|
+
/**
|
|
37
|
+
* Recursively searches through nodes to find text nodes
|
|
38
|
+
* @param container - Root container node
|
|
39
|
+
* @param startNode - Starting node for search
|
|
40
|
+
* @param predicate - Predicate function to test nodes
|
|
41
|
+
* @param excludeSibling - Whether to exclude sibling traversal
|
|
42
|
+
* @returns True if predicate found a match
|
|
43
|
+
*/
|
|
44
|
+
private searchNode;
|
|
45
|
+
/** @see ISelectionAPI.getOffset */
|
|
46
|
+
getOffset(container?: Node | HTMLElement | null): [number, number];
|
|
47
|
+
/** @see ISelectionAPI.getBounds */
|
|
48
|
+
getBounds(): DOMRect | null;
|
|
49
|
+
/** @see ISelectionAPI.getFirstLineBounds */
|
|
50
|
+
getFirstLineBounds(): DOMRect | null;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=selection-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection-api.d.ts","sourceRoot":"","sources":["../../src/core/selection-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,IAAI,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEvF,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,aAAa;IACxD,4CAA4C;IAC5C,OAAO,CAAC,MAAM,CAAW;IAEzB,oEAAoE;IACpE,OAAO,CAAC,KAAK,CAMX;IAEF;;;OAGG;gBACS,MAAM,EAAE,QAAQ;IAI5B,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIrC,kCAAkC;IAClC,QAAQ,IAAI,cAAc;IAI1B,oCAAoC;IACpC,UAAU,IAAI,IAAI;IAUlB,uCAAuC;IACvC,UAAU,IAAI,IAAI;IAOlB,gCAAgC;IAChC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAE,OAAe,GAAG,IAAI;IA8FvG,gCAAgC;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAO,EAAE,KAAK,UAAO,GAAG,OAAO;IAgC7D,oCAAoC;IACpC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,OAAO;IAItD,sCAAsC;IACtC,YAAY,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM;IAoFpD,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,EAAE,QAAQ,GAAE,OAAc,GAAG,WAAW,EAAE;IA4CnF,sCAAsC;IACtC,YAAY,IAAI,SAAS,GAAG,IAAI;IAIhC,kCAAkC;IAClC,QAAQ,CAAC,KAAK,GAAE,MAAU,GAAG,KAAK,GAAG,IAAI;IAUzC,2CAA2C;IAC3C,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;IAqBjD;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAwClB,mCAAmC;IACnC,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAqElE,mCAAmC;IACnC,SAAS,IAAI,OAAO,GAAG,IAAI;IAQ3B,4CAA4C;IAC5C,kBAAkB,IAAI,OAAO,GAAG,IAAI;CA0BrC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Texditor, ToolModel, Tools as ITools } from '../types';
|
|
2
|
+
export default class Tools implements ITools {
|
|
3
|
+
/** Reference to the editor instance */
|
|
4
|
+
private editor;
|
|
5
|
+
/** Collection of tool models available in the toolbar */
|
|
6
|
+
private tools;
|
|
7
|
+
/** Unique identifier for event listeners to prevent conflicts */
|
|
8
|
+
private eventId;
|
|
9
|
+
/**
|
|
10
|
+
* Create a new tools manager instance
|
|
11
|
+
* @param editor - Editor instance reference
|
|
12
|
+
*/
|
|
13
|
+
constructor(editor: Texditor);
|
|
14
|
+
/** @see ITools.show */
|
|
15
|
+
show(): void;
|
|
16
|
+
/** @see ITools.hide */
|
|
17
|
+
hide(): void;
|
|
18
|
+
/** @see ITools.syncHighlight */
|
|
19
|
+
syncHighlight(): void;
|
|
20
|
+
/** @see ITools.getTools */
|
|
21
|
+
getTools(): ToolModel[];
|
|
22
|
+
/** @see ITools.getModelByTagName */
|
|
23
|
+
getModelByTagName(tagName: string): ToolModel | null;
|
|
24
|
+
/** @see ITools.destroy */
|
|
25
|
+
destroy(): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/core/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAwB,SAAS,EAAe,KAAK,IAAI,MAAM,EAAE,MAAM,SAAS,CAAC;AA4BvG,MAAM,CAAC,OAAO,OAAO,KAAM,YAAW,MAAM;IAC1C,uCAAuC;IACvC,OAAO,CAAC,MAAM,CAAW;IACzB,yDAAyD;IACzD,OAAO,CAAC,KAAK,CAAmB;IAChC,iEAAiE;IACjE,OAAO,CAAC,OAAO,CAAoC;IAEnD;;;OAGG;gBACS,MAAM,EAAE,QAAQ;IAuB5B,uBAAuB;IACvB,IAAI,IAAI,IAAI;IA4DZ,uBAAuB;IACvB,IAAI,IAAI,IAAI;IAcZ,gCAAgC;IAChC,aAAa,IAAI,IAAI;IA8BrB,2BAA2B;IAC3B,QAAQ,IAAI,SAAS,EAAE;IAIvB,oCAAoC;IACpC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAWpD,0BAA0B;IAC1B,OAAO;CAOR"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Slider as ISlider, SliderOptions } from '../../types';
|
|
2
|
+
export default class Slider implements ISlider {
|
|
3
|
+
private container;
|
|
4
|
+
private slider;
|
|
5
|
+
private slides;
|
|
6
|
+
private dotsContainer?;
|
|
7
|
+
private currentIndex;
|
|
8
|
+
private options;
|
|
9
|
+
private defaultOptions;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new Slider instance
|
|
12
|
+
* @param container - The DOM element containing the slides
|
|
13
|
+
* @param options - Configuration options for the slider
|
|
14
|
+
*/
|
|
15
|
+
constructor(container: HTMLElement, options?: SliderOptions);
|
|
16
|
+
/**
|
|
17
|
+
* Iterates through each direct child element of the container
|
|
18
|
+
* @param callback - Function to execute for each slide
|
|
19
|
+
*/
|
|
20
|
+
private eachSlides;
|
|
21
|
+
/**
|
|
22
|
+
* Initializes the slider by creating all necessary UI elements
|
|
23
|
+
*/
|
|
24
|
+
private init;
|
|
25
|
+
/**
|
|
26
|
+
* Creates and appends navigation buttons (prev/next)
|
|
27
|
+
*/
|
|
28
|
+
private createButtons;
|
|
29
|
+
/**
|
|
30
|
+
* Creates and appends dot indicators for slide navigation
|
|
31
|
+
*/
|
|
32
|
+
private createDots;
|
|
33
|
+
/**
|
|
34
|
+
* Updates the active state of dot indicators based on current slide
|
|
35
|
+
*/
|
|
36
|
+
private updateActiveDot;
|
|
37
|
+
/**
|
|
38
|
+
* Updates the slider's transform position for the current slide
|
|
39
|
+
*/
|
|
40
|
+
private updateSliderPosition;
|
|
41
|
+
/** @see ISlider.goToSlide */
|
|
42
|
+
goToSlide(index: number): void;
|
|
43
|
+
/** @see ISlider.next */
|
|
44
|
+
next(): void;
|
|
45
|
+
/** @see ISlider.prev */
|
|
46
|
+
prev(): void;
|
|
47
|
+
/** @see ISlider.destroy */
|
|
48
|
+
destroy(): void;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=slider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/core/ui/slider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,6BAA6B,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,MAAO,YAAW,OAAO;IAC5C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,aAAa,CAAC,CAAc;IACpC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,cAAc,CAEpB;IAEF;;;;OAIG;gBACS,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,aAAkB;IA+B/D;;;OAGG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,IAAI;IAOZ;;OAEG;IACH,OAAO,CAAC,aAAa;IAqBrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAqBlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B,6BAA6B;IAC7B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkB9B,wBAAwB;IACxB,IAAI,IAAI,IAAI;IAIZ,wBAAwB;IACxB,IAAI,IAAI,IAAI;IAIZ,2BAA2B;IAC3B,OAAO,IAAI,IAAI;CAmBhB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ToastOptions, Toasts as IToasts } from '../../types';
|
|
2
|
+
export default class Toasts implements IToasts {
|
|
3
|
+
private toastsNode;
|
|
4
|
+
private defaultClassName;
|
|
5
|
+
private defaultTimeout;
|
|
6
|
+
private defaultParent;
|
|
7
|
+
private defaultInsertType;
|
|
8
|
+
private activeToast;
|
|
9
|
+
constructor(defaultParent?: Element | null, className?: string, defaultTimeout?: number, defaultInsertType?: 'prepend' | 'append' | 'before' | 'after');
|
|
10
|
+
/**
|
|
11
|
+
* Displays a toast notification with the given message and options.
|
|
12
|
+
* Creates a container if one doesn't exist and handles automatic cleanup
|
|
13
|
+
* when all toasts are removed.
|
|
14
|
+
*/
|
|
15
|
+
add(message: string, options?: ToastOptions): void;
|
|
16
|
+
/**
|
|
17
|
+
* Removes all active toast notifications immediately
|
|
18
|
+
* and cleans up the container element.
|
|
19
|
+
*/
|
|
20
|
+
clear(): void;
|
|
21
|
+
private createToasts;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=toasts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toasts.d.ts","sourceRoot":"","sources":["../../../src/core/ui/toasts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,SAAS,CAAC;AAG1D,MAAM,CAAC,OAAO,OAAO,MAAO,YAAW,OAAO;IAC5C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,WAAW,CAA4B;gBAG7C,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,EAC9B,SAAS,GAAE,MAA2B,EACtC,cAAc,GAAE,MAAa,EAC7B,iBAAiB,GAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAmB;IAQ1E;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,IAAI;IAmFtD;;;OAGG;IACH,KAAK,IAAI,IAAI;IAQb,OAAO,CAAC,YAAY;CAKrB"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { VirtualSelection as IVirtualSelection, VirtualSelectionOptions } from '../../types/core/ui/virtual-selection';
|
|
2
|
+
export default class VirtualSelection implements IVirtualSelection {
|
|
3
|
+
private options;
|
|
4
|
+
private blocks;
|
|
5
|
+
private isDragging;
|
|
6
|
+
private isLassoActive;
|
|
7
|
+
private hasMoved;
|
|
8
|
+
private isTouchScrolling;
|
|
9
|
+
private startedInContentEditable;
|
|
10
|
+
private contentEditableStartPoint;
|
|
11
|
+
private startPointInDocument;
|
|
12
|
+
private currentPointInDocument;
|
|
13
|
+
private selectedIndices;
|
|
14
|
+
private selectionRect;
|
|
15
|
+
private eventId;
|
|
16
|
+
private autoScrollInterval;
|
|
17
|
+
private startBlock;
|
|
18
|
+
private touchDelayTimeout;
|
|
19
|
+
private pendingLassoActivation;
|
|
20
|
+
private rafId;
|
|
21
|
+
private needsUpdate;
|
|
22
|
+
private cachedLassoRect;
|
|
23
|
+
private cachedSelectedIndices;
|
|
24
|
+
constructor(options: VirtualSelectionOptions);
|
|
25
|
+
/**
|
|
26
|
+
* Sets the CSS touch-action property on the selection zone.
|
|
27
|
+
* @param value - The touch-action CSS value (e.g., 'none', 'pan-y')
|
|
28
|
+
*/
|
|
29
|
+
private setTouchAction;
|
|
30
|
+
/**
|
|
31
|
+
* Initializes the VirtualSelection instance.
|
|
32
|
+
* Refreshes blocks, creates DOM elements, attaches event listeners, and sets initial touch behavior
|
|
33
|
+
*/
|
|
34
|
+
private init;
|
|
35
|
+
/**
|
|
36
|
+
* Checks if an element or any of its ancestors is inside a contentEditable container.
|
|
37
|
+
* @param el - The DOM element to check
|
|
38
|
+
* @returns True if the element is inside contentEditable, false otherwise
|
|
39
|
+
*/
|
|
40
|
+
private isInsideContentEditable;
|
|
41
|
+
/**
|
|
42
|
+
* Gets the full bounding rectangle of a block including its visual boundaries.
|
|
43
|
+
* @param block - The block element
|
|
44
|
+
* @returns DOMRect with full block dimensions in document coordinates
|
|
45
|
+
*/
|
|
46
|
+
private getFullBlockRect;
|
|
47
|
+
/**
|
|
48
|
+
* Checks if the cursor has completely exited the block's visual boundaries.
|
|
49
|
+
* @param currentPoint - Current cursor point
|
|
50
|
+
* @param startBlock - The block where selection started
|
|
51
|
+
* @returns True if cursor is outside block boundaries by at least exitTolerance
|
|
52
|
+
*/
|
|
53
|
+
private hasExitedBlockBoundaries;
|
|
54
|
+
/** @see IVirtualSelection.refreshBlocks */
|
|
55
|
+
refreshBlocks(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Creates the visual selection rectangle element for lasso selection.
|
|
58
|
+
*/
|
|
59
|
+
private createElements;
|
|
60
|
+
/**
|
|
61
|
+
* Attaches event listeners for mouse and touch interactions.
|
|
62
|
+
*/
|
|
63
|
+
private attachEvents;
|
|
64
|
+
/**
|
|
65
|
+
* Converts viewport coordinates to document coordinates.
|
|
66
|
+
* @param x - X coordinate relative to viewport
|
|
67
|
+
* @param y - Y coordinate relative to viewport
|
|
68
|
+
* @returns Object with x and y coordinates relative to document
|
|
69
|
+
*/
|
|
70
|
+
private viewportToDocument;
|
|
71
|
+
/**
|
|
72
|
+
* Converts document coordinates to viewport coordinates.
|
|
73
|
+
* @param x - X coordinate relative to document
|
|
74
|
+
* @param y - Y coordinate relative to document
|
|
75
|
+
* @returns Object with x and y coordinates relative to viewport
|
|
76
|
+
*/
|
|
77
|
+
private documentToViewport;
|
|
78
|
+
/**
|
|
79
|
+
* Finds the block element at the specified point.
|
|
80
|
+
* @param x - X coordinate in document
|
|
81
|
+
* @param y - Y coordinate in document
|
|
82
|
+
* @returns The block element or null
|
|
83
|
+
*/
|
|
84
|
+
private getBlockAtPoint;
|
|
85
|
+
/**
|
|
86
|
+
* Starts automatic scrolling when cursor approaches viewport edges during lasso selection.
|
|
87
|
+
*/
|
|
88
|
+
private startAutoScroll;
|
|
89
|
+
/**
|
|
90
|
+
* Stops the auto-scroll interval.
|
|
91
|
+
*/
|
|
92
|
+
private stopAutoScroll;
|
|
93
|
+
/**
|
|
94
|
+
* Activates lasso selection mode.
|
|
95
|
+
* Prevents scrolling, disables touch actions, and triggers onLassoStart callback.
|
|
96
|
+
*/
|
|
97
|
+
private startLassoMode;
|
|
98
|
+
/**
|
|
99
|
+
* Deactivates lasso selection mode
|
|
100
|
+
* Restores touch actions, stops auto-scroll, hides selection rectangle, and triggers onLassoEnd
|
|
101
|
+
*/
|
|
102
|
+
private stopLassoMode;
|
|
103
|
+
/**
|
|
104
|
+
* Schedules an update via requestAnimationFrame to batch DOM changes
|
|
105
|
+
*/
|
|
106
|
+
private scheduleUpdate;
|
|
107
|
+
/**
|
|
108
|
+
* Performs the actual DOM update (batched via RAF)
|
|
109
|
+
*/
|
|
110
|
+
private performUpdate;
|
|
111
|
+
/**
|
|
112
|
+
* Compares two sets for equality
|
|
113
|
+
*/
|
|
114
|
+
private areSetsEqual;
|
|
115
|
+
/**
|
|
116
|
+
* Cancels pending requestAnimationFrame
|
|
117
|
+
*/
|
|
118
|
+
private cancelRAF;
|
|
119
|
+
/**
|
|
120
|
+
* Updates the position and size of the selection rectangle based on drag points.
|
|
121
|
+
*/
|
|
122
|
+
private updateSelectionRect;
|
|
123
|
+
/**
|
|
124
|
+
* Calculates which blocks intersect with the lasso selection rectangle.
|
|
125
|
+
* Updates selected indexes and visual states.
|
|
126
|
+
*/
|
|
127
|
+
private updateLassoSelection;
|
|
128
|
+
/**
|
|
129
|
+
* Applies or removes the selected class on blocks based on current selection.
|
|
130
|
+
* Triggers onSelectionChange callback with updated selection data.
|
|
131
|
+
*/
|
|
132
|
+
private updateBlocksVisuals;
|
|
133
|
+
/**
|
|
134
|
+
* Handles mouse down event to initiate selection.
|
|
135
|
+
* @param e - The mouse event
|
|
136
|
+
* @private
|
|
137
|
+
*/
|
|
138
|
+
private onMouseDown;
|
|
139
|
+
/**
|
|
140
|
+
* Handles mouse move event for lasso selection.
|
|
141
|
+
* @param e - The mouse event
|
|
142
|
+
*/
|
|
143
|
+
private onMouseMove;
|
|
144
|
+
/**
|
|
145
|
+
* Handles mouse up event to finalize selection.
|
|
146
|
+
*/
|
|
147
|
+
private onMouseUp;
|
|
148
|
+
/**
|
|
149
|
+
* Handles touch start event for mobile selection.
|
|
150
|
+
* @param e - The touch event
|
|
151
|
+
*/
|
|
152
|
+
private onTouchStart;
|
|
153
|
+
/**
|
|
154
|
+
* Handles touch move event for lasso selection on mobile devices.
|
|
155
|
+
* @param e - The touch event
|
|
156
|
+
*/
|
|
157
|
+
private onTouchMove;
|
|
158
|
+
/**
|
|
159
|
+
* Handles touch end event to finalize selection on mobile devices.
|
|
160
|
+
*/
|
|
161
|
+
private onTouchEnd;
|
|
162
|
+
/** @see IVirtualSelection.getSelectedIndices */
|
|
163
|
+
getSelectedIndices(): number[];
|
|
164
|
+
/** @see IVirtualSelection.getSelectedBlocks */
|
|
165
|
+
getSelectedBlocks(): HTMLElement[];
|
|
166
|
+
/** @see IVirtualSelection.clearSelection */
|
|
167
|
+
clearSelection(): void;
|
|
168
|
+
/** @see IVirtualSelection.destroy */
|
|
169
|
+
destroy(): void;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=virtual-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual-selection.d.ts","sourceRoot":"","sources":["../../../src/core/ui/virtual-selection.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAGnH,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,iBAAiB;IAChE,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,yBAAyB,CAAkB;IACnD,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,UAAU,CAA4B;IAG9C,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,sBAAsB,CAAS;IAGvC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,qBAAqB,CAA0B;gBAE3C,OAAO,EAAE,uBAAuB;IAkB5C;;;OAGG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACH,OAAO,CAAC,IAAI;IAOZ;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAkChC,2CAA2C;IAC3C,aAAa,IAAI,IAAI;IAerB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAatB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,aAAa;IAyCrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAQjB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAenB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA4BnB;;OAEG;IACH,OAAO,CAAC,SAAS;IAqBjB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA2BpB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA+DnB;;OAEG;IACH,OAAO,CAAC,UAAU;IAwBlB,gDAAgD;IAChD,kBAAkB,IAAI,MAAM,EAAE;IAI9B,+CAA+C;IAC/C,iBAAiB,IAAI,WAAW,EAAE;IAMlC,4CAA4C;IAC5C,cAAc,IAAI,IAAI;IAKtB,qCAAqC;IACrC,OAAO,IAAI,IAAI;CAkChB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ActionModelConfig } from '../../types';
|
|
2
|
+
import { default as ActionModel } from '../../core/models/action-model';
|
|
3
|
+
/** Convert a block */
|
|
4
|
+
export default class ConvertAction extends ActionModel {
|
|
5
|
+
protected configure(): Partial<ActionModelConfig>;
|
|
6
|
+
protected dropdown(): HTMLElement;
|
|
7
|
+
isVisible(): boolean;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=convert-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-action.d.ts","sourceRoot":"","sources":["../../../src/entities/actions/convert-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,SAAS,CAAC;AAEnE,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAMrD,sBAAsB;AACtB,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC;IASjD,SAAS,CAAC,QAAQ,IAAI,WAAW;IAoDjC,SAAS,IAAI,OAAO;CAQrB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ActionModelConfig } from '../../types';
|
|
2
|
+
import { default as ActionModel } from '../../core/models/action-model';
|
|
3
|
+
/** Create a block */
|
|
4
|
+
export default class CreateAction extends ActionModel {
|
|
5
|
+
protected configure(): Partial<ActionModelConfig>;
|
|
6
|
+
protected dropdown(): HTMLElement;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=create-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-action.d.ts","sourceRoot":"","sources":["../../../src/entities/actions/create-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAMrD,qBAAqB;AACrB,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC;IASjD,SAAS,CAAC,QAAQ,IAAI,WAAW;CAgDlC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ActionModelConfig } from '../../types';
|
|
2
|
+
import { default as ActionModel } from '../../core/models/action-model';
|
|
3
|
+
/** Delete a block */
|
|
4
|
+
export default class DeleteAction extends ActionModel {
|
|
5
|
+
protected configure(): Partial<ActionModelConfig>;
|
|
6
|
+
protected onClick(): void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=delete-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-action.d.ts","sourceRoot":"","sources":["../../../src/entities/actions/delete-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,qBAAqB;AACrB,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC;IASjD,SAAS,CAAC,OAAO,IAAI,IAAI;CAI1B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { default as ConvertAction } from './convert-action';
|
|
2
|
+
import { default as CreateAction } from './create-action';
|
|
3
|
+
import { default as DeleteAction } from './delete-action';
|
|
4
|
+
import { default as MoveDownAction } from './move-down-action';
|
|
5
|
+
import { default as MoveUpAction } from './move-up-action';
|
|
6
|
+
export { ConvertAction, CreateAction, DeleteAction, MoveDownAction, MoveUpAction };
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/entities/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ActionModelConfig } from '../../types';
|
|
2
|
+
import { default as ActionModel } from '../../core/models/action-model';
|
|
3
|
+
/** Move the block down */
|
|
4
|
+
export default class MoveDownAction extends ActionModel {
|
|
5
|
+
protected configure(): Partial<ActionModelConfig>;
|
|
6
|
+
protected onClick(): void;
|
|
7
|
+
isVisible(): boolean;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=move-down-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move-down-action.d.ts","sourceRoot":"","sources":["../../../src/entities/actions/move-down-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,0BAA0B;AAC1B,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAQjD,SAAS,CAAC,OAAO,IAAI,IAAI;IAYzB,SAAS,IAAI,OAAO;CAIrB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ActionModelConfig } from '../../types';
|
|
2
|
+
import { default as ActionModel } from '../../core/models/action-model';
|
|
3
|
+
/** Move the block up */
|
|
4
|
+
export default class MoveUpAction extends ActionModel {
|
|
5
|
+
protected configure(): Partial<ActionModelConfig>;
|
|
6
|
+
protected onClick(): void;
|
|
7
|
+
isVisible(): boolean;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=move-up-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move-up-action.d.ts","sourceRoot":"","sources":["../../../src/entities/actions/move-up-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,wBAAwB;AACxB,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAQjD,SAAS,CAAC,OAAO,IAAI,IAAI;IAYzB,SAAS,IAAI,OAAO;CAIrB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import e from "../src/entities/actions/convert-action.mjs";
|
|
2
|
+
import t from "../src/entities/actions/create-action.mjs";
|
|
3
|
+
import n from "../src/entities/actions/delete-action.mjs";
|
|
4
|
+
import r from "../src/entities/actions/move-down-action.mjs";
|
|
5
|
+
import i from "../src/entities/actions/move-up-action.mjs";
|
|
6
|
+
export { e as ConvertAction, t as CreateAction, n as DeleteAction, r as MoveDownAction, i as MoveUpAction };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { BlockSchema, BlockElement, BlockModelConfig, BlockCreateSchema } from '../../../types';
|
|
2
|
+
import { default as BlockModel } from '../../../core/models/block-model';
|
|
3
|
+
export default class Code extends BlockModel {
|
|
4
|
+
/**
|
|
5
|
+
* Configure block model
|
|
6
|
+
* @returns Partial configuration object
|
|
7
|
+
*/
|
|
8
|
+
protected configure(): Partial<BlockModelConfig>;
|
|
9
|
+
/**
|
|
10
|
+
* Composes the code block UI
|
|
11
|
+
*/
|
|
12
|
+
protected onCompose(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Initializes the code block UI — language selector and line break info
|
|
15
|
+
* @param blockElement - block DOM element
|
|
16
|
+
*/
|
|
17
|
+
private init;
|
|
18
|
+
/**
|
|
19
|
+
* Handles keydown events. Creates a new block on Ctrl+Enter.
|
|
20
|
+
* @param evt - Keyboard event
|
|
21
|
+
* @returns False if handled, true otherwise
|
|
22
|
+
*/
|
|
23
|
+
protected onKeyDown(evt: KeyboardEvent): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Saves block data to output format
|
|
26
|
+
* @param blockSchema - Block schema
|
|
27
|
+
* @param _blockElement - Block element
|
|
28
|
+
* @returns The modified block output.
|
|
29
|
+
*/
|
|
30
|
+
protected save(blockSchema: BlockSchema, blockElement?: BlockElement): BlockSchema;
|
|
31
|
+
/**
|
|
32
|
+
* Parses block schema into create schema
|
|
33
|
+
* @param item - Raw block schema
|
|
34
|
+
* @returns Parsed create schema
|
|
35
|
+
*/
|
|
36
|
+
protected parse(item: BlockSchema): BlockCreateSchema;
|
|
37
|
+
/**
|
|
38
|
+
* Re-initializes the block after conversion
|
|
39
|
+
* @param newBlockElement - New block DOM element
|
|
40
|
+
* @returns The initialized block element
|
|
41
|
+
*/
|
|
42
|
+
afterConvert(newBlockElement: BlockElement): BlockElement;
|
|
43
|
+
/**
|
|
44
|
+
* Destroy the model instance and clean up the resources
|
|
45
|
+
*/
|
|
46
|
+
destroy(): void;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/entities/blocks/code/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAqBjB,OAAO,UAAU,MAAM,2BAA2B,CAAC;AAEnD,OAAO,mCAAmC,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAU;IAC1C;;;OAGG;IACH,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAyBhD;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B;;;OAGG;IACH,OAAO,CAAC,IAAI;IA0LZ;;;;OAIG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO;IAYhD;;;;;OAKG;IACH,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,WAAW;IAelF;;;;OAIG;IACH,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,iBAAiB;IAYrD;;;;OAIG;IACH,YAAY,CAAC,eAAe,EAAE,YAAY,GAAG,YAAY;IAMzD;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../../../src/entities/blocks/code/languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,QAAA,MAAM,aAAa,EAAE,aAkDpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FileActionModelConfig } from '../../../../types';
|
|
2
|
+
import { default as FileActionModel } from '../../../../core/models/file-action-model';
|
|
3
|
+
export default class DeleteFileAction extends FileActionModel {
|
|
4
|
+
protected configure(): Partial<FileActionModelConfig>;
|
|
5
|
+
protected onClick(_evt: MouseEvent): void;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=DeleteFileAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteFileAction.d.ts","sourceRoot":"","sources":["../../../../../src/entities/blocks/files/actions/DeleteFileAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,eAAe;IAC3D,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAQrD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;CAgB1C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FileActionModelConfig, FileActionElement } from '../../../../types';
|
|
2
|
+
import { default as FileActionModel } from '../../../../core/models/file-action-model';
|
|
3
|
+
export default class DownloadFileAction extends FileActionModel {
|
|
4
|
+
protected configure(): Partial<FileActionModelConfig>;
|
|
5
|
+
protected onClick(): void;
|
|
6
|
+
/**
|
|
7
|
+
* Hook called after mounting to the DOM
|
|
8
|
+
* @param _el - The mounted DOM element
|
|
9
|
+
*/
|
|
10
|
+
protected onMount(node: FileActionElement): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=DownloadFileAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DownloadFileAction.d.ts","sourceRoot":"","sources":["../../../../../src/entities/blocks/files/actions/DownloadFileAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAExE,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAG9D,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe;IAC7D,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,qBAAqB,CAAC;IASrD,SAAS,CAAC,OAAO,IAAI,IAAI;IAyBzB;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;CAgBjD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { FileActionModelConfig } from '../../../../types';
|
|
2
|
+
import { default as FileActionModel } from '../../../../core/models/file-action-model';
|
|
3
|
+
/**
|
|
4
|
+
* Handles the "edit" action for file items.
|
|
5
|
+
* Creates a popup form to edit file name, caption, and description.
|
|
6
|
+
*/
|
|
7
|
+
export default class EditFileAction extends FileActionModel {
|
|
8
|
+
/** Reference to the popup DOM element */
|
|
9
|
+
private popupNode;
|
|
10
|
+
/** Stores timeout IDs for error message hiding */
|
|
11
|
+
private timeouts;
|
|
12
|
+
/**
|
|
13
|
+
* Configures the action with name and icon
|
|
14
|
+
*/
|
|
15
|
+
protected configure(): Partial<FileActionModelConfig>;
|
|
16
|
+
/** Handles click event */
|
|
17
|
+
protected onClick(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Creates and displays the edit popup forms
|
|
20
|
+
*/
|
|
21
|
+
protected createPopup(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Handles save button click
|
|
24
|
+
* @param _evt - Click event
|
|
25
|
+
*/
|
|
26
|
+
protected saveHandler(_evt: MouseEvent): void;
|
|
27
|
+
/** Removes the popup and cleans up event listeners */
|
|
28
|
+
private removePopup;
|
|
29
|
+
/** Cleanup when destroying the action */
|
|
30
|
+
destroy(): void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=EditFileAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditFileAction.d.ts","sourceRoot":"","sources":["../../../../../src/entities/blocks/files/actions/EditFileAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAmB,MAAM,SAAS,CAAC;AAEtE,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAoB9D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,eAAe;IACzD,yCAAyC;IACzC,OAAO,CAAC,SAAS,CAA4B;IAC7C,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAA0C;IAE1D;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAOrD,2BAA2B;IAC3B,SAAS,CAAC,OAAO,IAAI,IAAI;IAIzB;;OAEG;IACH,SAAS,CAAC,WAAW;IAyIrB;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU;IAyFtC,sDAAsD;IACtD,OAAO,CAAC,WAAW;IAQnB,yCAAyC;IACzC,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FileActionModelConfig } from '../../../../types';
|
|
2
|
+
import { default as FileActionModel } from '../../../../core/models/file-action-model';
|
|
3
|
+
export default class MoveLeftFileAction extends FileActionModel {
|
|
4
|
+
protected configure(): Partial<FileActionModelConfig>;
|
|
5
|
+
onClick(): void;
|
|
6
|
+
isVisible(): boolean;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=MoveLeftFileAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoveLeftFileAction.d.ts","sourceRoot":"","sources":["../../../../../src/entities/blocks/files/actions/MoveLeftFileAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe;IAC7D,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAOrD,OAAO;IAWP,SAAS,IAAI,OAAO;CASrB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FileActionModelConfig } from '../../../../types';
|
|
2
|
+
import { default as FileActionModel } from '../../../../core/models/file-action-model';
|
|
3
|
+
export default class MoveRightFileAction extends FileActionModel {
|
|
4
|
+
protected configure(): Partial<FileActionModelConfig>;
|
|
5
|
+
onClick(): void;
|
|
6
|
+
isVisible(): boolean;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=MoveRightFileAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MoveRightFileAction.d.ts","sourceRoot":"","sources":["../../../../../src/entities/blocks/files/actions/MoveRightFileAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,eAAe;IAC9D,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAOrD,OAAO;IAWP,SAAS,IAAI,OAAO;CASrB"}
|