@blocknote/core 0.9.6 → 0.10.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 (347) hide show
  1. package/dist/blocknote.js +3696 -2609
  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 -0
  7. package/package.json +11 -5
  8. package/src/api/README.md +8 -0
  9. package/src/api/blockManipulation/blockManipulation.test.ts +72 -10
  10. package/src/api/blockManipulation/blockManipulation.ts +38 -18
  11. package/src/api/exporters/copyExtension.ts +68 -0
  12. package/src/api/exporters/html/__snapshots__/complex/misc/external.html +1 -0
  13. package/src/api/exporters/html/__snapshots__/complex/misc/internal.html +1 -0
  14. package/src/api/exporters/html/__snapshots__/customParagraph/basic/external.html +1 -0
  15. package/src/api/exporters/html/__snapshots__/customParagraph/basic/internal.html +1 -0
  16. package/src/api/exporters/html/__snapshots__/customParagraph/nested/external.html +1 -0
  17. package/src/api/exporters/html/__snapshots__/customParagraph/nested/internal.html +1 -0
  18. package/src/api/exporters/html/__snapshots__/customParagraph/styled/external.html +1 -0
  19. package/src/api/exporters/html/__snapshots__/customParagraph/styled/internal.html +1 -0
  20. package/src/api/exporters/html/__snapshots__/fontSize/basic/external.html +1 -0
  21. package/src/api/exporters/html/__snapshots__/fontSize/basic/internal.html +1 -0
  22. package/src/api/exporters/html/__snapshots__/hardbreak/basic/external.html +1 -0
  23. package/src/api/exporters/html/__snapshots__/hardbreak/basic/internal.html +1 -0
  24. package/src/api/exporters/html/__snapshots__/hardbreak/between-links/external.html +1 -0
  25. package/src/api/exporters/html/__snapshots__/hardbreak/between-links/internal.html +1 -0
  26. package/src/api/exporters/html/__snapshots__/hardbreak/end/external.html +1 -0
  27. package/src/api/exporters/html/__snapshots__/hardbreak/end/internal.html +1 -0
  28. package/src/api/exporters/html/__snapshots__/hardbreak/link/external.html +1 -0
  29. package/src/api/exporters/html/__snapshots__/hardbreak/link/internal.html +1 -0
  30. package/src/api/exporters/html/__snapshots__/hardbreak/multiple/external.html +1 -0
  31. package/src/api/exporters/html/__snapshots__/hardbreak/multiple/internal.html +1 -0
  32. package/src/api/exporters/html/__snapshots__/hardbreak/only/external.html +1 -0
  33. package/src/api/exporters/html/__snapshots__/hardbreak/only/internal.html +1 -0
  34. package/src/api/exporters/html/__snapshots__/hardbreak/start/external.html +1 -0
  35. package/src/api/exporters/html/__snapshots__/hardbreak/start/internal.html +1 -0
  36. package/src/api/exporters/html/__snapshots__/hardbreak/styles/external.html +1 -0
  37. package/src/api/exporters/html/__snapshots__/hardbreak/styles/internal.html +1 -0
  38. package/src/api/exporters/html/__snapshots__/image/basic/external.html +1 -0
  39. package/src/api/exporters/html/__snapshots__/image/basic/internal.html +1 -0
  40. package/src/api/exporters/html/__snapshots__/image/button/external.html +1 -0
  41. package/src/api/exporters/html/__snapshots__/image/button/internal.html +1 -0
  42. package/src/api/exporters/html/__snapshots__/image/nested/external.html +1 -0
  43. package/src/api/exporters/html/__snapshots__/image/nested/internal.html +1 -0
  44. package/src/api/exporters/html/__snapshots__/link/adjacent/external.html +1 -0
  45. package/src/api/exporters/html/__snapshots__/link/adjacent/internal.html +1 -0
  46. package/src/api/exporters/html/__snapshots__/link/basic/external.html +1 -0
  47. package/src/api/exporters/html/__snapshots__/link/basic/internal.html +1 -0
  48. package/src/api/exporters/html/__snapshots__/link/styled/external.html +1 -0
  49. package/src/api/exporters/html/__snapshots__/link/styled/internal.html +1 -0
  50. package/src/api/exporters/html/__snapshots__/mention/basic/external.html +1 -0
  51. package/src/api/exporters/html/__snapshots__/mention/basic/internal.html +1 -0
  52. package/src/api/exporters/html/__snapshots__/paragraph/basic/external.html +1 -0
  53. package/src/api/exporters/html/__snapshots__/paragraph/basic/internal.html +1 -0
  54. package/src/api/exporters/html/__snapshots__/paragraph/empty/external.html +1 -0
  55. package/src/api/exporters/html/__snapshots__/paragraph/empty/internal.html +1 -0
  56. package/src/api/exporters/html/__snapshots__/paragraph/nested/external.html +1 -0
  57. package/src/api/exporters/html/__snapshots__/paragraph/nested/internal.html +1 -0
  58. package/src/api/exporters/html/__snapshots__/paragraph/styled/external.html +1 -0
  59. package/src/api/exporters/html/__snapshots__/paragraph/styled/internal.html +1 -0
  60. package/src/api/exporters/html/__snapshots__/paste/parse-basic-block-types.json +140 -0
  61. package/src/api/exporters/html/__snapshots__/paste/parse-deep-nested-content.json +240 -0
  62. package/src/api/exporters/html/__snapshots__/paste/parse-div-with-inline-content.json +91 -0
  63. package/src/api/exporters/html/__snapshots__/paste/parse-divs.json +19 -0
  64. package/src/api/exporters/html/__snapshots__/paste/parse-fake-image-caption.json +31 -0
  65. package/src/api/exporters/html/__snapshots__/paste/parse-mixed-nested-lists.json +70 -0
  66. package/src/api/exporters/html/__snapshots__/paste/parse-nested-lists-with-paragraphs.json +70 -0
  67. package/src/api/exporters/html/__snapshots__/paste/parse-nested-lists.json +70 -0
  68. package/src/api/exporters/html/__snapshots__/simpleCustomParagraph/basic/external.html +1 -0
  69. package/src/api/exporters/html/__snapshots__/simpleCustomParagraph/basic/internal.html +1 -0
  70. package/src/api/exporters/html/__snapshots__/simpleCustomParagraph/nested/external.html +1 -0
  71. package/src/api/exporters/html/__snapshots__/simpleCustomParagraph/nested/internal.html +1 -0
  72. package/src/api/exporters/html/__snapshots__/simpleCustomParagraph/styled/external.html +1 -0
  73. package/src/api/exporters/html/__snapshots__/simpleCustomParagraph/styled/internal.html +1 -0
  74. package/src/api/exporters/html/__snapshots__/simpleImage/basic/external.html +1 -0
  75. package/src/api/exporters/html/__snapshots__/simpleImage/basic/internal.html +1 -0
  76. package/src/api/exporters/html/__snapshots__/simpleImage/button/external.html +1 -0
  77. package/src/api/exporters/html/__snapshots__/simpleImage/button/internal.html +1 -0
  78. package/src/api/exporters/html/__snapshots__/simpleImage/nested/external.html +1 -0
  79. package/src/api/exporters/html/__snapshots__/simpleImage/nested/internal.html +1 -0
  80. package/src/api/exporters/html/__snapshots__/small/basic/external.html +1 -0
  81. package/src/api/exporters/html/__snapshots__/small/basic/internal.html +1 -0
  82. package/src/api/exporters/html/__snapshots__/tag/basic/external.html +1 -0
  83. package/src/api/exporters/html/__snapshots__/tag/basic/internal.html +1 -0
  84. package/src/api/exporters/html/externalHTMLExporter.ts +98 -0
  85. package/src/api/exporters/html/htmlConversion.test.ts +100 -0
  86. package/src/api/exporters/html/internalHTMLSerializer.ts +80 -0
  87. package/src/api/exporters/html/util/sharedHTMLConversion.ts +128 -0
  88. package/src/api/{formatConversions → exporters/html/util}/simplifyBlocksRehypePlugin.ts +13 -0
  89. package/src/api/exporters/markdown/__snapshots__/complex/misc/markdown.md +5 -0
  90. package/src/api/exporters/markdown/__snapshots__/customParagraph/basic/markdown.md +1 -0
  91. package/src/api/exporters/markdown/__snapshots__/customParagraph/nested/markdown.md +5 -0
  92. package/src/api/exporters/markdown/__snapshots__/customParagraph/styled/markdown.md +1 -0
  93. package/src/api/exporters/markdown/__snapshots__/fontSize/basic/markdown.md +1 -0
  94. package/src/api/exporters/markdown/__snapshots__/hardbreak/basic/markdown.md +2 -0
  95. package/src/api/exporters/markdown/__snapshots__/hardbreak/between-links/markdown.md +2 -0
  96. package/src/api/exporters/markdown/__snapshots__/hardbreak/end/markdown.md +1 -0
  97. package/src/api/exporters/markdown/__snapshots__/hardbreak/link/markdown.md +2 -0
  98. package/src/api/exporters/markdown/__snapshots__/hardbreak/multiple/markdown.md +3 -0
  99. package/src/api/exporters/markdown/__snapshots__/hardbreak/start/markdown.md +1 -0
  100. package/src/api/exporters/markdown/__snapshots__/hardbreak/styles/markdown.md +2 -0
  101. package/src/api/exporters/markdown/__snapshots__/image/basic/markdown.md +3 -0
  102. package/src/api/exporters/markdown/__snapshots__/image/button/markdown.md +1 -0
  103. package/src/api/exporters/markdown/__snapshots__/image/nested/markdown.md +7 -0
  104. package/src/api/exporters/markdown/__snapshots__/link/adjacent/markdown.md +1 -0
  105. package/src/api/exporters/markdown/__snapshots__/link/basic/markdown.md +1 -0
  106. package/src/api/exporters/markdown/__snapshots__/link/styled/markdown.md +1 -0
  107. package/src/api/exporters/markdown/__snapshots__/mention/basic/markdown.md +1 -0
  108. package/src/api/exporters/markdown/__snapshots__/paragraph/basic/markdown.md +1 -0
  109. package/src/api/exporters/markdown/__snapshots__/paragraph/nested/markdown.md +5 -0
  110. package/src/api/exporters/markdown/__snapshots__/paragraph/styled/markdown.md +1 -0
  111. package/src/api/exporters/markdown/__snapshots__/simpleCustomParagraph/basic/markdown.md +1 -0
  112. package/src/api/exporters/markdown/__snapshots__/simpleCustomParagraph/nested/markdown.md +5 -0
  113. package/src/api/exporters/markdown/__snapshots__/simpleCustomParagraph/styled/markdown.md +1 -0
  114. package/src/api/exporters/markdown/__snapshots__/simpleImage/basic/markdown.md +1 -0
  115. package/src/api/exporters/markdown/__snapshots__/simpleImage/button/markdown.md +1 -0
  116. package/src/api/exporters/markdown/__snapshots__/simpleImage/nested/markdown.md +3 -0
  117. package/src/api/exporters/markdown/__snapshots__/small/basic/markdown.md +1 -0
  118. package/src/api/exporters/markdown/__snapshots__/tag/basic/markdown.md +1 -0
  119. package/src/api/exporters/markdown/markdownExporter.test.ts +85 -0
  120. package/src/api/exporters/markdown/markdownExporter.ts +42 -0
  121. package/src/api/nodeConversions/__snapshots__/nodeConversions.test.ts.snap +486 -125
  122. package/src/api/nodeConversions/nodeConversions.test.ts +67 -498
  123. package/src/api/nodeConversions/nodeConversions.ts +311 -85
  124. package/src/api/parsers/html/__snapshots__/paste/list-test.json +105 -0
  125. package/src/api/parsers/html/__snapshots__/paste/parse-basic-block-types.json +140 -0
  126. package/src/api/parsers/html/__snapshots__/paste/parse-deep-nested-content.json +240 -0
  127. package/src/api/parsers/html/__snapshots__/paste/parse-div-with-inline-content.json +91 -0
  128. package/src/api/parsers/html/__snapshots__/paste/parse-divs.json +121 -0
  129. package/src/api/parsers/html/__snapshots__/paste/parse-fake-image-caption.json +31 -0
  130. package/src/api/parsers/html/__snapshots__/paste/parse-google-docs-html.json +476 -0
  131. package/src/api/parsers/html/__snapshots__/paste/parse-mixed-nested-lists.json +140 -0
  132. package/src/api/parsers/html/__snapshots__/paste/parse-nested-lists-with-paragraphs.json +140 -0
  133. package/src/api/parsers/html/__snapshots__/paste/parse-nested-lists.json +157 -0
  134. package/src/api/parsers/html/__snapshots__/paste/parse-notion-html.json +470 -0
  135. package/src/api/parsers/html/__snapshots__/paste/parse-two-divs.json +36 -0
  136. package/src/api/parsers/html/parseHTML.test.ts +440 -0
  137. package/src/api/parsers/html/parseHTML.ts +42 -0
  138. package/src/api/parsers/html/util/__snapshots__/nestedLists.test.ts.snap +129 -0
  139. package/src/api/parsers/html/util/nestedLists.test.ts +176 -0
  140. package/src/api/parsers/html/util/nestedLists.ts +113 -0
  141. package/src/api/parsers/markdown/__snapshots__/complex.json +353 -0
  142. package/src/api/parsers/markdown/__snapshots__/issue-226-1.json +71 -0
  143. package/src/api/parsers/markdown/__snapshots__/issue-226-2.json +144 -0
  144. package/src/api/parsers/markdown/__snapshots__/nested.json +72 -0
  145. package/src/api/parsers/markdown/__snapshots__/non-nested.json +71 -0
  146. package/src/api/parsers/markdown/__snapshots__/styled.json +58 -0
  147. package/src/api/parsers/markdown/parseMarkdown.test.ts +114 -0
  148. package/src/api/parsers/markdown/parseMarkdown.ts +84 -0
  149. package/src/api/parsers/pasteExtension.ts +59 -0
  150. package/src/api/testUtil/cases/customBlocks.ts +282 -0
  151. package/src/api/testUtil/cases/customInlineContent.ts +114 -0
  152. package/src/api/testUtil/cases/customStyles.ts +100 -0
  153. package/src/api/testUtil/cases/defaultSchema.ts +399 -0
  154. package/src/api/testUtil/index.ts +17 -0
  155. package/src/api/testUtil/partialBlockTestUtil.ts +127 -0
  156. package/src/blocks/HeadingBlockContent/HeadingBlockContent.ts +136 -0
  157. package/src/{extensions/Blocks/nodes/BlockContent → blocks}/ImageBlockContent/ImageBlockContent.ts +87 -31
  158. package/src/{extensions/Blocks/nodes/BlockContent → blocks}/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.ts +34 -47
  159. package/src/{extensions/Blocks/nodes/BlockContent → blocks}/ListItemBlockContent/ListItemKeyboardShortcuts.ts +1 -1
  160. package/src/{extensions/Blocks/nodes/BlockContent → blocks}/ListItemBlockContent/NumberedListItemBlockContent/NumberedListIndexingPlugin.ts +1 -1
  161. package/src/{extensions/Blocks/nodes/BlockContent → blocks}/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.ts +34 -56
  162. package/src/blocks/ParagraphBlockContent/ParagraphBlockContent.ts +43 -0
  163. package/src/blocks/README.md +3 -0
  164. package/src/blocks/TableBlockContent/TableBlockContent.ts +74 -0
  165. package/src/blocks/TableBlockContent/TableExtension.ts +63 -0
  166. package/src/blocks/defaultBlockHelpers.ts +95 -0
  167. package/src/blocks/defaultBlocks.ts +60 -0
  168. package/src/blocks/defaultProps.ts +24 -0
  169. package/src/{extensions/Blocks/nodes/Block.module.css → editor/Block.css} +69 -62
  170. package/src/{BlockNoteEditor.test.ts → editor/BlockNoteEditor.test.ts} +2 -2
  171. package/src/{BlockNoteEditor.ts → editor/BlockNoteEditor.ts} +363 -153
  172. package/src/{BlockNoteExtensions.ts → editor/BlockNoteExtensions.ts} +59 -40
  173. package/src/editor/README.md +3 -0
  174. package/src/editor/cursorPositionTypes.ts +16 -0
  175. package/src/{editor.module.css → editor/editor.css} +43 -15
  176. package/src/editor/selectionTypes.ts +14 -0
  177. package/src/editor/transformPasted.ts +58 -0
  178. package/src/extensions/BackgroundColor/BackgroundColorExtension.ts +1 -36
  179. package/src/extensions/BackgroundColor/BackgroundColorMark.ts +12 -27
  180. package/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts +16 -24
  181. package/src/extensions/HyperlinkToolbar/HyperlinkToolbarPlugin.ts +12 -10
  182. package/src/extensions/ImageToolbar/ImageToolbarPlugin.ts +35 -73
  183. package/src/extensions/Placeholder/PlaceholderExtension.ts +4 -4
  184. package/src/extensions/README.md +3 -0
  185. package/src/extensions/SideMenu/SideMenuPlugin.ts +66 -37
  186. package/src/extensions/SlashMenu/BaseSlashMenuItem.ts +7 -6
  187. package/src/extensions/SlashMenu/SlashMenuPlugin.ts +9 -7
  188. package/src/extensions/SlashMenu/defaultSlashMenuItems.ts +98 -35
  189. package/src/extensions/TableHandles/TableHandlesPlugin.ts +617 -0
  190. package/src/extensions/TextAlignment/TextAlignmentExtension.ts +3 -51
  191. package/src/extensions/TextColor/TextColorExtension.ts +1 -29
  192. package/src/extensions/TextColor/TextColorMark.ts +7 -27
  193. package/src/extensions/UniqueID/UniqueID.ts +28 -2
  194. package/src/extensions-shared/README.md +3 -0
  195. package/src/{shared/plugins → extensions-shared}/suggestion/SuggestionPlugin.ts +19 -13
  196. package/src/index.ts +21 -15
  197. package/src/{extensions/Blocks/nodes → pm-nodes}/BlockContainer.ts +161 -96
  198. package/src/pm-nodes/BlockGroup.ts +54 -0
  199. package/src/pm-nodes/Doc.ts +7 -0
  200. package/src/pm-nodes/README.md +42 -0
  201. package/src/pm-nodes/index.ts +3 -0
  202. package/src/schema/README.md +3 -0
  203. package/src/schema/blocks/createSpec.ts +220 -0
  204. package/src/schema/blocks/internal.ts +253 -0
  205. package/src/schema/blocks/types.ts +252 -0
  206. package/src/schema/index.ts +10 -0
  207. package/src/schema/inlineContent/createSpec.ts +119 -0
  208. package/src/schema/inlineContent/internal.ts +105 -0
  209. package/src/schema/inlineContent/types.ts +144 -0
  210. package/src/schema/propTypes.ts +32 -0
  211. package/src/schema/styles/createSpec.ts +85 -0
  212. package/src/schema/styles/internal.ts +96 -0
  213. package/src/schema/styles/types.ts +42 -0
  214. package/src/util/README.md +3 -0
  215. package/src/{shared/utils.ts → util/browser.ts} +4 -8
  216. package/src/util/string.ts +3 -0
  217. package/src/util/typescript.ts +5 -0
  218. package/types/src/api/blockManipulation/blockManipulation.d.ts +5 -4
  219. package/types/src/api/exporters/copyExtension.d.ts +6 -0
  220. package/types/src/api/exporters/html/externalHTMLExporter.d.ts +8 -0
  221. package/types/src/api/exporters/html/internalHTMLSerializer.d.ts +8 -0
  222. package/types/src/api/exporters/html/util/sharedHTMLConversion.d.ts +7 -0
  223. package/types/src/api/exporters/markdown/markdownExporter.d.ts +5 -0
  224. package/types/src/api/nodeConversions/nodeConversions.d.ts +14 -6
  225. package/types/src/api/parsers/html/parseHTML.d.ts +3 -0
  226. package/types/src/api/parsers/html/parseHTML.test.d.ts +1 -0
  227. package/types/src/api/parsers/html/util/nestedLists.d.ts +1 -0
  228. package/types/src/api/parsers/html/util/nestedLists.test.d.ts +1 -0
  229. package/types/src/api/parsers/markdown/parseMarkdown.d.ts +3 -0
  230. package/types/src/api/parsers/markdown/parseMarkdown.test.d.ts +1 -0
  231. package/types/src/api/parsers/pasteExtension.d.ts +6 -0
  232. package/types/src/api/testUtil/cases/customBlocks.d.ts +345 -0
  233. package/types/src/api/testUtil/cases/customInlineContent.d.ts +29 -0
  234. package/types/src/api/testUtil/cases/customStyles.d.ts +64 -0
  235. package/types/src/api/testUtil/cases/defaultSchema.d.ts +3 -0
  236. package/types/src/api/testUtil/index.d.ts +12 -0
  237. package/types/src/api/testUtil/partialBlockTestUtil.d.ts +7 -0
  238. package/types/src/blocks/HeadingBlockContent/HeadingBlockContent.d.ts +58 -0
  239. package/types/src/blocks/ImageBlockContent/ImageBlockContent.d.ts +93 -0
  240. package/types/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.d.ts +46 -0
  241. package/types/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.d.ts +46 -0
  242. package/types/src/blocks/ParagraphBlockContent/ParagraphBlockContent.d.ts +52 -0
  243. package/types/src/blocks/TableBlockContent/TableBlockContent.d.ts +53 -0
  244. package/types/src/blocks/TableBlockContent/TableExtension.d.ts +2 -0
  245. package/types/src/blocks/defaultBlockHelpers.d.ts +10 -0
  246. package/types/src/blocks/defaultBlocks.d.ts +577 -0
  247. package/types/src/{extensions/Blocks/api → blocks}/defaultProps.d.ts +2 -1
  248. package/types/src/{BlockNoteEditor.d.ts → editor/BlockNoteEditor.d.ts} +54 -43
  249. package/types/src/editor/BlockNoteEditor.test.d.ts +1 -0
  250. package/types/src/{BlockNoteExtensions.d.ts → editor/BlockNoteExtensions.d.ts} +7 -4
  251. package/types/src/editor/cursorPositionTypes.d.ts +6 -0
  252. package/types/src/editor/selectionTypes.d.ts +4 -0
  253. package/types/src/editor/transformPasted.d.ts +12 -0
  254. package/types/src/extensions/BackgroundColor/BackgroundColorExtension.d.ts +0 -7
  255. package/types/src/extensions/BackgroundColor/BackgroundColorMark.d.ts +7 -9
  256. package/types/src/extensions/FormattingToolbar/FormattingToolbarPlugin.d.ts +8 -6
  257. package/types/src/extensions/HyperlinkToolbar/HyperlinkToolbarPlugin.d.ts +6 -6
  258. package/types/src/extensions/ImageToolbar/ImageToolbarPlugin.d.ts +11 -16
  259. package/types/src/extensions/SideMenu/SideMenuPlugin.d.ts +18 -11
  260. package/types/src/extensions/SlashMenu/BaseSlashMenuItem.d.ts +5 -6
  261. package/types/src/extensions/SlashMenu/SlashMenuPlugin.d.ts +6 -6
  262. package/types/src/extensions/SlashMenu/defaultSlashMenuItems.d.ts +2 -1
  263. package/types/src/extensions/TableHandles/TableHandlesPlugin.d.ts +74 -0
  264. package/types/src/extensions/TextAlignment/TextAlignmentExtension.d.ts +0 -7
  265. package/types/src/extensions/TextColor/TextColorExtension.d.ts +0 -7
  266. package/types/src/extensions/TextColor/TextColorMark.d.ts +7 -9
  267. package/types/src/extensions/UniqueID/UniqueID.d.ts +1 -1
  268. package/types/src/{shared/plugins → extensions-shared}/suggestion/SuggestionPlugin.d.ts +5 -4
  269. package/types/src/index.d.ts +20 -15
  270. package/types/src/{extensions/Blocks/nodes → pm-nodes}/BlockContainer.d.ts +5 -3
  271. package/types/src/pm-nodes/Doc.d.ts +2 -0
  272. package/types/src/pm-nodes/index.d.ts +3 -0
  273. package/types/src/schema/blocks/createSpec.d.ts +35 -0
  274. package/types/src/schema/blocks/internal.d.ts +45 -0
  275. package/types/src/schema/blocks/types.d.ts +107 -0
  276. package/types/src/schema/index.d.ts +10 -0
  277. package/types/src/schema/inlineContent/createSpec.d.ts +21 -0
  278. package/types/src/schema/inlineContent/internal.d.ts +28 -0
  279. package/types/src/schema/inlineContent/types.d.ts +62 -0
  280. package/types/src/schema/propTypes.d.ts +8 -0
  281. package/types/src/schema/styles/createSpec.d.ts +13 -0
  282. package/types/src/schema/styles/internal.d.ts +22 -0
  283. package/types/src/schema/styles/types.d.ts +21 -0
  284. package/types/src/{shared/utils.d.ts → util/browser.d.ts} +0 -3
  285. package/types/src/util/string.d.ts +1 -0
  286. package/types/src/util/typescript.d.ts +3 -0
  287. package/src/api/formatConversions/__snapshots__/formatConversions.test.ts.snap +0 -346
  288. package/src/api/formatConversions/formatConversions.test.ts +0 -753
  289. package/src/api/formatConversions/formatConversions.ts +0 -133
  290. package/src/api/nodeConversions/testUtil.ts +0 -65
  291. package/src/extensions/Blocks/api/block.ts +0 -307
  292. package/src/extensions/Blocks/api/blockTypes.ts +0 -249
  293. package/src/extensions/Blocks/api/cursorPositionTypes.ts +0 -7
  294. package/src/extensions/Blocks/api/defaultBlocks.ts +0 -16
  295. package/src/extensions/Blocks/api/defaultProps.ts +0 -16
  296. package/src/extensions/Blocks/api/inlineContentTypes.ts +0 -36
  297. package/src/extensions/Blocks/api/selectionTypes.ts +0 -5
  298. package/src/extensions/Blocks/api/serialization.ts +0 -29
  299. package/src/extensions/Blocks/helpers/findBlock.ts +0 -5
  300. package/src/extensions/Blocks/index.ts +0 -8
  301. package/src/extensions/Blocks/nodes/BlockAttributes.ts +0 -10
  302. package/src/extensions/Blocks/nodes/BlockContent/HeadingBlockContent/HeadingBlockContent.ts +0 -142
  303. package/src/extensions/Blocks/nodes/BlockContent/ParagraphBlockContent/ParagraphBlockContent.ts +0 -62
  304. package/src/extensions/Blocks/nodes/BlockGroup.ts +0 -53
  305. package/types/src/api/formatConversions/formatConversions.d.ts +0 -6
  306. package/types/src/api/nodeConversions/testUtil.d.ts +0 -2
  307. package/types/src/extensions/Blocks/api/block.d.ts +0 -20
  308. package/types/src/extensions/Blocks/api/blockTypes.d.ts +0 -103
  309. package/types/src/extensions/Blocks/api/cursorPositionTypes.d.ts +0 -6
  310. package/types/src/extensions/Blocks/api/defaultBlocks.d.ts +0 -117
  311. package/types/src/extensions/Blocks/api/inlineContentTypes.d.ts +0 -30
  312. package/types/src/extensions/Blocks/api/selectionTypes.d.ts +0 -4
  313. package/types/src/extensions/Blocks/api/serialization.d.ts +0 -2
  314. package/types/src/extensions/Blocks/helpers/findBlock.d.ts +0 -6
  315. package/types/src/extensions/Blocks/index.d.ts +0 -4
  316. package/types/src/extensions/Blocks/nodes/BlockAttributes.d.ts +0 -2
  317. package/types/src/extensions/Blocks/nodes/BlockContent/HeadingBlockContent/HeadingBlockContent.d.ts +0 -43
  318. package/types/src/extensions/Blocks/nodes/BlockContent/ImageBlockContent/ImageBlockContent.d.ts +0 -37
  319. package/types/src/extensions/Blocks/nodes/BlockContent/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.d.ts +0 -35
  320. package/types/src/extensions/Blocks/nodes/BlockContent/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.d.ts +0 -35
  321. package/types/src/extensions/Blocks/nodes/BlockContent/ParagraphBlockContent/ParagraphBlockContent.d.ts +0 -44
  322. /package/src/{shared/EditorElement.ts → api/exporters/markdown/__snapshots__/hardbreak/only/markdown.md} +0 -0
  323. /package/{types/src/shared/EditorElement.d.ts → src/api/exporters/markdown/__snapshots__/paragraph/empty/markdown.md} +0 -0
  324. /package/src/api/{formatConversions → exporters/markdown}/removeUnderlinesRehypePlugin.ts +0 -0
  325. /package/src/{extensions/Blocks/helpers → api}/getBlockInfoFromPos.ts +0 -0
  326. /package/src/api/{util/nodeUtil.ts → nodeUtil.ts} +0 -0
  327. /package/src/{extensions/Blocks/nodes/BlockContent → blocks}/ImageBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY.ts +0 -0
  328. /package/src/extensions/{Blocks → NonEditableBlocks}/NonEditableBlockPlugin.ts +0 -0
  329. /package/src/extensions/{Blocks → PreviousBlockType}/PreviousBlockTypePlugin.ts +0 -0
  330. /package/src/{shared → extensions-shared}/BaseUiElementTypes.ts +0 -0
  331. /package/src/{shared/plugins → extensions-shared}/suggestion/SuggestionItem.ts +0 -0
  332. /package/src/{shared → util}/EventEmitter.ts +0 -0
  333. /package/types/src/{BlockNoteEditor.test.d.ts → api/exporters/html/htmlConversion.test.d.ts} +0 -0
  334. /package/types/src/api/{formatConversions → exporters/html/util}/simplifyBlocksRehypePlugin.d.ts +0 -0
  335. /package/types/src/api/{formatConversions/formatConversions.test.d.ts → exporters/markdown/markdownExporter.test.d.ts} +0 -0
  336. /package/types/src/api/{formatConversions → exporters/markdown}/removeUnderlinesRehypePlugin.d.ts +0 -0
  337. /package/types/src/{extensions/Blocks/helpers → api}/getBlockInfoFromPos.d.ts +0 -0
  338. /package/types/src/api/{util/nodeUtil.d.ts → nodeUtil.d.ts} +0 -0
  339. /package/types/src/{extensions/Blocks/nodes/BlockContent → blocks}/ImageBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY.d.ts +0 -0
  340. /package/types/src/{extensions/Blocks/nodes/BlockContent → blocks}/ListItemBlockContent/ListItemKeyboardShortcuts.d.ts +0 -0
  341. /package/types/src/{extensions/Blocks/nodes/BlockContent → blocks}/ListItemBlockContent/NumberedListItemBlockContent/NumberedListIndexingPlugin.d.ts +0 -0
  342. /package/types/src/extensions/{Blocks → NonEditableBlocks}/NonEditableBlockPlugin.d.ts +0 -0
  343. /package/types/src/extensions/{Blocks → PreviousBlockType}/PreviousBlockTypePlugin.d.ts +0 -0
  344. /package/types/src/{shared → extensions-shared}/BaseUiElementTypes.d.ts +0 -0
  345. /package/types/src/{shared/plugins → extensions-shared}/suggestion/SuggestionItem.d.ts +0 -0
  346. /package/types/src/{extensions/Blocks/nodes → pm-nodes}/BlockGroup.d.ts +0 -0
  347. /package/types/src/{shared → util}/EventEmitter.d.ts +0 -0
@@ -1,6 +1,134 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
- exports[`Complex ProseMirror Node Conversions > Convert complex block to node 1`] = `
3
+ exports[`Test BlockNote-Prosemirror conversion > Case: custom inline content schema > Convert mention/basic to/from prosemirror 1`] = `
4
+ {
5
+ "attrs": {
6
+ "backgroundColor": "default",
7
+ "id": "1",
8
+ "textColor": "default",
9
+ },
10
+ "content": [
11
+ {
12
+ "attrs": {
13
+ "textAlignment": "left",
14
+ },
15
+ "content": [
16
+ {
17
+ "text": "I enjoy working with ",
18
+ "type": "text",
19
+ },
20
+ {
21
+ "attrs": {
22
+ "user": "Matthew",
23
+ },
24
+ "type": "mention",
25
+ },
26
+ ],
27
+ "type": "paragraph",
28
+ },
29
+ ],
30
+ "type": "blockContainer",
31
+ }
32
+ `;
33
+
34
+ exports[`Test BlockNote-Prosemirror conversion > Case: custom inline content schema > Convert tag/basic to/from prosemirror 1`] = `
35
+ {
36
+ "attrs": {
37
+ "backgroundColor": "default",
38
+ "id": "1",
39
+ "textColor": "default",
40
+ },
41
+ "content": [
42
+ {
43
+ "attrs": {
44
+ "textAlignment": "left",
45
+ },
46
+ "content": [
47
+ {
48
+ "text": "I love ",
49
+ "type": "text",
50
+ },
51
+ {
52
+ "content": [
53
+ {
54
+ "text": "BlockNote",
55
+ "type": "text",
56
+ },
57
+ ],
58
+ "type": "tag",
59
+ },
60
+ ],
61
+ "type": "paragraph",
62
+ },
63
+ ],
64
+ "type": "blockContainer",
65
+ }
66
+ `;
67
+
68
+ exports[`Test BlockNote-Prosemirror conversion > Case: custom style schema > Convert fontSize/basic to/from prosemirror 1`] = `
69
+ {
70
+ "attrs": {
71
+ "backgroundColor": "default",
72
+ "id": "1",
73
+ "textColor": "default",
74
+ },
75
+ "content": [
76
+ {
77
+ "attrs": {
78
+ "textAlignment": "left",
79
+ },
80
+ "content": [
81
+ {
82
+ "marks": [
83
+ {
84
+ "attrs": {
85
+ "stringValue": "18px",
86
+ },
87
+ "type": "fontSize",
88
+ },
89
+ ],
90
+ "text": "This is text with a custom fontSize",
91
+ "type": "text",
92
+ },
93
+ ],
94
+ "type": "paragraph",
95
+ },
96
+ ],
97
+ "type": "blockContainer",
98
+ }
99
+ `;
100
+
101
+ exports[`Test BlockNote-Prosemirror conversion > Case: custom style schema > Convert small/basic to/from prosemirror 1`] = `
102
+ {
103
+ "attrs": {
104
+ "backgroundColor": "default",
105
+ "id": "1",
106
+ "textColor": "default",
107
+ },
108
+ "content": [
109
+ {
110
+ "attrs": {
111
+ "textAlignment": "left",
112
+ },
113
+ "content": [
114
+ {
115
+ "marks": [
116
+ {
117
+ "type": "small",
118
+ },
119
+ ],
120
+ "text": "This is a small text",
121
+ "type": "text",
122
+ },
123
+ ],
124
+ "type": "paragraph",
125
+ },
126
+ ],
127
+ "type": "blockContainer",
128
+ }
129
+ `;
130
+
131
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert complex/misc to/from prosemirror 1`] = `
4
132
  {
5
133
  "attrs": {
6
134
  "backgroundColor": "blue",
@@ -89,68 +217,91 @@ exports[`Complex ProseMirror Node Conversions > Convert complex block to node 1`
89
217
  }
90
218
  `;
91
219
 
92
- exports[`Complex ProseMirror Node Conversions > Convert complex node to block 1`] = `
220
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert hardbreak/basic to/from prosemirror 1`] = `
93
221
  {
94
- "children": [
222
+ "attrs": {
223
+ "backgroundColor": "default",
224
+ "id": "1",
225
+ "textColor": "default",
226
+ },
227
+ "content": [
95
228
  {
96
- "children": [],
229
+ "attrs": {
230
+ "textAlignment": "left",
231
+ },
97
232
  "content": [
98
233
  {
99
- "styles": {},
100
- "text": "Paragraph",
234
+ "text": "Text1",
235
+ "type": "text",
236
+ },
237
+ {
238
+ "type": "hardBreak",
239
+ },
240
+ {
241
+ "text": "Text2",
101
242
  "type": "text",
102
243
  },
103
244
  ],
104
- "id": "2",
105
- "props": {
106
- "backgroundColor": "red",
107
- "textAlignment": "left",
108
- "textColor": "default",
109
- },
110
245
  "type": "paragraph",
111
246
  },
112
- {
113
- "children": [],
114
- "content": [],
115
- "id": "3",
116
- "props": {
117
- "backgroundColor": "default",
118
- "textAlignment": "left",
119
- "textColor": "default",
120
- },
121
- "type": "bulletListItem",
122
- },
123
247
  ],
248
+ "type": "blockContainer",
249
+ }
250
+ `;
251
+
252
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert hardbreak/between-links to/from prosemirror 1`] = `
253
+ {
254
+ "attrs": {
255
+ "backgroundColor": "default",
256
+ "id": "1",
257
+ "textColor": "default",
258
+ },
124
259
  "content": [
125
260
  {
126
- "styles": {
127
- "bold": true,
128
- "underline": true,
129
- },
130
- "text": "Heading ",
131
- "type": "text",
132
- },
133
- {
134
- "styles": {
135
- "italic": true,
136
- "strike": true,
261
+ "attrs": {
262
+ "textAlignment": "left",
137
263
  },
138
- "text": "2",
139
- "type": "text",
264
+ "content": [
265
+ {
266
+ "marks": [
267
+ {
268
+ "attrs": {
269
+ "class": null,
270
+ "href": "https://www.website.com",
271
+ "target": "_blank",
272
+ },
273
+ "type": "link",
274
+ },
275
+ ],
276
+ "text": "Link1",
277
+ "type": "text",
278
+ },
279
+ {
280
+ "type": "hardBreak",
281
+ },
282
+ {
283
+ "marks": [
284
+ {
285
+ "attrs": {
286
+ "class": null,
287
+ "href": "https://www.website2.com",
288
+ "target": "_blank",
289
+ },
290
+ "type": "link",
291
+ },
292
+ ],
293
+ "text": "Link2",
294
+ "type": "text",
295
+ },
296
+ ],
297
+ "type": "paragraph",
140
298
  },
141
299
  ],
142
- "id": "1",
143
- "props": {
144
- "backgroundColor": "blue",
145
- "level": 2,
146
- "textAlignment": "right",
147
- "textColor": "yellow",
148
- },
149
- "type": "heading",
300
+ "type": "blockContainer",
150
301
  }
151
302
  `;
152
303
 
153
- exports[`Simple ProseMirror Node Conversions > Convert simple block to node 1`] = `
304
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert hardbreak/end to/from prosemirror 1`] = `
154
305
  {
155
306
  "attrs": {
156
307
  "backgroundColor": "default",
@@ -162,6 +313,15 @@ exports[`Simple ProseMirror Node Conversions > Convert simple block to node 1`]
162
313
  "attrs": {
163
314
  "textAlignment": "left",
164
315
  },
316
+ "content": [
317
+ {
318
+ "text": "Text1",
319
+ "type": "text",
320
+ },
321
+ {
322
+ "type": "hardBreak",
323
+ },
324
+ ],
165
325
  "type": "paragraph",
166
326
  },
167
327
  ],
@@ -169,21 +329,59 @@ exports[`Simple ProseMirror Node Conversions > Convert simple block to node 1`]
169
329
  }
170
330
  `;
171
331
 
172
- exports[`Simple ProseMirror Node Conversions > Convert simple node to block 1`] = `
332
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert hardbreak/link to/from prosemirror 1`] = `
173
333
  {
174
- "children": [],
175
- "content": [],
176
- "id": "1",
177
- "props": {
334
+ "attrs": {
178
335
  "backgroundColor": "default",
179
- "textAlignment": "left",
336
+ "id": "1",
180
337
  "textColor": "default",
181
338
  },
182
- "type": "paragraph",
339
+ "content": [
340
+ {
341
+ "attrs": {
342
+ "textAlignment": "left",
343
+ },
344
+ "content": [
345
+ {
346
+ "marks": [
347
+ {
348
+ "attrs": {
349
+ "class": null,
350
+ "href": "https://www.website.com",
351
+ "target": "_blank",
352
+ },
353
+ "type": "link",
354
+ },
355
+ ],
356
+ "text": "Link1",
357
+ "type": "text",
358
+ },
359
+ {
360
+ "type": "hardBreak",
361
+ },
362
+ {
363
+ "marks": [
364
+ {
365
+ "attrs": {
366
+ "class": null,
367
+ "href": "https://www.website.com",
368
+ "target": "_blank",
369
+ },
370
+ "type": "link",
371
+ },
372
+ ],
373
+ "text": "Link1",
374
+ "type": "text",
375
+ },
376
+ ],
377
+ "type": "paragraph",
378
+ },
379
+ ],
380
+ "type": "blockContainer",
183
381
  }
184
382
  `;
185
383
 
186
- exports[`hard breaks > Convert a block with a hard break 1`] = `
384
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert hardbreak/multiple to/from prosemirror 1`] = `
187
385
  {
188
386
  "attrs": {
189
387
  "backgroundColor": "default",
@@ -207,6 +405,13 @@ exports[`hard breaks > Convert a block with a hard break 1`] = `
207
405
  "text": "Text2",
208
406
  "type": "text",
209
407
  },
408
+ {
409
+ "type": "hardBreak",
410
+ },
411
+ {
412
+ "text": "Text3",
413
+ "type": "text",
414
+ },
210
415
  ],
211
416
  "type": "paragraph",
212
417
  },
@@ -215,7 +420,7 @@ exports[`hard breaks > Convert a block with a hard break 1`] = `
215
420
  }
216
421
  `;
217
422
 
218
- exports[`hard breaks > Convert a block with a hard break and different styles 1`] = `
423
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert hardbreak/only to/from prosemirror 1`] = `
219
424
  {
220
425
  "attrs": {
221
426
  "backgroundColor": "default",
@@ -229,19 +434,34 @@ exports[`hard breaks > Convert a block with a hard break and different styles 1`
229
434
  },
230
435
  "content": [
231
436
  {
232
- "text": "Text1",
233
- "type": "text",
437
+ "type": "hardBreak",
234
438
  },
439
+ ],
440
+ "type": "paragraph",
441
+ },
442
+ ],
443
+ "type": "blockContainer",
444
+ }
445
+ `;
446
+
447
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert hardbreak/start to/from prosemirror 1`] = `
448
+ {
449
+ "attrs": {
450
+ "backgroundColor": "default",
451
+ "id": "1",
452
+ "textColor": "default",
453
+ },
454
+ "content": [
455
+ {
456
+ "attrs": {
457
+ "textAlignment": "left",
458
+ },
459
+ "content": [
235
460
  {
236
461
  "type": "hardBreak",
237
462
  },
238
463
  {
239
- "marks": [
240
- {
241
- "type": "bold",
242
- },
243
- ],
244
- "text": "Text2",
464
+ "text": "Text1",
245
465
  "type": "text",
246
466
  },
247
467
  ],
@@ -252,7 +472,7 @@ exports[`hard breaks > Convert a block with a hard break and different styles 1`
252
472
  }
253
473
  `;
254
474
 
255
- exports[`hard breaks > Convert a block with a hard break at the end 1`] = `
475
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert hardbreak/styles to/from prosemirror 1`] = `
256
476
  {
257
477
  "attrs": {
258
478
  "backgroundColor": "default",
@@ -272,6 +492,15 @@ exports[`hard breaks > Convert a block with a hard break at the end 1`] = `
272
492
  {
273
493
  "type": "hardBreak",
274
494
  },
495
+ {
496
+ "marks": [
497
+ {
498
+ "type": "bold",
499
+ },
500
+ ],
501
+ "text": "Text2",
502
+ "type": "text",
503
+ },
275
504
  ],
276
505
  "type": "paragraph",
277
506
  },
@@ -280,7 +509,7 @@ exports[`hard breaks > Convert a block with a hard break at the end 1`] = `
280
509
  }
281
510
  `;
282
511
 
283
- exports[`hard breaks > Convert a block with a hard break at the start 1`] = `
512
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert image/basic to/from prosemirror 1`] = `
284
513
  {
285
514
  "attrs": {
286
515
  "backgroundColor": "default",
@@ -290,25 +519,87 @@ exports[`hard breaks > Convert a block with a hard break at the start 1`] = `
290
519
  "content": [
291
520
  {
292
521
  "attrs": {
522
+ "caption": "Caption",
293
523
  "textAlignment": "left",
524
+ "url": "exampleURL",
525
+ "width": 256,
294
526
  },
527
+ "type": "image",
528
+ },
529
+ ],
530
+ "type": "blockContainer",
531
+ }
532
+ `;
533
+
534
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert image/button to/from prosemirror 1`] = `
535
+ {
536
+ "attrs": {
537
+ "backgroundColor": "default",
538
+ "id": "1",
539
+ "textColor": "default",
540
+ },
541
+ "content": [
542
+ {
543
+ "attrs": {
544
+ "caption": "",
545
+ "textAlignment": "left",
546
+ "url": "",
547
+ "width": 512,
548
+ },
549
+ "type": "image",
550
+ },
551
+ ],
552
+ "type": "blockContainer",
553
+ }
554
+ `;
555
+
556
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert image/nested to/from prosemirror 1`] = `
557
+ {
558
+ "attrs": {
559
+ "backgroundColor": "default",
560
+ "id": "1",
561
+ "textColor": "default",
562
+ },
563
+ "content": [
564
+ {
565
+ "attrs": {
566
+ "caption": "Caption",
567
+ "textAlignment": "left",
568
+ "url": "exampleURL",
569
+ "width": 256,
570
+ },
571
+ "type": "image",
572
+ },
573
+ {
295
574
  "content": [
296
575
  {
297
- "type": "hardBreak",
298
- },
299
- {
300
- "text": "Text1",
301
- "type": "text",
576
+ "attrs": {
577
+ "backgroundColor": "default",
578
+ "id": "2",
579
+ "textColor": "default",
580
+ },
581
+ "content": [
582
+ {
583
+ "attrs": {
584
+ "caption": "Caption",
585
+ "textAlignment": "left",
586
+ "url": "exampleURL",
587
+ "width": 256,
588
+ },
589
+ "type": "image",
590
+ },
591
+ ],
592
+ "type": "blockContainer",
302
593
  },
303
594
  ],
304
- "type": "paragraph",
595
+ "type": "blockGroup",
305
596
  },
306
597
  ],
307
598
  "type": "blockContainer",
308
599
  }
309
600
  `;
310
601
 
311
- exports[`hard breaks > Convert a block with a hard break between links 1`] = `
602
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert link/adjacent to/from prosemirror 1`] = `
312
603
  {
313
604
  "attrs": {
314
605
  "backgroundColor": "default",
@@ -332,12 +623,9 @@ exports[`hard breaks > Convert a block with a hard break between links 1`] = `
332
623
  "type": "link",
333
624
  },
334
625
  ],
335
- "text": "Link1",
626
+ "text": "Website",
336
627
  "type": "text",
337
628
  },
338
- {
339
- "type": "hardBreak",
340
- },
341
629
  {
342
630
  "marks": [
343
631
  {
@@ -349,7 +637,7 @@ exports[`hard breaks > Convert a block with a hard break between links 1`] = `
349
637
  "type": "link",
350
638
  },
351
639
  ],
352
- "text": "Link2",
640
+ "text": "Website2",
353
641
  "type": "text",
354
642
  },
355
643
  ],
@@ -360,7 +648,7 @@ exports[`hard breaks > Convert a block with a hard break between links 1`] = `
360
648
  }
361
649
  `;
362
650
 
363
- exports[`hard breaks > Convert a block with a hard break in a link 1`] = `
651
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert link/basic to/from prosemirror 1`] = `
364
652
  {
365
653
  "attrs": {
366
654
  "backgroundColor": "default",
@@ -384,11 +672,46 @@ exports[`hard breaks > Convert a block with a hard break in a link 1`] = `
384
672
  "type": "link",
385
673
  },
386
674
  ],
387
- "text": "Link1",
675
+ "text": "Website",
388
676
  "type": "text",
389
677
  },
678
+ ],
679
+ "type": "paragraph",
680
+ },
681
+ ],
682
+ "type": "blockContainer",
683
+ }
684
+ `;
685
+
686
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert link/styled to/from prosemirror 1`] = `
687
+ {
688
+ "attrs": {
689
+ "backgroundColor": "default",
690
+ "id": "1",
691
+ "textColor": "default",
692
+ },
693
+ "content": [
694
+ {
695
+ "attrs": {
696
+ "textAlignment": "left",
697
+ },
698
+ "content": [
390
699
  {
391
- "type": "hardBreak",
700
+ "marks": [
701
+ {
702
+ "type": "bold",
703
+ },
704
+ {
705
+ "attrs": {
706
+ "class": null,
707
+ "href": "https://www.website.com",
708
+ "target": "_blank",
709
+ },
710
+ "type": "link",
711
+ },
712
+ ],
713
+ "text": "Web",
714
+ "type": "text",
392
715
  },
393
716
  {
394
717
  "marks": [
@@ -401,7 +724,7 @@ exports[`hard breaks > Convert a block with a hard break in a link 1`] = `
401
724
  "type": "link",
402
725
  },
403
726
  ],
404
- "text": "Link1",
727
+ "text": "site",
405
728
  "type": "text",
406
729
  },
407
730
  ],
@@ -412,7 +735,7 @@ exports[`hard breaks > Convert a block with a hard break in a link 1`] = `
412
735
  }
413
736
  `;
414
737
 
415
- exports[`hard breaks > Convert a block with multiple hard breaks 1`] = `
738
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert paragraph/basic to/from prosemirror 1`] = `
416
739
  {
417
740
  "attrs": {
418
741
  "backgroundColor": "default",
@@ -426,21 +749,7 @@ exports[`hard breaks > Convert a block with multiple hard breaks 1`] = `
426
749
  },
427
750
  "content": [
428
751
  {
429
- "text": "Text1",
430
- "type": "text",
431
- },
432
- {
433
- "type": "hardBreak",
434
- },
435
- {
436
- "text": "Text2",
437
- "type": "text",
438
- },
439
- {
440
- "type": "hardBreak",
441
- },
442
- {
443
- "text": "Text3",
752
+ "text": "Paragraph",
444
753
  "type": "text",
445
754
  },
446
755
  ],
@@ -451,7 +760,7 @@ exports[`hard breaks > Convert a block with multiple hard breaks 1`] = `
451
760
  }
452
761
  `;
453
762
 
454
- exports[`hard breaks > Convert a block with only a hard break 1`] = `
763
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert paragraph/empty to/from prosemirror 1`] = `
455
764
  {
456
765
  "attrs": {
457
766
  "backgroundColor": "default",
@@ -463,11 +772,6 @@ exports[`hard breaks > Convert a block with only a hard break 1`] = `
463
772
  "attrs": {
464
773
  "textAlignment": "left",
465
774
  },
466
- "content": [
467
- {
468
- "type": "hardBreak",
469
- },
470
- ],
471
775
  "type": "paragraph",
472
776
  },
473
777
  ],
@@ -475,7 +779,7 @@ exports[`hard breaks > Convert a block with only a hard break 1`] = `
475
779
  }
476
780
  `;
477
781
 
478
- exports[`links > Convert a block with link 1`] = `
782
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert paragraph/nested to/from prosemirror 1`] = `
479
783
  {
480
784
  "attrs": {
481
785
  "backgroundColor": "default",
@@ -489,66 +793,123 @@ exports[`links > Convert a block with link 1`] = `
489
793
  },
490
794
  "content": [
491
795
  {
492
- "marks": [
796
+ "text": "Paragraph",
797
+ "type": "text",
798
+ },
799
+ ],
800
+ "type": "paragraph",
801
+ },
802
+ {
803
+ "content": [
804
+ {
805
+ "attrs": {
806
+ "backgroundColor": "default",
807
+ "id": "2",
808
+ "textColor": "default",
809
+ },
810
+ "content": [
493
811
  {
494
812
  "attrs": {
495
- "class": null,
496
- "href": "https://www.website.com",
497
- "target": "_blank",
813
+ "textAlignment": "left",
498
814
  },
499
- "type": "link",
815
+ "content": [
816
+ {
817
+ "text": "Nested Paragraph 1",
818
+ "type": "text",
819
+ },
820
+ ],
821
+ "type": "paragraph",
500
822
  },
501
823
  ],
502
- "text": "Website",
503
- "type": "text",
824
+ "type": "blockContainer",
825
+ },
826
+ {
827
+ "attrs": {
828
+ "backgroundColor": "default",
829
+ "id": "3",
830
+ "textColor": "default",
831
+ },
832
+ "content": [
833
+ {
834
+ "attrs": {
835
+ "textAlignment": "left",
836
+ },
837
+ "content": [
838
+ {
839
+ "text": "Nested Paragraph 2",
840
+ "type": "text",
841
+ },
842
+ ],
843
+ "type": "paragraph",
844
+ },
845
+ ],
846
+ "type": "blockContainer",
504
847
  },
505
848
  ],
506
- "type": "paragraph",
849
+ "type": "blockGroup",
507
850
  },
508
851
  ],
509
852
  "type": "blockContainer",
510
853
  }
511
854
  `;
512
855
 
513
- exports[`links > Convert two adjacent links in a block 1`] = `
856
+ exports[`Test BlockNote-Prosemirror conversion > Case: default schema > Convert paragraph/styled to/from prosemirror 1`] = `
514
857
  {
515
858
  "attrs": {
516
- "backgroundColor": "default",
859
+ "backgroundColor": "pink",
517
860
  "id": "1",
518
- "textColor": "default",
861
+ "textColor": "orange",
519
862
  },
520
863
  "content": [
521
864
  {
522
865
  "attrs": {
523
- "textAlignment": "left",
866
+ "textAlignment": "center",
524
867
  },
525
868
  "content": [
869
+ {
870
+ "text": "Plain ",
871
+ "type": "text",
872
+ },
526
873
  {
527
874
  "marks": [
528
875
  {
529
876
  "attrs": {
530
- "class": null,
531
- "href": "https://www.website.com",
532
- "target": "_blank",
877
+ "stringValue": "red",
533
878
  },
534
- "type": "link",
879
+ "type": "textColor",
535
880
  },
536
881
  ],
537
- "text": "Website",
882
+ "text": "Red Text ",
538
883
  "type": "text",
539
884
  },
540
885
  {
541
886
  "marks": [
542
887
  {
543
888
  "attrs": {
544
- "class": null,
545
- "href": "https://www.website2.com",
546
- "target": "_blank",
889
+ "stringValue": "blue",
547
890
  },
548
- "type": "link",
891
+ "type": "backgroundColor",
549
892
  },
550
893
  ],
551
- "text": "Website2",
894
+ "text": "Blue Background ",
895
+ "type": "text",
896
+ },
897
+ {
898
+ "marks": [
899
+ {
900
+ "attrs": {
901
+ "stringValue": "red",
902
+ },
903
+ "type": "textColor",
904
+ },
905
+ {
906
+ "attrs": {
907
+ "stringValue": "blue",
908
+ },
909
+ "type": "backgroundColor",
910
+ },
911
+ ],
912
+ "text": "Mixed Colors",
552
913
  "type": "text",
553
914
  },
554
915
  ],