@blocknote/core 0.22.0 → 0.23.1

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.
Files changed (69) hide show
  1. package/dist/blocknote.js +2416 -1808
  2. package/dist/blocknote.js.map +1 -1
  3. package/dist/blocknote.umd.cjs +7 -7
  4. package/dist/blocknote.umd.cjs.map +1 -1
  5. package/dist/style.css +1 -1
  6. package/dist/tsconfig.tsbuildinfo +1 -1
  7. package/dist/webpack-stats.json +1 -1
  8. package/package.json +2 -2
  9. package/src/api/clipboard/__snapshots__/internal/basicBlocks.html +1 -0
  10. package/src/api/clipboard/__snapshots__/internal/basicBlocksWithProps.html +1 -0
  11. package/src/api/clipboard/clipboardInternal.test.ts +126 -0
  12. package/src/api/exporters/html/__snapshots__/pageBreak/basic/external.html +1 -0
  13. package/src/api/exporters/html/__snapshots__/pageBreak/basic/internal.html +1 -0
  14. package/src/api/exporters/markdown/__snapshots__/pageBreak/basic/markdown.md +0 -0
  15. package/src/api/nodeConversions/__snapshots__/nodeConversions.test.ts.snap +16 -0
  16. package/src/api/parsers/html/__snapshots__/parse-codeblocks.json +62 -0
  17. package/src/api/parsers/html/parseHTML.test.ts +9 -0
  18. package/src/api/testUtil/cases/defaultSchema.ts +15 -1
  19. package/src/blocks/CodeBlockContent/CodeBlockContent.ts +32 -11
  20. package/src/blocks/HeadingBlockContent/HeadingBlockContent.ts +0 -9
  21. package/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.ts +1 -1
  22. package/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.ts +1 -1
  23. package/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.ts +1 -1
  24. package/src/blocks/PageBreakBlockContent/PageBreakBlockContent.ts +49 -0
  25. package/src/blocks/PageBreakBlockContent/getPageBreakSlashMenuItems.ts +45 -0
  26. package/src/blocks/PageBreakBlockContent/schema.ts +40 -0
  27. package/src/editor/Block.css +15 -1
  28. package/src/editor/BlockNoteEditor.ts +37 -12
  29. package/src/editor/BlockNoteExtensions.ts +111 -16
  30. package/src/editor/editor.css +22 -7
  31. package/src/extensions/SideMenu/SideMenuPlugin.ts +128 -23
  32. package/src/extensions/SideMenu/dragging.ts +0 -1
  33. package/src/extensions/SuggestionMenu/DefaultSuggestionItem.ts +1 -1
  34. package/src/i18n/locales/ar.ts +6 -0
  35. package/src/i18n/locales/de.ts +6 -0
  36. package/src/i18n/locales/en.ts +6 -0
  37. package/src/i18n/locales/es.ts +6 -0
  38. package/src/i18n/locales/fr.ts +47 -17
  39. package/src/i18n/locales/hr.ts +72 -54
  40. package/src/i18n/locales/index.ts +1 -0
  41. package/src/i18n/locales/is.ts +6 -0
  42. package/src/i18n/locales/it.ts +315 -0
  43. package/src/i18n/locales/ja.ts +6 -0
  44. package/src/i18n/locales/ko.ts +6 -0
  45. package/src/i18n/locales/nl.ts +6 -0
  46. package/src/i18n/locales/pl.ts +6 -0
  47. package/src/i18n/locales/pt.ts +6 -0
  48. package/src/i18n/locales/ru.ts +6 -0
  49. package/src/i18n/locales/vi.ts +6 -0
  50. package/src/i18n/locales/zh.ts +6 -0
  51. package/src/index.ts +3 -0
  52. package/types/src/api/testUtil/cases/defaultSchema.d.ts +2 -1
  53. package/types/src/blocks/CodeBlockContent/CodeBlockContent.d.ts +2 -0
  54. package/types/src/blocks/PageBreakBlockContent/PageBreakBlockContent.d.ts +31 -0
  55. package/types/src/blocks/PageBreakBlockContent/getPageBreakSlashMenuItems.d.ts +8 -0
  56. package/types/src/blocks/PageBreakBlockContent/schema.d.ts +86 -0
  57. package/types/src/editor/BlockNoteEditor.d.ts +18 -2
  58. package/types/src/editor/BlockNoteExtensions.d.ts +2 -0
  59. package/types/src/extensions/SideMenu/SideMenuPlugin.d.ts +26 -5
  60. package/types/src/extensions/SuggestionMenu/DefaultSuggestionItem.d.ts +1 -1
  61. package/types/src/i18n/locales/de.d.ts +6 -0
  62. package/types/src/i18n/locales/en.d.ts +6 -0
  63. package/types/src/i18n/locales/es.d.ts +6 -0
  64. package/types/src/i18n/locales/hr.d.ts +6 -0
  65. package/types/src/i18n/locales/index.d.ts +1 -0
  66. package/types/src/i18n/locales/it.d.ts +245 -0
  67. package/types/src/index.d.ts +3 -0
  68. package/types/src/pm-nodes/BlockContainer.d.ts +1 -1
  69. package/types/src/pm-nodes/BlockGroup.d.ts +1 -1
@@ -0,0 +1,31 @@
1
+ import { Props } from "../../schema/index.js";
2
+ export declare const pageBreakConfig: {
3
+ type: "pageBreak";
4
+ propSchema: {};
5
+ content: "none";
6
+ isFileBlock: false;
7
+ isSelectable: false;
8
+ };
9
+ export declare const pageBreakRender: () => {
10
+ dom: HTMLDivElement;
11
+ };
12
+ export declare const pageBreakParse: (element: HTMLElement) => Partial<Props<typeof pageBreakConfig.propSchema>> | undefined;
13
+ export declare const pageBreakToExternalHTML: () => {
14
+ dom: HTMLDivElement;
15
+ };
16
+ export declare const PageBreak: {
17
+ config: {
18
+ type: "pageBreak";
19
+ propSchema: {};
20
+ content: "none";
21
+ isFileBlock: false;
22
+ isSelectable: false;
23
+ };
24
+ implementation: import("../../schema/index.js").TiptapBlockImplementation<{
25
+ type: "pageBreak";
26
+ propSchema: {};
27
+ content: "none";
28
+ isFileBlock: false;
29
+ isSelectable: false;
30
+ }, any, import("../../schema/index.js").InlineContentSchema, import("../../schema/index.js").StyleSchema>;
31
+ };
@@ -0,0 +1,8 @@
1
+ import { BlockNoteEditor } from "../../editor/BlockNoteEditor.js";
2
+ import { DefaultSuggestionItem } from "../../extensions/SuggestionMenu/DefaultSuggestionItem.js";
3
+ import { BlockSchema, InlineContentSchema, StyleSchema } from "../../schema/index.js";
4
+ import { pageBreakSchema } from "./schema.js";
5
+ export declare function checkPageBreakBlocksInSchema<I extends InlineContentSchema, S extends StyleSchema>(editor: BlockNoteEditor<any, I, S>): editor is BlockNoteEditor<typeof pageBreakSchema.blockSchema, I, S>;
6
+ export declare function getPageBreakSlashMenuItems<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(editor: BlockNoteEditor<BSchema, I, S>): (Omit<DefaultSuggestionItem, "key"> & {
7
+ key: "page_break";
8
+ })[];
@@ -0,0 +1,86 @@
1
+ import { BlockNoteSchema } from "../../editor/BlockNoteSchema.js";
2
+ import { InlineContentSchema, StyleSchema } from "../../schema/index.js";
3
+ import { PageBreak } from "./PageBreakBlockContent.js";
4
+ export declare const pageBreakSchema: BlockNoteSchema<import("../../schema/index.js").BlockSchemaFromSpecs<{
5
+ pageBreak: {
6
+ config: {
7
+ type: "pageBreak";
8
+ propSchema: {};
9
+ content: "none";
10
+ isFileBlock: false;
11
+ isSelectable: false;
12
+ };
13
+ implementation: import("../../schema/index.js").TiptapBlockImplementation<{
14
+ type: "pageBreak";
15
+ propSchema: {};
16
+ content: "none";
17
+ isFileBlock: false;
18
+ isSelectable: false;
19
+ }, any, InlineContentSchema, StyleSchema>;
20
+ };
21
+ }>, import("../../schema/index.js").InlineContentSchemaFromSpecs<{
22
+ text: {
23
+ config: "text";
24
+ implementation: any;
25
+ };
26
+ link: {
27
+ config: "link";
28
+ implementation: any;
29
+ };
30
+ }>, import("../../schema/index.js").StyleSchemaFromSpecs<{
31
+ bold: {
32
+ config: {
33
+ type: string;
34
+ propSchema: "boolean";
35
+ };
36
+ implementation: import("../../schema/index.js").StyleImplementation;
37
+ };
38
+ italic: {
39
+ config: {
40
+ type: string;
41
+ propSchema: "boolean";
42
+ };
43
+ implementation: import("../../schema/index.js").StyleImplementation;
44
+ };
45
+ underline: {
46
+ config: {
47
+ type: string;
48
+ propSchema: "boolean";
49
+ };
50
+ implementation: import("../../schema/index.js").StyleImplementation;
51
+ };
52
+ strike: {
53
+ config: {
54
+ type: string;
55
+ propSchema: "boolean";
56
+ };
57
+ implementation: import("../../schema/index.js").StyleImplementation;
58
+ };
59
+ code: {
60
+ config: {
61
+ type: string;
62
+ propSchema: "boolean";
63
+ };
64
+ implementation: import("../../schema/index.js").StyleImplementation;
65
+ };
66
+ textColor: {
67
+ config: {
68
+ type: string;
69
+ propSchema: "string";
70
+ };
71
+ implementation: import("../../schema/index.js").StyleImplementation;
72
+ };
73
+ backgroundColor: {
74
+ config: {
75
+ type: string;
76
+ propSchema: "string";
77
+ };
78
+ implementation: import("../../schema/index.js").StyleImplementation;
79
+ };
80
+ }>>;
81
+ /**
82
+ * Adds page break support to the given schema.
83
+ */
84
+ export declare const withPageBreak: <B extends Record<string, import("../../schema/index.js").BlockConfig>, I extends InlineContentSchema, S extends StyleSchema>(schema: BlockNoteSchema<B, I, S>) => BlockNoteSchema<B & {
85
+ pageBreak: typeof PageBreak.config;
86
+ }, I, S>;
@@ -16,8 +16,9 @@ import { BlockNoteSchema } from "./BlockNoteSchema.js";
16
16
  import { BlockNoteTipTapEditor } from "./BlockNoteTipTapEditor.js";
17
17
  import { Dictionary } from "../i18n/dictionary.js";
18
18
  import { Plugin, Transaction } from "@tiptap/pm/state";
19
- import "../style.css";
20
19
  import { EditorView } from "prosemirror-view";
20
+ import "../style.css";
21
+ export type BlockNoteExtensionFactory = (editor: BlockNoteEditor<any, any, any>) => BlockNoteExtension;
21
22
  export type BlockNoteExtension = AnyExtension | {
22
23
  plugin: Plugin;
23
24
  };
@@ -96,6 +97,13 @@ export type BlockNoteEditorOptions<BSchema extends BlockSchema, ISchema extends
96
97
  * Optional function to customize how cursors of users are rendered
97
98
  */
98
99
  renderCursor?: (user: any) => HTMLElement;
100
+ /**
101
+ * Optional flag to set when the user label should be shown with the default
102
+ * collaboration cursor. Setting to "always" will always show the label,
103
+ * while "activity" will only show the label when the user moves the cursor
104
+ * or types. Defaults to "activity".
105
+ */
106
+ showCursorLabels?: "always" | "activity";
99
107
  };
100
108
  /**
101
109
  * additional tiptap options, undocumented
@@ -104,7 +112,7 @@ export type BlockNoteEditorOptions<BSchema extends BlockSchema, ISchema extends
104
112
  /**
105
113
  * (experimental) add extra prosemirror plugins or tiptap extensions to the editor
106
114
  */
107
- _extensions: Record<string, BlockNoteExtension>;
115
+ _extensions: Record<string, BlockNoteExtension | BlockNoteExtensionFactory>;
108
116
  trailingBlock?: boolean;
109
117
  /**
110
118
  * Boolean indicating whether the editor is in headless mode.
@@ -138,6 +146,14 @@ export type BlockNoteEditorOptions<BSchema extends BlockSchema, ISchema extends
138
146
  @default "prefer-navigate-ui"
139
147
  */
140
148
  tabBehavior: "prefer-navigate-ui" | "prefer-indent";
149
+ /**
150
+ * The detection mode for showing the side menu - "viewport" always shows the
151
+ * side menu for the block next to the mouse cursor, while "editor" only shows
152
+ * it when hovering the editor or the side menu itself.
153
+ *
154
+ * @default "viewport"
155
+ */
156
+ sideMenuDetection: "viewport" | "editor";
141
157
  };
142
158
  export declare class BlockNoteEditor<BSchema extends BlockSchema = DefaultBlockSchema, ISchema extends InlineContentSchema = DefaultInlineContentSchema, SSchema extends StyleSchema = DefaultStyleSchema> {
143
159
  protected readonly options: Partial<BlockNoteEditorOptions<any, any, any>>;
@@ -18,6 +18,7 @@ type ExtensionOptions<BSchema extends BlockSchema, I extends InlineContentSchema
18
18
  };
19
19
  provider: any;
20
20
  renderCursor?: (user: any) => HTMLElement;
21
+ showCursorLabels?: "always" | "activity";
21
22
  };
22
23
  disableExtensions: string[] | undefined;
23
24
  setIdAttribute?: boolean;
@@ -26,6 +27,7 @@ type ExtensionOptions<BSchema extends BlockSchema, I extends InlineContentSchema
26
27
  dropCursor: (opts: any) => Plugin;
27
28
  placeholders: Record<string | "default", string>;
28
29
  tabBehavior?: "prefer-navigate-ui" | "prefer-indent";
30
+ sideMenuDetection: "viewport" | "editor";
29
31
  };
30
32
  /**
31
33
  * Get all the Tiptap extensions BlockNote is configured with by default
@@ -1,6 +1,5 @@
1
- import { PluginView } from "@tiptap/pm/state";
2
- import { EditorState, Plugin, PluginKey } from "prosemirror-state";
3
- import { EditorView } from "prosemirror-view";
1
+ import { EditorState, Plugin, PluginKey, PluginView } from "@tiptap/pm/state";
2
+ import { EditorView } from "@tiptap/pm/view";
4
3
  import { Block } from "../../blocks/defaultBlocks.js";
5
4
  import type { BlockNoteEditor } from "../../editor/BlockNoteEditor.js";
6
5
  import { UiElementPosition } from "../../extensions-shared/UiElementPosition.js";
@@ -14,13 +13,15 @@ export type SideMenuState<BSchema extends BlockSchema, I extends InlineContentSc
14
13
  */
15
14
  export declare class SideMenuView<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema> implements PluginView {
16
15
  private readonly editor;
16
+ private readonly sideMenuDetection;
17
17
  private readonly pmView;
18
18
  state?: SideMenuState<BSchema, I, S>;
19
19
  readonly emitUpdate: (state: SideMenuState<BSchema, I, S>) => void;
20
20
  private mousePos;
21
21
  private hoveredBlock;
22
22
  menuFrozen: boolean;
23
- constructor(editor: BlockNoteEditor<BSchema, I, S>, pmView: EditorView, emitUpdate: (state: SideMenuState<BSchema, I, S>) => void);
23
+ isDragOrigin: boolean;
24
+ constructor(editor: BlockNoteEditor<BSchema, I, S>, sideMenuDetection: "viewport" | "editor", pmView: EditorView, emitUpdate: (state: SideMenuState<BSchema, I, S>) => void);
24
25
  updateState: (state: SideMenuState<BSchema, I, S>) => void;
25
26
  updateStateFromMousePos: () => void;
26
27
  /**
@@ -29,6 +30,25 @@ export declare class SideMenuView<BSchema extends BlockSchema, I extends InlineC
29
30
  * when dragging / dropping to the side of the editor
30
31
  */
31
32
  onDrop: (event: DragEvent) => void;
33
+ /**
34
+ * If a block is being dragged, ProseMirror usually gets the context of what's
35
+ * being dragged from `view.dragging`, which is automatically set when a
36
+ * `dragstart` event fires in the editor. However, if the user tries to drag
37
+ * and drop blocks between multiple editors, only the one in which the drag
38
+ * began has that context, so we need to set it on the others manually. This
39
+ * ensures that PM always drops the blocks in between other blocks, and not
40
+ * inside them.
41
+ *
42
+ * After the `dragstart` event fires on the drag handle, it sets
43
+ * `blocknote/html` data on the clipboard. This handler fires right after,
44
+ * parsing the `blocknote/html` data into nodes and setting them on
45
+ * `view.dragging`.
46
+ *
47
+ * Note: Setting `view.dragging` on `dragover` would be better as the user
48
+ * could then drag between editors in different windows, but you can only
49
+ * access `dataTransfer` contents on `dragstart` and `drop` events.
50
+ */
51
+ onDragStart: (event: DragEvent) => void;
32
52
  /**
33
53
  * If the event is outside the editor contents,
34
54
  * we dispatch a fake event, so that we can still drop the content
@@ -38,6 +58,7 @@ export declare class SideMenuView<BSchema extends BlockSchema, I extends InlineC
38
58
  onKeyDown: (_event: KeyboardEvent) => void;
39
59
  onMouseMove: (event: MouseEvent) => void;
40
60
  private createSyntheticEvent;
61
+ onScroll: () => void;
41
62
  update(_view: EditorView, prevState: EditorState): void;
42
63
  destroy(): void;
43
64
  }
@@ -46,7 +67,7 @@ export declare class SideMenuProsemirrorPlugin<BSchema extends BlockSchema, I ex
46
67
  private readonly editor;
47
68
  view: SideMenuView<BSchema, I, S> | undefined;
48
69
  readonly plugin: Plugin;
49
- constructor(editor: BlockNoteEditor<BSchema, I, S>);
70
+ constructor(editor: BlockNoteEditor<BSchema, I, S>, sideMenuDetection: "viewport" | "editor");
50
71
  onUpdate(callback: (state: SideMenuState<BSchema, I, S>) => void): () => void;
51
72
  /**
52
73
  * Handles drag & drop events for blocks.
@@ -1,6 +1,6 @@
1
1
  import type { Dictionary } from "../../i18n/dictionary.js";
2
2
  export type DefaultSuggestionItem = {
3
- key: keyof Dictionary["slash_menu"];
3
+ key: keyof Omit<Dictionary["slash_menu"], "page_break">;
4
4
  title: string;
5
5
  onItemClick: () => void;
6
6
  subtext?: string;
@@ -48,6 +48,12 @@ export declare const de: {
48
48
  aliases: string[];
49
49
  group: string;
50
50
  };
51
+ page_break: {
52
+ title: string;
53
+ subtext: string;
54
+ aliases: string[];
55
+ group: string;
56
+ };
51
57
  table: {
52
58
  title: string;
53
59
  subtext: string;
@@ -48,6 +48,12 @@ export declare const en: {
48
48
  aliases: string[];
49
49
  group: string;
50
50
  };
51
+ page_break: {
52
+ title: string;
53
+ subtext: string;
54
+ aliases: string[];
55
+ group: string;
56
+ };
51
57
  table: {
52
58
  title: string;
53
59
  subtext: string;
@@ -48,6 +48,12 @@ export declare const es: {
48
48
  aliases: string[];
49
49
  group: string;
50
50
  };
51
+ page_break: {
52
+ title: string;
53
+ subtext: string;
54
+ aliases: string[];
55
+ group: string;
56
+ };
51
57
  table: {
52
58
  title: string;
53
59
  subtext: string;
@@ -48,6 +48,12 @@ export declare const hr: {
48
48
  aliases: string[];
49
49
  group: string;
50
50
  };
51
+ page_break: {
52
+ title: string;
53
+ subtext: string;
54
+ aliases: string[];
55
+ group: string;
56
+ };
51
57
  image: {
52
58
  title: string;
53
59
  subtext: string;
@@ -13,3 +13,4 @@ export * from "./pt.js";
13
13
  export * from "./ru.js";
14
14
  export * from "./vi.js";
15
15
  export * from "./zh.js";
16
+ export * from "./it.js";
@@ -0,0 +1,245 @@
1
+ export declare const it: {
2
+ slash_menu: {
3
+ heading: {
4
+ title: string;
5
+ subtext: string;
6
+ aliases: string[];
7
+ group: string;
8
+ };
9
+ heading_2: {
10
+ title: string;
11
+ subtext: string;
12
+ aliases: string[];
13
+ group: string;
14
+ };
15
+ heading_3: {
16
+ title: string;
17
+ subtext: string;
18
+ aliases: string[];
19
+ group: string;
20
+ };
21
+ numbered_list: {
22
+ title: string;
23
+ subtext: string;
24
+ aliases: string[];
25
+ group: string;
26
+ };
27
+ bullet_list: {
28
+ title: string;
29
+ subtext: string;
30
+ aliases: string[];
31
+ group: string;
32
+ };
33
+ check_list: {
34
+ title: string;
35
+ subtext: string;
36
+ aliases: string[];
37
+ group: string;
38
+ };
39
+ paragraph: {
40
+ title: string;
41
+ subtext: string;
42
+ aliases: string[];
43
+ group: string;
44
+ };
45
+ code_block: {
46
+ title: string;
47
+ subtext: string;
48
+ aliases: string[];
49
+ group: string;
50
+ };
51
+ table: {
52
+ title: string;
53
+ subtext: string;
54
+ aliases: string[];
55
+ group: string;
56
+ };
57
+ image: {
58
+ title: string;
59
+ subtext: string;
60
+ aliases: string[];
61
+ group: string;
62
+ };
63
+ video: {
64
+ title: string;
65
+ subtext: string;
66
+ aliases: string[];
67
+ group: string;
68
+ };
69
+ audio: {
70
+ title: string;
71
+ subtext: string;
72
+ aliases: string[];
73
+ group: string;
74
+ };
75
+ file: {
76
+ title: string;
77
+ subtext: string;
78
+ aliases: string[];
79
+ group: string;
80
+ };
81
+ emoji: {
82
+ title: string;
83
+ subtext: string;
84
+ aliases: string[];
85
+ group: string;
86
+ };
87
+ };
88
+ placeholders: {
89
+ default: string;
90
+ heading: string;
91
+ bulletListItem: string;
92
+ numberedListItem: string;
93
+ checkListItem: string;
94
+ };
95
+ file_blocks: {
96
+ image: {
97
+ add_button_text: string;
98
+ };
99
+ video: {
100
+ add_button_text: string;
101
+ };
102
+ audio: {
103
+ add_button_text: string;
104
+ };
105
+ file: {
106
+ add_button_text: string;
107
+ };
108
+ };
109
+ side_menu: {
110
+ add_block_label: string;
111
+ drag_handle_label: string;
112
+ };
113
+ drag_handle: {
114
+ delete_menuitem: string;
115
+ colors_menuitem: string;
116
+ };
117
+ table_handle: {
118
+ delete_column_menuitem: string;
119
+ delete_row_menuitem: string;
120
+ add_left_menuitem: string;
121
+ add_right_menuitem: string;
122
+ add_above_menuitem: string;
123
+ add_below_menuitem: string;
124
+ };
125
+ suggestion_menu: {
126
+ no_items_title: string;
127
+ loading: string;
128
+ };
129
+ color_picker: {
130
+ text_title: string;
131
+ background_title: string;
132
+ colors: {
133
+ default: string;
134
+ gray: string;
135
+ brown: string;
136
+ red: string;
137
+ orange: string;
138
+ yellow: string;
139
+ green: string;
140
+ blue: string;
141
+ purple: string;
142
+ pink: string;
143
+ };
144
+ };
145
+ formatting_toolbar: {
146
+ bold: {
147
+ tooltip: string;
148
+ secondary_tooltip: string;
149
+ };
150
+ italic: {
151
+ tooltip: string;
152
+ secondary_tooltip: string;
153
+ };
154
+ underline: {
155
+ tooltip: string;
156
+ secondary_tooltip: string;
157
+ };
158
+ strike: {
159
+ tooltip: string;
160
+ secondary_tooltip: string;
161
+ };
162
+ code: {
163
+ tooltip: string;
164
+ secondary_tooltip: string;
165
+ };
166
+ colors: {
167
+ tooltip: string;
168
+ };
169
+ link: {
170
+ tooltip: string;
171
+ secondary_tooltip: string;
172
+ };
173
+ file_caption: {
174
+ tooltip: string;
175
+ input_placeholder: string;
176
+ };
177
+ file_replace: {
178
+ tooltip: Record<string, string>;
179
+ };
180
+ file_rename: {
181
+ tooltip: Record<string, string>;
182
+ input_placeholder: Record<string, string>;
183
+ };
184
+ file_download: {
185
+ tooltip: Record<string, string>;
186
+ };
187
+ file_delete: {
188
+ tooltip: Record<string, string>;
189
+ };
190
+ file_preview_toggle: {
191
+ tooltip: string;
192
+ };
193
+ nest: {
194
+ tooltip: string;
195
+ secondary_tooltip: string;
196
+ };
197
+ unnest: {
198
+ tooltip: string;
199
+ secondary_tooltip: string;
200
+ };
201
+ align_left: {
202
+ tooltip: string;
203
+ };
204
+ align_center: {
205
+ tooltip: string;
206
+ };
207
+ align_right: {
208
+ tooltip: string;
209
+ };
210
+ align_justify: {
211
+ tooltip: string;
212
+ };
213
+ };
214
+ file_panel: {
215
+ upload: {
216
+ title: string;
217
+ file_placeholder: Record<string, string>;
218
+ upload_error: string;
219
+ };
220
+ embed: {
221
+ title: string;
222
+ embed_button: Record<string, string>;
223
+ url_placeholder: string;
224
+ };
225
+ };
226
+ link_toolbar: {
227
+ delete: {
228
+ tooltip: string;
229
+ };
230
+ edit: {
231
+ text: string;
232
+ tooltip: string;
233
+ };
234
+ open: {
235
+ tooltip: string;
236
+ };
237
+ form: {
238
+ title_placeholder: string;
239
+ url_placeholder: string;
240
+ };
241
+ };
242
+ generic: {
243
+ ctrl_shortcut: string;
244
+ };
245
+ };
@@ -6,6 +6,9 @@ export * from "./api/nodeUtil.js";
6
6
  export * from "./api/testUtil/index.js";
7
7
  export * from "./blocks/AudioBlockContent/AudioBlockContent.js";
8
8
  export * from "./blocks/CodeBlockContent/CodeBlockContent.js";
9
+ export * from "./blocks/PageBreakBlockContent/PageBreakBlockContent.js";
10
+ export * from "./blocks/PageBreakBlockContent/getPageBreakSlashMenuItems.js";
11
+ export * from "./blocks/PageBreakBlockContent/schema.js";
9
12
  export * from "./blocks/FileBlockContent/FileBlockContent.js";
10
13
  export * from "./blocks/FileBlockContent/helpers/parse/parseEmbedElement.js";
11
14
  export * from "./blocks/FileBlockContent/helpers/parse/parseFigureElement.js";
@@ -5,8 +5,8 @@ import type { BlockNoteEditor } from "../editor/BlockNoteEditor.js";
5
5
  */
6
6
  export declare const BlockContainer: Node<{
7
7
  domAttributes?: Partial<{
8
- blockContent: Record<string, string>;
9
8
  blockGroup: Record<string, string>;
9
+ blockContent: Record<string, string>;
10
10
  editor: Record<string, string>;
11
11
  block: Record<string, string>;
12
12
  inlineContent: Record<string, string>;
@@ -1,8 +1,8 @@
1
1
  import { Node } from "@tiptap/core";
2
2
  export declare const BlockGroup: Node<{
3
3
  domAttributes?: Partial<{
4
- blockContent: Record<string, string>;
5
4
  blockGroup: Record<string, string>;
5
+ blockContent: Record<string, string>;
6
6
  editor: Record<string, string>;
7
7
  block: Record<string, string>;
8
8
  inlineContent: Record<string, string>;