@kerebron/extension-basic-editor 0.2.1 → 0.4.1
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/README.md +4 -2
- package/esm/editor/src/CoreEditor.d.ts +24 -9
- package/esm/editor/src/CoreEditor.d.ts.map +1 -1
- package/esm/editor/src/CoreEditor.js +125 -70
- package/esm/editor/src/DummyEditorView.d.ts +60 -0
- package/esm/editor/src/DummyEditorView.d.ts.map +1 -0
- package/esm/editor/src/DummyEditorView.js +277 -0
- package/esm/editor/src/Extension.d.ts +15 -10
- package/esm/editor/src/Extension.d.ts.map +1 -1
- package/esm/editor/src/Extension.js +23 -3
- package/esm/editor/src/ExtensionManager.d.ts +9 -9
- package/esm/editor/src/ExtensionManager.d.ts.map +1 -1
- package/esm/editor/src/ExtensionManager.js +81 -74
- package/esm/editor/src/Mark.d.ts +11 -6
- package/esm/editor/src/Mark.d.ts.map +1 -1
- package/esm/editor/src/Mark.js +19 -2
- package/esm/editor/src/Node.d.ts +18 -13
- package/esm/editor/src/Node.d.ts.map +1 -1
- package/esm/editor/src/Node.js +22 -5
- package/esm/editor/src/commands/CommandManager.d.ts +14 -11
- package/esm/editor/src/commands/CommandManager.d.ts.map +1 -1
- package/esm/editor/src/commands/CommandManager.js +64 -6
- package/esm/editor/src/commands/baseCommandFactories.d.ts +3 -0
- package/esm/editor/src/commands/baseCommandFactories.d.ts.map +1 -0
- package/esm/editor/src/commands/baseCommandFactories.js +836 -0
- package/esm/editor/src/commands/keyCommandFactories.d.ts +3 -0
- package/esm/editor/src/commands/keyCommandFactories.d.ts.map +1 -0
- package/esm/editor/src/commands/keyCommandFactories.js +10 -0
- package/esm/editor/src/commands/mod.d.ts +5 -47
- package/esm/editor/src/commands/mod.d.ts.map +1 -1
- package/esm/editor/src/commands/mod.js +14 -866
- package/esm/editor/src/commands/replaceCommandFactories.d.ts +3 -0
- package/esm/editor/src/commands/replaceCommandFactories.d.ts.map +1 -0
- package/esm/editor/src/commands/replaceCommandFactories.js +94 -0
- package/esm/editor/src/commands/types.d.ts +18 -0
- package/esm/editor/src/commands/types.d.ts.map +1 -0
- package/esm/editor/src/commands/types.js +1 -0
- package/esm/editor/src/mod.d.ts +3 -0
- package/esm/editor/src/mod.d.ts.map +1 -1
- package/esm/editor/src/mod.js +3 -0
- package/esm/editor/src/nodeToTreeString.d.ts +8 -2
- package/esm/editor/src/nodeToTreeString.d.ts.map +1 -1
- package/esm/editor/src/nodeToTreeString.js +47 -29
- package/esm/editor/src/plugins/TrackSelecionPlugin.d.ts +6 -0
- package/esm/editor/src/plugins/TrackSelecionPlugin.d.ts.map +1 -0
- package/esm/editor/src/plugins/TrackSelecionPlugin.js +24 -0
- package/esm/editor/src/plugins/input-rules/InputRulesPlugin.js +2 -2
- package/esm/editor/src/plugins/keymap/keymap.d.ts +11 -0
- package/esm/editor/src/plugins/keymap/keymap.d.ts.map +1 -0
- package/esm/editor/src/plugins/keymap/keymap.js +125 -0
- package/esm/editor/src/plugins/keymap/mod.d.ts +2 -0
- package/esm/editor/src/plugins/keymap/mod.d.ts.map +1 -0
- package/esm/editor/src/plugins/keymap/mod.js +1 -0
- package/esm/editor/src/plugins/keymap/w3c-keyname.d.ts +4 -0
- package/esm/editor/src/plugins/keymap/w3c-keyname.d.ts.map +1 -0
- package/esm/editor/src/plugins/keymap/w3c-keyname.js +124 -0
- package/esm/editor/src/types.d.ts +30 -7
- package/esm/editor/src/types.d.ts.map +1 -1
- package/esm/editor/src/ui.d.ts +15 -0
- package/esm/editor/src/ui.d.ts.map +1 -0
- package/esm/editor/src/ui.js +16 -0
- package/esm/editor/src/utilities/SmartOutput.d.ts +41 -0
- package/esm/editor/src/utilities/SmartOutput.d.ts.map +1 -0
- package/esm/editor/src/utilities/SmartOutput.js +228 -0
- package/esm/editor/src/utilities/createNodeFromContent.d.ts +4 -3
- package/esm/editor/src/utilities/createNodeFromContent.d.ts.map +1 -1
- package/esm/editor/src/utilities/createNodeFromContent.js +4 -5
- package/esm/editor/src/utilities/getHtmlAttributes.d.ts +8 -3
- package/esm/editor/src/utilities/getHtmlAttributes.d.ts.map +1 -1
- package/esm/editor/src/utilities/getShadowRoot.d.ts +2 -0
- package/esm/editor/src/utilities/getShadowRoot.d.ts.map +1 -0
- package/esm/editor/src/utilities/getShadowRoot.js +16 -0
- package/esm/editor/src/utilities/mod.d.ts +3 -0
- package/esm/editor/src/utilities/mod.d.ts.map +1 -1
- package/esm/editor/src/utilities/mod.js +3 -0
- package/esm/editor/src/utilities/toRawTextResult.d.ts +3 -0
- package/esm/editor/src/utilities/toRawTextResult.d.ts.map +1 -0
- package/esm/editor/src/utilities/toRawTextResult.js +21 -0
- package/esm/extension-basic-editor/src/ExtensionBaseKeymap.d.ts +1 -2
- package/esm/extension-basic-editor/src/ExtensionBaseKeymap.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/ExtensionBaseKeymap.js +40 -14
- package/esm/extension-basic-editor/src/ExtensionBasicCodeEditor.d.ts +11 -0
- package/esm/extension-basic-editor/src/ExtensionBasicCodeEditor.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/ExtensionBasicCodeEditor.js +71 -0
- package/esm/extension-basic-editor/src/ExtensionBasicEditor.d.ts +23 -9
- package/esm/extension-basic-editor/src/ExtensionBasicEditor.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/ExtensionBasicEditor.js +38 -8
- package/esm/extension-basic-editor/src/ExtensionDropcursor.d.ts +7 -0
- package/esm/extension-basic-editor/src/ExtensionDropcursor.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/ExtensionDropcursor.js +211 -1
- package/esm/extension-basic-editor/src/ExtensionGapcursor.d.ts +21 -1
- package/esm/extension-basic-editor/src/ExtensionGapcursor.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/ExtensionGapcursor.js +239 -1
- package/esm/extension-basic-editor/src/ExtensionHistory.d.ts +4 -3
- package/esm/extension-basic-editor/src/ExtensionHistory.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/ExtensionHistory.js +29 -3
- package/esm/extension-basic-editor/src/ExtensionHtml.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/ExtensionHtml.js +7 -4
- package/esm/extension-basic-editor/src/ExtensionMediaUpload.d.ts +24 -0
- package/esm/extension-basic-editor/src/ExtensionMediaUpload.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/ExtensionMediaUpload.js +176 -0
- package/esm/extension-basic-editor/src/ExtensionSelection.d.ts +11 -0
- package/esm/extension-basic-editor/src/ExtensionSelection.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/ExtensionSelection.js +237 -0
- package/esm/extension-basic-editor/src/MarkBookmark.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/MarkChange.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/MarkCode.d.ts +4 -7
- package/esm/extension-basic-editor/src/MarkCode.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/MarkCode.js +2 -11
- package/esm/extension-basic-editor/src/MarkHighlight.d.ts +8 -0
- package/esm/extension-basic-editor/src/MarkHighlight.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/MarkHighlight.js +43 -0
- package/esm/extension-basic-editor/src/MarkItalic.d.ts +4 -6
- package/esm/extension-basic-editor/src/MarkItalic.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/MarkItalic.js +2 -11
- package/esm/extension-basic-editor/src/MarkLink.d.ts +1 -11
- package/esm/extension-basic-editor/src/MarkLink.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/MarkLink.js +0 -32
- package/esm/extension-basic-editor/src/MarkStrike.d.ts +11 -0
- package/esm/extension-basic-editor/src/MarkStrike.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/MarkStrike.js +39 -0
- package/esm/extension-basic-editor/src/MarkStrong.d.ts +4 -7
- package/esm/extension-basic-editor/src/MarkStrong.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/MarkStrong.js +2 -11
- package/esm/extension-basic-editor/src/MarkTextColor.d.ts +8 -0
- package/esm/extension-basic-editor/src/MarkTextColor.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/MarkTextColor.js +35 -0
- package/esm/extension-basic-editor/src/MarkUnderline.d.ts +3 -5
- package/esm/extension-basic-editor/src/MarkUnderline.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/MarkUnderline.js +2 -11
- package/esm/extension-basic-editor/src/NodeAside.d.ts +0 -3
- package/esm/extension-basic-editor/src/NodeAside.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/NodeAside.js +0 -8
- package/esm/extension-basic-editor/src/NodeBlockquote.d.ts +3 -6
- package/esm/extension-basic-editor/src/NodeBlockquote.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/NodeBlockquote.js +2 -11
- package/esm/extension-basic-editor/src/NodeBulletList.d.ts +4 -7
- package/esm/extension-basic-editor/src/NodeBulletList.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/NodeBulletList.js +2 -11
- package/esm/extension-basic-editor/src/NodeCodeBlock.d.ts +9 -0
- package/esm/extension-basic-editor/src/NodeCodeBlock.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/NodeCodeBlock.js +58 -0
- package/esm/extension-basic-editor/src/NodeDefinitionDesc.d.ts +8 -0
- package/esm/extension-basic-editor/src/NodeDefinitionDesc.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/NodeDefinitionDesc.js +29 -0
- package/esm/extension-basic-editor/src/NodeDefinitionList.d.ts +13 -0
- package/esm/extension-basic-editor/src/NodeDefinitionList.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/NodeDefinitionList.js +41 -0
- package/esm/extension-basic-editor/src/NodeDefinitionTerm.d.ts +8 -0
- package/esm/extension-basic-editor/src/NodeDefinitionTerm.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/NodeDefinitionTerm.js +29 -0
- package/esm/extension-basic-editor/src/NodeDocumentCode.d.ts +7 -0
- package/esm/extension-basic-editor/src/NodeDocumentCode.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/NodeDocumentCode.js +37 -0
- package/esm/extension-basic-editor/src/NodeFrontmatter.d.ts +8 -0
- package/esm/extension-basic-editor/src/NodeFrontmatter.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/NodeFrontmatter.js +29 -0
- package/esm/extension-basic-editor/src/NodeHardBreak.d.ts +5 -2
- package/esm/extension-basic-editor/src/NodeHardBreak.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/NodeHardBreak.js +40 -53
- package/esm/extension-basic-editor/src/NodeHeading.d.ts +3 -14
- package/esm/extension-basic-editor/src/NodeHeading.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/NodeHeading.js +2 -15
- package/esm/extension-basic-editor/src/NodeHorizontalRule.d.ts +4 -4
- package/esm/extension-basic-editor/src/NodeHorizontalRule.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/NodeHorizontalRule.js +1 -2
- package/esm/extension-basic-editor/src/NodeListItem.d.ts +7 -5
- package/esm/extension-basic-editor/src/NodeListItem.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/NodeListItem.js +10 -15
- package/esm/extension-basic-editor/src/NodeMath.d.ts +8 -0
- package/esm/extension-basic-editor/src/NodeMath.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/NodeMath.js +112 -0
- package/esm/extension-basic-editor/src/NodeOrderedList.d.ts +3 -6
- package/esm/extension-basic-editor/src/NodeOrderedList.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/NodeOrderedList.js +4 -14
- package/esm/extension-basic-editor/src/NodeParagraph.d.ts +2 -5
- package/esm/extension-basic-editor/src/NodeParagraph.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/NodeParagraph.js +2 -11
- package/esm/extension-basic-editor/src/NodeTaskItem.d.ts +24 -0
- package/esm/extension-basic-editor/src/NodeTaskItem.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/NodeTaskItem.js +153 -0
- package/esm/extension-basic-editor/src/NodeTaskList.d.ts +11 -0
- package/esm/extension-basic-editor/src/NodeTaskList.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/NodeTaskList.js +38 -0
- package/esm/extension-basic-editor/src/NodeText.d.ts +0 -1
- package/esm/extension-basic-editor/src/NodeText.d.ts.map +1 -1
- package/esm/extension-basic-editor/src/NodeText.js +0 -6
- package/esm/extension-basic-editor/src/NodeVideo.d.ts +8 -0
- package/esm/extension-basic-editor/src/NodeVideo.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/NodeVideo.js +58 -0
- package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.d.ts +24 -0
- package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/remote-selection/ExtensionRemoteSelection.js +35 -0
- package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.d.ts +25 -0
- package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.d.ts.map +1 -0
- package/esm/extension-basic-editor/src/remote-selection/remoteSelectionPlugin.js +96 -0
- package/package.json +29 -6
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import type { ParseOptions } from 'prosemirror-model';
|
|
1
|
+
import type { Node as ProseMirrorNode, ParseOptions } from 'prosemirror-model';
|
|
2
2
|
import type { Extension } from './Extension.js';
|
|
3
3
|
import type { Mark } from './Mark.js';
|
|
4
4
|
import type { Node } from './Node.js';
|
|
5
|
-
export type AnyExtension =
|
|
6
|
-
|
|
5
|
+
export type AnyExtension = Extension | Node | Mark;
|
|
6
|
+
export type AnyExtensionOrReq = AnyExtension | {
|
|
7
|
+
requires: Array<AnyExtensionOrReq | string>;
|
|
7
8
|
};
|
|
8
|
-
export type Extensions = AnyExtension[];
|
|
9
9
|
export type Content = JSONContent | JSONContent[] | null;
|
|
10
|
-
export interface
|
|
11
|
-
element:
|
|
10
|
+
export interface EditorConfig {
|
|
11
|
+
element: HTMLElement;
|
|
12
12
|
content: Content;
|
|
13
13
|
parseOptions: ParseOptions;
|
|
14
|
-
extensions:
|
|
14
|
+
extensions: AnyExtensionOrReq[];
|
|
15
|
+
cdnUrl?: string;
|
|
16
|
+
uri?: string;
|
|
17
|
+
languageID?: string;
|
|
15
18
|
topNode?: string;
|
|
16
19
|
}
|
|
17
20
|
export type JSONContent = {
|
|
@@ -26,4 +29,24 @@ export type JSONContent = {
|
|
|
26
29
|
text?: string;
|
|
27
30
|
[key: string]: any;
|
|
28
31
|
};
|
|
32
|
+
export type Attribute<T> = {
|
|
33
|
+
fromDom?: (element: HTMLElement) => T;
|
|
34
|
+
default: T;
|
|
35
|
+
toDom?: (node: ProseMirrorNode) => T;
|
|
36
|
+
};
|
|
37
|
+
export interface TextRange {
|
|
38
|
+
from: number;
|
|
39
|
+
to: number;
|
|
40
|
+
}
|
|
41
|
+
export interface RawTextMapEntry {
|
|
42
|
+
nodeIdx: number;
|
|
43
|
+
targetRow: number;
|
|
44
|
+
targetCol: number;
|
|
45
|
+
sourceCol?: number;
|
|
46
|
+
targetPos: number;
|
|
47
|
+
}
|
|
48
|
+
export interface RawTextResult {
|
|
49
|
+
content: string;
|
|
50
|
+
rawTextMap: Array<RawTextMapEntry>;
|
|
51
|
+
}
|
|
29
52
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/editor/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/editor/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AACnD,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAC7C,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,EAAE,CAAC;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CACpC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CoreEditor } from './CoreEditor.js';
|
|
2
|
+
interface SelectParams {
|
|
3
|
+
anchor: number;
|
|
4
|
+
scrollIntoView: boolean;
|
|
5
|
+
userEvent: string;
|
|
6
|
+
}
|
|
7
|
+
export interface EditorUi {
|
|
8
|
+
showMessage(msg: string): void;
|
|
9
|
+
showError(err: Error): void;
|
|
10
|
+
focus(): void;
|
|
11
|
+
select(params: SelectParams): void;
|
|
12
|
+
}
|
|
13
|
+
export declare function defaultUi(editor: CoreEditor): EditorUi;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/editor/src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAmBtD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function defaultUi(editor) {
|
|
2
|
+
return {
|
|
3
|
+
showMessage(msg) {
|
|
4
|
+
globalThis.alert(msg);
|
|
5
|
+
},
|
|
6
|
+
showError(err) {
|
|
7
|
+
globalThis.alert(err.message);
|
|
8
|
+
console.error(err);
|
|
9
|
+
},
|
|
10
|
+
focus() {
|
|
11
|
+
// editor.run.focus();
|
|
12
|
+
},
|
|
13
|
+
select({ anchor: number, scrollIntoView: boolean, userEvent: string, }) {
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface OutputMeta<K> {
|
|
2
|
+
pos: number;
|
|
3
|
+
rowPos: number;
|
|
4
|
+
colPos: number;
|
|
5
|
+
item?: K;
|
|
6
|
+
}
|
|
7
|
+
interface Mapping {
|
|
8
|
+
sourceNo: number;
|
|
9
|
+
sourceRowPos: number;
|
|
10
|
+
sourceColPos: number;
|
|
11
|
+
}
|
|
12
|
+
export interface SourceMap {
|
|
13
|
+
'version': 3;
|
|
14
|
+
'file': string;
|
|
15
|
+
'sourceRoot': string;
|
|
16
|
+
'sources': Array<string>;
|
|
17
|
+
'sourcesContent': Array<string>;
|
|
18
|
+
'names': Array<string>;
|
|
19
|
+
'mappings': string;
|
|
20
|
+
}
|
|
21
|
+
export declare class SmartOutput<K> {
|
|
22
|
+
private _rowPos;
|
|
23
|
+
private _colPos;
|
|
24
|
+
private _pos;
|
|
25
|
+
private chunks;
|
|
26
|
+
private metas;
|
|
27
|
+
log(text: string, item?: K): void;
|
|
28
|
+
getMetas(): OutputMeta<K>[];
|
|
29
|
+
get chunkPos(): number;
|
|
30
|
+
rollback(pos: number): void;
|
|
31
|
+
get rowPos(): number;
|
|
32
|
+
get colPos(): number;
|
|
33
|
+
get pos(): number;
|
|
34
|
+
endsWith(text: string): boolean;
|
|
35
|
+
toString(): string;
|
|
36
|
+
getSourceMap(mapper: (rowPos: number, colPos: number, pos: number, item?: K) => Mapping | void): SourceMap;
|
|
37
|
+
}
|
|
38
|
+
export declare function decode(string: string): number[];
|
|
39
|
+
export declare function encode(value: number | number[]): string;
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=SmartOutput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartOutput.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/SmartOutput.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,CAAC,CAAC;CACV;AAED,UAAU,OAAO;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,CAAC,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,WAAW,CAAC,CAAC;IACxB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,IAAI,CAAK;IAEjB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAA4B;IAEzC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;IAyB1B,QAAQ;IAIR,IAAI,QAAQ,WAEX;IAED,QAAQ,CAAC,GAAG,EAAE,MAAM;IAKpB,IAAI,MAAM,WAET;IAED,IAAI,MAAM,WAET;IAED,IAAI,GAAG,WAEN;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIrB,QAAQ;IAIR,YAAY,CACV,MAAM,EAAE,CACN,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,CAAC,KACL,OAAO,GAAG,IAAI,GAClB,SAAS;CA4Db;AAuDD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,YAoCpC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,UAW9C"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
export class SmartOutput {
|
|
2
|
+
constructor() {
|
|
3
|
+
Object.defineProperty(this, "_rowPos", {
|
|
4
|
+
enumerable: true,
|
|
5
|
+
configurable: true,
|
|
6
|
+
writable: true,
|
|
7
|
+
value: 0
|
|
8
|
+
});
|
|
9
|
+
Object.defineProperty(this, "_colPos", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
configurable: true,
|
|
12
|
+
writable: true,
|
|
13
|
+
value: 0
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(this, "_pos", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
configurable: true,
|
|
18
|
+
writable: true,
|
|
19
|
+
value: 0
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(this, "chunks", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
configurable: true,
|
|
24
|
+
writable: true,
|
|
25
|
+
value: []
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(this, "metas", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true,
|
|
31
|
+
value: []
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
log(text, item) {
|
|
35
|
+
if (text.length === 0) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.chunks.push(text);
|
|
39
|
+
this.metas.push({
|
|
40
|
+
pos: this._pos,
|
|
41
|
+
colPos: this._colPos,
|
|
42
|
+
rowPos: this._rowPos,
|
|
43
|
+
item,
|
|
44
|
+
});
|
|
45
|
+
const lines = text.split('\n');
|
|
46
|
+
if (lines.length === 1) {
|
|
47
|
+
this._colPos += lines[lines.length - 1].length;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this._rowPos += lines.length - 1;
|
|
51
|
+
this._colPos = lines[lines.length - 1].length;
|
|
52
|
+
}
|
|
53
|
+
this._pos += text.length;
|
|
54
|
+
}
|
|
55
|
+
getMetas() {
|
|
56
|
+
return this.metas;
|
|
57
|
+
}
|
|
58
|
+
get chunkPos() {
|
|
59
|
+
return this.chunks.length;
|
|
60
|
+
}
|
|
61
|
+
rollback(pos) {
|
|
62
|
+
this.chunks.splice(pos);
|
|
63
|
+
this.metas.splice(pos);
|
|
64
|
+
}
|
|
65
|
+
get rowPos() {
|
|
66
|
+
return this._rowPos;
|
|
67
|
+
}
|
|
68
|
+
get colPos() {
|
|
69
|
+
return this._colPos;
|
|
70
|
+
}
|
|
71
|
+
get pos() {
|
|
72
|
+
return this._pos;
|
|
73
|
+
}
|
|
74
|
+
endsWith(text) {
|
|
75
|
+
return this.chunks.join('').endsWith(text);
|
|
76
|
+
}
|
|
77
|
+
toString() {
|
|
78
|
+
return this.chunks.join('');
|
|
79
|
+
}
|
|
80
|
+
getSourceMap(mapper) {
|
|
81
|
+
const mappingRows = [];
|
|
82
|
+
let lastRow = -1;
|
|
83
|
+
let lastCol = -1;
|
|
84
|
+
let prevSourceNo = 0;
|
|
85
|
+
let prevSourceRowPos = 0;
|
|
86
|
+
let prevSourceColPos = 0;
|
|
87
|
+
let prevColPos = 0;
|
|
88
|
+
for (const meta of this.metas) {
|
|
89
|
+
while (meta.rowPos >= mappingRows.length) {
|
|
90
|
+
mappingRows.push([]);
|
|
91
|
+
}
|
|
92
|
+
if (lastRow != meta.rowPos || lastCol != meta.colPos) {
|
|
93
|
+
const currentRow = mappingRows[meta.rowPos];
|
|
94
|
+
if (lastRow != meta.rowPos) {
|
|
95
|
+
prevColPos = 0;
|
|
96
|
+
}
|
|
97
|
+
const mapping = mapper(meta.rowPos, meta.colPos, meta.pos, meta.item);
|
|
98
|
+
if (mapping) {
|
|
99
|
+
currentRow.push([
|
|
100
|
+
meta.colPos - prevColPos,
|
|
101
|
+
mapping.sourceNo - prevSourceNo,
|
|
102
|
+
mapping.sourceRowPos - prevSourceRowPos,
|
|
103
|
+
mapping.sourceColPos - prevSourceColPos,
|
|
104
|
+
]);
|
|
105
|
+
prevColPos = meta.colPos;
|
|
106
|
+
prevSourceNo = mapping.sourceNo;
|
|
107
|
+
prevSourceRowPos = mapping.sourceRowPos;
|
|
108
|
+
prevSourceColPos = mapping.sourceColPos;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
lastRow = meta.rowPos;
|
|
112
|
+
lastCol = meta.colPos;
|
|
113
|
+
}
|
|
114
|
+
const mappings = mappingRows
|
|
115
|
+
.map((row) => row.map((group) => encode(group))
|
|
116
|
+
.join(','))
|
|
117
|
+
.join(';');
|
|
118
|
+
return {
|
|
119
|
+
version: 3,
|
|
120
|
+
file: '',
|
|
121
|
+
sourceRoot: '',
|
|
122
|
+
sources: [],
|
|
123
|
+
sourcesContent: [],
|
|
124
|
+
names: [],
|
|
125
|
+
mappings,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const BASE64_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
130
|
+
function toVLQ(value) {
|
|
131
|
+
const vlq = [];
|
|
132
|
+
const isNegative = value < 0;
|
|
133
|
+
value = Math.abs(value);
|
|
134
|
+
if (value === 0) {
|
|
135
|
+
vlq.push(0);
|
|
136
|
+
return vlq;
|
|
137
|
+
}
|
|
138
|
+
while (value > 0) {
|
|
139
|
+
let digit = value & 0x1F;
|
|
140
|
+
value >>= 5;
|
|
141
|
+
if (value > 0) {
|
|
142
|
+
digit |= 0x20;
|
|
143
|
+
}
|
|
144
|
+
vlq.push(digit);
|
|
145
|
+
if (vlq.length === 1) {
|
|
146
|
+
digit = isNegative ? (digit | 0x1) : (digit & ~0x1);
|
|
147
|
+
vlq[0] = digit;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return vlq;
|
|
151
|
+
}
|
|
152
|
+
function encodeVLQ(input) {
|
|
153
|
+
const numbers = Array.isArray(input) ? input : [input];
|
|
154
|
+
let result = '';
|
|
155
|
+
for (const num of numbers) {
|
|
156
|
+
const vlq = toVLQ(num);
|
|
157
|
+
for (const digit of vlq) {
|
|
158
|
+
result += BASE64_CHARS[digit];
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return result;
|
|
162
|
+
}
|
|
163
|
+
const char_to_integer = {};
|
|
164
|
+
const integer_to_char = {};
|
|
165
|
+
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
|
|
166
|
+
.split('')
|
|
167
|
+
.forEach(function (char, i) {
|
|
168
|
+
char_to_integer[char] = i;
|
|
169
|
+
integer_to_char[i] = char;
|
|
170
|
+
});
|
|
171
|
+
export function decode(string) {
|
|
172
|
+
let result = [];
|
|
173
|
+
let shift = 0;
|
|
174
|
+
let value = 0;
|
|
175
|
+
for (let i = 0; i < string.length; i += 1) {
|
|
176
|
+
let integer = char_to_integer[string[i]];
|
|
177
|
+
if (integer === undefined) {
|
|
178
|
+
throw new Error('Invalid character (' + string[i] + ')');
|
|
179
|
+
}
|
|
180
|
+
const has_continuation_bit = integer & 32;
|
|
181
|
+
integer &= 31;
|
|
182
|
+
value += integer << shift;
|
|
183
|
+
if (has_continuation_bit) {
|
|
184
|
+
shift += 5;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
const should_negate = value & 1;
|
|
188
|
+
value >>>= 1;
|
|
189
|
+
if (should_negate) {
|
|
190
|
+
result.push(value === 0 ? -0x80000000 : -value);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
result.push(value);
|
|
194
|
+
}
|
|
195
|
+
// reset
|
|
196
|
+
value = shift = 0;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return result;
|
|
200
|
+
}
|
|
201
|
+
export function encode(value) {
|
|
202
|
+
if (typeof value === 'number') {
|
|
203
|
+
return encode_integer(value);
|
|
204
|
+
}
|
|
205
|
+
let result = '';
|
|
206
|
+
for (let i = 0; i < value.length; i += 1) {
|
|
207
|
+
result += encode_integer(value[i]);
|
|
208
|
+
}
|
|
209
|
+
return result;
|
|
210
|
+
}
|
|
211
|
+
function encode_integer(num) {
|
|
212
|
+
let result = '';
|
|
213
|
+
if (num < 0) {
|
|
214
|
+
num = (-num << 1) | 1;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
num <<= 1;
|
|
218
|
+
}
|
|
219
|
+
do {
|
|
220
|
+
let clamped = num & 31;
|
|
221
|
+
num >>>= 5;
|
|
222
|
+
if (num > 0) {
|
|
223
|
+
clamped |= 32;
|
|
224
|
+
}
|
|
225
|
+
result += integer_to_char[clamped];
|
|
226
|
+
} while (num > 0);
|
|
227
|
+
return result;
|
|
228
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Fragment, Node as ProseMirrorNode, Schema } from 'prosemirror-model';
|
|
2
|
-
import type {
|
|
2
|
+
import type { JSONContent } from '../types.js';
|
|
3
3
|
export type CreateNodeFromContentOptions = {
|
|
4
4
|
errorOnInvalidContent?: boolean;
|
|
5
5
|
};
|
|
6
|
-
export declare function createNodeFromObject(content:
|
|
7
|
-
export declare function
|
|
6
|
+
export declare function createNodeFromObject(content: JSONContent | ProseMirrorNode | Fragment, schema: Schema, options?: CreateNodeFromContentOptions): ProseMirrorNode;
|
|
7
|
+
export declare function createNodeFromArray(content: JSONContent[], schema: Schema): Fragment;
|
|
8
|
+
export declare function createNodeFromContent(content: JSONContent | ProseMirrorNode | Fragment, schema: Schema, options?: CreateNodeFromContentOptions): ProseMirrorNode | Fragment;
|
|
8
9
|
//# sourceMappingURL=createNodeFromContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNodeFromContent.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/createNodeFromContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"createNodeFromContent.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/createNodeFromContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,MAAM,4BAA4B,GAAG;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,GAAG,eAAe,GAAG,QAAQ,EACjD,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,eAAe,CA0BjB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EAAE,EACtB,MAAM,EAAE,MAAM,GACb,QAAQ,CAIV;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,GAAG,eAAe,GAAG,QAAQ,EACjD,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,eAAe,GAAG,QAAQ,CAY5B"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { Fragment, Node as ProseMirrorNode } from 'prosemirror-model';
|
|
2
2
|
export function createNodeFromObject(content, schema, options) {
|
|
3
3
|
try {
|
|
4
|
-
// if the JSON Content is an array of nodes, create a fragment for each node
|
|
5
|
-
if (Array.isArray(content) && content.length > 0) {
|
|
6
|
-
return Fragment.fromArray(content.map((item) => schema.nodeFromJSON(item)));
|
|
7
|
-
}
|
|
8
4
|
const node = schema.nodeFromJSON(content);
|
|
9
5
|
if (options?.errorOnInvalidContent) {
|
|
10
6
|
node.check();
|
|
@@ -21,13 +17,16 @@ export function createNodeFromObject(content, schema, options) {
|
|
|
21
17
|
return schema.topNodeType.createAndFill(null, []);
|
|
22
18
|
}
|
|
23
19
|
}
|
|
20
|
+
export function createNodeFromArray(content, schema) {
|
|
21
|
+
return Fragment.fromArray(content.map((item) => schema.nodeFromJSON(item)));
|
|
22
|
+
}
|
|
24
23
|
export function createNodeFromContent(content, schema, options) {
|
|
25
24
|
if (content instanceof ProseMirrorNode || content instanceof Fragment) {
|
|
26
25
|
return content;
|
|
27
26
|
}
|
|
28
27
|
const isJSONContent = typeof content === 'object' && content !== null;
|
|
29
28
|
if (isJSONContent) {
|
|
30
|
-
createNodeFromObject(content, schema, options);
|
|
29
|
+
return createNodeFromObject(content, schema, options);
|
|
31
30
|
}
|
|
32
31
|
return schema.topNodeType.createAndFill(null, []);
|
|
33
32
|
}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { MarkSpec, Node as ProseMirrorNode, NodeSpec } from 'prosemirror-model';
|
|
2
|
+
import type { Mark } from '../Mark.js';
|
|
3
|
+
import type { Node } from '../Node.js';
|
|
4
|
+
type MarkOfNode = Mark | Node;
|
|
5
|
+
export declare function getHtmlAttributes(extension: MarkOfNode, node: ProseMirrorNode): Record<string, any>;
|
|
6
|
+
export declare function setHtmlAttributes(extension: MarkOfNode, element: HTMLElement): Record<string, any>;
|
|
7
|
+
export declare function addAttributesToSchema(spec: MarkSpec | NodeSpec, extension: MarkOfNode): void;
|
|
8
|
+
export {};
|
|
4
9
|
//# sourceMappingURL=getHtmlAttributes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHtmlAttributes.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/getHtmlAttributes.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"getHtmlAttributes.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/getHtmlAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,IAAI,IAAI,eAAe,EACvB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9B,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,eAAe,uBAmBtB;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,uBAc5E;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EACzB,SAAS,EAAE,UAAU,QAetB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getShadowRoot.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/getShadowRoot.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAiBvE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function getShadowRoot(element) {
|
|
2
|
+
let current = element;
|
|
3
|
+
while (current) {
|
|
4
|
+
if (current.toString() === '[object ShadowRoot]') {
|
|
5
|
+
return current;
|
|
6
|
+
}
|
|
7
|
+
if (current instanceof ShadowRoot) {
|
|
8
|
+
if (current.host) {
|
|
9
|
+
return current.host.shadowRoot || undefined;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
current = current.parentElement ||
|
|
13
|
+
((current instanceof ShadowRoot) ? current.host : undefined);
|
|
14
|
+
}
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/mod.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/mod.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toRawTextResult.d.ts","sourceRoot":"","sources":["../../../../src/editor/src/utilities/toRawTextResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7D,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,aAAa,CAwB3E"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function toRawTextResult(content, nodeIdx = 0) {
|
|
2
|
+
const lines = content.split('\n');
|
|
3
|
+
const rawTextMap = [];
|
|
4
|
+
let targetPos = 0;
|
|
5
|
+
let targetRow = 0;
|
|
6
|
+
for (const line of lines) {
|
|
7
|
+
rawTextMap.push({
|
|
8
|
+
nodeIdx,
|
|
9
|
+
targetRow,
|
|
10
|
+
targetCol: 0,
|
|
11
|
+
targetPos,
|
|
12
|
+
});
|
|
13
|
+
targetRow++;
|
|
14
|
+
targetPos += line.length + 1;
|
|
15
|
+
nodeIdx += line.length + 1;
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
content,
|
|
19
|
+
rawTextMap,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Extension } from '../../editor/src/mod.js';
|
|
2
|
-
import { type
|
|
2
|
+
import { type CommandShortcuts } from '../../editor/src/commands/mod.js';
|
|
3
3
|
export declare class ExtensionBaseKeymap extends Extension {
|
|
4
4
|
name: string;
|
|
5
|
-
getCommands(): Partial<Commands>;
|
|
6
5
|
getKeyboardShortcuts(): Partial<CommandShortcuts>;
|
|
7
6
|
}
|
|
8
7
|
//# sourceMappingURL=ExtensionBaseKeymap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionBaseKeymap.d.ts","sourceRoot":"","sources":["../../../src/extension-basic-editor/src/ExtensionBaseKeymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExtensionBaseKeymap.d.ts","sourceRoot":"","sources":["../../../src/extension-basic-editor/src/ExtensionBaseKeymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AA4CzE,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,IAAI,SAAiB;IAEZ,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAe3D"}
|
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
import { Extension } from '../../editor/src/mod.js';
|
|
2
|
-
|
|
2
|
+
/// A basic keymap containing bindings not specific to any schema.
|
|
3
|
+
/// Binds the following keys (when multiple commands are listed, they
|
|
4
|
+
/// are chained with [`chainCommands`](#commands.chainCommands)):
|
|
5
|
+
///
|
|
6
|
+
/// * **Enter** to `newlineInCode`, `createParagraphNear`, `liftEmptyBlock`, `splitBlock`
|
|
7
|
+
/// * **Mod-Enter** to `exitCode`
|
|
8
|
+
/// * **Backspace** and **Mod-Backspace** to `deleteSelection`, `joinBackward`, `selectNodeBackward`
|
|
9
|
+
/// * **Delete** and **Mod-Delete** to `deleteSelection`, `joinForward`, `selectNodeForward`
|
|
10
|
+
/// * **Mod-Delete** to `deleteSelection`, `joinForward`, `selectNodeForward`
|
|
11
|
+
/// * **Mod-a** to `selectAll`
|
|
12
|
+
const pcBaseKeymap = {
|
|
13
|
+
'Mod-Enter': 'exitCode',
|
|
14
|
+
'Backspace': 'backspace',
|
|
15
|
+
'Mod-Backspace': 'backspace',
|
|
16
|
+
'Shift-Backspace': 'backspace',
|
|
17
|
+
'Delete': 'del',
|
|
18
|
+
'Mod-Delete': 'del',
|
|
19
|
+
'Mod-a': 'selectAll',
|
|
20
|
+
};
|
|
21
|
+
/// A copy of `pcBaseKeymap` that also binds **Ctrl-h** like Backspace,
|
|
22
|
+
/// **Ctrl-d** like Delete, **Alt-Backspace** like Ctrl-Backspace, and
|
|
23
|
+
/// **Ctrl-Alt-Backspace**, **Alt-Delete**, and **Alt-d** like
|
|
24
|
+
/// Ctrl-Delete.
|
|
25
|
+
const macBaseKeymap = {
|
|
26
|
+
...pcBaseKeymap,
|
|
27
|
+
'Ctrl-h': pcBaseKeymap['Backspace'],
|
|
28
|
+
'Alt-Backspace': pcBaseKeymap['Mod-Backspace'],
|
|
29
|
+
'Ctrl-d': pcBaseKeymap['Delete'],
|
|
30
|
+
'Ctrl-Alt-Backspace': pcBaseKeymap['Mod-Delete'],
|
|
31
|
+
'Alt-Delete': pcBaseKeymap['Mod-Delete'],
|
|
32
|
+
'Alt-d': pcBaseKeymap['Mod-Delete'],
|
|
33
|
+
'Ctrl-a': 'selectTextblockStart',
|
|
34
|
+
'Ctrl-e': 'selectTextblockEnd',
|
|
35
|
+
};
|
|
36
|
+
const mac = /(Mac|iPhone|iPod|iPad)/i.test(navigator?.platform);
|
|
37
|
+
const baseKeymap = mac
|
|
38
|
+
? macBaseKeymap
|
|
39
|
+
: pcBaseKeymap;
|
|
3
40
|
export class ExtensionBaseKeymap extends Extension {
|
|
4
41
|
constructor() {
|
|
5
42
|
super(...arguments);
|
|
@@ -10,27 +47,16 @@ export class ExtensionBaseKeymap extends Extension {
|
|
|
10
47
|
value: 'base-keymap'
|
|
11
48
|
});
|
|
12
49
|
}
|
|
13
|
-
getCommands() {
|
|
14
|
-
const commands = {
|
|
15
|
-
joinUp: () => (state, dispatch) => joinUp(state, dispatch),
|
|
16
|
-
joinDown: () => (state, dispatch) => joinDown(state, dispatch),
|
|
17
|
-
lift: () => (state, dispatch) => lift(state, dispatch),
|
|
18
|
-
selectParentNode: () => (state, dispatch) => selectParentNode(state, dispatch),
|
|
19
|
-
};
|
|
20
|
-
for (const key in baseKeymap) {
|
|
21
|
-
commands[this.name + '_' + key] = () => baseKeymap[key];
|
|
22
|
-
}
|
|
23
|
-
return commands;
|
|
24
|
-
}
|
|
25
50
|
getKeyboardShortcuts() {
|
|
26
51
|
const shortcuts = {
|
|
52
|
+
'Enter': 'enter',
|
|
27
53
|
'Alt-ArrowUp': 'joinUp',
|
|
28
54
|
'Alt-ArrowDown': 'joinDown',
|
|
29
55
|
'Mod-BracketLeft': 'lift',
|
|
30
56
|
'Escape': 'selectParentNode',
|
|
31
57
|
};
|
|
32
58
|
for (const key in baseKeymap) {
|
|
33
|
-
shortcuts[key] =
|
|
59
|
+
shortcuts[key] = baseKeymap[key];
|
|
34
60
|
}
|
|
35
61
|
return shortcuts;
|
|
36
62
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Node } from 'prosemirror-model';
|
|
2
|
+
import { AnyExtensionOrReq, Extension, RawTextResult } from '../../editor/src/mod.js';
|
|
3
|
+
export declare class ExtensionBasicCodeEditor extends Extension {
|
|
4
|
+
name: string;
|
|
5
|
+
requires: AnyExtensionOrReq[];
|
|
6
|
+
constructor({ lang }: {
|
|
7
|
+
lang: string;
|
|
8
|
+
});
|
|
9
|
+
toRawText(doc: Node): RawTextResult;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ExtensionBasicCodeEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtensionBasicCodeEditor.d.ts","sourceRoot":"","sources":["../../../src/extension-basic-editor/src/ExtensionBasicCodeEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EACL,iBAAiB,EACjB,SAAS,EAET,aAAa,EACd,MAAM,yBAAyB,CAAC;AAWjC,qBAAa,wBAAyB,SAAQ,SAAS;IACrD,IAAI,SAAuB;IAC3B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;gBAElB,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAetC,SAAS,CAAC,GAAG,EAAE,IAAI,GAAG,aAAa;CA4CpC"}
|