@kerebron/extension-basic-editor 0.4.26 → 0.4.28
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/ExtensionBasicEditor.d.ts +4 -1
- package/esm/ExtensionBasicEditor.d.ts.map +1 -1
- package/esm/ExtensionBasicEditor.js +8 -2
- package/esm/ExtensionGapcursor.d.ts.map +1 -1
- package/esm/ExtensionHistory.d.ts +1 -2
- package/esm/ExtensionHistory.d.ts.map +1 -1
- package/esm/ExtensionHistory.js +0 -28
- package/esm/ExtensionSelection.d.ts.map +1 -1
- package/esm/ExtensionTextAlign.d.ts +11 -0
- package/esm/ExtensionTextAlign.d.ts.map +1 -0
- package/esm/ExtensionTextAlign.js +39 -0
- package/esm/MarkSubscript.d.ts +11 -0
- package/esm/MarkSubscript.d.ts.map +1 -0
- package/esm/MarkSubscript.js +30 -0
- package/esm/MarkSuperscript.d.ts +11 -0
- package/esm/MarkSuperscript.d.ts.map +1 -0
- package/esm/MarkSuperscript.js +30 -0
- package/esm/NodeInlineShortCode.d.ts +1 -0
- package/esm/NodeInlineShortCode.d.ts.map +1 -1
- package/esm/NodeInlineShortCode.js +17 -8
- package/esm/NodeListItem.d.ts +1 -2
- package/esm/NodeListItem.d.ts.map +1 -1
- package/esm/NodeListItem.js +3 -1
- package/esm/NodeParagraph.d.ts.map +1 -1
- package/esm/NodeParagraph.js +21 -2
- package/esm/NodeTaskItem.d.ts.map +1 -1
- package/esm/NodeTaskItem.js +7 -0
- package/esm/NodeTaskList.js +1 -1
- package/package.json +11 -2
|
@@ -6,6 +6,7 @@ import { ExtensionGapcursor } from './ExtensionGapcursor.js';
|
|
|
6
6
|
import { ExtensionHtml } from './ExtensionHtml.js';
|
|
7
7
|
import { ExtensionMediaUpload } from './ExtensionMediaUpload.js';
|
|
8
8
|
import { ExtensionRemoteSelection } from './remote-selection/ExtensionRemoteSelection.js';
|
|
9
|
+
import { ExtensionTextAlign } from './ExtensionTextAlign.js';
|
|
9
10
|
import { MarkLink } from './MarkLink.js';
|
|
10
11
|
import { MarkStrong } from './MarkStrong.js';
|
|
11
12
|
import { MarkItalic } from './MarkItalic.js';
|
|
@@ -16,6 +17,8 @@ import { MarkChange } from './MarkChange.js';
|
|
|
16
17
|
import { MarkBookmark } from './MarkBookmark.js';
|
|
17
18
|
import { MarkTextColor } from './MarkTextColor.js';
|
|
18
19
|
import { MarkHighlight } from './MarkHighlight.js';
|
|
20
|
+
import { MarkSuperscript } from './MarkSuperscript.js';
|
|
21
|
+
import { MarkSubscript } from './MarkSubscript.js';
|
|
19
22
|
import { NodeDocument } from './NodeDocument.js';
|
|
20
23
|
import { NodeText } from './NodeText.js';
|
|
21
24
|
import { NodeCodeBlock } from './NodeCodeBlock.js';
|
|
@@ -41,6 +44,6 @@ import { NodeTaskItem } from './NodeTaskItem.js';
|
|
|
41
44
|
import { NodeInlineShortCode } from './NodeInlineShortCode.js';
|
|
42
45
|
export declare class ExtensionBasicEditor extends Extension {
|
|
43
46
|
name: string;
|
|
44
|
-
requires: (ExtensionSelection | ExtensionBaseKeymap | ExtensionDropcursor | ExtensionGapcursor | ExtensionHtml | ExtensionMediaUpload | ExtensionRemoteSelection | MarkLink | MarkStrong | MarkItalic | MarkUnderline | MarkStrike | MarkCode | MarkChange | MarkBookmark | MarkTextColor | MarkHighlight | NodeDocument | NodeText | NodeCodeBlock | NodeBookmark | NodeParagraph | NodeHardBreak | NodeHorizontalRule | NodeOrderedList | NodeBulletList | NodeListItem | NodeImage | NodeVideo | NodeBlockquote | NodeAside | NodeHeading | NodeMath | NodeDefinitionList | NodeDefinitionTerm | NodeDefinitionDesc | NodeFrontmatter | NodeTaskList | NodeTaskItem | NodeInlineShortCode)[];
|
|
47
|
+
requires: (ExtensionSelection | ExtensionBaseKeymap | ExtensionDropcursor | ExtensionGapcursor | ExtensionHtml | ExtensionMediaUpload | ExtensionRemoteSelection | ExtensionTextAlign | MarkLink | MarkStrong | MarkItalic | MarkUnderline | MarkStrike | MarkCode | MarkChange | MarkBookmark | MarkTextColor | MarkHighlight | MarkSuperscript | MarkSubscript | NodeDocument | NodeText | NodeCodeBlock | NodeBookmark | NodeParagraph | NodeHardBreak | NodeHorizontalRule | NodeOrderedList | NodeBulletList | NodeListItem | NodeImage | NodeVideo | NodeBlockquote | NodeAside | NodeHeading | NodeMath | NodeDefinitionList | NodeDefinitionTerm | NodeDefinitionDesc | NodeFrontmatter | NodeTaskList | NodeTaskItem | NodeInlineShortCode)[];
|
|
45
48
|
}
|
|
46
49
|
//# sourceMappingURL=ExtensionBasicEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionBasicEditor.d.ts","sourceRoot":"","sources":["../src/ExtensionBasicEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"ExtensionBasicEditor.d.ts","sourceRoot":"","sources":["../src/ExtensionBasicEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,qBAAa,oBAAqB,SAAQ,SAAS;IACjD,IAAI,SAAkB;IACtB,QAAQ,+sBA8CN;CACH"}
|
|
@@ -6,6 +6,7 @@ import { ExtensionGapcursor } from './ExtensionGapcursor.js';
|
|
|
6
6
|
import { ExtensionHtml } from './ExtensionHtml.js';
|
|
7
7
|
import { ExtensionMediaUpload } from './ExtensionMediaUpload.js';
|
|
8
8
|
import { ExtensionRemoteSelection } from './remote-selection/ExtensionRemoteSelection.js';
|
|
9
|
+
import { ExtensionTextAlign } from './ExtensionTextAlign.js';
|
|
9
10
|
import { MarkLink } from './MarkLink.js';
|
|
10
11
|
import { MarkStrong } from './MarkStrong.js';
|
|
11
12
|
import { MarkItalic } from './MarkItalic.js';
|
|
@@ -16,6 +17,8 @@ import { MarkChange } from './MarkChange.js';
|
|
|
16
17
|
import { MarkBookmark } from './MarkBookmark.js';
|
|
17
18
|
import { MarkTextColor } from './MarkTextColor.js';
|
|
18
19
|
import { MarkHighlight } from './MarkHighlight.js';
|
|
20
|
+
import { MarkSuperscript } from './MarkSuperscript.js';
|
|
21
|
+
import { MarkSubscript } from './MarkSubscript.js';
|
|
19
22
|
import { NodeDocument } from './NodeDocument.js';
|
|
20
23
|
import { NodeText } from './NodeText.js';
|
|
21
24
|
import { NodeCodeBlock } from './NodeCodeBlock.js';
|
|
@@ -49,12 +52,13 @@ export class ExtensionBasicEditor extends Extension {
|
|
|
49
52
|
new ExtensionMediaUpload(),
|
|
50
53
|
new ExtensionRemoteSelection(),
|
|
51
54
|
new ExtensionSelection(),
|
|
55
|
+
new ExtensionTextAlign(),
|
|
52
56
|
new NodeDocument(),
|
|
53
57
|
new NodeText(),
|
|
54
|
-
new NodeCodeBlock(),
|
|
55
|
-
new NodeBookmark(),
|
|
56
58
|
new NodeParagraph(),
|
|
57
59
|
new NodeHardBreak(),
|
|
60
|
+
new NodeCodeBlock(),
|
|
61
|
+
new NodeBookmark(),
|
|
58
62
|
new NodeHorizontalRule(),
|
|
59
63
|
new NodeOrderedList(),
|
|
60
64
|
new NodeBulletList(),
|
|
@@ -84,5 +88,7 @@ export class ExtensionBasicEditor extends Extension {
|
|
|
84
88
|
new MarkBookmark(),
|
|
85
89
|
new MarkTextColor(),
|
|
86
90
|
new MarkHighlight(),
|
|
91
|
+
new MarkSuperscript(),
|
|
92
|
+
new MarkSubscript(),
|
|
87
93
|
];
|
|
88
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionGapcursor.d.ts","sourceRoot":"","sources":["../src/ExtensionGapcursor.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ExtensionGapcursor.d.ts","sourceRoot":"","sources":["../src/ExtensionGapcursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACN,SAAS,EAEV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAY,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7C,qBAAa,SAAU,SAAQ,SAAS;gBAE1B,IAAI,EAAE,WAAW;IAK7B,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,GAAG,SAAS;IAKnC,OAAO;IAIhB,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAI7B,MAAM,IAAI,GAAG;IAKb,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,SAAS;IAQlD,WAAW,IAAI,WAAW;IAKnC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW;IAY9B,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAQ;CA0C1E;AAID,cAAM,WAAW;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;IAEhC,GAAG,CAAC,OAAO,EAAE,QAAQ;IAGrB,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,SAAS;CAI9B;AA4ID,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,IAAI,SAAe;IAEnB,OAAO;;;;MAIL;IAEO,qBAAqB,IAAI,MAAM,EAAE;CAK3C"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Plugin } from 'prosemirror-state';
|
|
2
2
|
import { type CoreEditor, Extension } from '@kerebron/editor';
|
|
3
3
|
import { type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
|
|
4
|
-
export declare const undoInputRule: Command;
|
|
5
4
|
export declare class ExtensionHistory extends Extension {
|
|
6
5
|
name: string;
|
|
7
6
|
options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionHistory.d.ts","sourceRoot":"","sources":["../src/ExtensionHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ExtensionHistory.d.ts","sourceRoot":"","sources":["../src/ExtensionHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,IAAI,SAAa;IAEjB,OAAO;;;MAGL;IAEO,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOlE,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAiBjD,qBAAqB,IAAI,MAAM,EAAE;CAK3C"}
|
package/esm/ExtensionHistory.js
CHANGED
|
@@ -1,31 +1,5 @@
|
|
|
1
1
|
import { history, redo, undo } from 'prosemirror-history';
|
|
2
2
|
import { Extension } from '@kerebron/editor';
|
|
3
|
-
/// This is a command that will undo an input rule, if applying such a
|
|
4
|
-
/// rule was the last thing that the user did.
|
|
5
|
-
export const undoInputRule = (state, dispatch) => {
|
|
6
|
-
let plugins = state.plugins;
|
|
7
|
-
for (let i = 0; i < plugins.length; i++) {
|
|
8
|
-
let plugin = plugins[i], undoable;
|
|
9
|
-
if (plugin.spec.isInputRules && (undoable = plugin.getState(state))) {
|
|
10
|
-
if (dispatch) {
|
|
11
|
-
let tr = state.tr, toUndo = undoable.transform;
|
|
12
|
-
for (let j = toUndo.steps.length - 1; j >= 0; j--) {
|
|
13
|
-
tr.step(toUndo.steps[j].invert(toUndo.docs[j]));
|
|
14
|
-
}
|
|
15
|
-
if (undoable.text) {
|
|
16
|
-
let marks = tr.doc.resolve(undoable.from).marks();
|
|
17
|
-
tr.replaceWith(undoable.from, undoable.to, state.schema.text(undoable.text, marks));
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
tr.delete(undoable.from, undoable.to);
|
|
21
|
-
}
|
|
22
|
-
dispatch(tr);
|
|
23
|
-
}
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return false;
|
|
28
|
-
};
|
|
29
3
|
export class ExtensionHistory extends Extension {
|
|
30
4
|
name = 'history';
|
|
31
5
|
options = {
|
|
@@ -36,7 +10,6 @@ export class ExtensionHistory extends Extension {
|
|
|
36
10
|
return {
|
|
37
11
|
'undo': () => undo,
|
|
38
12
|
'redo': () => redo,
|
|
39
|
-
'undoInputRule': () => undoInputRule,
|
|
40
13
|
};
|
|
41
14
|
}
|
|
42
15
|
getKeyboardShortcuts() {
|
|
@@ -45,7 +18,6 @@ export class ExtensionHistory extends Extension {
|
|
|
45
18
|
? /Mac|iP(hone|[oa]d)/.test(navigator?.platform)
|
|
46
19
|
: false;
|
|
47
20
|
const shortcuts = {
|
|
48
|
-
'Backspace': 'undoInputRule',
|
|
49
21
|
'Mod-z': 'undo',
|
|
50
22
|
'Mod-y': 'redo',
|
|
51
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionSelection.d.ts","sourceRoot":"","sources":["../src/ExtensionSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EAIL,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExtensionSelection.d.ts","sourceRoot":"","sources":["../src/ExtensionSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EAIL,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,2BAA2B,CAAC;AAuSnC,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,IAAI,SAAe;IAEnB,gBAAgB,IAAI,IAAI;IAaxB,gBAAgB,CAAC,QAAQ,EAAE,IAAI;IAuB/B,eAAe,CAAC,QAAQ,EAAE,IAAI;IAmBrB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAO5E"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type CoreEditor, Extension } from '@kerebron/editor';
|
|
2
|
+
import { type CommandFactories } from '@kerebron/editor/commands';
|
|
3
|
+
/**
|
|
4
|
+
* Extension that adds text alignment commands.
|
|
5
|
+
* Works by setting a 'textAlign' attribute on block nodes that support it.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ExtensionTextAlign extends Extension {
|
|
8
|
+
name: string;
|
|
9
|
+
getCommandFactories(editor: CoreEditor): Partial<CommandFactories>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ExtensionTextAlign.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtensionTextAlign.d.ts","sourceRoot":"","sources":["../src/ExtensionTextAlign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,IAAI,SAAe;IAEV,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAoC5E"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Extension } from '@kerebron/editor';
|
|
2
|
+
/**
|
|
3
|
+
* Extension that adds text alignment commands.
|
|
4
|
+
* Works by setting a 'textAlign' attribute on block nodes that support it.
|
|
5
|
+
*/
|
|
6
|
+
export class ExtensionTextAlign extends Extension {
|
|
7
|
+
name = 'textAlign';
|
|
8
|
+
getCommandFactories(editor) {
|
|
9
|
+
const setAlignment = (align) => {
|
|
10
|
+
return (state, dispatch) => {
|
|
11
|
+
const { selection, tr } = state;
|
|
12
|
+
const { from, to } = selection;
|
|
13
|
+
let changed = false;
|
|
14
|
+
state.doc.nodesBetween(from, to, (node, pos) => {
|
|
15
|
+
// Check if this node type has a textAlign attribute
|
|
16
|
+
if (node.isBlock &&
|
|
17
|
+
node.type.spec.attrs &&
|
|
18
|
+
'textAlign' in node.type.spec.attrs) {
|
|
19
|
+
tr.setNodeMarkup(pos, undefined, {
|
|
20
|
+
...node.attrs,
|
|
21
|
+
textAlign: align,
|
|
22
|
+
});
|
|
23
|
+
changed = true;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
if (changed && dispatch) {
|
|
27
|
+
dispatch(tr);
|
|
28
|
+
}
|
|
29
|
+
return changed;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
setTextAlignLeft: () => setAlignment('left'),
|
|
34
|
+
setTextAlignCenter: () => setAlignment('center'),
|
|
35
|
+
setTextAlignRight: () => setAlignment('right'),
|
|
36
|
+
setTextAlignJustify: () => setAlignment('justify'),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type CoreEditor, Mark } from '@kerebron/editor';
|
|
2
|
+
import type { MarkSpec, MarkType } from 'prosemirror-model';
|
|
3
|
+
import { type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
|
|
4
|
+
export declare class MarkSubscript extends Mark {
|
|
5
|
+
name: string;
|
|
6
|
+
requires: string[];
|
|
7
|
+
getMarkSpec(): MarkSpec;
|
|
8
|
+
getCommandFactories(editor: CoreEditor, type: MarkType): Partial<CommandFactories>;
|
|
9
|
+
getKeyboardShortcuts(): Partial<CommandShortcuts>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=MarkSubscript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkSubscript.d.ts","sourceRoot":"","sources":["../src/MarkSubscript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,aAAc,SAAQ,IAAI;IAC5B,IAAI,SAAe;IAC5B,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;IAgBvB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAMnB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAK3D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Mark } from '@kerebron/editor';
|
|
2
|
+
export class MarkSubscript extends Mark {
|
|
3
|
+
name = 'subscript';
|
|
4
|
+
requires = ['doc'];
|
|
5
|
+
getMarkSpec() {
|
|
6
|
+
return {
|
|
7
|
+
excludes: 'superscript',
|
|
8
|
+
parseDOM: [
|
|
9
|
+
{ tag: 'sub' },
|
|
10
|
+
{
|
|
11
|
+
style: 'vertical-align',
|
|
12
|
+
getAttrs: (value) => value === 'sub' && null,
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
toDOM() {
|
|
16
|
+
return ['sub', 0];
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
getCommandFactories(editor, type) {
|
|
21
|
+
return {
|
|
22
|
+
'toggleSubscript': () => editor.commandFactories.toggleMark(type),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
getKeyboardShortcuts() {
|
|
26
|
+
return {
|
|
27
|
+
'Mod-Shift-,': 'toggleSubscript',
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type CoreEditor, Mark } from '@kerebron/editor';
|
|
2
|
+
import type { MarkSpec, MarkType } from 'prosemirror-model';
|
|
3
|
+
import { type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
|
|
4
|
+
export declare class MarkSuperscript extends Mark {
|
|
5
|
+
name: string;
|
|
6
|
+
requires: string[];
|
|
7
|
+
getMarkSpec(): MarkSpec;
|
|
8
|
+
getCommandFactories(editor: CoreEditor, type: MarkType): Partial<CommandFactories>;
|
|
9
|
+
getKeyboardShortcuts(): Partial<CommandShortcuts>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=MarkSuperscript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkSuperscript.d.ts","sourceRoot":"","sources":["../src/MarkSuperscript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,eAAgB,SAAQ,IAAI;IAC9B,IAAI,SAAiB;IAC9B,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;IAgBvB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAMnB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAK3D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Mark } from '@kerebron/editor';
|
|
2
|
+
export class MarkSuperscript extends Mark {
|
|
3
|
+
name = 'superscript';
|
|
4
|
+
requires = ['doc'];
|
|
5
|
+
getMarkSpec() {
|
|
6
|
+
return {
|
|
7
|
+
excludes: 'subscript',
|
|
8
|
+
parseDOM: [
|
|
9
|
+
{ tag: 'sup' },
|
|
10
|
+
{
|
|
11
|
+
style: 'vertical-align',
|
|
12
|
+
getAttrs: (value) => value === 'super' && null,
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
toDOM() {
|
|
16
|
+
return ['sup', 0];
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
getCommandFactories(editor, type) {
|
|
21
|
+
return {
|
|
22
|
+
'toggleSuperscript': () => editor.commandFactories.toggleMark(type),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
getKeyboardShortcuts() {
|
|
26
|
+
return {
|
|
27
|
+
'Mod-Shift-.': 'toggleSuperscript',
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NodeSpec, NodeType } from 'prosemirror-model';
|
|
2
2
|
import { Node } from '@kerebron/editor';
|
|
3
3
|
import { type InputRule } from '@kerebron/editor/plugins/input-rules';
|
|
4
|
+
export declare function fixCharacters(text: string): string;
|
|
4
5
|
export declare class NodeInlineShortCode extends Node {
|
|
5
6
|
name: string;
|
|
6
7
|
requires: string[];
|
|
@@ -1 +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,
|
|
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"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { Node } from '@kerebron/editor';
|
|
2
|
-
import {
|
|
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
|
+
}
|
|
3
13
|
export class NodeInlineShortCode extends Node {
|
|
4
14
|
name = 'shortcode-inline';
|
|
5
15
|
requires = ['doc'];
|
|
@@ -9,21 +19,20 @@ export class NodeInlineShortCode extends Node {
|
|
|
9
19
|
group: 'inline',
|
|
10
20
|
selectable: true,
|
|
11
21
|
attrs: {
|
|
12
|
-
|
|
22
|
+
content: {},
|
|
13
23
|
},
|
|
14
24
|
atom: true,
|
|
15
25
|
parseDOM: [{ tag: 'span.kb-shortcode-inline' }],
|
|
16
|
-
toDOM(
|
|
17
|
-
return ['span', { class: 'kb-shortcode-inline' },
|
|
26
|
+
toDOM(node) {
|
|
27
|
+
return ['span', { class: 'kb-shortcode-inline' }, node.attrs.content];
|
|
18
28
|
},
|
|
19
29
|
};
|
|
20
30
|
}
|
|
21
31
|
getInputRules(type) {
|
|
22
32
|
return [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return node.attrs.condition === match[1];
|
|
33
|
+
replaceInlineNode(/\{\{[^}]+\}\}/, type, (match) => {
|
|
34
|
+
const content = fixCharacters(match[0].substring(2, match[0].length - 2));
|
|
35
|
+
return { content };
|
|
27
36
|
}),
|
|
28
37
|
];
|
|
29
38
|
}
|
package/esm/NodeListItem.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type Attrs, NodeSpec, type NodeType } from 'prosemirror-model';
|
|
2
|
-
import type { Command } from 'prosemirror-state';
|
|
3
2
|
import { type CoreEditor, Node } from '@kerebron/editor';
|
|
4
|
-
import { type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
|
|
3
|
+
import { type Command, type CommandFactories, type CommandShortcuts } from '@kerebron/editor/commands';
|
|
5
4
|
export declare function splitListItem(itemType: NodeType, itemAttrs?: Attrs): Command;
|
|
6
5
|
export declare function liftListItem(itemType: NodeType): Command;
|
|
7
6
|
export declare function sinkListItem(itemType: NodeType): Command;
|
|
@@ -1 +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;
|
|
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"}
|
package/esm/NodeListItem.js
CHANGED
|
@@ -5,7 +5,7 @@ import { canJoin, canSplit, liftTarget, ReplaceAroundStep, } from 'prosemirror-t
|
|
|
5
5
|
/// Build a command that splits a non-empty textblock at the top level
|
|
6
6
|
/// of a list item by also splitting that list item.
|
|
7
7
|
export function splitListItem(itemType, itemAttrs) {
|
|
8
|
-
|
|
8
|
+
const cmd = function (state, dispatch) {
|
|
9
9
|
const { $from, $to, node } = state.selection;
|
|
10
10
|
if ((node && node.isBlock) || $from.depth < 2 || !$from.sameParent($to)) {
|
|
11
11
|
return false;
|
|
@@ -66,6 +66,8 @@ export function splitListItem(itemType, itemAttrs) {
|
|
|
66
66
|
dispatch(tr.split($from.pos, 2, types).scrollIntoView());
|
|
67
67
|
return true;
|
|
68
68
|
};
|
|
69
|
+
cmd.displayName = `splitListItem(${itemType.name})`;
|
|
70
|
+
return cmd;
|
|
69
71
|
}
|
|
70
72
|
/// Acts like [`splitListItem`](#schema-list.splitListItem), but
|
|
71
73
|
/// without resetting the set of active marks at the cursor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeParagraph.d.ts","sourceRoot":"","sources":["../src/NodeParagraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeParagraph.d.ts","sourceRoot":"","sources":["../src/NodeParagraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAInC,qBAAa,aAAc,SAAQ,IAAI;IAC5B,IAAI,SAAe;IAC5B,QAAQ,WAAW;IAEV,WAAW,IAAI,QAAQ;IAgCvB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAMnB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAK3D"}
|
package/esm/NodeParagraph.js
CHANGED
|
@@ -6,8 +6,27 @@ export class NodeParagraph extends Node {
|
|
|
6
6
|
return {
|
|
7
7
|
content: 'inline*',
|
|
8
8
|
group: 'block',
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
attrs: {
|
|
10
|
+
textAlign: { default: null },
|
|
11
|
+
},
|
|
12
|
+
parseDOM: [
|
|
13
|
+
{
|
|
14
|
+
tag: 'p',
|
|
15
|
+
getAttrs(dom) {
|
|
16
|
+
const element = dom;
|
|
17
|
+
const style = element.style.textAlign;
|
|
18
|
+
if (style === 'center' || style === 'right' || style === 'justify') {
|
|
19
|
+
return { textAlign: style };
|
|
20
|
+
}
|
|
21
|
+
return { textAlign: null };
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
toDOM(node) {
|
|
26
|
+
const align = node.attrs.textAlign;
|
|
27
|
+
if (align && align !== 'left') {
|
|
28
|
+
return ['p', { style: `text-align: ${align}` }, 0];
|
|
29
|
+
}
|
|
11
30
|
return ['p', 0];
|
|
12
31
|
},
|
|
13
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeTaskItem.d.ts","sourceRoot":"","sources":["../src/NodeTaskItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAIvE;;GAEG;AACH,eAAO,MAAM,UAAU,QAA2B,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAChE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,YAAa,SAAQ,IAAI;cAIE,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC;IAH7D,IAAI,SAAe;IAC5B,QAAQ,WAAW;gBAEmB,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAIlE,WAAW,IAAI,QAAQ;IAyCvB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAQnB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,mBAAmB;
|
|
1
|
+
{"version":3,"file":"NodeTaskItem.d.ts","sourceRoot":"","sources":["../src/NodeTaskItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAIvE;;GAEG;AACH,eAAO,MAAM,UAAU,QAA2B,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;IAChE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,YAAa,SAAQ,IAAI;cAIE,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC;IAH7D,IAAI,SAAe;IAC5B,QAAQ,WAAW;gBAEmB,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAIlE,WAAW,IAAI,QAAQ;IAyCvB,mBAAmB,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,gBAAgB,CAAC;IAQnB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,mBAAmB;IAoFpD,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAQjD,aAAa,CAAC,IAAI,EAAE,QAAQ;CAWtC"}
|
package/esm/NodeTaskItem.js
CHANGED
|
@@ -67,6 +67,13 @@ export class NodeTaskItem extends Node {
|
|
|
67
67
|
const checkboxStyler = document.createElement('span');
|
|
68
68
|
const checkbox = document.createElement('input');
|
|
69
69
|
const content = document.createElement('div');
|
|
70
|
+
// Style for inline checkbox and text
|
|
71
|
+
listItem.style.display = 'flex';
|
|
72
|
+
listItem.style.alignItems = 'flex-start';
|
|
73
|
+
listItem.style.gap = '0.5em';
|
|
74
|
+
checkboxWrapper.style.flexShrink = '0';
|
|
75
|
+
checkboxWrapper.style.marginTop = '0.25em';
|
|
76
|
+
content.style.flex = '1';
|
|
70
77
|
checkboxWrapper.contentEditable = 'false';
|
|
71
78
|
checkbox.type = 'checkbox';
|
|
72
79
|
checkbox.addEventListener('mousedown', (event) => event.preventDefault());
|
package/esm/NodeTaskList.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kerebron/extension-basic-editor",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.28",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"module": "./esm/ExtensionBasicEditor.js",
|
|
6
6
|
"exports": {
|
|
@@ -99,11 +99,20 @@
|
|
|
99
99
|
},
|
|
100
100
|
"./MarkUnderline": {
|
|
101
101
|
"import": "./esm/MarkUnderline.js"
|
|
102
|
+
},
|
|
103
|
+
"./MarkSuperscript": {
|
|
104
|
+
"import": "./esm/MarkSuperscript.js"
|
|
105
|
+
},
|
|
106
|
+
"./MarkSubscript": {
|
|
107
|
+
"import": "./esm/MarkSubscript.js"
|
|
108
|
+
},
|
|
109
|
+
"./ExtensionTextAlign": {
|
|
110
|
+
"import": "./esm/ExtensionTextAlign.js"
|
|
102
111
|
}
|
|
103
112
|
},
|
|
104
113
|
"scripts": {},
|
|
105
114
|
"dependencies": {
|
|
106
|
-
"@kerebron/editor": "0.4.
|
|
115
|
+
"@kerebron/editor": "0.4.28",
|
|
107
116
|
"prosemirror-history": "1.4.1",
|
|
108
117
|
"prosemirror-model": "1.25.3",
|
|
109
118
|
"prosemirror-state": "1.4.3",
|