Skip to content

Commit 748542e

Browse files
authored
use defaults nicely for react uifactories (#219)
1 parent 496e20b commit 748542e

File tree

1 file changed

+21
-26
lines changed

1 file changed

+21
-26
lines changed

packages/react/src/hooks/useBlockNote.ts

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { BlockNoteEditor, BlockNoteEditorOptions } from "@blocknote/core";
22
import { DependencyList, FC, useEffect, useState } from "react";
3+
import { getBlockNoteTheme } from "../BlockNoteTheme";
34
import { createReactBlockSideMenuFactory } from "../BlockSideMenu/BlockSideMenuFactory";
5+
import { DragHandleMenuProps } from "../BlockSideMenu/components/DragHandleMenu";
46
import { createReactFormattingToolbarFactory } from "../FormattingToolbar/FormattingToolbarFactory";
57
import { createReactHyperlinkToolbarFactory } from "../HyperlinkToolbar/HyperlinkToolbarFactory";
6-
import { createReactSlashMenuFactory } from "../SlashMenu/SlashMenuFactory";
78
import { defaultReactSlashMenuItems } from "../SlashMenu/defaultReactSlashMenuItems";
8-
import { getBlockNoteTheme } from "../BlockNoteTheme";
9-
import { DragHandleMenuProps } from "../BlockSideMenu/components/DragHandleMenu";
9+
import { createReactSlashMenuFactory } from "../SlashMenu/SlashMenuFactory";
1010

1111
//based on https://github.com/ueberdosis/tiptap/blob/main/packages/react/src/useEditor.ts
1212

@@ -45,38 +45,33 @@ export const useBlockNote = (
4545
...options,
4646
};
4747

48-
let uiFactories: any;
49-
5048
if (newOptions.customElements && newOptions.uiFactories) {
5149
console.warn(
5250
"BlockNote editor initialized with both `customElements` and `uiFactories` options, prioritizing `uiFactories`."
5351
);
5452
}
5553

56-
if (newOptions.uiFactories) {
57-
uiFactories = newOptions.uiFactories;
58-
} else {
59-
uiFactories = {
60-
formattingToolbarFactory: createReactFormattingToolbarFactory(
61-
getBlockNoteTheme(newOptions.theme === "dark"),
62-
newOptions.customElements?.formattingToolbar
63-
),
64-
hyperlinkToolbarFactory: createReactHyperlinkToolbarFactory(
65-
getBlockNoteTheme(newOptions.theme === "dark")
66-
),
67-
slashMenuFactory: createReactSlashMenuFactory(
68-
getBlockNoteTheme(newOptions.theme === "dark")
69-
),
70-
blockSideMenuFactory: createReactBlockSideMenuFactory(
71-
getBlockNoteTheme(newOptions.theme === "dark"),
72-
newOptions.customElements?.dragHandleMenu
73-
),
74-
};
75-
}
54+
let uiFactories = {
55+
formattingToolbarFactory: createReactFormattingToolbarFactory(
56+
getBlockNoteTheme(newOptions.theme === "dark"),
57+
newOptions.customElements?.formattingToolbar
58+
),
59+
hyperlinkToolbarFactory: createReactHyperlinkToolbarFactory(
60+
getBlockNoteTheme(newOptions.theme === "dark")
61+
),
62+
slashMenuFactory: createReactSlashMenuFactory(
63+
getBlockNoteTheme(newOptions.theme === "dark")
64+
),
65+
blockSideMenuFactory: createReactBlockSideMenuFactory(
66+
getBlockNoteTheme(newOptions.theme === "dark"),
67+
newOptions.customElements?.dragHandleMenu
68+
),
69+
...newOptions.uiFactories,
70+
};
7671

7772
newOptions = {
7873
...newOptions,
79-
uiFactories: uiFactories,
74+
uiFactories,
8075
};
8176

8277
console.log("create new blocknote instance");

0 commit comments

Comments
 (0)