@blocknote/core 0.19.0 → 0.19.2
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 +2 -0
- package/dist/blocknote.js +2990 -2898
- package/dist/blocknote.js.map +1 -1
- package/dist/blocknote.umd.cjs +7 -7
- package/dist/blocknote.umd.cjs.map +1 -1
- package/dist/src/api/blockManipulation/commands/moveBlock/moveBlock.test.js +5 -1
- package/dist/src/api/blockManipulation/commands/moveBlock/moveBlock.test.js.map +1 -1
- package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.js +2 -40
- package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.js.map +1 -1
- package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.js +4 -0
- package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.js.map +1 -1
- package/dist/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.js +51 -9
- package/dist/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.js.map +1 -1
- package/dist/src/api/blockManipulation/commands/splitBlock/splitBlock.js +2 -2
- package/dist/src/api/blockManipulation/commands/splitBlock/splitBlock.js.map +1 -1
- package/dist/src/api/clipboard/fromClipboard/acceptedMIMETypes.js +1 -1
- package/dist/src/api/clipboard/fromClipboard/acceptedMIMETypes.js.map +1 -1
- package/dist/src/api/clipboard/fromClipboard/handleFileInsertion.js +4 -2
- package/dist/src/api/clipboard/fromClipboard/handleFileInsertion.js.map +1 -1
- package/dist/src/api/clipboard/fromClipboard/handleVSCodePaste.js +3 -3
- package/dist/src/api/clipboard/fromClipboard/handleVSCodePaste.js.map +1 -1
- package/dist/src/api/getBlockInfoFromPos.js +19 -25
- package/dist/src/api/getBlockInfoFromPos.js.map +1 -1
- package/dist/src/blocks/CodeBlockContent/CodeBlockContent.js +15 -7
- package/dist/src/blocks/CodeBlockContent/CodeBlockContent.js.map +1 -1
- package/dist/src/blocks/CodeBlockContent/defaultSupportedLanguages.js +38 -18
- package/dist/src/blocks/CodeBlockContent/defaultSupportedLanguages.js.map +1 -1
- package/dist/src/blocks/HeadingBlockContent/HeadingBlockContent.js +8 -4
- package/dist/src/blocks/HeadingBlockContent/HeadingBlockContent.js.map +1 -1
- package/dist/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.js +5 -3
- package/dist/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.js.map +1 -1
- package/dist/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.js +12 -6
- package/dist/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.js.map +1 -1
- package/dist/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.js +5 -1
- package/dist/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.js.map +1 -1
- package/dist/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.js +4 -2
- package/dist/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.js.map +1 -1
- package/dist/src/blocks/ParagraphBlockContent/ParagraphBlockContent.js +2 -1
- package/dist/src/blocks/ParagraphBlockContent/ParagraphBlockContent.js.map +1 -1
- package/dist/src/blocks/TableBlockContent/TableBlockContent.js +0 -1
- package/dist/src/blocks/TableBlockContent/TableBlockContent.js.map +1 -1
- package/dist/src/editor/BlockNoteEditor.js +42 -43
- package/dist/src/editor/BlockNoteEditor.js.map +1 -1
- package/dist/src/editor/BlockNoteEditor.test.js +2 -2
- package/dist/src/editor/BlockNoteEditor.test.js.map +1 -1
- package/dist/src/editor/BlockNoteExtensions.js +52 -6
- package/dist/src/editor/BlockNoteExtensions.js.map +1 -1
- package/dist/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.js +36 -6
- package/dist/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.js.map +1 -1
- package/dist/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.js +35 -32
- package/dist/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.js.map +1 -1
- package/dist/src/extensions/Placeholder/PlaceholderPlugin.js +74 -71
- package/dist/src/extensions/Placeholder/PlaceholderPlugin.js.map +1 -1
- package/dist/src/extensions/PreviousBlockType/PreviousBlockTypePlugin.js +153 -149
- package/dist/src/extensions/PreviousBlockType/PreviousBlockTypePlugin.js.map +1 -1
- package/dist/src/extensions/SideMenu/SideMenuPlugin.js +5 -1
- package/dist/src/extensions/SideMenu/SideMenuPlugin.js.map +1 -1
- package/dist/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.js +0 -3
- package/dist/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.js.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/webpack-stats.json +1 -1
- package/package.json +2 -2
- package/src/api/blockManipulation/commands/insertBlocks/__snapshots__/insertBlocks.test.ts.snap +0 -6
- package/src/api/blockManipulation/commands/mergeBlocks/__snapshots__/mergeBlocks.test.ts.snap +0 -5
- package/src/api/blockManipulation/commands/moveBlock/__snapshots__/moveBlock.test.ts.snap +0 -8
- package/src/api/blockManipulation/commands/moveBlock/moveBlock.test.ts +7 -3
- package/src/api/blockManipulation/commands/removeBlocks/__snapshots__/removeBlocks.test.ts.snap +439 -2
- package/src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.ts +6 -0
- package/src/api/blockManipulation/commands/removeBlocks/removeBlocks.ts +2 -82
- package/src/api/blockManipulation/commands/replaceBlocks/__snapshots__/replaceBlocks.test.ts.snap +0 -8
- package/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts +96 -20
- package/src/api/blockManipulation/commands/splitBlock/__snapshots__/splitBlock.test.ts.snap +0 -6
- package/src/api/blockManipulation/commands/splitBlock/splitBlock.ts +2 -5
- package/src/api/blockManipulation/commands/updateBlock/__snapshots__/updateBlock.test.ts.snap +0 -490
- package/src/api/clipboard/fromClipboard/acceptedMIMETypes.ts +1 -1
- package/src/api/clipboard/fromClipboard/handleFileInsertion.ts +6 -5
- package/src/api/clipboard/fromClipboard/handleVSCodePaste.ts +4 -4
- package/src/api/getBlockInfoFromPos.ts +20 -30
- package/src/api/parsers/html/__snapshots__/parse-notion-html.json +1 -2
- package/src/blocks/CodeBlockContent/CodeBlockContent.ts +18 -8
- package/src/blocks/CodeBlockContent/defaultSupportedLanguages.ts +38 -18
- package/src/blocks/HeadingBlockContent/HeadingBlockContent.ts +16 -4
- package/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.ts +9 -3
- package/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.ts +22 -6
- package/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.ts +5 -3
- package/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.ts +8 -2
- package/src/blocks/ParagraphBlockContent/ParagraphBlockContent.ts +4 -1
- package/src/blocks/TableBlockContent/TableBlockContent.ts +0 -1
- package/src/editor/Block.css +3 -0
- package/src/editor/BlockNoteEditor.test.ts +2 -5
- package/src/editor/BlockNoteEditor.ts +77 -42
- package/src/editor/BlockNoteExtensions.ts +90 -14
- package/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts +36 -9
- package/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.ts +45 -42
- package/src/extensions/Placeholder/PlaceholderPlugin.ts +94 -90
- package/src/extensions/PreviousBlockType/PreviousBlockTypePlugin.ts +173 -169
- package/src/extensions/SideMenu/SideMenuPlugin.ts +5 -1
- package/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts +0 -5
- package/src/index.ts +1 -0
- package/types/src/api/blockManipulation/commands/removeBlocks/removeBlocks.d.ts +0 -3
- package/types/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.d.ts +4 -0
- package/types/src/api/blockManipulation/setupTestEnv.d.ts +0 -6
- package/types/src/api/clipboard/fromClipboard/acceptedMIMETypes.d.ts +1 -1
- package/types/src/api/getBlockInfoFromPos.d.ts +9 -34
- package/types/src/api/testUtil/cases/customBlocks.d.ts +0 -6
- package/types/src/api/testUtil/cases/customInlineContent.d.ts +0 -6
- package/types/src/api/testUtil/cases/customStyles.d.ts +0 -6
- package/types/src/blocks/TableBlockContent/TableBlockContent.d.ts +0 -9
- package/types/src/blocks/defaultBlocks.d.ts +0 -12
- package/types/src/editor/BlockNoteEditor.d.ts +19 -2
- package/types/src/editor/BlockNoteExtensions.d.ts +14 -7
- package/types/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.d.ts +4 -1
- package/types/src/extensions/Placeholder/PlaceholderPlugin.d.ts +4 -1
- package/types/src/extensions/PreviousBlockType/PreviousBlockTypePlugin.d.ts +4 -5
- package/types/src/extensions/SideMenu/SideMenuPlugin.d.ts +1 -1
- package/types/src/index.d.ts +1 -0
|
@@ -6,7 +6,11 @@ import { setupTestEnv } from "../../setupTestEnv.js";
|
|
|
6
6
|
import { moveBlockDown, moveBlockUp, moveSelectedBlockAndSelection, } from "./moveBlock.js";
|
|
7
7
|
const getEditor = setupTestEnv();
|
|
8
8
|
function makeSelectionSpanContent(selectionType) {
|
|
9
|
-
const
|
|
9
|
+
const blockInfo = getBlockInfoFromSelection(getEditor()._tiptapEditor.state);
|
|
10
|
+
if (!blockInfo.isBlockContainer) {
|
|
11
|
+
throw new Error(`Selection points to a ${blockInfo.blockNoteType} node, not a blockContainer node`);
|
|
12
|
+
}
|
|
13
|
+
const { blockContent } = blockInfo;
|
|
10
14
|
if (selectionType === "cell") {
|
|
11
15
|
getEditor()._tiptapEditor.view.dispatch(getEditor()._tiptapEditor.state.tr.setSelection(CellSelection.create(getEditor()._tiptapEditor.state.doc, getEditor()
|
|
12
16
|
._tiptapEditor.state.doc.resolve(blockContent.beforePos + 3)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moveBlock.test.js","sourceRoot":"","sources":["../../../../../../src/api/blockManipulation/commands/moveBlock/moveBlock.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,aAAa,EACb,WAAW,EACX,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AAExB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;AAEjC,SAAS,wBAAwB,CAAC,aAAuC;IACvE,MAAM,
|
|
1
|
+
{"version":3,"file":"moveBlock.test.js","sourceRoot":"","sources":["../../../../../../src/api/blockManipulation/commands/moveBlock/moveBlock.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export function removeBlocksWithCallback(editor, blocksToRemove,
|
|
3
|
-
// Should return new removedSize.
|
|
4
|
-
callback) {
|
|
5
|
-
const ttEditor = editor._tiptapEditor;
|
|
6
|
-
const tr = ttEditor.state.tr;
|
|
7
|
-
const idsOfBlocksToRemove = new Set(blocksToRemove.map((block) => typeof block === "string" ? block : block.id));
|
|
8
|
-
const removedBlocks = [];
|
|
9
|
-
let removedSize = 0;
|
|
10
|
-
ttEditor.state.doc.descendants((node, pos) => {
|
|
11
|
-
// Skips traversing nodes after all target blocks have been removed.
|
|
12
|
-
if (idsOfBlocksToRemove.size === 0) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
// Keeps traversing nodes if block with target ID has not been found.
|
|
16
|
-
if (!node.type.isInGroup("bnBlock") ||
|
|
17
|
-
!idsOfBlocksToRemove.has(node.attrs.id)) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
// Saves the block that is being deleted.
|
|
21
|
-
removedBlocks.push(nodeToBlock(node, editor.schema.blockSchema, editor.schema.inlineContentSchema, editor.schema.styleSchema, editor.blockCache));
|
|
22
|
-
idsOfBlocksToRemove.delete(node.attrs.id);
|
|
23
|
-
// Removes the block and calculates the change in document size.
|
|
24
|
-
removedSize = callback?.(node, pos, tr, removedSize) || removedSize;
|
|
25
|
-
const oldDocSize = tr.doc.nodeSize;
|
|
26
|
-
tr.delete(pos - removedSize - 1, pos - removedSize + node.nodeSize + 1);
|
|
27
|
-
const newDocSize = tr.doc.nodeSize;
|
|
28
|
-
removedSize += oldDocSize - newDocSize;
|
|
29
|
-
return false;
|
|
30
|
-
});
|
|
31
|
-
// Throws an error if now all blocks could be found.
|
|
32
|
-
if (idsOfBlocksToRemove.size > 0) {
|
|
33
|
-
const notFoundIds = [...idsOfBlocksToRemove].join("\n");
|
|
34
|
-
throw Error("Blocks with the following IDs could not be found in the editor: " +
|
|
35
|
-
notFoundIds);
|
|
36
|
-
}
|
|
37
|
-
editor.dispatch(tr);
|
|
38
|
-
return removedBlocks;
|
|
39
|
-
}
|
|
1
|
+
import { removeAndInsertBlocks } from "../replaceBlocks/replaceBlocks.js";
|
|
40
2
|
export function removeBlocks(editor, blocksToRemove) {
|
|
41
|
-
return
|
|
3
|
+
return removeAndInsertBlocks(editor, blocksToRemove, []).removedBlocks;
|
|
42
4
|
}
|
|
43
5
|
//# sourceMappingURL=removeBlocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeBlocks.js","sourceRoot":"","sources":["../../../../../../src/api/blockManipulation/commands/removeBlocks/removeBlocks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"removeBlocks.js","sourceRoot":"","sources":["../../../../../../src/api/blockManipulation/commands/removeBlocks/removeBlocks.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,UAAU,YAAY,CAK1B,MAAsC,EACtC,cAAiC;IAEjC,OAAO,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC;AACzE,CAAC"}
|
|
@@ -23,5 +23,9 @@ describe("Test removeBlocks", () => {
|
|
|
23
23
|
]);
|
|
24
24
|
expect(getEditor().document).toMatchSnapshot();
|
|
25
25
|
});
|
|
26
|
+
it("Remove all child blocks", () => {
|
|
27
|
+
removeBlocks(getEditor(), ["nested-paragraph-0"]);
|
|
28
|
+
expect(getEditor().document).toMatchSnapshot();
|
|
29
|
+
});
|
|
26
30
|
});
|
|
27
31
|
//# sourceMappingURL=removeBlocks.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeBlocks.test.js","sourceRoot":"","sources":["../../../../../../src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;AAEjC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAE3C,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,YAAY,CAAC,SAAS,EAAE,EAAE;YACxB,aAAa;YACb,aAAa;YACb,yBAAyB;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,YAAY,CAAC,SAAS,EAAE,EAAE;YACxB,aAAa;YACb,SAAS;YACT,yBAAyB;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"removeBlocks.test.js","sourceRoot":"","sources":["../../../../../../src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;AAEjC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAE3C,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,YAAY,CAAC,SAAS,EAAE,EAAE;YACxB,aAAa;YACb,aAAa;YACb,yBAAyB;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,YAAY,CAAC,SAAS,EAAE,EAAE;YACxB,aAAa;YACb,SAAS;YACT,yBAAyB;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAElD,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,29 +1,71 @@
|
|
|
1
1
|
import { blockToNode } from "../../../nodeConversions/blockToNode.js";
|
|
2
2
|
import { nodeToBlock } from "../../../nodeConversions/nodeToBlock.js";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
export function removeAndInsertBlocks(editor, blocksToRemove, blocksToInsert) {
|
|
4
|
+
const ttEditor = editor._tiptapEditor;
|
|
5
|
+
let tr = ttEditor.state.tr;
|
|
6
|
+
// Converts the `PartialBlock`s to ProseMirror nodes to insert them into the
|
|
7
|
+
// document.
|
|
5
8
|
const nodesToInsert = [];
|
|
6
9
|
for (const block of blocksToInsert) {
|
|
7
10
|
nodesToInsert.push(blockToNode(block, editor.pmSchema, editor.schema.styleSchema));
|
|
8
11
|
}
|
|
12
|
+
const idsOfBlocksToRemove = new Set(blocksToRemove.map((block) => typeof block === "string" ? block : block.id));
|
|
13
|
+
const removedBlocks = [];
|
|
9
14
|
const idOfFirstBlock = typeof blocksToRemove[0] === "string"
|
|
10
15
|
? blocksToRemove[0]
|
|
11
16
|
: blocksToRemove[0].id;
|
|
12
|
-
|
|
13
|
-
|
|
17
|
+
let removedSize = 0;
|
|
18
|
+
ttEditor.state.doc.descendants((node, pos) => {
|
|
19
|
+
// Skips traversing nodes after all target blocks have been removed.
|
|
20
|
+
if (idsOfBlocksToRemove.size === 0) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
// Keeps traversing nodes if block with target ID has not been found.
|
|
24
|
+
if (!node.type.isInGroup("bnBlock") ||
|
|
25
|
+
!idsOfBlocksToRemove.has(node.attrs.id)) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
// Saves the block that is being deleted.
|
|
29
|
+
removedBlocks.push(nodeToBlock(node, editor.schema.blockSchema, editor.schema.inlineContentSchema, editor.schema.styleSchema, editor.blockCache));
|
|
30
|
+
idsOfBlocksToRemove.delete(node.attrs.id);
|
|
31
|
+
if (blocksToInsert.length > 0 && node.attrs.id === idOfFirstBlock) {
|
|
14
32
|
const oldDocSize = tr.doc.nodeSize;
|
|
15
|
-
tr.insert(pos, nodesToInsert);
|
|
33
|
+
tr = tr.insert(pos, nodesToInsert);
|
|
16
34
|
const newDocSize = tr.doc.nodeSize;
|
|
17
|
-
|
|
35
|
+
removedSize += oldDocSize - newDocSize;
|
|
36
|
+
}
|
|
37
|
+
const oldDocSize = tr.doc.nodeSize;
|
|
38
|
+
// Checks if the block is the only child of its parent. In this case, we
|
|
39
|
+
// need to delete the parent `blockGroup` node instead of just the
|
|
40
|
+
// `blockContainer`.
|
|
41
|
+
const $pos = tr.doc.resolve(pos - removedSize);
|
|
42
|
+
if ($pos.node().type.name === "blockGroup" &&
|
|
43
|
+
$pos.node($pos.depth - 1).type.name !== "doc" &&
|
|
44
|
+
$pos.node().childCount === 1) {
|
|
45
|
+
tr = tr.delete($pos.before(), $pos.after());
|
|
18
46
|
}
|
|
19
|
-
|
|
47
|
+
else {
|
|
48
|
+
tr = tr.delete(pos - removedSize, pos - removedSize + node.nodeSize);
|
|
49
|
+
}
|
|
50
|
+
const newDocSize = tr.doc.nodeSize;
|
|
51
|
+
removedSize += oldDocSize - newDocSize;
|
|
52
|
+
return false;
|
|
20
53
|
});
|
|
21
|
-
//
|
|
22
|
-
|
|
54
|
+
// Throws an error if now all blocks could be found.
|
|
55
|
+
if (idsOfBlocksToRemove.size > 0) {
|
|
56
|
+
const notFoundIds = [...idsOfBlocksToRemove].join("\n");
|
|
57
|
+
throw Error("Blocks with the following IDs could not be found in the editor: " +
|
|
58
|
+
notFoundIds);
|
|
59
|
+
}
|
|
60
|
+
editor.dispatch(tr);
|
|
61
|
+
// Converts the nodes created from `blocksToInsert` into full `Block`s.
|
|
23
62
|
const insertedBlocks = [];
|
|
24
63
|
for (const node of nodesToInsert) {
|
|
25
64
|
insertedBlocks.push(nodeToBlock(node, editor.schema.blockSchema, editor.schema.inlineContentSchema, editor.schema.styleSchema, editor.blockCache));
|
|
26
65
|
}
|
|
27
66
|
return { insertedBlocks, removedBlocks };
|
|
28
67
|
}
|
|
68
|
+
export function replaceBlocks(editor, blocksToRemove, blocksToInsert) {
|
|
69
|
+
return removeAndInsertBlocks(editor, blocksToRemove, blocksToInsert);
|
|
70
|
+
}
|
|
29
71
|
//# sourceMappingURL=replaceBlocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceBlocks.js","sourceRoot":"","sources":["../../../../../../src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replaceBlocks.js","sourceRoot":"","sources":["../../../../../../src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { getBlockInfo,
|
|
1
|
+
import { getBlockInfo, getNearestBlockPos, } from "../../../getBlockInfoFromPos.js";
|
|
2
2
|
export const splitBlockCommand = (posInBlock, keepType, keepProps) => {
|
|
3
3
|
return ({ state, dispatch, }) => {
|
|
4
|
-
const nearestBlockContainerPos =
|
|
4
|
+
const nearestBlockContainerPos = getNearestBlockPos(state.doc, posInBlock);
|
|
5
5
|
const info = getBlockInfo(nearestBlockContainerPos);
|
|
6
6
|
if (!info.isBlockContainer) {
|
|
7
7
|
throw new Error(`BlockContainer expected when calling splitBlock, position ${posInBlock}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitBlock.js","sourceRoot":"","sources":["../../../../../../src/api/blockManipulation/commands/splitBlock/splitBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"splitBlock.js","sourceRoot":"","sources":["../../../../../../src/api/blockManipulation/commands/splitBlock/splitBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAAkB,EAClB,QAAkB,EAClB,SAAmB,EACnB,EAAE;IACF,OAAO,CAAC,EACN,KAAK,EACL,QAAQ,GAIT,EAAE,EAAE;QACH,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE3E,MAAM,IAAI,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,6DAA6D,UAAU,EAAE,CAC1E,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG;YACZ;gBACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,kCAAkC;gBAChE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;aACtE;YACD;gBACE,IAAI,EAAE,QAAQ;oBACZ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;oBAC7B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;gBACnC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;aAC5D;SACF,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptedMIMETypes.js","sourceRoot":"","sources":["../../../../../src/api/clipboard/fromClipboard/acceptedMIMETypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,oBAAoB;IACpB,gBAAgB;IAChB,
|
|
1
|
+
{"version":3,"file":"acceptedMIMETypes.js","sourceRoot":"","sources":["../../../../../src/api/clipboard/fromClipboard/acceptedMIMETypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,oBAAoB;IACpB,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,OAAO;CACC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getBlockInfo,
|
|
1
|
+
import { getBlockInfo, getNearestBlockPos } from "../../getBlockInfoFromPos.js";
|
|
2
2
|
import { acceptedMIMETypes } from "./acceptedMIMETypes.js";
|
|
3
3
|
function checkFileExtensionsMatch(fileExtension1, fileExtension2) {
|
|
4
4
|
if (!fileExtension1.startsWith(".") || !fileExtension2.startsWith(".")) {
|
|
@@ -25,6 +25,8 @@ function checkMIMETypesMatch(mimeType1, mimeType2) {
|
|
|
25
25
|
}
|
|
26
26
|
export async function handleFileInsertion(event, editor) {
|
|
27
27
|
if (!editor.uploadFile) {
|
|
28
|
+
// eslint-disable-next-line no-console
|
|
29
|
+
console.warn("Attempted ot insert file, but uploadFile is not set in the BlockNote editor options");
|
|
28
30
|
return;
|
|
29
31
|
}
|
|
30
32
|
const dataTransfer = "dataTransfer" in event ? event.dataTransfer : event.clipboardData;
|
|
@@ -87,7 +89,7 @@ export async function handleFileInsertion(event, editor) {
|
|
|
87
89
|
if (!pos) {
|
|
88
90
|
return;
|
|
89
91
|
}
|
|
90
|
-
const posInfo =
|
|
92
|
+
const posInfo = getNearestBlockPos(editor._tiptapEditor.state.doc, pos.pos);
|
|
91
93
|
const blockInfo = getBlockInfo(posInfo);
|
|
92
94
|
insertedBlockId = editor.insertBlocks([fileBlock], blockInfo.bnBlock.node.attrs.id, "after")[0].id;
|
|
93
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleFileInsertion.js","sourceRoot":"","sources":["../../../../../src/api/clipboard/fromClipboard/handleFileInsertion.ts"],"names":[],"mappings":"AAQA,OAAO,
|
|
1
|
+
{"version":3,"file":"handleFileInsertion.js","sourceRoot":"","sources":["../../../../../src/api/clipboard/fromClipboard/handleFileInsertion.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,6 @@ export async function handleVSCodePaste(event, editor) {
|
|
|
5
5
|
return false;
|
|
6
6
|
}
|
|
7
7
|
const text = event.clipboardData.getData("text/plain");
|
|
8
|
-
const vscode = event.clipboardData.getData("vscode-editor-data");
|
|
9
|
-
const vscodeData = vscode ? JSON.parse(vscode) : undefined;
|
|
10
|
-
const language = vscodeData?.mode;
|
|
11
8
|
if (!text) {
|
|
12
9
|
return false;
|
|
13
10
|
}
|
|
@@ -15,6 +12,9 @@ export async function handleVSCodePaste(event, editor) {
|
|
|
15
12
|
view.pasteText(text);
|
|
16
13
|
return true;
|
|
17
14
|
}
|
|
15
|
+
const vscode = event.clipboardData.getData("vscode-editor-data");
|
|
16
|
+
const vscodeData = vscode ? JSON.parse(vscode) : undefined;
|
|
17
|
+
const language = vscodeData?.mode;
|
|
18
18
|
if (!language) {
|
|
19
19
|
return false;
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleVSCodePaste.js","sourceRoot":"","sources":["../../../../../src/api/clipboard/fromClipboard/handleVSCodePaste.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAIrC,KAAqB,EAAE,MAAsC;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAE9B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,aAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"handleVSCodePaste.js","sourceRoot":"","sources":["../../../../../src/api/clipboard/fromClipboard/handleVSCodePaste.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAIrC,KAAqB,EAAE,MAAsC;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAE9B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,aAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAExD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,aAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,CAAC;IAElC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uDAAuD;IACvD,uGAAuG;IACvG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CACjC,8BAA8B,QAAQ,KAAK,IAAI,CAAC,OAAO,CACrD,QAAQ,EACR,IAAI,CACL,eAAe,CACjB,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Retrieves the position just before the nearest
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* just before the last blockContainer is returned.
|
|
2
|
+
* Retrieves the position just before the nearest block node in a ProseMirror
|
|
3
|
+
* doc, relative to a position. If the position is within a block node or its
|
|
4
|
+
* descendants, the position just before it is returned. If the position is not
|
|
5
|
+
* within a block node or its descendants, the position just before the next
|
|
6
|
+
* closest block node is returned. If the position is beyond the last block, the
|
|
7
|
+
* position just before the last block is returned.
|
|
9
8
|
* @param doc The ProseMirror doc.
|
|
10
9
|
* @param pos An integer position in the document.
|
|
11
10
|
* @returns The position just before the nearest blockContainer node.
|
|
12
11
|
*/
|
|
13
|
-
export function
|
|
12
|
+
export function getNearestBlockPos(doc, pos) {
|
|
14
13
|
const $pos = doc.resolve(pos);
|
|
15
|
-
// Checks if the position provided is already just before a
|
|
16
|
-
//
|
|
14
|
+
// Checks if the position provided is already just before a block node, in
|
|
15
|
+
// which case we return the position.
|
|
17
16
|
if ($pos.nodeAfter && $pos.nodeAfter.type.isInGroup("bnBlock")) {
|
|
18
17
|
return {
|
|
19
18
|
posBeforeNode: $pos.pos,
|
|
@@ -21,7 +20,7 @@ export function getNearestBlockContainerPos(doc, pos) {
|
|
|
21
20
|
};
|
|
22
21
|
}
|
|
23
22
|
// Checks the node containing the position and its ancestors until a
|
|
24
|
-
//
|
|
23
|
+
// block node is found and returned.
|
|
25
24
|
let depth = $pos.depth;
|
|
26
25
|
let node = $pos.node(depth);
|
|
27
26
|
while (depth > 0) {
|
|
@@ -34,13 +33,12 @@ export function getNearestBlockContainerPos(doc, pos) {
|
|
|
34
33
|
depth--;
|
|
35
34
|
node = $pos.node(depth);
|
|
36
35
|
}
|
|
37
|
-
// If the position doesn't lie within a
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
// collaboration plugin.
|
|
36
|
+
// If the position doesn't lie within a block node, we instead find the
|
|
37
|
+
// position of the next closest one. If the position is beyond the last block,
|
|
38
|
+
// we return the position of the last block. While running `doc.descendants`
|
|
39
|
+
// is expensive, this case should be very rarely triggered. However, it's
|
|
40
|
+
// possible for the position to sometimes be beyond the last block node. This
|
|
41
|
+
// is a problem specifically when using the collaboration plugin.
|
|
44
42
|
const allBlockContainerPositions = [];
|
|
45
43
|
doc.descendants((node, pos) => {
|
|
46
44
|
if (node.type.isInGroup("bnBlock")) {
|
|
@@ -64,7 +62,7 @@ export function getNearestBlockContainerPos(doc, pos) {
|
|
|
64
62
|
* the ProseMirror positions just before & after each node.
|
|
65
63
|
* @param node The main `blockContainer` node that the block information should
|
|
66
64
|
* be retrieved from,
|
|
67
|
-
* @param
|
|
65
|
+
* @param bnBlockBeforePosOffset the position just before the
|
|
68
66
|
* `blockContainer` node in the document.
|
|
69
67
|
*/
|
|
70
68
|
export function getBlockInfoWithManualOffset(node, bnBlockBeforePosOffset) {
|
|
@@ -161,11 +159,7 @@ export function getBlockInfoFromResolvedPos(resolvedPos) {
|
|
|
161
159
|
* @param state The ProseMirror editor state.
|
|
162
160
|
*/
|
|
163
161
|
export function getBlockInfoFromSelection(state) {
|
|
164
|
-
const posInfo =
|
|
165
|
-
|
|
166
|
-
if (!ret.isBlockContainer) {
|
|
167
|
-
throw new Error(`selection always expected to return blockContainer ${state.selection.anchor}`);
|
|
168
|
-
}
|
|
169
|
-
return ret;
|
|
162
|
+
const posInfo = getNearestBlockPos(state.doc, state.selection.anchor);
|
|
163
|
+
return getBlockInfo(posInfo);
|
|
170
164
|
}
|
|
171
165
|
//# sourceMappingURL=getBlockInfoFromPos.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBlockInfoFromPos.js","sourceRoot":"","sources":["../../../src/api/getBlockInfoFromPos.ts"],"names":[],"mappings":"AA8CA
|
|
1
|
+
{"version":3,"file":"getBlockInfoFromPos.js","sourceRoot":"","sources":["../../../src/api/getBlockInfoFromPos.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,11 +27,14 @@ const CodeBlockContent = createStronglyTypedTiptapNode({
|
|
|
27
27
|
};
|
|
28
28
|
},
|
|
29
29
|
addAttributes() {
|
|
30
|
+
const supportedLanguages = this.options
|
|
31
|
+
.supportedLanguages;
|
|
30
32
|
return {
|
|
31
33
|
language: {
|
|
32
34
|
default: this.options.defaultLanguage,
|
|
33
35
|
parseHTML: (inputElement) => {
|
|
34
36
|
let element = inputElement;
|
|
37
|
+
let language = null;
|
|
35
38
|
if (element?.tagName === "DIV" &&
|
|
36
39
|
element?.dataset.contentType === "codeBlock") {
|
|
37
40
|
element = element.children[0];
|
|
@@ -41,17 +44,22 @@ const CodeBlockContent = createStronglyTypedTiptapNode({
|
|
|
41
44
|
}
|
|
42
45
|
const dataLanguage = element?.getAttribute("data-language");
|
|
43
46
|
if (dataLanguage) {
|
|
44
|
-
|
|
47
|
+
language = dataLanguage.toLowerCase();
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const classNames = [...(element?.className.split(" ") || [])];
|
|
51
|
+
const languages = classNames
|
|
52
|
+
.filter((className) => className.startsWith("language-"))
|
|
53
|
+
.map((className) => className.replace("language-", ""));
|
|
54
|
+
const [classLanguage] = languages;
|
|
55
|
+
language = classLanguage.toLowerCase();
|
|
45
56
|
}
|
|
46
|
-
const classNames = [...(element?.className.split(" ") || [])];
|
|
47
|
-
const languages = classNames
|
|
48
|
-
.filter((className) => className.startsWith("language-"))
|
|
49
|
-
.map((className) => className.replace("language-", ""));
|
|
50
|
-
const [language] = languages;
|
|
51
57
|
if (!language) {
|
|
52
58
|
return null;
|
|
53
59
|
}
|
|
54
|
-
return
|
|
60
|
+
return (supportedLanguages.find(({ match }) => {
|
|
61
|
+
return match.includes(language);
|
|
62
|
+
})?.id || this.options.defaultLanguage);
|
|
55
63
|
},
|
|
56
64
|
renderHTML: (attributes) => {
|
|
57
65
|
return attributes.language && attributes.language !== "text"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlockContent.js","sourceRoot":"","sources":["../../../../src/blocks/CodeBlockContent/CodeBlockContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAU,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAEL,oBAAoB,EACpB,iBAAiB,GAElB,MAAM,OAAO,CAAC;AACf,OAAO,EACL,0CAA0C,EAC1C,6BAA6B,GAE9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EACL,yBAAyB,GAE1B,MAAM,gCAAgC,CAAC;AAQxC,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,CAAC,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC9D;CACmB,CAAC;AAEvB,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;IACrD,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;IACd,UAAU;QACR,OAAO;YACL,eAAe,EAAE,YAAY;YAC7B,iBAAiB,EAAE,IAAI;YACvB,kBAAkB,EAAE,yBAAyB;SAC9C,CAAC;IACJ,CAAC;IACD,aAAa;QACX,OAAO;YACL,QAAQ,EAAE;gBACR,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;gBACrC,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;oBAC1B,IAAI,OAAO,GAAG,YAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"CodeBlockContent.js","sourceRoot":"","sources":["../../../../src/blocks/CodeBlockContent/CodeBlockContent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { bundledLanguagesInfo } from "shiki
|
|
1
|
+
import { bundledLanguagesInfo } from "shiki";
|
|
2
2
|
export const defaultSupportedLanguages = [
|
|
3
3
|
{
|
|
4
4
|
id: "text",
|
|
@@ -7,23 +7,42 @@ export const defaultSupportedLanguages = [
|
|
|
7
7
|
},
|
|
8
8
|
...bundledLanguagesInfo
|
|
9
9
|
.filter((lang) => {
|
|
10
|
-
return
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"html
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
10
|
+
return [
|
|
11
|
+
"c",
|
|
12
|
+
"cpp",
|
|
13
|
+
"css",
|
|
14
|
+
"glsl",
|
|
15
|
+
"graphql",
|
|
16
|
+
"haml",
|
|
17
|
+
"html",
|
|
18
|
+
"java",
|
|
19
|
+
"javascript",
|
|
20
|
+
"json",
|
|
21
|
+
"jsonc",
|
|
22
|
+
"jsonl",
|
|
23
|
+
"jsx",
|
|
24
|
+
"julia",
|
|
25
|
+
"less",
|
|
26
|
+
"markdown",
|
|
27
|
+
"mdx",
|
|
28
|
+
"php",
|
|
29
|
+
"postcss",
|
|
30
|
+
"pug",
|
|
31
|
+
"python",
|
|
32
|
+
"r",
|
|
33
|
+
"regexp",
|
|
34
|
+
"sass",
|
|
35
|
+
"scss",
|
|
36
|
+
"shellscript",
|
|
37
|
+
"sql",
|
|
38
|
+
"svelte",
|
|
39
|
+
"typescript",
|
|
40
|
+
"vue",
|
|
41
|
+
"vue-html",
|
|
42
|
+
"wasm",
|
|
43
|
+
"wgsl",
|
|
44
|
+
"xml",
|
|
45
|
+
"yaml",
|
|
27
46
|
].includes(lang.id);
|
|
28
47
|
})
|
|
29
48
|
.map((lang) => ({
|
|
@@ -31,6 +50,7 @@ export const defaultSupportedLanguages = [
|
|
|
31
50
|
id: lang.id,
|
|
32
51
|
name: lang.name,
|
|
33
52
|
})),
|
|
53
|
+
{ id: "tsx", name: "TSX", match: ["tsx", "typescriptreact"] },
|
|
34
54
|
{
|
|
35
55
|
id: "haskell",
|
|
36
56
|
name: "Haskell",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultSupportedLanguages.js","sourceRoot":"","sources":["../../../../src/blocks/CodeBlockContent/defaultSupportedLanguages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"defaultSupportedLanguages.js","sourceRoot":"","sources":["../../../../src/blocks/CodeBlockContent/defaultSupportedLanguages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAQ7C,MAAM,CAAC,MAAM,yBAAyB,GAA8B;IAClE;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;KAChC;IACD,GAAG,oBAAoB;SACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,OAAO;YACL,GAAG;YACH,KAAK;YACL,KAAK;YACL,MAAM;YACN,SAAS;YACT,MAAM;YACN,MAAM;YACN,MAAM;YACN,YAAY;YACZ,MAAM;YACN,OAAO;YACP,OAAO;YACP,KAAK;YACL,OAAO;YACP,MAAM;YACN,UAAU;YACV,KAAK;YACL,KAAK;YACL,SAAS;YACT,KAAK;YACL,QAAQ;YACR,GAAG;YACH,QAAQ;YACR,MAAM;YACN,MAAM;YACN,aAAa;YACb,KAAK;YACL,QAAQ;YACR,YAAY;YACZ,KAAK;YACL,UAAU;YACV,MAAM;YACN,MAAM;YACN,KAAK;YACL,MAAM;SACP,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACzC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;IACL,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE;IAC7D;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;KACzB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;KAC9B;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;KACjB;IACD;QACE,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,CAAC,KAAK,CAAC;KACf;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;KAC1B;IACD;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;KACtB;IACD;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;KACtB;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;KACjB;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,OAAO,CAAC;KACjB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC;KAC/B;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;KAC/B;CACF,CAAC"}
|