@kerebron/extension-basic-editor 0.4.27 → 0.4.29
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/esm/ExtensionBaseKeymap.d.ts +7 -0
- package/esm/ExtensionBaseKeymap.d.ts.map +1 -0
- package/esm/ExtensionBaseKeymap.js +56 -0
- package/esm/ExtensionBaseKeymap.js.map +1 -0
- package/esm/ExtensionBasicCodeEditor.d.ts +11 -0
- package/esm/ExtensionBasicCodeEditor.d.ts.map +1 -0
- package/esm/ExtensionBasicCodeEditor.js +62 -0
- package/esm/ExtensionBasicCodeEditor.js.map +1 -0
- package/esm/ExtensionBasicEditor.d.ts +49 -0
- package/esm/ExtensionBasicEditor.d.ts.map +1 -0
- package/esm/ExtensionBasicEditor.js +95 -0
- package/esm/ExtensionBasicEditor.js.map +1 -0
- package/esm/ExtensionDropcursor.d.ts +19 -0
- package/esm/ExtensionDropcursor.d.ts.map +1 -0
- package/esm/ExtensionDropcursor.js +187 -0
- package/esm/ExtensionDropcursor.js.map +1 -0
- package/esm/ExtensionGapcursor.d.ts +32 -0
- package/esm/ExtensionGapcursor.d.ts.map +1 -0
- package/esm/ExtensionGapcursor.js +250 -0
- package/esm/ExtensionGapcursor.js.map +1 -0
- package/esm/ExtensionHistory.d.ts +14 -0
- package/esm/ExtensionHistory.d.ts.map +1 -0
- package/esm/ExtensionHistory.js +35 -0
- package/esm/ExtensionHistory.js.map +1 -0
- package/esm/ExtensionHtml.d.ts +15 -0
- package/esm/ExtensionHtml.d.ts.map +1 -0
- package/esm/ExtensionHtml.js +100 -0
- package/esm/ExtensionHtml.js.map +1 -0
- package/esm/ExtensionMediaUpload.d.ts +24 -0
- package/esm/ExtensionMediaUpload.d.ts.map +1 -0
- package/esm/ExtensionMediaUpload.js +168 -0
- package/esm/ExtensionMediaUpload.js.map +1 -0
- package/esm/ExtensionSelection.d.ts +11 -0
- package/esm/ExtensionSelection.d.ts.map +1 -0
- package/esm/ExtensionSelection.js +230 -0
- package/esm/ExtensionSelection.js.map +1 -0
- package/esm/ExtensionTextAlign.d.ts +11 -0
- package/esm/ExtensionTextAlign.d.ts.map +1 -0
- package/esm/ExtensionTextAlign.js +40 -0
- package/esm/ExtensionTextAlign.js.map +1 -0
- package/esm/MarkBookmark.d.ts +8 -0
- package/esm/MarkBookmark.d.ts.map +1 -0
- package/esm/MarkBookmark.js +17 -0
- package/esm/MarkBookmark.js.map +1 -0
- package/esm/MarkChange.d.ts +8 -0
- package/esm/MarkChange.d.ts.map +1 -0
- package/esm/MarkChange.js +14 -0
- package/esm/MarkChange.js.map +1 -0
- package/esm/MarkCode.d.ts +11 -0
- package/esm/MarkCode.d.ts.map +1 -0
- package/esm/MarkCode.js +24 -0
- package/esm/MarkCode.js.map +1 -0
- package/esm/MarkHighlight.d.ts +8 -0
- package/esm/MarkHighlight.d.ts.map +1 -0
- package/esm/MarkHighlight.js +36 -0
- package/esm/MarkHighlight.js.map +1 -0
- package/esm/MarkItalic.d.ts +11 -0
- package/esm/MarkItalic.d.ts.map +1 -0
- package/esm/MarkItalic.js +30 -0
- package/esm/MarkItalic.js.map +1 -0
- package/esm/MarkLink.d.ts +8 -0
- package/esm/MarkLink.d.ts.map +1 -0
- package/esm/MarkLink.js +30 -0
- package/esm/MarkLink.js.map +1 -0
- package/esm/MarkStrike.d.ts +11 -0
- package/esm/MarkStrike.d.ts.map +1 -0
- package/esm/MarkStrike.js +27 -0
- package/esm/MarkStrike.js.map +1 -0
- package/esm/MarkStrong.d.ts +11 -0
- package/esm/MarkStrong.d.ts.map +1 -0
- package/esm/MarkStrong.js +39 -0
- package/esm/MarkStrong.js.map +1 -0
- package/esm/MarkSubscript.d.ts +11 -0
- package/esm/MarkSubscript.d.ts.map +1 -0
- package/esm/MarkSubscript.js +31 -0
- package/esm/MarkSubscript.js.map +1 -0
- package/esm/MarkSuperscript.d.ts +11 -0
- package/esm/MarkSuperscript.d.ts.map +1 -0
- package/esm/MarkSuperscript.js +31 -0
- package/esm/MarkSuperscript.js.map +1 -0
- package/esm/MarkTextColor.d.ts +8 -0
- package/esm/MarkTextColor.d.ts.map +1 -0
- package/esm/MarkTextColor.js +28 -0
- package/esm/MarkTextColor.js.map +1 -0
- package/esm/MarkUnderline.d.ts +11 -0
- package/esm/MarkUnderline.d.ts.map +1 -0
- package/esm/MarkUnderline.js +34 -0
- package/esm/MarkUnderline.js.map +1 -0
- package/esm/NodeAside.d.ts +8 -0
- package/esm/NodeAside.d.ts.map +1 -0
- package/esm/NodeAside.js +17 -0
- package/esm/NodeAside.js.map +1 -0
- package/esm/NodeBlockquote.d.ts +13 -0
- package/esm/NodeBlockquote.d.ts.map +1 -0
- package/esm/NodeBlockquote.js +35 -0
- package/esm/NodeBlockquote.js.map +1 -0
- package/esm/NodeBookmark.d.ts +8 -0
- package/esm/NodeBookmark.d.ts.map +1 -0
- package/esm/NodeBookmark.js +20 -0
- package/esm/NodeBookmark.js.map +1 -0
- package/esm/NodeBulletList.d.ts +13 -0
- package/esm/NodeBulletList.d.ts.map +1 -0
- package/esm/NodeBulletList.js +35 -0
- package/esm/NodeBulletList.js.map +1 -0
- package/esm/NodeCodeBlock.d.ts +9 -0
- package/esm/NodeCodeBlock.d.ts.map +1 -0
- package/esm/NodeCodeBlock.js +51 -0
- package/esm/NodeCodeBlock.js.map +1 -0
- package/esm/NodeDefinitionDesc.d.ts +8 -0
- package/esm/NodeDefinitionDesc.d.ts.map +1 -0
- package/esm/NodeDefinitionDesc.js +17 -0
- package/esm/NodeDefinitionDesc.js.map +1 -0
- package/esm/NodeDefinitionList.d.ts +13 -0
- package/esm/NodeDefinitionList.d.ts.map +1 -0
- package/esm/NodeDefinitionList.js +29 -0
- package/esm/NodeDefinitionList.js.map +1 -0
- package/esm/NodeDefinitionTerm.d.ts +8 -0
- package/esm/NodeDefinitionTerm.d.ts.map +1 -0
- package/esm/NodeDefinitionTerm.js +17 -0
- package/esm/NodeDefinitionTerm.js.map +1 -0
- package/esm/NodeDocument.d.ts +7 -0
- package/esm/NodeDocument.d.ts.map +1 -0
- package/esm/NodeDocument.js +20 -0
- package/esm/NodeDocument.js.map +1 -0
- package/esm/NodeDocumentCode.d.ts +7 -0
- package/esm/NodeDocumentCode.d.ts.map +1 -0
- package/esm/NodeDocumentCode.js +30 -0
- package/esm/NodeDocumentCode.js.map +1 -0
- package/esm/NodeFrontmatter.d.ts +8 -0
- package/esm/NodeFrontmatter.d.ts.map +1 -0
- package/esm/NodeFrontmatter.js +17 -0
- package/esm/NodeFrontmatter.js.map +1 -0
- package/esm/NodeHardBreak.d.ts +14 -0
- package/esm/NodeHardBreak.d.ts.map +1 -0
- package/esm/NodeHardBreak.js +68 -0
- package/esm/NodeHardBreak.js.map +1 -0
- package/esm/NodeHeading.d.ts +13 -0
- package/esm/NodeHeading.d.ts.map +1 -0
- package/esm/NodeHeading.js +50 -0
- package/esm/NodeHeading.js.map +1 -0
- package/esm/NodeHorizontalRule.d.ts +11 -0
- package/esm/NodeHorizontalRule.d.ts.map +1 -0
- package/esm/NodeHorizontalRule.js +30 -0
- package/esm/NodeHorizontalRule.js.map +1 -0
- package/esm/NodeImage.d.ts +8 -0
- package/esm/NodeImage.d.ts.map +1 -0
- package/esm/NodeImage.js +34 -0
- package/esm/NodeImage.js.map +1 -0
- package/esm/NodeInlineShortCode.d.ts +11 -0
- package/esm/NodeInlineShortCode.d.ts.map +1 -0
- package/esm/NodeInlineShortCode.js +40 -0
- package/esm/NodeInlineShortCode.js.map +1 -0
- package/esm/NodeListItem.d.ts +14 -0
- package/esm/NodeListItem.d.ts.map +1 -0
- package/esm/NodeListItem.js +202 -0
- package/esm/NodeListItem.js.map +1 -0
- package/esm/NodeMath.d.ts +8 -0
- package/esm/NodeMath.d.ts.map +1 -0
- package/esm/NodeMath.js +100 -0
- package/esm/NodeMath.js.map +1 -0
- package/esm/NodeOrderedList.d.ts +23 -0
- package/esm/NodeOrderedList.d.ts.map +1 -0
- package/esm/NodeOrderedList.js +53 -0
- package/esm/NodeOrderedList.js.map +1 -0
- package/esm/NodeParagraph.d.ts +11 -0
- package/esm/NodeParagraph.d.ts.map +1 -0
- package/esm/NodeParagraph.js +45 -0
- package/esm/NodeParagraph.js.map +1 -0
- package/esm/NodeTaskItem.d.ts +24 -0
- package/esm/NodeTaskItem.d.ts.map +1 -0
- package/esm/NodeTaskItem.js +147 -0
- package/esm/NodeTaskItem.js.map +1 -0
- package/esm/NodeTaskList.d.ts +11 -0
- package/esm/NodeTaskList.d.ts.map +1 -0
- package/esm/NodeTaskList.js +26 -0
- package/esm/NodeTaskList.js.map +1 -0
- package/esm/NodeText.d.ts +7 -0
- package/esm/NodeText.d.ts.map +1 -0
- package/esm/NodeText.js +10 -0
- package/esm/NodeText.js.map +1 -0
- package/esm/NodeVideo.d.ts +8 -0
- package/esm/NodeVideo.d.ts.map +1 -0
- package/esm/NodeVideo.js +46 -0
- package/esm/NodeVideo.js.map +1 -0
- package/esm/package.json +3 -0
- package/esm/remote-selection/ExtensionRemoteSelection.d.ts +24 -0
- package/esm/remote-selection/ExtensionRemoteSelection.d.ts.map +1 -0
- package/esm/remote-selection/ExtensionRemoteSelection.js +23 -0
- package/esm/remote-selection/ExtensionRemoteSelection.js.map +1 -0
- package/esm/remote-selection/remoteSelectionPlugin.d.ts +25 -0
- package/esm/remote-selection/remoteSelectionPlugin.d.ts.map +1 -0
- package/esm/remote-selection/remoteSelectionPlugin.js +97 -0
- package/esm/remote-selection/remoteSelectionPlugin.js.map +1 -0
- package/package.json +6 -3
- package/src/ExtensionBaseKeymap.ts +64 -0
- package/src/ExtensionBasicCodeEditor.ts +82 -0
- package/src/ExtensionBasicEditor.ts +97 -0
- package/src/ExtensionDropcursor.ts +221 -0
- package/src/ExtensionGapcursor.ts +278 -0
- package/src/ExtensionHistory.ts +48 -0
- package/src/ExtensionHtml.ts +158 -0
- package/src/ExtensionMediaUpload.ts +258 -0
- package/src/ExtensionSelection.ts +379 -0
- package/src/ExtensionTextAlign.ts +50 -0
- package/src/MarkBookmark.ts +20 -0
- package/src/MarkChange.ts +17 -0
- package/src/MarkCode.ts +35 -0
- package/src/MarkHighlight.ts +38 -0
- package/src/MarkItalic.ts +41 -0
- package/src/MarkLink.ts +32 -0
- package/src/MarkStrike.ts +38 -0
- package/src/MarkStrong.ts +52 -0
- package/src/MarkSubscript.ts +42 -0
- package/src/MarkSuperscript.ts +42 -0
- package/src/MarkTextColor.ts +29 -0
- package/src/MarkUnderline.ts +47 -0
- package/src/NodeAside.ts +19 -0
- package/src/NodeBlockquote.ts +51 -0
- package/src/NodeBookmark.ts +23 -0
- package/src/NodeBulletList.ts +51 -0
- package/src/NodeCodeBlock.ts +60 -0
- package/src/NodeDefinitionDesc.ts +19 -0
- package/src/NodeDefinitionList.ts +46 -0
- package/src/NodeDefinitionTerm.ts +19 -0
- package/src/NodeDocument.ts +22 -0
- package/src/NodeDocumentCode.ts +33 -0
- package/src/NodeFrontmatter.ts +19 -0
- package/src/NodeHardBreak.ts +92 -0
- package/src/NodeHeading.ts +76 -0
- package/src/NodeHorizontalRule.ts +43 -0
- package/src/NodeImage.ts +36 -0
- package/src/NodeInlineShortCode.ts +55 -0
- package/src/NodeListItem.ts +320 -0
- package/src/NodeMath.ts +109 -0
- package/src/NodeOrderedList.ts +79 -0
- package/src/NodeParagraph.ts +60 -0
- package/src/NodeTaskItem.ts +190 -0
- package/src/NodeTaskList.ts +38 -0
- package/src/NodeText.ts +12 -0
- package/src/NodeVideo.ts +44 -0
- package/src/remote-selection/ExtensionRemoteSelection.ts +45 -0
- package/src/remote-selection/remoteSelectionPlugin.ts +157 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Node } from '@kerebron/editor';
|
|
2
|
+
export class NodeDefinitionList extends Node {
|
|
3
|
+
name = 'dl';
|
|
4
|
+
requires = ['doc'];
|
|
5
|
+
getNodeSpec() {
|
|
6
|
+
return {
|
|
7
|
+
content: 'dt+|dd+',
|
|
8
|
+
group: 'block',
|
|
9
|
+
parseDOM: [{ tag: 'dl' }],
|
|
10
|
+
toDOM() {
|
|
11
|
+
return ['dl', 0];
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
getInputRules(type) {
|
|
16
|
+
return [
|
|
17
|
+
// wrappingInputRule(/^\s*([-+*])\s$/, type),
|
|
18
|
+
];
|
|
19
|
+
}
|
|
20
|
+
getCommandFactories(editor, type) {
|
|
21
|
+
return {
|
|
22
|
+
'toggleDefinitionList': () => editor.commandFactories.wrapInList(type),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
getKeyboardShortcuts() {
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=NodeDefinitionList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeDefinitionList.js","sourceRoot":"","sources":["../src/NodeDefinitionList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAUzD,MAAM,OAAO,kBAAmB,SAAQ,IAAI;IACjC,IAAI,GAAG,IAAI,CAAC;IACrB,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;IAEV,WAAW;QAClB,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;YACzB,KAAK;gBACH,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC;SACF,CAAC;IACJ,CAAC;IAEQ,aAAa,CAAC,IAAc;QACnC,OAAO;QACL,6CAA6C;SAC9C,CAAC;IACJ,CAAC;IAEQ,mBAAmB,CAC1B,MAAkB,EAClB,IAAc;QAEd,OAAO;YACL,sBAAsB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC;SACvE,CAAC;IACJ,CAAC;IAEQ,oBAAoB;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeDefinitionTerm.d.ts","sourceRoot":"","sources":["../src/NodeDefinitionTerm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,qBAAa,kBAAmB,SAAQ,IAAI;IACjC,IAAI,SAAQ;IACrB,QAAQ,WAAU;IAET,WAAW,IAAI,QAAQ;CAWjC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Node } from '@kerebron/editor';
|
|
2
|
+
export class NodeDefinitionTerm extends Node {
|
|
3
|
+
name = 'dt';
|
|
4
|
+
requires = ['dl'];
|
|
5
|
+
getNodeSpec() {
|
|
6
|
+
return {
|
|
7
|
+
content: 'inline*',
|
|
8
|
+
group: 'block',
|
|
9
|
+
parseDOM: [{ tag: 'dt' }],
|
|
10
|
+
defining: true,
|
|
11
|
+
toDOM() {
|
|
12
|
+
return ['dt', 0];
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=NodeDefinitionTerm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeDefinitionTerm.js","sourceRoot":"","sources":["../src/NodeDefinitionTerm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,OAAO,kBAAmB,SAAQ,IAAI;IACjC,IAAI,GAAG,IAAI,CAAC;IACrB,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC;IAET,WAAW;QAClB,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;YACzB,QAAQ,EAAE,IAAI;YACd,KAAK;gBACH,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeDocument.d.ts","sourceRoot":"","sources":["../src/NodeDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,qBAAa,YAAa,SAAQ,IAAI;IAC3B,IAAI,SAAS;IAEb,WAAW,IAAI,QAAQ;CAejC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Node } from '@kerebron/editor';
|
|
2
|
+
export class NodeDocument extends Node {
|
|
3
|
+
name = 'doc';
|
|
4
|
+
getNodeSpec() {
|
|
5
|
+
return {
|
|
6
|
+
content: 'block+',
|
|
7
|
+
marks: 'code em strong link bookmark', // TODO: why is it necessary for convertCodeParagraphsToCodeBlocks?
|
|
8
|
+
EMPTY_DOC: {
|
|
9
|
+
'type': this.name,
|
|
10
|
+
'content': [
|
|
11
|
+
{
|
|
12
|
+
'type': 'paragraph',
|
|
13
|
+
'content': [],
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=NodeDocument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeDocument.js","sourceRoot":"","sources":["../src/NodeDocument.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,OAAO,YAAa,SAAQ,IAAI;IAC3B,IAAI,GAAG,KAAK,CAAC;IAEb,WAAW;QAClB,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,8BAA8B,EAAE,mEAAmE;YAC1G,SAAS,EAAE;gBACT,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,WAAW;wBACnB,SAAS,EAAE,EAAE;qBACd;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeDocumentCode.d.ts","sourceRoot":"","sources":["../src/NodeDocumentCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,qBAAa,gBAAiB,SAAQ,IAAI;IAC/B,IAAI,SAAc;IAElB,WAAW,IAAI,QAAQ;CAyBjC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Node } from '@kerebron/editor';
|
|
2
|
+
export class NodeDocumentCode extends Node {
|
|
3
|
+
name = 'doc_code';
|
|
4
|
+
getNodeSpec() {
|
|
5
|
+
return {
|
|
6
|
+
content: 'code_block',
|
|
7
|
+
defaultAttrs: {
|
|
8
|
+
'lang': this.config.lang || null,
|
|
9
|
+
},
|
|
10
|
+
EMPTY_DOC: {
|
|
11
|
+
'type': this.name,
|
|
12
|
+
'content': [
|
|
13
|
+
{
|
|
14
|
+
'type': 'code_block',
|
|
15
|
+
'attrs': {
|
|
16
|
+
'lang': this.config.lang || null,
|
|
17
|
+
},
|
|
18
|
+
'content': [
|
|
19
|
+
// {
|
|
20
|
+
// "type": "text",
|
|
21
|
+
// "text": ""
|
|
22
|
+
// }
|
|
23
|
+
],
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=NodeDocumentCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeDocumentCode.js","sourceRoot":"","sources":["../src/NodeDocumentCode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IAC/B,IAAI,GAAG,UAAU,CAAC;IAElB,WAAW;QAClB,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,YAAY,EAAE;gBACZ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI;aACjC;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,YAAY;wBACpB,OAAO,EAAE;4BACP,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI;yBACjC;wBACD,SAAS,EAAE;wBACT,IAAI;wBACJ,oBAAoB;wBACpB,aAAa;wBACb,IAAI;yBACL;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeFrontmatter.d.ts","sourceRoot":"","sources":["../src/NodeFrontmatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,qBAAa,eAAgB,SAAQ,IAAI;IAC9B,IAAI,SAAiB;IAC9B,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;CAWjC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Node } from '@kerebron/editor';
|
|
2
|
+
export class NodeFrontmatter extends Node {
|
|
3
|
+
name = 'frontmatter';
|
|
4
|
+
requires = ['doc'];
|
|
5
|
+
getNodeSpec() {
|
|
6
|
+
return {
|
|
7
|
+
content: 'inline*',
|
|
8
|
+
group: 'block',
|
|
9
|
+
defining: true,
|
|
10
|
+
parseDOM: [{ tag: 'pre' }],
|
|
11
|
+
toDOM() {
|
|
12
|
+
return ['pre', 0];
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=NodeFrontmatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeFrontmatter.js","sourceRoot":"","sources":["../src/NodeFrontmatter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,OAAO,eAAgB,SAAQ,IAAI;IAC9B,IAAI,GAAG,aAAa,CAAC;IAC9B,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;IAEV,WAAW;QAClB,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YAC1B,KAAK;gBACH,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACpB,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { NodeSpec, NodeType } from 'prosemirror-model';
|
|
2
|
+
import { type CoreEditor, Node } from '@kerebron/editor';
|
|
3
|
+
import { type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
|
|
4
|
+
export declare class NodeHardBreak extends Node {
|
|
5
|
+
name: string;
|
|
6
|
+
requires: string[];
|
|
7
|
+
options: {
|
|
8
|
+
keepMarks: boolean;
|
|
9
|
+
};
|
|
10
|
+
getNodeSpec(): NodeSpec;
|
|
11
|
+
getCommandFactories(editor: CoreEditor, type: NodeType): Partial<CommandFactories>;
|
|
12
|
+
getKeyboardShortcuts(): Partial<CommandShortcuts>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=NodeHardBreak.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHardBreak.d.ts","sourceRoot":"","sources":["../src/NodeHardBreak.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAGnC,qBAAa,aAAc,SAAQ,IAAI;IAC5B,IAAI,SAAQ;IACrB,QAAQ,WAAW;IAEnB,OAAO;;MAEL;IAEO,WAAW,IAAI,QAAQ;IAavB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IA2CnB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAgB3D"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Node } from '@kerebron/editor';
|
|
2
|
+
import { firstCommand } from '@kerebron/editor/commands';
|
|
3
|
+
export class NodeHardBreak extends Node {
|
|
4
|
+
name = 'br';
|
|
5
|
+
requires = ['doc'];
|
|
6
|
+
options = {
|
|
7
|
+
keepMarks: true,
|
|
8
|
+
};
|
|
9
|
+
getNodeSpec() {
|
|
10
|
+
return {
|
|
11
|
+
inline: true,
|
|
12
|
+
group: 'inline',
|
|
13
|
+
selectable: false,
|
|
14
|
+
linebreakReplacement: true,
|
|
15
|
+
parseDOM: [{ tag: 'br' }],
|
|
16
|
+
toDOM() {
|
|
17
|
+
return ['br'];
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
getCommandFactories(editor, type) {
|
|
22
|
+
// TODO: refactor commands
|
|
23
|
+
// const comm2: Command = (state: EditorState, dispatch?: (tr: Transaction) => void) => {
|
|
24
|
+
// const { selection, storedMarks } = state
|
|
25
|
+
// if (selection.$from.parent.type.spec.isolating) {
|
|
26
|
+
// return false
|
|
27
|
+
// }
|
|
28
|
+
// const { keepMarks } = this.options
|
|
29
|
+
// // const { splittableMarks } = editor.extensionManager
|
|
30
|
+
// const splittableMarks = [];
|
|
31
|
+
// const marks = storedMarks
|
|
32
|
+
// || (selection.$to.parentOffset && selection.$from.marks())
|
|
33
|
+
// return editor.chain()
|
|
34
|
+
// .insertContent({ type: this.name })
|
|
35
|
+
// .command(({ tr, dispatch }) => {
|
|
36
|
+
// if (dispatch && marks && keepMarks) {
|
|
37
|
+
// for (const mark of marks) {
|
|
38
|
+
// console.log('mteset', mark.type);
|
|
39
|
+
// }
|
|
40
|
+
// const filteredMarks = marks
|
|
41
|
+
// .filter(mark => splittableMarks.includes(mark.type.name))
|
|
42
|
+
// tr.ensureMarks(filteredMarks)
|
|
43
|
+
// }
|
|
44
|
+
// return true
|
|
45
|
+
// })
|
|
46
|
+
// .run();
|
|
47
|
+
// }
|
|
48
|
+
const setHardBreak = firstCommand(editor.run.exitCode);
|
|
49
|
+
return {
|
|
50
|
+
'setHardBreak': () => setHardBreak,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
getKeyboardShortcuts() {
|
|
54
|
+
// https://stackoverflow.com/a/73619128
|
|
55
|
+
const mac = typeof navigator != 'undefined'
|
|
56
|
+
? /Mac|iP(hone|[oa]d)/.test(navigator?.platform)
|
|
57
|
+
: false;
|
|
58
|
+
const shortcuts = {
|
|
59
|
+
'Ctrl-Enter': 'setHardBreak',
|
|
60
|
+
};
|
|
61
|
+
if (mac) {
|
|
62
|
+
shortcuts['Mod-Enter'] = 'setHardBreak';
|
|
63
|
+
shortcuts['Shift-Enter'] = 'setHardBreak';
|
|
64
|
+
}
|
|
65
|
+
return shortcuts;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=NodeHardBreak.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHardBreak.js","sourceRoot":"","sources":["../src/NodeHardBreak.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAKzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,OAAO,aAAc,SAAQ,IAAI;IAC5B,IAAI,GAAG,IAAI,CAAC;IACrB,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;IAEnB,OAAO,GAAG;QACR,SAAS,EAAE,IAAI;KAChB,CAAC;IAEO,WAAW;QAClB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,KAAK;YACjB,oBAAoB,EAAE,IAAI;YAC1B,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;YACzB,KAAK;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;SACF,CAAC;IACJ,CAAC;IAEQ,mBAAmB,CAC1B,MAAkB,EAClB,IAAc;QAEd,0BAA0B;QAC1B,yFAAyF;QACzF,6CAA6C;QAE7C,sDAAsD;QACtD,qBAAqB;QACrB,MAAM;QAEN,uCAAuC;QACvC,2DAA2D;QAC3D,gCAAgC;QAChC,8BAA8B;QAC9B,mEAAmE;QAEnE,0BAA0B;QAC1B,0CAA0C;QAC1C,uCAAuC;QACvC,gDAAgD;QAChD,wCAAwC;QACxC,gDAAgD;QAChD,cAAc;QACd,0CAA0C;QAC1C,4EAA4E;QAE5E,4CAA4C;QAC5C,YAAY;QAEZ,sBAAsB;QACtB,SAAS;QACT,cAAc;QACd,IAAI;QAEJ,MAAM,YAAY,GAAG,YAAY,CAC/B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAEpB,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY;SACnC,CAAC;IACJ,CAAC;IAEQ,oBAAoB;QAC3B,uCAAuC;QACvC,MAAM,GAAG,GAAG,OAAO,SAAS,IAAI,WAAW;YACzC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;YAChD,CAAC,CAAC,KAAK,CAAC;QAEV,MAAM,SAAS,GAA8B;YAC3C,YAAY,EAAE,cAAc;SAC7B,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,SAAS,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;YACxC,SAAS,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC;QAC5C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { NodeSpec, NodeType } from 'prosemirror-model';
|
|
2
|
+
import { type CoreEditor, Node } from '@kerebron/editor';
|
|
3
|
+
import { type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
|
|
4
|
+
import { type InputRule } from '@kerebron/editor/plugins/input-rules';
|
|
5
|
+
export declare class NodeHeading extends Node {
|
|
6
|
+
name: string;
|
|
7
|
+
requires: string[];
|
|
8
|
+
getNodeSpec(): NodeSpec;
|
|
9
|
+
getInputRules(type: NodeType): InputRule[];
|
|
10
|
+
getCommandFactories(editor: CoreEditor, type: NodeType): Partial<CommandFactories>;
|
|
11
|
+
getKeyboardShortcuts(): Partial<CommandShortcuts>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=NodeHeading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHeading.d.ts","sourceRoot":"","sources":["../src/NodeHeading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,SAAS,EAEf,MAAM,sCAAsC,CAAC;AAI9C,qBAAa,WAAY,SAAQ,IAAI;IAC1B,IAAI,SAAa;IAC1B,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;IAoBvB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE;IAc1C,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAWnB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAS3D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Node } from '@kerebron/editor';
|
|
2
|
+
import { textblockTypeInputRule, } from '@kerebron/editor/plugins/input-rules';
|
|
3
|
+
const maxLevel = 6;
|
|
4
|
+
export class NodeHeading extends Node {
|
|
5
|
+
name = 'heading';
|
|
6
|
+
requires = ['doc'];
|
|
7
|
+
getNodeSpec() {
|
|
8
|
+
return {
|
|
9
|
+
attrs: { level: { default: 1 } },
|
|
10
|
+
content: 'inline*',
|
|
11
|
+
group: 'block',
|
|
12
|
+
defining: true,
|
|
13
|
+
parseDOM: [
|
|
14
|
+
{ tag: 'h1', attrs: { level: 1 } },
|
|
15
|
+
{ tag: 'h2', attrs: { level: 2 } },
|
|
16
|
+
{ tag: 'h3', attrs: { level: 3 } },
|
|
17
|
+
{ tag: 'h4', attrs: { level: 4 } },
|
|
18
|
+
{ tag: 'h5', attrs: { level: 5 } },
|
|
19
|
+
{ tag: 'h6', attrs: { level: 6 } },
|
|
20
|
+
],
|
|
21
|
+
toDOM(node) {
|
|
22
|
+
return ['h' + node.attrs.level, 0];
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
getInputRules(type) {
|
|
27
|
+
/// Given a node type and a maximum level, creates an input rule that
|
|
28
|
+
/// turns up to that number of `#` characters followed by a space at
|
|
29
|
+
/// the start of a textblock into a heading whose level corresponds to
|
|
30
|
+
/// the number of `#` signs.
|
|
31
|
+
return [
|
|
32
|
+
textblockTypeInputRule(new RegExp('^(#{1,' + maxLevel + '})\\s$'), type, (match) => ({ level: match[1].length })),
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
getCommandFactories(editor, type) {
|
|
36
|
+
const commands = {};
|
|
37
|
+
for (let i = 1; i <= maxLevel; i++) {
|
|
38
|
+
commands['setHeading' + i] = () => editor.commandFactories.setBlockType(type, { level: i });
|
|
39
|
+
}
|
|
40
|
+
return commands;
|
|
41
|
+
}
|
|
42
|
+
getKeyboardShortcuts() {
|
|
43
|
+
const keys = {};
|
|
44
|
+
for (let i = 1; i <= maxLevel; i++) {
|
|
45
|
+
keys['Shift-Ctrl-' + i] = 'setHeading' + i;
|
|
46
|
+
}
|
|
47
|
+
return keys;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=NodeHeading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHeading.js","sourceRoot":"","sources":["../src/NodeHeading.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAKzD,OAAO,EAEL,sBAAsB,GACvB,MAAM,sCAAsC,CAAC;AAE9C,MAAM,QAAQ,GAAG,CAAC,CAAC;AAEnB,MAAM,OAAO,WAAY,SAAQ,IAAI;IAC1B,IAAI,GAAG,SAAS,CAAC;IAC1B,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;IAEV,WAAW;QAClB,OAAO;YACL,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;YAChC,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE;gBACR,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAClC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;aACnC;YACD,KAAK,CAAC,IAAI;gBACR,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrC,CAAC;SACF,CAAC;IACJ,CAAC;IAEQ,aAAa,CAAC,IAAc;QACnC,qEAAqE;QACrE,oEAAoE;QACpE,sEAAsE;QACtE,4BAA4B;QAC5B,OAAO;YACL,sBAAsB,CACpB,IAAI,MAAM,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAC1C,IAAI,EACJ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CACxC;SACF,CAAC;IACJ,CAAC;IAEQ,mBAAmB,CAC1B,MAAkB,EAClB,IAAc;QAEd,MAAM,QAAQ,GAA8B,EAAE,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAChC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEQ,oBAAoB;QAC3B,MAAM,IAAI,GAA8B,EAAE,CAAC;QAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { NodeSpec, NodeType } from 'prosemirror-model';
|
|
2
|
+
import { type CoreEditor, Node } from '@kerebron/editor';
|
|
3
|
+
import type { CommandFactories, CommandShortcuts } from '@kerebron/editor/commands';
|
|
4
|
+
export declare class NodeHorizontalRule extends Node {
|
|
5
|
+
name: string;
|
|
6
|
+
requires: string[];
|
|
7
|
+
getNodeSpec(): NodeSpec;
|
|
8
|
+
getCommandFactories(editor: CoreEditor, type: NodeType): Partial<CommandFactories>;
|
|
9
|
+
getKeyboardShortcuts(): Partial<CommandShortcuts>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=NodeHorizontalRule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHorizontalRule.d.ts","sourceRoot":"","sources":["../src/NodeHorizontalRule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,kBAAmB,SAAQ,IAAI;IACjC,IAAI,SAAQ;IACrB,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;IAUvB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAanB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAK3D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Node } from '@kerebron/editor';
|
|
2
|
+
export class NodeHorizontalRule extends Node {
|
|
3
|
+
name = 'hr';
|
|
4
|
+
requires = ['doc'];
|
|
5
|
+
getNodeSpec() {
|
|
6
|
+
return {
|
|
7
|
+
group: 'block',
|
|
8
|
+
parseDOM: [{ tag: 'hr' }],
|
|
9
|
+
toDOM() {
|
|
10
|
+
return ['hr'];
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
getCommandFactories(editor, type) {
|
|
15
|
+
return {
|
|
16
|
+
'setHorizontalRule': () => (state, dispatch) => {
|
|
17
|
+
if (dispatch) {
|
|
18
|
+
dispatch(state.tr.replaceSelectionWith(type.create()).scrollIntoView());
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
getKeyboardShortcuts() {
|
|
25
|
+
return {
|
|
26
|
+
'Mod-_': 'setHorizontalRule',
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=NodeHorizontalRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeHorizontalRule.js","sourceRoot":"","sources":["../src/NodeHorizontalRule.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAMzD,MAAM,OAAO,kBAAmB,SAAQ,IAAI;IACjC,IAAI,GAAG,IAAI,CAAC;IACrB,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;IAEV,WAAW;QAClB,OAAO;YACL,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;YACzB,KAAK;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;SACF,CAAC;IACJ,CAAC;IAEQ,mBAAmB,CAC1B,MAAkB,EAClB,IAAc;QAEd,OAAO;YACL,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;gBAC7C,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CACN,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc,EAAE,CAC9D,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC;IACJ,CAAC;IAEQ,oBAAoB;QAC3B,OAAO;YACL,OAAO,EAAE,mBAAmB;SAC7B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeImage.d.ts","sourceRoot":"","sources":["../src/NodeImage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,qBAAa,SAAU,SAAQ,IAAI;IACxB,IAAI,SAAW;IACxB,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;CA4BjC"}
|
package/esm/NodeImage.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Node } from '@kerebron/editor';
|
|
2
|
+
export class NodeImage extends Node {
|
|
3
|
+
name = 'image';
|
|
4
|
+
requires = ['doc'];
|
|
5
|
+
getNodeSpec() {
|
|
6
|
+
return {
|
|
7
|
+
inline: true,
|
|
8
|
+
attrs: {
|
|
9
|
+
src: {},
|
|
10
|
+
alt: { default: null },
|
|
11
|
+
title: { default: null },
|
|
12
|
+
},
|
|
13
|
+
group: 'inline',
|
|
14
|
+
draggable: true,
|
|
15
|
+
parseDOM: [
|
|
16
|
+
{
|
|
17
|
+
tag: 'img[src]',
|
|
18
|
+
getAttrs(dom) {
|
|
19
|
+
return {
|
|
20
|
+
src: dom.getAttribute('src'),
|
|
21
|
+
title: dom.getAttribute('title'),
|
|
22
|
+
alt: dom.getAttribute('alt'),
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
toDOM(node) {
|
|
28
|
+
const { src, alt, title } = node.attrs;
|
|
29
|
+
return ['img', { src, alt, title }];
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=NodeImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeImage.js","sourceRoot":"","sources":["../src/NodeImage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,OAAO,SAAU,SAAQ,IAAI;IACxB,IAAI,GAAG,OAAO,CAAC;IACxB,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;IAEV,WAAW;QAClB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE;gBACL,GAAG,EAAE,EAAE;gBACP,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBACtB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aACzB;YACD,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,UAAU;oBACf,QAAQ,CAAC,GAAgB;wBACvB,OAAO;4BACL,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;4BAC5B,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC;4BAChC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;yBAC7B,CAAC;oBACJ,CAAC;iBACF;aACF;YACD,KAAK,CAAC,IAAI;gBACR,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YACtC,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { NodeSpec, NodeType } from 'prosemirror-model';
|
|
2
|
+
import { Node } from '@kerebron/editor';
|
|
3
|
+
import { type InputRule } from '@kerebron/editor/plugins/input-rules';
|
|
4
|
+
export declare function fixCharacters(text: string): string;
|
|
5
|
+
export declare class NodeInlineShortCode extends Node {
|
|
6
|
+
name: string;
|
|
7
|
+
requires: string[];
|
|
8
|
+
getNodeSpec(): NodeSpec;
|
|
9
|
+
getInputRules(type: NodeType): InputRule[];
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=NodeInlineShortCode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeInlineShortCode.d.ts","sourceRoot":"","sources":["../src/NodeInlineShortCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,sCAAsC,CAAC;AAE9C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,UASzC;AAED,qBAAa,mBAAoB,SAAQ,IAAI;IAClC,IAAI,SAAsB;IACnC,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;IAgBvB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE;CAcpD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Node } from '@kerebron/editor';
|
|
2
|
+
import { replaceInlineNode, } from '@kerebron/editor/plugins/input-rules';
|
|
3
|
+
export function fixCharacters(text) {
|
|
4
|
+
return text
|
|
5
|
+
.replace(/’/g, "'")
|
|
6
|
+
.replace(/“/g, '"')
|
|
7
|
+
.replace(/”/g, '"')
|
|
8
|
+
// deno-lint-ignore no-control-regex
|
|
9
|
+
.replace(/\x0b/g, ' ')
|
|
10
|
+
.replace(/\u201d/g, '"')
|
|
11
|
+
.replace(/\u201c/g, '"');
|
|
12
|
+
}
|
|
13
|
+
export class NodeInlineShortCode extends Node {
|
|
14
|
+
name = 'shortcode-inline';
|
|
15
|
+
requires = ['doc'];
|
|
16
|
+
getNodeSpec() {
|
|
17
|
+
return {
|
|
18
|
+
inline: true,
|
|
19
|
+
group: 'inline',
|
|
20
|
+
selectable: true,
|
|
21
|
+
attrs: {
|
|
22
|
+
content: {},
|
|
23
|
+
},
|
|
24
|
+
atom: true,
|
|
25
|
+
parseDOM: [{ tag: 'span.kb-shortcode-inline' }],
|
|
26
|
+
toDOM(node) {
|
|
27
|
+
return ['span', { class: 'kb-shortcode-inline' }, node.attrs.content];
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
getInputRules(type) {
|
|
32
|
+
return [
|
|
33
|
+
replaceInlineNode(/\{\{[^}]+\}\}/, type, (match) => {
|
|
34
|
+
const content = fixCharacters(match[0].substring(2, match[0].length - 2));
|
|
35
|
+
return { content };
|
|
36
|
+
}),
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=NodeInlineShortCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeInlineShortCode.js","sourceRoot":"","sources":["../src/NodeInlineShortCode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAEL,iBAAiB,GAGlB,MAAM,sCAAsC,CAAC;AAE9C,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI;SACR,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QACnB,oCAAoC;SACnC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,OAAO,mBAAoB,SAAQ,IAAI;IAClC,IAAI,GAAG,kBAAkB,CAAC;IACnC,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC;IAEV,WAAW;QAClB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE;gBACL,OAAO,EAAE,EAAE;aACZ;YACD,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,0BAA0B,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI;gBACR,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxE,CAAC;SACF,CAAC;IACJ,CAAC;IAEQ,aAAa,CAAC,IAAc;QACnC,OAAO;YACL,iBAAiB,CACf,eAAe,EACf,IAAI,EACJ,CAAC,KAAuB,EAAE,EAAE;gBAC1B,MAAM,OAAO,GAAG,aAAa,CAC3B,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAC3C,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC,CACF;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Attrs, NodeSpec, type NodeType } from 'prosemirror-model';
|
|
2
|
+
import { type CoreEditor, Node } from '@kerebron/editor';
|
|
3
|
+
import { type Command, type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
|
|
4
|
+
export declare function splitListItem(itemType: NodeType, itemAttrs?: Attrs): Command;
|
|
5
|
+
export declare function liftListItem(itemType: NodeType): Command;
|
|
6
|
+
export declare function sinkListItem(itemType: NodeType): Command;
|
|
7
|
+
export declare class NodeListItem extends Node {
|
|
8
|
+
name: string;
|
|
9
|
+
requires: string[];
|
|
10
|
+
getNodeSpec(): NodeSpec;
|
|
11
|
+
getCommandFactories(editor: CoreEditor, type: NodeType): Partial<CommandFactories>;
|
|
12
|
+
getKeyboardShortcuts(): Partial<CommandShortcuts>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=NodeListItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeListItem.d.ts","sourceRoot":"","sources":["../src/NodeListItem.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EAGV,QAAQ,EACR,KAAK,QAAQ,EAEd,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAUnC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG,OAAO,CAsE5E;AAwBD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAgBxD;AAuGD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CA0CxD;AAED,qBAAa,YAAa,SAAQ,IAAI;IAC3B,IAAI,SAAe;IAC5B,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;IAWvB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAQnB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAO3D"}
|