@blocknote/core 0.15.11 → 0.17.0

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 (292) hide show
  1. package/dist/blocknote.js +3349 -2773
  2. package/dist/blocknote.js.map +1 -1
  3. package/dist/blocknote.umd.cjs +6 -6
  4. package/dist/blocknote.umd.cjs.map +1 -1
  5. package/dist/webpack-stats.json +1 -1
  6. package/package.json +5 -2
  7. package/src/api/blockManipulation/commands/insertBlocks/__snapshots__/insertBlocks.test.ts.snap +3087 -0
  8. package/src/api/blockManipulation/commands/insertBlocks/insertBlocks.test.ts +132 -0
  9. package/src/api/blockManipulation/commands/insertBlocks/insertBlocks.ts +71 -0
  10. package/src/api/blockManipulation/commands/mergeBlocks/__snapshots__/mergeBlocks.test.ts.snap +2276 -0
  11. package/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.test.ts +131 -0
  12. package/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.ts +103 -0
  13. package/src/api/blockManipulation/commands/moveBlock/__snapshots__/moveBlock.test.ts.snap +3767 -0
  14. package/src/api/blockManipulation/commands/moveBlock/moveBlock.test.ts +192 -0
  15. package/src/api/blockManipulation/commands/moveBlock/moveBlock.ts +178 -0
  16. package/src/api/blockManipulation/commands/removeBlocks/__snapshots__/removeBlocks.test.ts.snap +1136 -0
  17. package/src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.ts +34 -0
  18. package/src/api/blockManipulation/commands/removeBlocks/removeBlocks.ts +100 -0
  19. package/src/api/blockManipulation/commands/replaceBlocks/__snapshots__/replaceBlocks.test.ts.snap +4931 -0
  20. package/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.test.ts +222 -0
  21. package/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts +70 -0
  22. package/src/api/blockManipulation/commands/splitBlock/__snapshots__/splitBlock.test.ts.snap +2924 -0
  23. package/src/api/blockManipulation/commands/splitBlock/splitBlock.test.ts +136 -0
  24. package/src/api/blockManipulation/commands/splitBlock/splitBlock.ts +48 -0
  25. package/src/api/blockManipulation/commands/updateBlock/__snapshots__/updateBlock.test.ts.snap +8376 -0
  26. package/src/api/blockManipulation/commands/updateBlock/updateBlock.test.ts +300 -0
  27. package/src/api/blockManipulation/commands/updateBlock/updateBlock.ts +199 -0
  28. package/src/api/blockManipulation/insertContentAt.ts +96 -0
  29. package/src/api/blockManipulation/selections/textCursorPosition/__snapshots__/textCursorPosition.test.ts.snap +316 -0
  30. package/src/api/blockManipulation/selections/textCursorPosition/textCursorPosition.test.ts +53 -0
  31. package/src/api/blockManipulation/selections/textCursorPosition/textCursorPosition.ts +130 -0
  32. package/src/api/blockManipulation/setupTestEnv.ts +179 -0
  33. package/src/api/clipboard/__snapshots__/childToParent.html +1 -0
  34. package/src/api/clipboard/__snapshots__/childrenToNextParent.html +1 -0
  35. package/src/api/clipboard/__snapshots__/childrenToNextParentsChildren.html +1 -0
  36. package/src/api/clipboard/__snapshots__/image.html +1 -0
  37. package/src/api/clipboard/__snapshots__/multipleStyledText.html +1 -0
  38. package/src/api/clipboard/__snapshots__/nestedImage.html +1 -0
  39. package/src/api/clipboard/__snapshots__/partialChildToParent.html +1 -0
  40. package/src/api/clipboard/__snapshots__/styledText.html +1 -0
  41. package/src/api/clipboard/__snapshots__/tableAllCells.html +1 -0
  42. package/src/api/clipboard/__snapshots__/tableCell.html +1 -0
  43. package/src/api/clipboard/__snapshots__/tableCellText.html +1 -0
  44. package/src/api/clipboard/__snapshots__/tableRow.html +1 -0
  45. package/src/api/clipboard/__snapshots__/unstyledText.html +1 -0
  46. package/src/api/clipboard/clipboard.test.ts +283 -0
  47. package/src/api/{parsers → clipboard/fromClipboard}/fileDropExtension.ts +8 -4
  48. package/src/api/{parsers → clipboard/fromClipboard}/handleFileInsertion.ts +12 -7
  49. package/src/api/{parsers → clipboard/fromClipboard}/pasteExtension.ts +19 -8
  50. package/src/api/clipboard/toClipboard/copyExtension.ts +243 -0
  51. package/src/api/exporters/html/__snapshots__/complex/misc/external.html +1 -1
  52. package/src/api/exporters/html/__snapshots__/lists/basic/external.html +1 -1
  53. package/src/api/exporters/html/__snapshots__/lists/nested/external.html +1 -1
  54. package/src/api/exporters/html/externalHTMLExporter.ts +42 -87
  55. package/src/api/exporters/html/htmlConversion.test.ts +19 -156
  56. package/src/api/exporters/html/internalHTMLSerializer.ts +21 -69
  57. package/src/api/exporters/html/util/serializeBlocksExternalHTML.ts +263 -0
  58. package/src/api/exporters/html/util/serializeBlocksInternalHTML.ts +158 -0
  59. package/src/api/exporters/markdown/markdownExporter.test.ts +10 -10
  60. package/src/api/exporters/markdown/markdownExporter.ts +11 -7
  61. package/src/api/exporters/markdown/util/addSpacesToCheckboxesRehypePlugin.ts +2 -2
  62. package/src/api/getBlockInfoFromPos.ts +172 -90
  63. package/src/api/nodeConversions/blockToNode.ts +257 -0
  64. package/src/api/nodeConversions/fragmentToBlocks.ts +60 -0
  65. package/src/api/nodeConversions/nodeConversions.test.ts +9 -8
  66. package/src/api/nodeConversions/{nodeConversions.ts → nodeToBlock.ts} +20 -262
  67. package/src/api/parsers/html/parseHTML.test.ts +5 -8
  68. package/src/api/parsers/html/parseHTML.ts +8 -4
  69. package/src/api/parsers/html/util/nestedLists.test.ts +2 -2
  70. package/src/api/parsers/markdown/__snapshots__/pasted/complex.json +319 -0
  71. package/src/api/parsers/markdown/__snapshots__/pasted/issue-226-1.json +81 -0
  72. package/src/api/parsers/{html/__snapshots__/paste/parse-deep-nested-content.json → markdown/__snapshots__/pasted/issue-226-2.json} +35 -110
  73. package/src/api/parsers/markdown/__snapshots__/pasted/nested.json +81 -0
  74. package/src/api/parsers/markdown/__snapshots__/pasted/non-nested.json +81 -0
  75. package/src/api/parsers/markdown/__snapshots__/pasted/styled.json +61 -0
  76. package/src/api/parsers/markdown/parseMarkdown.test.ts +16 -1
  77. package/src/api/parsers/markdown/parseMarkdown.ts +8 -4
  78. package/src/api/testUtil/cases/customBlocks.ts +11 -11
  79. package/src/api/testUtil/cases/customInlineContent.ts +6 -6
  80. package/src/api/testUtil/cases/customStyles.ts +6 -6
  81. package/src/api/testUtil/cases/defaultSchema.ts +4 -4
  82. package/src/api/testUtil/index.ts +6 -6
  83. package/src/api/testUtil/partialBlockTestUtil.ts +5 -5
  84. package/src/api/testUtil/paste.ts +46 -0
  85. package/src/blocks/AudioBlockContent/AudioBlockContent.ts +5 -5
  86. package/src/blocks/FileBlockContent/FileBlockContent.ts +4 -4
  87. package/src/blocks/FileBlockContent/fileBlockHelpers.ts +2 -2
  88. package/src/blocks/HeadingBlockContent/HeadingBlockContent.ts +61 -39
  89. package/src/blocks/ImageBlockContent/ImageBlockContent.ts +5 -5
  90. package/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.ts +30 -18
  91. package/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.ts +67 -33
  92. package/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.ts +23 -19
  93. package/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListIndexingPlugin.ts +22 -24
  94. package/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.ts +31 -19
  95. package/src/blocks/ParagraphBlockContent/ParagraphBlockContent.ts +16 -11
  96. package/src/blocks/TableBlockContent/TableBlockContent.ts +4 -5
  97. package/src/blocks/VideoBlockContent/VideoBlockContent.ts +5 -5
  98. package/src/blocks/defaultBlockHelpers.ts +4 -4
  99. package/src/blocks/defaultBlockTypeGuards.ts +5 -5
  100. package/src/blocks/defaultBlocks.ts +13 -13
  101. package/src/blocks/defaultProps.ts +1 -1
  102. package/src/editor/BlockNoteEditor.test.ts +14 -7
  103. package/src/editor/BlockNoteEditor.ts +82 -149
  104. package/src/editor/BlockNoteExtensions.ts +15 -11
  105. package/src/editor/BlockNoteSchema.ts +7 -7
  106. package/src/editor/BlockNoteTipTapEditor.ts +5 -3
  107. package/src/editor/cursorPositionTypes.ts +7 -2
  108. package/src/editor/selectionTypes.ts +6 -2
  109. package/src/editor/transformPasted.ts +34 -2
  110. package/src/extensions/BackgroundColor/BackgroundColorExtension.ts +1 -1
  111. package/src/extensions/BackgroundColor/BackgroundColorMark.ts +1 -1
  112. package/src/extensions/FilePanel/FilePanelPlugin.ts +4 -4
  113. package/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts +8 -4
  114. package/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts +333 -0
  115. package/src/extensions/LinkToolbar/LinkToolbarPlugin.ts +9 -4
  116. package/src/extensions/{NonEditableBlocks/NonEditableBlockPlugin.ts → NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.ts} +2 -2
  117. package/src/extensions/Placeholder/PlaceholderPlugin.ts +1 -1
  118. package/src/extensions/SideMenu/SideMenuPlugin.ts +72 -402
  119. package/src/extensions/SideMenu/dragging.ts +251 -0
  120. package/src/extensions/SuggestionMenu/DefaultSuggestionItem.ts +1 -1
  121. package/src/extensions/SuggestionMenu/SuggestionPlugin.ts +8 -4
  122. package/src/extensions/SuggestionMenu/getDefaultEmojiPickerItems.ts +8 -4
  123. package/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts +19 -15
  124. package/src/extensions/TableHandles/TableHandlesPlugin.ts +11 -7
  125. package/src/extensions/TextColor/TextColorExtension.ts +1 -1
  126. package/src/extensions/TextColor/TextColorMark.ts +1 -1
  127. package/src/i18n/dictionary.ts +1 -1
  128. package/src/i18n/locales/ar.ts +1 -1
  129. package/src/i18n/locales/fr.ts +1 -1
  130. package/src/i18n/locales/hr.ts +308 -0
  131. package/src/i18n/locales/index.ts +15 -14
  132. package/src/i18n/locales/is.ts +1 -1
  133. package/src/i18n/locales/ja.ts +1 -1
  134. package/src/i18n/locales/ko.ts +1 -1
  135. package/src/i18n/locales/nl.ts +1 -1
  136. package/src/i18n/locales/pl.ts +1 -1
  137. package/src/i18n/locales/pt.ts +1 -1
  138. package/src/i18n/locales/ru.ts +1 -1
  139. package/src/i18n/locales/vi.ts +1 -1
  140. package/src/i18n/locales/zh.ts +1 -1
  141. package/src/index.ts +45 -44
  142. package/src/pm-nodes/BlockContainer.ts +3 -647
  143. package/src/pm-nodes/BlockGroup.ts +2 -2
  144. package/src/pm-nodes/index.ts +3 -3
  145. package/src/schema/blocks/createSpec.ts +24 -14
  146. package/src/schema/blocks/internal.ts +9 -9
  147. package/src/schema/blocks/types.ts +4 -4
  148. package/src/schema/index.ts +10 -10
  149. package/src/schema/inlineContent/createSpec.ts +9 -10
  150. package/src/schema/inlineContent/internal.ts +3 -3
  151. package/src/schema/inlineContent/types.ts +2 -2
  152. package/src/schema/styles/createSpec.ts +4 -3
  153. package/src/schema/styles/internal.ts +1 -1
  154. package/types/src/api/blockManipulation/commands/insertBlocks/insertBlocks.d.ts +4 -0
  155. package/types/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.d.ts +7 -0
  156. package/types/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.test.d.ts +1 -0
  157. package/types/src/api/blockManipulation/commands/moveBlock/moveBlock.d.ts +5 -0
  158. package/types/src/api/blockManipulation/commands/moveBlock/moveBlock.test.d.ts +1 -0
  159. package/types/src/api/blockManipulation/commands/removeBlocks/removeBlocks.d.ts +7 -0
  160. package/types/src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.d.ts +1 -0
  161. package/types/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.d.ts +7 -0
  162. package/types/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.test.d.ts +1 -0
  163. package/types/src/api/blockManipulation/commands/splitBlock/splitBlock.d.ts +5 -0
  164. package/types/src/api/blockManipulation/commands/splitBlock/splitBlock.test.d.ts +1 -0
  165. package/types/src/api/blockManipulation/commands/updateBlock/updateBlock.d.ts +11 -0
  166. package/types/src/api/blockManipulation/commands/updateBlock/updateBlock.test.d.ts +1 -0
  167. package/types/src/api/blockManipulation/insertContentAt.d.ts +6 -0
  168. package/types/src/api/blockManipulation/selections/textCursorPosition/textCursorPosition.d.ts +5 -0
  169. package/types/src/api/blockManipulation/selections/textCursorPosition/textCursorPosition.test.d.ts +1 -0
  170. package/types/src/api/blockManipulation/setupTestEnv.d.ts +492 -0
  171. package/types/src/api/clipboard/clipboard.test.d.ts +1 -0
  172. package/types/src/api/clipboard/fromClipboard/fileDropExtension.d.ts +6 -0
  173. package/types/src/api/{parsers → clipboard/fromClipboard}/handleFileInsertion.d.ts +2 -2
  174. package/types/src/api/clipboard/fromClipboard/pasteExtension.d.ts +6 -0
  175. package/types/src/api/clipboard/toClipboard/copyExtension.d.ts +12 -0
  176. package/types/src/api/exporters/html/externalHTMLExporter.d.ts +7 -8
  177. package/types/src/api/exporters/html/internalHTMLSerializer.d.ts +6 -10
  178. package/types/src/api/exporters/html/util/serializeBlocksExternalHTML.d.ts +10 -0
  179. package/types/src/api/exporters/html/util/serializeBlocksInternalHTML.d.ts +11 -0
  180. package/types/src/api/exporters/markdown/markdownExporter.d.ts +3 -3
  181. package/types/src/api/getBlockInfoFromPos.d.ts +63 -20
  182. package/types/src/api/nodeConversions/blockToNode.d.ts +15 -0
  183. package/types/src/api/nodeConversions/fragmentToBlocks.d.ts +7 -0
  184. package/types/src/api/nodeConversions/nodeToBlock.d.ts +16 -0
  185. package/types/src/api/parsers/html/parseHTML.d.ts +2 -2
  186. package/types/src/api/parsers/markdown/parseMarkdown.d.ts +2 -2
  187. package/types/src/api/testUtil/cases/customBlocks.d.ts +39 -39
  188. package/types/src/api/testUtil/cases/customInlineContent.d.ts +35 -35
  189. package/types/src/api/testUtil/cases/customStyles.d.ts +35 -35
  190. package/types/src/api/testUtil/cases/defaultSchema.d.ts +2 -2
  191. package/types/src/api/testUtil/index.d.ts +6 -6
  192. package/types/src/api/testUtil/partialBlockTestUtil.d.ts +4 -4
  193. package/types/src/api/testUtil/paste.d.ts +2 -0
  194. package/types/src/blocks/AudioBlockContent/AudioBlockContent.d.ts +4 -4
  195. package/types/src/blocks/FileBlockContent/FileBlockContent.d.ts +4 -4
  196. package/types/src/blocks/FileBlockContent/fileBlockHelpers.d.ts +2 -2
  197. package/types/src/blocks/HeadingBlockContent/HeadingBlockContent.d.ts +2 -2
  198. package/types/src/blocks/ImageBlockContent/ImageBlockContent.d.ts +4 -4
  199. package/types/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.d.ts +2 -2
  200. package/types/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.d.ts +2 -2
  201. package/types/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.d.ts +2 -2
  202. package/types/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.d.ts +2 -2
  203. package/types/src/blocks/ParagraphBlockContent/ParagraphBlockContent.d.ts +2 -2
  204. package/types/src/blocks/TableBlockContent/TableBlockContent.d.ts +2 -2
  205. package/types/src/blocks/VideoBlockContent/VideoBlockContent.d.ts +4 -4
  206. package/types/src/blocks/defaultBlockHelpers.d.ts +3 -3
  207. package/types/src/blocks/defaultBlockTypeGuards.d.ts +4 -4
  208. package/types/src/blocks/defaultBlocks.d.ts +38 -38
  209. package/types/src/blocks/defaultProps.d.ts +1 -1
  210. package/types/src/editor/BlockNoteEditor.d.ts +28 -16
  211. package/types/src/editor/BlockNoteExtensions.d.ts +3 -3
  212. package/types/src/editor/BlockNoteSchema.d.ts +4 -4
  213. package/types/src/editor/BlockNoteTipTapEditor.d.ts +2 -2
  214. package/types/src/editor/cursorPositionTypes.d.ts +3 -2
  215. package/types/src/editor/selectionTypes.d.ts +2 -2
  216. package/types/src/editor/transformPasted.d.ts +8 -1
  217. package/types/src/extensions/BackgroundColor/BackgroundColorMark.d.ts +1 -1
  218. package/types/src/extensions/FilePanel/FilePanelPlugin.d.ts +4 -4
  219. package/types/src/extensions/FormattingToolbar/FormattingToolbarPlugin.d.ts +4 -4
  220. package/types/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.d.ts +5 -0
  221. package/types/src/extensions/LinkToolbar/LinkToolbarPlugin.d.ts +4 -4
  222. package/types/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.d.ts +2 -0
  223. package/types/src/extensions/Placeholder/PlaceholderPlugin.d.ts +1 -1
  224. package/types/src/extensions/SideMenu/SideMenuPlugin.d.ts +12 -28
  225. package/types/src/extensions/SideMenu/dragging.d.ts +17 -0
  226. package/types/src/extensions/SuggestionMenu/DefaultSuggestionItem.d.ts +1 -1
  227. package/types/src/extensions/SuggestionMenu/SuggestionPlugin.d.ts +4 -4
  228. package/types/src/extensions/SuggestionMenu/getDefaultEmojiPickerItems.d.ts +3 -3
  229. package/types/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.d.ts +4 -4
  230. package/types/src/extensions/TableHandles/TableHandlesPlugin.d.ts +4 -4
  231. package/types/src/extensions/TextColor/TextColorMark.d.ts +1 -1
  232. package/types/src/i18n/dictionary.d.ts +1 -1
  233. package/types/src/i18n/locales/ar.d.ts +1 -1
  234. package/types/src/i18n/locales/fr.d.ts +1 -1
  235. package/types/src/i18n/locales/hr.d.ts +239 -0
  236. package/types/src/i18n/locales/index.d.ts +15 -14
  237. package/types/src/i18n/locales/is.d.ts +1 -1
  238. package/types/src/i18n/locales/ja.d.ts +1 -1
  239. package/types/src/i18n/locales/ko.d.ts +1 -1
  240. package/types/src/i18n/locales/nl.d.ts +1 -1
  241. package/types/src/i18n/locales/pl.d.ts +1 -1
  242. package/types/src/i18n/locales/pt.d.ts +1 -1
  243. package/types/src/i18n/locales/ru.d.ts +1 -1
  244. package/types/src/i18n/locales/vi.d.ts +1 -1
  245. package/types/src/i18n/locales/zh.d.ts +1 -1
  246. package/types/src/index.d.ts +45 -44
  247. package/types/src/pm-nodes/BlockContainer.d.ts +2 -16
  248. package/types/src/pm-nodes/BlockGroup.d.ts +1 -1
  249. package/types/src/pm-nodes/index.d.ts +3 -3
  250. package/types/src/schema/blocks/createSpec.d.ts +5 -5
  251. package/types/src/schema/blocks/internal.d.ts +5 -5
  252. package/types/src/schema/blocks/types.d.ts +4 -4
  253. package/types/src/schema/index.d.ts +10 -10
  254. package/types/src/schema/inlineContent/createSpec.d.ts +3 -3
  255. package/types/src/schema/inlineContent/internal.d.ts +2 -2
  256. package/types/src/schema/inlineContent/types.d.ts +2 -2
  257. package/types/src/schema/styles/createSpec.d.ts +1 -1
  258. package/types/src/schema/styles/internal.d.ts +1 -1
  259. package/src/api/blockManipulation/__snapshots__/blockManipulation.test.ts.snap +0 -714
  260. package/src/api/blockManipulation/blockManipulation.test.ts +0 -292
  261. package/src/api/blockManipulation/blockManipulation.ts +0 -350
  262. package/src/api/exporters/copyExtension.ts +0 -164
  263. package/src/api/exporters/html/__snapshots_fragment_edge_cases__/selectionLeavesBlockChildren.html +0 -1
  264. package/src/api/exporters/html/__snapshots_fragment_edge_cases__/selectionSpansBlocksChildren.html +0 -1
  265. package/src/api/exporters/html/util/sharedHTMLConversion.ts +0 -130
  266. package/src/api/exporters/html/util/simplifyBlocksRehypePlugin.ts +0 -218
  267. package/src/api/getCurrentBlockContentType.ts +0 -14
  268. package/src/api/parsers/html/__snapshots__/paste/parse-google-docs-html.json +0 -476
  269. package/types/src/api/blockManipulation/blockManipulation.d.ts +0 -14
  270. package/types/src/api/exporters/copyExtension.d.ts +0 -6
  271. package/types/src/api/exporters/html/util/sharedHTMLConversion.d.ts +0 -9
  272. package/types/src/api/exporters/html/util/simplifyBlocksRehypePlugin.d.ts +0 -16
  273. package/types/src/api/getCurrentBlockContentType.d.ts +0 -2
  274. package/types/src/api/nodeConversions/nodeConversions.d.ts +0 -24
  275. package/types/src/api/parsers/fileDropExtension.d.ts +0 -6
  276. package/types/src/api/parsers/pasteExtension.d.ts +0 -6
  277. package/types/src/extensions/NonEditableBlocks/NonEditableBlockPlugin.d.ts +0 -2
  278. /package/src/api/{exporters/html/__snapshots_fragment_edge_cases__/selectionWithinBlockChildren.html → clipboard/__snapshots__/multipleChildren.html} +0 -0
  279. /package/src/api/{parsers → clipboard/fromClipboard}/acceptedMIMETypes.ts +0 -0
  280. /package/src/api/parsers/html/__snapshots__/{paste/list-test.json → list-test.json} +0 -0
  281. /package/src/api/parsers/html/__snapshots__/{paste/parse-basic-block-types.json → parse-basic-block-types.json} +0 -0
  282. /package/src/api/parsers/html/__snapshots__/{paste/parse-div-with-inline-content.json → parse-div-with-inline-content.json} +0 -0
  283. /package/src/api/parsers/html/__snapshots__/{paste/parse-divs.json → parse-divs.json} +0 -0
  284. /package/src/api/parsers/html/__snapshots__/{paste/parse-fake-image-caption.json → parse-fake-image-caption.json} +0 -0
  285. /package/src/api/parsers/html/__snapshots__/{paste/parse-image-in-paragraph.json → parse-image-in-paragraph.json} +0 -0
  286. /package/src/api/parsers/html/__snapshots__/{paste/parse-mixed-nested-lists.json → parse-mixed-nested-lists.json} +0 -0
  287. /package/src/api/parsers/html/__snapshots__/{paste/parse-nested-lists-with-paragraphs.json → parse-nested-lists-with-paragraphs.json} +0 -0
  288. /package/src/api/parsers/html/__snapshots__/{paste/parse-nested-lists.json → parse-nested-lists.json} +0 -0
  289. /package/src/api/parsers/html/__snapshots__/{paste/parse-notion-html.json → parse-notion-html.json} +0 -0
  290. /package/src/api/parsers/html/__snapshots__/{paste/parse-two-divs.json → parse-two-divs.json} +0 -0
  291. /package/types/src/api/blockManipulation/{blockManipulation.test.d.ts → commands/insertBlocks/insertBlocks.test.d.ts} +0 -0
  292. /package/types/src/api/{parsers → clipboard/fromClipboard}/acceptedMIMETypes.d.ts +0 -0
@@ -1,476 +0,0 @@
1
- [
2
- {
3
- "id": "1",
4
- "type": "heading",
5
- "props": {
6
- "textColor": "default",
7
- "backgroundColor": "default",
8
- "textAlignment": "left",
9
- "level": 1
10
- },
11
- "content": [
12
- {
13
- "type": "text",
14
- "text": "Heading 1",
15
- "styles": {
16
- "bold": true
17
- }
18
- }
19
- ],
20
- "children": []
21
- },
22
- {
23
- "id": "2",
24
- "type": "heading",
25
- "props": {
26
- "textColor": "default",
27
- "backgroundColor": "default",
28
- "textAlignment": "left",
29
- "level": 2
30
- },
31
- "content": [
32
- {
33
- "type": "text",
34
- "text": "Heading 2",
35
- "styles": {
36
- "bold": true
37
- }
38
- }
39
- ],
40
- "children": []
41
- },
42
- {
43
- "id": "3",
44
- "type": "heading",
45
- "props": {
46
- "textColor": "default",
47
- "backgroundColor": "default",
48
- "textAlignment": "left",
49
- "level": 3
50
- },
51
- "content": [
52
- {
53
- "type": "text",
54
- "text": "Heading 3",
55
- "styles": {
56
- "bold": true
57
- }
58
- }
59
- ],
60
- "children": []
61
- },
62
- {
63
- "id": "4",
64
- "type": "paragraph",
65
- "props": {
66
- "textColor": "default",
67
- "backgroundColor": "default",
68
- "textAlignment": "left"
69
- },
70
- "content": [
71
- {
72
- "type": "text",
73
- "text": "Paragraph 1",
74
- "styles": {}
75
- }
76
- ],
77
- "children": []
78
- },
79
- {
80
- "id": "5",
81
- "type": "paragraph",
82
- "props": {
83
- "textColor": "default",
84
- "backgroundColor": "default",
85
- "textAlignment": "left"
86
- },
87
- "content": [
88
- {
89
- "type": "text",
90
- "text": "Paragraph 2",
91
- "styles": {}
92
- }
93
- ],
94
- "children": []
95
- },
96
- {
97
- "id": "6",
98
- "type": "paragraph",
99
- "props": {
100
- "textColor": "default",
101
- "backgroundColor": "default",
102
- "textAlignment": "left"
103
- },
104
- "content": [
105
- {
106
- "type": "text",
107
- "text": "Paragraph 3",
108
- "styles": {}
109
- }
110
- ],
111
- "children": []
112
- },
113
- {
114
- "id": "7",
115
- "type": "paragraph",
116
- "props": {
117
- "textColor": "default",
118
- "backgroundColor": "default",
119
- "textAlignment": "left"
120
- },
121
- "content": [
122
- {
123
- "type": "text",
124
- "text": "Paragraph With \nHard Break",
125
- "styles": {}
126
- }
127
- ],
128
- "children": []
129
- },
130
- {
131
- "id": "8",
132
- "type": "paragraph",
133
- "props": {
134
- "textColor": "default",
135
- "backgroundColor": "default",
136
- "textAlignment": "left"
137
- },
138
- "content": [
139
- {
140
- "type": "text",
141
- "text": "Bold",
142
- "styles": {
143
- "bold": true
144
- }
145
- },
146
- {
147
- "type": "text",
148
- "text": " ",
149
- "styles": {}
150
- },
151
- {
152
- "type": "text",
153
- "text": "Italic",
154
- "styles": {
155
- "italic": true
156
- }
157
- },
158
- {
159
- "type": "text",
160
- "text": " Underline ",
161
- "styles": {}
162
- },
163
- {
164
- "type": "text",
165
- "text": "Strikethrough",
166
- "styles": {
167
- "strike": true
168
- }
169
- },
170
- {
171
- "type": "text",
172
- "text": " ",
173
- "styles": {}
174
- },
175
- {
176
- "type": "text",
177
- "text": "All",
178
- "styles": {
179
- "bold": true,
180
- "italic": true,
181
- "strike": true
182
- }
183
- }
184
- ],
185
- "children": []
186
- },
187
- {
188
- "id": "9",
189
- "type": "bulletListItem",
190
- "props": {
191
- "textColor": "default",
192
- "backgroundColor": "default",
193
- "textAlignment": "left"
194
- },
195
- "content": [
196
- {
197
- "type": "text",
198
- "text": "Bullet List Item 1",
199
- "styles": {}
200
- }
201
- ],
202
- "children": [
203
- {
204
- "id": "10",
205
- "type": "bulletListItem",
206
- "props": {
207
- "textColor": "default",
208
- "backgroundColor": "default",
209
- "textAlignment": "left"
210
- },
211
- "content": [
212
- {
213
- "type": "text",
214
- "text": "Nested Bullet List Item 1",
215
- "styles": {}
216
- }
217
- ],
218
- "children": [
219
- {
220
- "id": "11",
221
- "type": "numberedListItem",
222
- "props": {
223
- "textColor": "default",
224
- "backgroundColor": "default",
225
- "textAlignment": "left"
226
- },
227
- "content": [
228
- {
229
- "type": "text",
230
- "text": "Nested Numbered List Item 1",
231
- "styles": {}
232
- }
233
- ],
234
- "children": []
235
- },
236
- {
237
- "id": "12",
238
- "type": "numberedListItem",
239
- "props": {
240
- "textColor": "default",
241
- "backgroundColor": "default",
242
- "textAlignment": "left"
243
- },
244
- "content": [
245
- {
246
- "type": "text",
247
- "text": "Nested Numbered List Item 2",
248
- "styles": {}
249
- }
250
- ],
251
- "children": []
252
- }
253
- ]
254
- },
255
- {
256
- "id": "13",
257
- "type": "bulletListItem",
258
- "props": {
259
- "textColor": "default",
260
- "backgroundColor": "default",
261
- "textAlignment": "left"
262
- },
263
- "content": [
264
- {
265
- "type": "text",
266
- "text": "Nested Bullet List Item 2",
267
- "styles": {}
268
- }
269
- ],
270
- "children": []
271
- }
272
- ]
273
- },
274
- {
275
- "id": "14",
276
- "type": "bulletListItem",
277
- "props": {
278
- "textColor": "default",
279
- "backgroundColor": "default",
280
- "textAlignment": "left"
281
- },
282
- "content": [
283
- {
284
- "type": "text",
285
- "text": "Bullet List Item 2",
286
- "styles": {}
287
- }
288
- ],
289
- "children": []
290
- },
291
- {
292
- "id": "15",
293
- "type": "numberedListItem",
294
- "props": {
295
- "textColor": "default",
296
- "backgroundColor": "default",
297
- "textAlignment": "left"
298
- },
299
- "content": [
300
- {
301
- "type": "text",
302
- "text": "Numbered List Item 1",
303
- "styles": {}
304
- }
305
- ],
306
- "children": []
307
- },
308
- {
309
- "id": "16",
310
- "type": "numberedListItem",
311
- "props": {
312
- "textColor": "default",
313
- "backgroundColor": "default",
314
- "textAlignment": "left"
315
- },
316
- "content": [
317
- {
318
- "type": "text",
319
- "text": "Numbered List Item 2",
320
- "styles": {}
321
- }
322
- ],
323
- "children": []
324
- },
325
- {
326
- "id": "17",
327
- "type": "paragraph",
328
- "props": {
329
- "textColor": "default",
330
- "backgroundColor": "default",
331
- "textAlignment": "left"
332
- },
333
- "content": [],
334
- "children": []
335
- },
336
- {
337
- "id": "18",
338
- "type": "paragraph",
339
- "props": {
340
- "textColor": "default",
341
- "backgroundColor": "default",
342
- "textAlignment": "left"
343
- },
344
- "content": [
345
- {
346
- "type": "text",
347
- "text": "\n",
348
- "styles": {}
349
- }
350
- ],
351
- "children": []
352
- },
353
- {
354
- "id": "19",
355
- "type": "table",
356
- "props": {
357
- "textColor": "default",
358
- "backgroundColor": "default"
359
- },
360
- "content": {
361
- "type": "tableContent",
362
- "rows": [
363
- {
364
- "cells": [
365
- [
366
- {
367
- "type": "text",
368
- "text": "Cell 1",
369
- "styles": {}
370
- }
371
- ],
372
- [
373
- {
374
- "type": "text",
375
- "text": "Cell 2",
376
- "styles": {}
377
- }
378
- ],
379
- [
380
- {
381
- "type": "text",
382
- "text": "Cell 3",
383
- "styles": {}
384
- }
385
- ]
386
- ]
387
- },
388
- {
389
- "cells": [
390
- [
391
- {
392
- "type": "text",
393
- "text": "Cell 4",
394
- "styles": {}
395
- }
396
- ],
397
- [
398
- {
399
- "type": "text",
400
- "text": "Cell 5",
401
- "styles": {}
402
- }
403
- ],
404
- [
405
- {
406
- "type": "text",
407
- "text": "Cell 6",
408
- "styles": {}
409
- }
410
- ]
411
- ]
412
- },
413
- {
414
- "cells": [
415
- [
416
- {
417
- "type": "text",
418
- "text": "Cell 7",
419
- "styles": {}
420
- }
421
- ],
422
- [
423
- {
424
- "type": "text",
425
- "text": "Cell 8",
426
- "styles": {}
427
- }
428
- ],
429
- [
430
- {
431
- "type": "text",
432
- "text": "Cell 9",
433
- "styles": {}
434
- }
435
- ]
436
- ]
437
- }
438
- ]
439
- },
440
- "children": []
441
- },
442
- {
443
- "id": "20",
444
- "type": "paragraph",
445
- "props": {
446
- "textColor": "default",
447
- "backgroundColor": "default",
448
- "textAlignment": "left"
449
- },
450
- "content": [
451
- {
452
- "type": "text",
453
- "text": "Paragraph",
454
- "styles": {}
455
- }
456
- ],
457
- "children": []
458
- },
459
- {
460
- "id": "21",
461
- "type": "paragraph",
462
- "props": {
463
- "textColor": "default",
464
- "backgroundColor": "default",
465
- "textAlignment": "left"
466
- },
467
- "content": [
468
- {
469
- "type": "text",
470
- "text": "\n",
471
- "styles": {}
472
- }
473
- ],
474
- "children": []
475
- }
476
- ]
@@ -1,14 +0,0 @@
1
- import { Node } from "prosemirror-model";
2
- import { Block, PartialBlock } from "../../blocks/defaultBlocks";
3
- import type { BlockNoteEditor } from "../../editor/BlockNoteEditor";
4
- import { BlockIdentifier, BlockSchema, InlineContentSchema, StyleSchema } from "../../schema";
5
- export declare function insertBlocks<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(blocksToInsert: PartialBlock<BSchema, I, S>[], referenceBlock: BlockIdentifier, placement: "before" | "after" | "nested" | undefined, editor: BlockNoteEditor<BSchema, I, S>): Block<BSchema, I, S>[];
6
- export declare function updateBlock<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(blockToUpdate: BlockIdentifier, update: PartialBlock<BSchema, I, S>, editor: BlockNoteEditor<BSchema, I, S>): Block<BSchema, I, S>;
7
- export declare function removeBlocks<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(blocksToRemove: BlockIdentifier[], editor: BlockNoteEditor<BSchema, I, S>): Block<BSchema, I, S>[];
8
- export declare function replaceBlocks<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(blocksToRemove: BlockIdentifier[], blocksToInsert: PartialBlock<BSchema, I, S>[], editor: BlockNoteEditor<BSchema, I, S>): {
9
- insertedBlocks: Block<BSchema, I, S>[];
10
- removedBlocks: Block<BSchema, I, S>[];
11
- };
12
- export declare function insertContentAt<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(position: any, nodes: Node[], editor: BlockNoteEditor<BSchema, I, S>, options?: {
13
- updateSelection: boolean;
14
- }): boolean;
@@ -1,6 +0,0 @@
1
- import { Extension } from "@tiptap/core";
2
- import type { BlockNoteEditor } from "../../editor/BlockNoteEditor";
3
- import { InlineContentSchema, StyleSchema } from "../../schema";
4
- export declare const createCopyToClipboardExtension: <BSchema extends Record<string, import("../../schema").BlockConfig>, I extends InlineContentSchema, S extends StyleSchema>(editor: BlockNoteEditor<BSchema, I, S>) => Extension<{
5
- editor: BlockNoteEditor<BSchema, I, S>;
6
- }, undefined>;
@@ -1,9 +0,0 @@
1
- import { DOMSerializer, Fragment, Node } from "prosemirror-model";
2
- import type { BlockNoteEditor } from "../../../../editor/BlockNoteEditor";
3
- import { InlineContentSchema, StyleSchema } from "../../../../schema";
4
- export declare const serializeNodeInner: <BSchema extends Record<string, import("../../../../schema").BlockConfig>, I extends InlineContentSchema, S extends StyleSchema>(node: Node, options: {
5
- document?: Document;
6
- }, serializer: DOMSerializer, editor: BlockNoteEditor<BSchema, I, S>, toExternalHTML: boolean) => HTMLElement;
7
- export declare const serializeProseMirrorFragment: (fragment: Fragment, serializer: DOMSerializer, options?: {
8
- document?: Document;
9
- }) => string;
@@ -1,16 +0,0 @@
1
- import { Parent as HASTParent } from "hast";
2
- type SimplifyBlocksOptions = {
3
- orderedListItemBlockTypes: Set<string>;
4
- unorderedListItemBlockTypes: Set<string>;
5
- };
6
- /**
7
- * Rehype plugin which converts the HTML output string rendered by BlockNote into a simplified structure which better
8
- * follows HTML standards. It does several things:
9
- * - Removes all block related div elements, leaving only the actual content inside the block.
10
- * - Lifts nested blocks to a higher level for all block types that don't represent list items.
11
- * - Wraps blocks which represent list items in corresponding ul/ol HTML elements and restructures them to comply
12
- * with HTML list structure.
13
- * @param options Options for specifying which block types represent ordered and unordered list items.
14
- */
15
- export declare function simplifyBlocks(options: SimplifyBlocksOptions): (tree: HASTParent) => void;
16
- export {};
@@ -1,2 +0,0 @@
1
- import { Editor } from "@tiptap/core";
2
- export declare const getCurrentBlockContentType: (editor: Editor) => string | undefined;
@@ -1,24 +0,0 @@
1
- import { Node, Schema } from "@tiptap/pm/model";
2
- import type { BlockSchema, InlineContent, InlineContentSchema, PartialInlineContent, PartialTableContent, StyleSchema } from "../../schema";
3
- import type { Block, PartialBlock } from "../../blocks/defaultBlocks";
4
- /**
5
- * converts an array of inline content elements to prosemirror nodes
6
- */
7
- export declare function inlineContentToNodes<I extends InlineContentSchema, S extends StyleSchema>(blockContent: PartialInlineContent<I, S>, schema: Schema, styleSchema: S): Node[];
8
- /**
9
- * converts an array of inline content elements to prosemirror nodes
10
- */
11
- export declare function tableContentToNodes<I extends InlineContentSchema, S extends StyleSchema>(tableContent: PartialTableContent<I, S>, schema: Schema, styleSchema: StyleSchema): Node[];
12
- /**
13
- * Converts a BlockNote block to a TipTap node.
14
- */
15
- export declare function blockToNode(block: PartialBlock<any, any, any>, schema: Schema, styleSchema: StyleSchema): Node;
16
- /**
17
- * Converts an internal (prosemirror) content node to a BlockNote InlineContent array.
18
- */
19
- export declare function contentNodeToInlineContent<I extends InlineContentSchema, S extends StyleSchema>(contentNode: Node, inlineContentSchema: I, styleSchema: S): InlineContent<I, S>[];
20
- export declare function nodeToCustomInlineContent<I extends InlineContentSchema, S extends StyleSchema>(node: Node, inlineContentSchema: I, styleSchema: S): InlineContent<I, S>;
21
- /**
22
- * Convert a TipTap node to a BlockNote block.
23
- */
24
- export declare function nodeToBlock<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(node: Node, blockSchema: BSchema, inlineContentSchema: I, styleSchema: S, blockCache?: WeakMap<Node, Block<BSchema, I, S>>): Block<BSchema, I, S>;
@@ -1,6 +0,0 @@
1
- import { Extension } from "@tiptap/core";
2
- import type { BlockNoteEditor } from "../../editor/BlockNoteEditor";
3
- import { InlineContentSchema, StyleSchema } from "../../schema";
4
- export declare const createDropFileExtension: <BSchema extends Record<string, import("../../schema").BlockConfig>, I extends InlineContentSchema, S extends StyleSchema>(editor: BlockNoteEditor<BSchema, I, S>) => Extension<{
5
- editor: BlockNoteEditor<BSchema, I, S>;
6
- }, undefined>;
@@ -1,6 +0,0 @@
1
- import { Extension } from "@tiptap/core";
2
- import type { BlockNoteEditor } from "../../editor/BlockNoteEditor";
3
- import { InlineContentSchema, StyleSchema } from "../../schema";
4
- export declare const createPasteFromClipboardExtension: <BSchema extends Record<string, import("../../schema").BlockConfig>, I extends InlineContentSchema, S extends StyleSchema>(editor: BlockNoteEditor<BSchema, I, S>) => Extension<{
5
- editor: BlockNoteEditor<BSchema, I, S>;
6
- }, undefined>;
@@ -1,2 +0,0 @@
1
- import { Plugin } from "prosemirror-state";
2
- export declare const NonEditableBlockPlugin: () => Plugin<any>;