Skip to content

Commit cf31ed6

Browse files
committed
chore: avoid withMultiColumn
1 parent 41b2e43 commit cf31ed6

File tree

7 files changed

+44
-43
lines changed

7 files changed

+44
-43
lines changed

docs/app/(home)/hero/DemoEditor.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ import {
1616
getMultiColumnSlashMenuItems,
1717
locales as multiColumnLocales,
1818
multiColumnDropCursor,
19-
withMultiColumn,
19+
ColumnListBlock,
20+
ColumnBlock,
2021
} from "@blocknote/xl-multi-column";
2122
import "@blocknote/mantine/style.css";
2223
import { useTheme } from "next-themes";
@@ -90,7 +91,12 @@ export default function DemoEditor() {
9091
...locales.en,
9192
multi_column: multiColumnLocales.en,
9293
},
93-
schema: withMultiColumn(BlockNoteSchema.create()),
94+
schema: BlockNoteSchema.create().extend({
95+
blockSpecs: {
96+
column: ColumnBlock,
97+
columnList: ColumnListBlock,
98+
},
99+
}),
94100
dropCursor: multiColumnDropCursor,
95101
collaboration: {
96102
provider,

examples/01-basic/03-multi-column/src/App.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,23 @@ import {
1313
useCreateBlockNote,
1414
} from "@blocknote/react";
1515
import {
16+
ColumnBlock,
17+
ColumnListBlock,
1618
getMultiColumnSlashMenuItems,
1719
multiColumnDropCursor,
1820
locales as multiColumnLocales,
19-
withMultiColumn,
2021
} from "@blocknote/xl-multi-column";
2122
import { useMemo } from "react";
2223
export default function App() {
2324
// Creates a new editor instance.
2425
const editor = useCreateBlockNote({
2526
// Adds column and column list blocks to the schema.
26-
schema: withMultiColumn(BlockNoteSchema.create()),
27+
schema: BlockNoteSchema.create().extend({
28+
blockSpecs: {
29+
column: ColumnBlock,
30+
columnList: ColumnListBlock,
31+
},
32+
}),
2733
// The default drop cursor only shows up above and below blocks - we replace
2834
// it with the multi-column one that also shows up on the sides of blocks.
2935
dropCursor: multiColumnDropCursor,

examples/05-interoperability/05-converting-blocks-to-pdf/src/App.tsx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ import {
2222
getMultiColumnSlashMenuItems,
2323
multiColumnDropCursor,
2424
locales as multiColumnLocales,
25-
withMultiColumn,
25+
ColumnListBlock,
26+
ColumnBlock,
2627
} from "@blocknote/xl-multi-column";
2728
import { PDFViewer } from "@react-pdf/renderer";
2829
import { useEffect, useMemo, useState } from "react";
@@ -35,13 +36,13 @@ export default function App() {
3536

3637
// Creates a new editor instance with some initial content.
3738
const editor = useCreateBlockNote({
38-
schema: withMultiColumn(
39-
BlockNoteSchema.create().extend({
40-
blockSpecs: {
41-
pageBreak: createPageBreakBlockSpec(),
42-
},
43-
}),
44-
),
39+
schema: BlockNoteSchema.create().extend({
40+
blockSpecs: {
41+
pageBreak: createPageBreakBlockSpec(),
42+
column: ColumnBlock,
43+
columnList: ColumnListBlock,
44+
},
45+
}),
4546
dropCursor: multiColumnDropCursor,
4647
dictionary: {
4748
...locales.en,

examples/05-interoperability/06-converting-blocks-to-docx/src/App.tsx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ import {
2222
getMultiColumnSlashMenuItems,
2323
multiColumnDropCursor,
2424
locales as multiColumnLocales,
25-
withMultiColumn,
25+
ColumnListBlock,
26+
ColumnBlock,
2627
} from "@blocknote/xl-multi-column";
2728
import { useMemo } from "react";
2829

@@ -31,13 +32,13 @@ import "./styles.css";
3132
export default function App() {
3233
// Creates a new editor instance with some initial content.
3334
const editor = useCreateBlockNote({
34-
schema: withMultiColumn(
35-
BlockNoteSchema.create().extend({
36-
blockSpecs: {
37-
pageBreak: createPageBreakBlockSpec(),
38-
},
39-
}),
40-
),
35+
schema: BlockNoteSchema.create().extend({
36+
blockSpecs: {
37+
pageBreak: createPageBreakBlockSpec(),
38+
column: ColumnBlock,
39+
columnList: ColumnListBlock,
40+
},
41+
}),
4142
dropCursor: multiColumnDropCursor,
4243
dictionary: {
4344
...locales.en,

examples/05-interoperability/07-converting-blocks-to-odt/src/App.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ import {
2222
getMultiColumnSlashMenuItems,
2323
multiColumnDropCursor,
2424
locales as multiColumnLocales,
25-
withMultiColumn,
25+
ColumnBlock,
26+
ColumnListBlock,
2627
} from "@blocknote/xl-multi-column";
2728
import { useMemo } from "react";
2829

@@ -31,10 +32,12 @@ import "./styles.css";
3132
export default function App() {
3233
// Creates a new editor instance with some initial content.
3334
const editor = useCreateBlockNote({
34-
schema: withMultiColumn(
35+
schema: (
3536
BlockNoteSchema.create().extend({
3637
blockSpecs: {
3738
pageBreak: createPageBreakBlockSpec(),
39+
column: ColumnBlock,
40+
columnList: ColumnListBlock,
3841
},
3942
}),
4043
),

packages/xl-ai/src/testUtil/cases/schemas/mention.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
1-
import {
2-
BlockNoteSchema,
3-
createInlineContentSpec,
4-
defaultInlineContentSpecs,
5-
} from "@blocknote/core";
1+
import { BlockNoteSchema, createInlineContentSpec } from "@blocknote/core";
62

73
export const mention = createInlineContentSpec(
84
{
@@ -23,12 +19,11 @@ export const mention = createInlineContentSpec(
2319
dom: mention,
2420
};
2521
},
26-
}
22+
},
2723
);
2824

29-
export const schemaWithMention = BlockNoteSchema.create({
25+
export const schemaWithMention = BlockNoteSchema.create().extend({
3026
inlineContentSpecs: {
3127
mention,
32-
...defaultInlineContentSpecs,
3328
},
3429
});

packages/xl-multi-column/src/blocks/schema.ts

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,10 @@ export const withMultiColumn = <
2323
>(
2424
schema: BlockNoteSchema<B, I, S>,
2525
) => {
26-
return BlockNoteSchema.create({
26+
return schema.extend({
2727
blockSpecs: {
28-
...schema.blockSpecs,
2928
column: ColumnBlock,
3029
columnList: ColumnListBlock,
3130
},
32-
inlineContentSpecs: schema.inlineContentSpecs,
33-
styleSpecs: schema.styleSpecs,
34-
}) as any as BlockNoteSchema<
35-
// typescript needs some help here
36-
B & {
37-
column: typeof ColumnBlock.config;
38-
columnList: typeof ColumnListBlock.config;
39-
},
40-
I,
41-
S
42-
>;
31+
});
4332
};

0 commit comments

Comments
 (0)