@blocknote/core 0.13.2 → 0.13.4

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 (163) hide show
  1. package/dist/blocknote.js +5730 -2891
  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/webpack-stats.json +1 -1
  7. package/package.json +2 -2
  8. package/src/api/exporters/html/__snapshots__/file/basic/external.html +1 -0
  9. package/src/api/exporters/html/__snapshots__/file/basic/internal.html +1 -0
  10. package/src/api/exporters/html/__snapshots__/file/button/external.html +1 -0
  11. package/src/api/exporters/html/__snapshots__/file/button/internal.html +1 -0
  12. package/src/api/exporters/html/__snapshots__/file/nested/external.html +1 -0
  13. package/src/api/exporters/html/__snapshots__/file/nested/internal.html +1 -0
  14. package/src/api/exporters/html/__snapshots__/file/noCaption/external.html +1 -0
  15. package/src/api/exporters/html/__snapshots__/file/noCaption/internal.html +1 -0
  16. package/src/api/exporters/html/__snapshots__/file/noName/external.html +1 -0
  17. package/src/api/exporters/html/__snapshots__/file/noName/internal.html +1 -0
  18. package/src/api/exporters/html/__snapshots__/image/basic/external.html +1 -1
  19. package/src/api/exporters/html/__snapshots__/image/basic/internal.html +1 -1
  20. package/src/api/exporters/html/__snapshots__/image/button/external.html +1 -1
  21. package/src/api/exporters/html/__snapshots__/image/button/internal.html +1 -1
  22. package/src/api/exporters/html/__snapshots__/image/nested/external.html +1 -1
  23. package/src/api/exporters/html/__snapshots__/image/nested/internal.html +1 -1
  24. package/src/api/exporters/html/__snapshots__/image/noCaption/external.html +1 -0
  25. package/src/api/exporters/html/__snapshots__/image/noCaption/internal.html +1 -0
  26. package/src/api/exporters/html/__snapshots__/image/noName/external.html +1 -0
  27. package/src/api/exporters/html/__snapshots__/image/noName/internal.html +1 -0
  28. package/src/api/exporters/html/__snapshots__/image/noPreview/external.html +1 -0
  29. package/src/api/exporters/html/__snapshots__/image/noPreview/internal.html +1 -0
  30. package/src/api/exporters/html/__snapshots__/lists/basic/external.html +1 -0
  31. package/src/api/exporters/html/__snapshots__/lists/basic/internal.html +1 -0
  32. package/src/api/exporters/html/__snapshots__/lists/nested/external.html +1 -0
  33. package/src/api/exporters/html/__snapshots__/lists/nested/internal.html +1 -0
  34. package/src/api/exporters/html/__snapshots__/simpleFile/basic/external.html +1 -0
  35. package/src/api/exporters/html/__snapshots__/simpleFile/basic/internal.html +1 -0
  36. package/src/api/exporters/html/__snapshots__/simpleFile/button/external.html +1 -0
  37. package/src/api/exporters/html/__snapshots__/simpleFile/button/internal.html +1 -0
  38. package/src/api/exporters/html/__snapshots__/simpleFile/nested/external.html +1 -0
  39. package/src/api/exporters/html/__snapshots__/simpleFile/nested/internal.html +1 -0
  40. package/src/api/exporters/html/__snapshots__/simpleImage/basic/external.html +1 -1
  41. package/src/api/exporters/html/__snapshots__/simpleImage/basic/internal.html +1 -1
  42. package/src/api/exporters/html/__snapshots__/simpleImage/button/external.html +1 -1
  43. package/src/api/exporters/html/__snapshots__/simpleImage/button/internal.html +1 -1
  44. package/src/api/exporters/html/__snapshots__/simpleImage/nested/external.html +1 -1
  45. package/src/api/exporters/html/__snapshots__/simpleImage/nested/internal.html +1 -1
  46. package/src/api/exporters/html/__snapshots__/simpleImage/noCaption/external.html +1 -0
  47. package/src/api/exporters/html/__snapshots__/simpleImage/noCaption/internal.html +1 -0
  48. package/src/api/exporters/html/__snapshots__/simpleImage/noName/external.html +1 -0
  49. package/src/api/exporters/html/__snapshots__/simpleImage/noName/internal.html +1 -0
  50. package/src/api/exporters/html/__snapshots__/simpleImage/noPreview/external.html +1 -0
  51. package/src/api/exporters/html/__snapshots__/simpleImage/noPreview/internal.html +1 -0
  52. package/src/api/exporters/html/externalHTMLExporter.ts +4 -3
  53. package/src/api/exporters/html/util/simplifyBlocksRehypePlugin.ts +1 -1
  54. package/src/api/exporters/markdown/__snapshots__/file/basic/markdown.md +3 -0
  55. package/src/api/exporters/markdown/__snapshots__/file/button/markdown.md +1 -0
  56. package/src/api/exporters/markdown/__snapshots__/file/nested/markdown.md +7 -0
  57. package/src/api/exporters/markdown/__snapshots__/file/noCaption/markdown.md +1 -0
  58. package/src/api/exporters/markdown/__snapshots__/file/noName/markdown.md +3 -0
  59. package/src/api/exporters/markdown/__snapshots__/image/basic/markdown.md +1 -1
  60. package/src/api/exporters/markdown/__snapshots__/image/button/markdown.md +1 -1
  61. package/src/api/exporters/markdown/__snapshots__/image/nested/markdown.md +2 -2
  62. package/src/api/exporters/markdown/__snapshots__/image/noCaption/markdown.md +1 -0
  63. package/src/api/exporters/markdown/__snapshots__/image/noName/markdown.md +3 -0
  64. package/src/api/exporters/markdown/__snapshots__/image/noPreview/markdown.md +3 -0
  65. package/src/api/exporters/markdown/__snapshots__/lists/basic/markdown.md +8 -0
  66. package/src/api/exporters/markdown/__snapshots__/lists/nested/markdown.md +10 -0
  67. package/src/api/exporters/markdown/__snapshots__/simpleFile/basic/markdown.md +3 -0
  68. package/src/api/exporters/markdown/__snapshots__/simpleFile/button/markdown.md +1 -0
  69. package/src/api/exporters/markdown/__snapshots__/simpleFile/nested/markdown.md +7 -0
  70. package/src/api/exporters/markdown/__snapshots__/simpleImage/basic/markdown.md +3 -1
  71. package/src/api/exporters/markdown/__snapshots__/simpleImage/button/markdown.md +1 -0
  72. package/src/api/exporters/markdown/__snapshots__/simpleImage/nested/markdown.md +6 -2
  73. package/src/api/exporters/markdown/__snapshots__/simpleImage/noCaption/markdown.md +1 -0
  74. package/src/api/exporters/markdown/__snapshots__/simpleImage/noName/markdown.md +3 -0
  75. package/src/api/exporters/markdown/__snapshots__/simpleImage/noPreview/markdown.md +3 -0
  76. package/src/api/exporters/markdown/markdownExporter.ts +2 -0
  77. package/src/api/exporters/markdown/util/addSpacesToCheckboxesRehypePlugin.ts +42 -0
  78. package/src/api/nodeConversions/__snapshots__/nodeConversions.test.ts.snap +262 -4
  79. package/src/api/parsers/html/__snapshots__/paste/list-test.json +74 -2
  80. package/src/api/parsers/html/__snapshots__/paste/parse-basic-block-types.json +3 -1
  81. package/src/api/parsers/html/__snapshots__/paste/parse-fake-image-caption.json +3 -1
  82. package/src/api/parsers/html/__snapshots__/paste/parse-mixed-nested-lists.json +135 -10
  83. package/src/api/parsers/html/__snapshots__/paste/parse-nested-lists-with-paragraphs.json +132 -7
  84. package/src/api/parsers/html/__snapshots__/paste/parse-nested-lists.json +111 -3
  85. package/src/api/parsers/html/parseHTML.test.ts +166 -95
  86. package/src/api/testUtil/cases/customBlocks.ts +82 -33
  87. package/src/api/testUtil/cases/customInlineContent.ts +1 -1
  88. package/src/api/testUtil/cases/customStyles.ts +1 -1
  89. package/src/api/testUtil/cases/defaultSchema.ts +185 -4
  90. package/src/blocks/AudioBlockContent/AudioBlockContent.ts +163 -0
  91. package/src/blocks/AudioBlockContent/audioBlockHelpers.ts +5 -0
  92. package/src/blocks/FileBlockContent/FileBlockContent.ts +120 -0
  93. package/src/blocks/FileBlockContent/fileBlockHelpers.ts +377 -0
  94. package/src/blocks/ImageBlockContent/ImageBlockContent.ts +134 -354
  95. package/src/blocks/ImageBlockContent/imageBlockHelpers.ts +6 -0
  96. package/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.ts +3 -0
  97. package/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.ts +266 -0
  98. package/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.ts +2 -1
  99. package/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.ts +1 -0
  100. package/src/blocks/VideoBlockContent/VideoBlockContent.ts +181 -0
  101. package/src/blocks/VideoBlockContent/videoBlockHelpers.ts +6 -0
  102. package/src/blocks/defaultBlockTypeGuards.ts +53 -1
  103. package/src/blocks/defaultBlocks.ts +11 -2
  104. package/src/editor/Block.css +89 -27
  105. package/src/editor/BlockNoteEditor.ts +24 -10
  106. package/src/editor/BlockNoteSchema.ts +12 -3
  107. package/src/editor/transformPasted.ts +2 -1
  108. package/src/extensions/{ImagePanel/ImageToolbarPlugin.ts → FilePanel/FilePanelPlugin.ts} +22 -25
  109. package/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts +14 -2
  110. package/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts +72 -2
  111. package/src/extensions/TableHandles/TableHandlesPlugin.ts +27 -27
  112. package/src/extensions/TextAlignment/TextAlignmentExtension.ts +7 -1
  113. package/src/i18n/locales/en.ts +117 -11
  114. package/src/i18n/locales/fr.ts +118 -11
  115. package/src/i18n/locales/index.ts +8 -2
  116. package/src/i18n/locales/is.ts +295 -0
  117. package/src/i18n/locales/ja.ts +323 -0
  118. package/src/i18n/locales/ko.ts +307 -0
  119. package/src/i18n/locales/nl.ts +108 -8
  120. package/src/i18n/locales/pl.ts +287 -0
  121. package/src/i18n/locales/pt.ts +295 -0
  122. package/src/i18n/locales/vi.ts +295 -0
  123. package/src/i18n/locales/zh.ts +123 -8
  124. package/src/index.ts +9 -2
  125. package/src/pm-nodes/BlockContainer.ts +18 -6
  126. package/src/schema/blocks/createSpec.ts +1 -0
  127. package/src/schema/blocks/internal.ts +10 -0
  128. package/src/schema/blocks/types.ts +40 -5
  129. package/src/util/string.ts +12 -0
  130. package/types/src/api/exporters/markdown/util/addSpacesToCheckboxesRehypePlugin.d.ts +7 -0
  131. package/types/src/api/testUtil/cases/customBlocks.d.ts +272 -54
  132. package/types/src/api/testUtil/cases/customInlineContent.d.ts +222 -16
  133. package/types/src/api/testUtil/cases/customStyles.d.ts +222 -16
  134. package/types/src/blocks/AudioBlockContent/AudioBlockContent.d.ts +101 -0
  135. package/types/src/blocks/AudioBlockContent/audioBlockHelpers.d.ts +3 -0
  136. package/types/src/blocks/FileBlockContent/FileBlockContent.d.ts +93 -0
  137. package/types/src/blocks/FileBlockContent/fileBlockHelpers.d.ts +30 -0
  138. package/types/src/blocks/ImageBlockContent/ImageBlockContent.d.ts +50 -14
  139. package/types/src/blocks/ImageBlockContent/imageBlockHelpers.d.ts +4 -0
  140. package/types/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.d.ts +55 -0
  141. package/types/src/blocks/VideoBlockContent/VideoBlockContent.d.ts +129 -0
  142. package/types/src/blocks/VideoBlockContent/videoBlockHelpers.d.ts +4 -0
  143. package/types/src/blocks/defaultBlockTypeGuards.d.ts +6 -1
  144. package/types/src/blocks/defaultBlocks.d.ts +444 -32
  145. package/types/src/editor/BlockNoteEditor.d.ts +12 -5
  146. package/types/src/extensions/{ImagePanel/ImageToolbarPlugin.d.ts → FilePanel/FilePanelPlugin.d.ts} +9 -12
  147. package/types/src/extensions/TableHandles/TableHandlesPlugin.d.ts +1 -1
  148. package/types/src/i18n/locales/en.d.ts +56 -7
  149. package/types/src/i18n/locales/fr.d.ts +2 -184
  150. package/types/src/i18n/locales/index.d.ts +7 -1
  151. package/types/src/i18n/locales/is.d.ts +2 -0
  152. package/types/src/i18n/locales/ja.d.ts +2 -0
  153. package/types/src/i18n/locales/ko.d.ts +2 -0
  154. package/types/src/i18n/locales/pl.d.ts +2 -0
  155. package/types/src/i18n/locales/pt.d.ts +2 -0
  156. package/types/src/i18n/locales/vi.d.ts +2 -0
  157. package/types/src/index.d.ts +8 -2
  158. package/types/src/pm-nodes/BlockContainer.d.ts +1 -1
  159. package/types/src/schema/blocks/internal.d.ts +1 -1
  160. package/types/src/schema/blocks/types.d.ts +25 -1
  161. package/types/src/util/string.d.ts +1 -0
  162. /package/src/blocks/{ImageBlockContent → FileBlockContent}/uploadToTmpFilesDotOrg_DEV_ONLY.ts +0 -0
  163. /package/types/src/blocks/{ImageBlockContent → FileBlockContent}/uploadToTmpFilesDotOrg_DEV_ONLY.d.ts +0 -0
@@ -30,6 +30,12 @@ export declare const en: {
30
30
  aliases: string[];
31
31
  group: string;
32
32
  };
33
+ check_list: {
34
+ title: string;
35
+ subtext: string;
36
+ aliases: string[];
37
+ group: string;
38
+ };
33
39
  paragraph: {
34
40
  title: string;
35
41
  subtext: string;
@@ -48,15 +54,45 @@ export declare const en: {
48
54
  aliases: string[];
49
55
  group: string;
50
56
  };
57
+ video: {
58
+ title: string;
59
+ subtext: string;
60
+ aliases: string[];
61
+ group: string;
62
+ };
63
+ audio: {
64
+ title: string;
65
+ subtext: string;
66
+ aliases: string[];
67
+ group: string;
68
+ };
69
+ file: {
70
+ title: string;
71
+ subtext: string;
72
+ aliases: string[];
73
+ group: string;
74
+ };
51
75
  };
52
76
  placeholders: {
53
77
  default: string;
54
78
  heading: string;
55
79
  bulletListItem: string;
56
80
  numberedListItem: string;
81
+ checkListItem: string;
57
82
  };
58
- image: {
59
- add_button: string;
83
+ file_blocks: {
84
+ image: {
85
+ add_button_text: string;
86
+ };
87
+ video: {
88
+ add_button_text: string;
89
+ };
90
+ audio: {
91
+ add_button_text: string;
92
+ };
93
+ file: {
94
+ add_button_text: string;
95
+ };
60
96
  };
61
97
  side_menu: {
62
98
  add_block_label: string;
@@ -122,11 +158,24 @@ export declare const en: {
122
158
  tooltip: string;
123
159
  secondary_tooltip: string;
124
160
  };
125
- image_caption: {
161
+ file_caption: {
126
162
  tooltip: string;
127
163
  input_placeholder: string;
128
164
  };
129
- image_replace: {
165
+ file_replace: {
166
+ tooltip: Record<string, string>;
167
+ };
168
+ file_rename: {
169
+ tooltip: Record<string, string>;
170
+ input_placeholder: Record<string, string>;
171
+ };
172
+ file_download: {
173
+ tooltip: Record<string, string>;
174
+ };
175
+ file_delete: {
176
+ tooltip: Record<string, string>;
177
+ };
178
+ file_preview_toggle: {
130
179
  tooltip: string;
131
180
  };
132
181
  nest: {
@@ -150,15 +199,15 @@ export declare const en: {
150
199
  tooltip: string;
151
200
  };
152
201
  };
153
- image_panel: {
202
+ file_panel: {
154
203
  upload: {
155
204
  title: string;
156
- file_placeholder: string;
205
+ file_placeholder: Record<string, string>;
157
206
  upload_error: string;
158
207
  };
159
208
  embed: {
160
209
  title: string;
161
- embed_button: string;
210
+ embed_button: Record<string, string>;
162
211
  url_placeholder: string;
163
212
  };
164
213
  };
@@ -1,184 +1,2 @@
1
- export declare const fr: {
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
- paragraph: {
34
- title: string;
35
- subtext: string;
36
- aliases: string[];
37
- group: string;
38
- };
39
- table: {
40
- title: string;
41
- subtext: string;
42
- aliases: string[];
43
- group: string;
44
- };
45
- image: {
46
- title: string;
47
- subtext: string;
48
- aliases: string[];
49
- group: string;
50
- };
51
- };
52
- placeholders: {
53
- default: string;
54
- heading: string;
55
- bulletListItem: string;
56
- numberedListItem: string;
57
- };
58
- image: {
59
- add_button: string;
60
- };
61
- side_menu: {
62
- add_block_label: string;
63
- drag_handle_label: string;
64
- };
65
- drag_handle: {
66
- delete_menuitem: string;
67
- colors_menuitem: string;
68
- };
69
- table_handle: {
70
- delete_column_menuitem: string;
71
- delete_row_menuitem: string;
72
- add_left_menuitem: string;
73
- add_right_menuitem: string;
74
- add_above_menuitem: string;
75
- add_below_menuitem: string;
76
- };
77
- suggestion_menu: {
78
- no_items_title: string;
79
- loading: string;
80
- };
81
- color_picker: {
82
- text_title: string;
83
- background_title: string;
84
- colors: {
85
- default: string;
86
- gray: string;
87
- brown: string;
88
- red: string;
89
- orange: string;
90
- yellow: string;
91
- green: string;
92
- blue: string;
93
- purple: string;
94
- pink: string;
95
- };
96
- };
97
- formatting_toolbar: {
98
- bold: {
99
- tooltip: string;
100
- secondary_tooltip: string;
101
- };
102
- italic: {
103
- tooltip: string;
104
- secondary_tooltip: string;
105
- };
106
- underline: {
107
- tooltip: string;
108
- secondary_tooltip: string;
109
- };
110
- strike: {
111
- tooltip: string;
112
- secondary_tooltip: string;
113
- };
114
- code: {
115
- tooltip: string;
116
- secondary_tooltip: string;
117
- };
118
- colors: {
119
- tooltip: string;
120
- };
121
- link: {
122
- tooltip: string;
123
- secondary_tooltip: string;
124
- };
125
- image_caption: {
126
- tooltip: string;
127
- input_placeholder: string;
128
- };
129
- image_replace: {
130
- tooltip: string;
131
- };
132
- nest: {
133
- tooltip: string;
134
- secondary_tooltip: string;
135
- };
136
- unnest: {
137
- tooltip: string;
138
- secondary_tooltip: string;
139
- };
140
- align_left: {
141
- tooltip: string;
142
- };
143
- align_center: {
144
- tooltip: string;
145
- };
146
- align_right: {
147
- tooltip: string;
148
- };
149
- align_justify: {
150
- tooltip: string;
151
- };
152
- };
153
- image_panel: {
154
- upload: {
155
- title: string;
156
- file_placeholder: string;
157
- upload_error: string;
158
- };
159
- embed: {
160
- title: string;
161
- embed_button: string;
162
- url_placeholder: string;
163
- };
164
- };
165
- link_toolbar: {
166
- delete: {
167
- tooltip: string;
168
- };
169
- edit: {
170
- text: string;
171
- tooltip: string;
172
- };
173
- open: {
174
- tooltip: string;
175
- };
176
- form: {
177
- title_placeholder: string;
178
- url_placeholder: string;
179
- };
180
- };
181
- generic: {
182
- ctrl_shortcut: string;
183
- };
184
- };
1
+ import { Dictionary } from "../dictionary";
2
+ export declare const fr: Dictionary;
@@ -1,4 +1,10 @@
1
1
  export * from "./en";
2
+ export * from "./fr";
3
+ export * from "./is";
4
+ export * from "./ja";
5
+ export * from "./ko";
2
6
  export * from "./nl";
7
+ export * from "./pl";
8
+ export * from "./pt";
9
+ export * from "./vi";
3
10
  export * from "./zh";
4
- export * from "./fr";
@@ -0,0 +1,2 @@
1
+ import type { Dictionary } from "../dictionary";
2
+ export declare const is: Dictionary;
@@ -0,0 +1,2 @@
1
+ import { Dictionary } from "../dictionary";
2
+ export declare const ja: Dictionary;
@@ -0,0 +1,2 @@
1
+ import { Dictionary } from "../dictionary";
2
+ export declare const ko: Dictionary;
@@ -0,0 +1,2 @@
1
+ import type { Dictionary } from "../dictionary";
2
+ export declare const pl: Dictionary;
@@ -0,0 +1,2 @@
1
+ import type { Dictionary } from "../dictionary";
2
+ export declare const pt: Dictionary;
@@ -0,0 +1,2 @@
1
+ import type { Dictionary } from "../dictionary";
2
+ export declare const vi: Dictionary;
@@ -2,7 +2,12 @@ import * as locales from "./i18n/locales";
2
2
  export * from "./api/exporters/html/externalHTMLExporter";
3
3
  export * from "./api/exporters/html/internalHTMLSerializer";
4
4
  export * from "./api/testUtil";
5
- export * from "./blocks/ImageBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY";
5
+ export * from "./blocks/FileBlockContent/FileBlockContent";
6
+ export * from "./blocks/ImageBlockContent/ImageBlockContent";
7
+ export * from "./blocks/VideoBlockContent/VideoBlockContent";
8
+ export * from "./blocks/AudioBlockContent/AudioBlockContent";
9
+ export * from "./blocks/FileBlockContent/fileBlockHelpers";
10
+ export * from "./blocks/FileBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY";
6
11
  export * from "./blocks/defaultBlockTypeGuards";
7
12
  export * from "./blocks/defaultBlocks";
8
13
  export * from "./blocks/defaultProps";
@@ -11,8 +16,8 @@ export * from "./editor/BlockNoteExtensions";
11
16
  export * from "./editor/BlockNoteSchema";
12
17
  export * from "./editor/selectionTypes";
13
18
  export * from "./extensions-shared/UiElementPosition";
19
+ export * from "./extensions/FilePanel/FilePanelPlugin";
14
20
  export * from "./extensions/FormattingToolbar/FormattingToolbarPlugin";
15
- export * from "./extensions/ImagePanel/ImageToolbarPlugin";
16
21
  export * from "./extensions/LinkToolbar/LinkToolbarPlugin";
17
22
  export * from "./extensions/SideMenu/SideMenuPlugin";
18
23
  export * from "./extensions/SuggestionMenu/DefaultSuggestionItem";
@@ -28,3 +33,4 @@ export * from "./extensions/UniqueID/UniqueID";
28
33
  export * from "./i18n/dictionary";
29
34
  export { UnreachableCaseError, assertEmpty } from "./util/typescript";
30
35
  export { locales };
36
+ export { parseImageElement } from "./blocks/ImageBlockContent/imageBlockHelpers";
@@ -8,7 +8,7 @@ declare module "@tiptap/core" {
8
8
  BNCreateBlock: (pos: number) => ReturnType;
9
9
  BNDeleteBlock: (posInBlock: number) => ReturnType;
10
10
  BNMergeBlocks: (posBetweenBlocks: number) => ReturnType;
11
- BNSplitBlock: (posInBlock: number, keepType: boolean) => ReturnType;
11
+ BNSplitBlock: (posInBlock: number, keepType?: boolean, keepProps?: boolean) => ReturnType;
12
12
  BNUpdateBlock: <BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(posInBlock: number, block: PartialBlock<BSchema, I, S>) => ReturnType;
13
13
  BNCreateOrUpdateBlock: <BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(posInBlock: number, block: PartialBlock<BSchema, I, S>) => ReturnType;
14
14
  };
@@ -10,7 +10,7 @@ export declare function wrapInBlockStructure<BType extends string, PSchema exten
10
10
  dom: HTMLElement;
11
11
  contentDOM?: HTMLElement;
12
12
  destroy?: () => void;
13
- }, blockType: BType, blockProps: Props<PSchema>, propSchema: PSchema, domAttributes?: Record<string, string>): {
13
+ }, blockType: BType, blockProps: Props<PSchema>, propSchema: PSchema, isFileBlock?: boolean, domAttributes?: Record<string, string>): {
14
14
  dom: HTMLElement;
15
15
  contentDOM?: HTMLElement;
16
16
  destroy?: () => void;
@@ -8,11 +8,35 @@ export type BlockNoteDOMElement = "editor" | "block" | "blockGroup" | "blockCont
8
8
  export type BlockNoteDOMAttributes = Partial<{
9
9
  [DOMElement in BlockNoteDOMElement]: Record<string, string>;
10
10
  }>;
11
+ export type FileBlockConfig = {
12
+ type: string;
13
+ readonly propSchema: PropSchema & {
14
+ caption: {
15
+ default: "";
16
+ };
17
+ name: {
18
+ default: "";
19
+ };
20
+ url?: {
21
+ default: "";
22
+ };
23
+ showPreview?: {
24
+ default: boolean;
25
+ };
26
+ previewWidth?: {
27
+ default: number;
28
+ };
29
+ };
30
+ content: "none";
31
+ isFileBlock: true;
32
+ fileBlockAcceptMimeTypes?: string[];
33
+ };
11
34
  export type BlockConfig = {
12
35
  type: string;
13
36
  readonly propSchema: PropSchema;
14
37
  content: "inline" | "none" | "table";
15
- };
38
+ isFileBlock?: false;
39
+ } | FileBlockConfig;
16
40
  export type TiptapBlockImplementation<T extends BlockConfig, B extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema> = {
17
41
  requiredExtensions?: Array<Extension | Node>;
18
42
  node: Node;
@@ -1 +1,2 @@
1
1
  export declare function camelToDataKebab(str: string): string;
2
+ export declare function filenameFromURL(url: string): string;