@blocknote/core 0.46.1 → 0.47.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 (56) hide show
  1. package/dist/{BlockNoteSchema-DsMVJZv4.js → BlockNoteSchema-1r-ln0Q0.js} +2 -2
  2. package/dist/{BlockNoteSchema-DsMVJZv4.js.map → BlockNoteSchema-1r-ln0Q0.js.map} +1 -1
  3. package/dist/{BlockNoteSchema-qt4Czo0-.cjs → BlockNoteSchema-DT4bdXj5.cjs} +2 -2
  4. package/dist/{BlockNoteSchema-qt4Czo0-.cjs.map → BlockNoteSchema-DT4bdXj5.cjs.map} +1 -1
  5. package/dist/{TrailingNode-C-Kyrtf1.js → TrailingNode-DZag-Nvu.js} +476 -464
  6. package/dist/TrailingNode-DZag-Nvu.js.map +1 -0
  7. package/dist/TrailingNode-tesI8f7N.cjs +2 -0
  8. package/dist/TrailingNode-tesI8f7N.cjs.map +1 -0
  9. package/dist/blocknote.cjs +4 -4
  10. package/dist/blocknote.cjs.map +1 -1
  11. package/dist/blocknote.js +1264 -1165
  12. package/dist/blocknote.js.map +1 -1
  13. package/dist/blocks.cjs +1 -1
  14. package/dist/blocks.js +2 -2
  15. package/dist/{defaultBlocks-CXOCngjC.js → defaultBlocks-BSOEW3GR.js} +33 -29
  16. package/dist/defaultBlocks-BSOEW3GR.js.map +1 -0
  17. package/dist/defaultBlocks-D049Pbme.cjs +6 -0
  18. package/dist/defaultBlocks-D049Pbme.cjs.map +1 -0
  19. package/dist/extensions.cjs +1 -1
  20. package/dist/extensions.js +3 -3
  21. package/dist/locales.cjs +1 -1
  22. package/dist/locales.cjs.map +1 -1
  23. package/dist/locales.js +813 -28
  24. package/dist/locales.js.map +1 -1
  25. package/dist/style.css +1 -1
  26. package/dist/tsconfig.tsbuildinfo +1 -1
  27. package/dist/webpack-stats.json +1 -1
  28. package/package.json +1 -1
  29. package/src/api/exporters/html/internalHTMLSerializer.ts +146 -2
  30. package/src/api/exporters/html/util/serializeBlocksExternalHTML.ts +3 -0
  31. package/src/blocks/Code/block.ts +12 -8
  32. package/src/blocks/ListItem/CheckListItem/block.test.ts +61 -0
  33. package/src/blocks/ListItem/CheckListItem/block.ts +4 -0
  34. package/src/editor/Block.css +7 -3
  35. package/src/editor/editor.css +1 -0
  36. package/src/editor/transformPasted.ts +69 -0
  37. package/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboard.ts +1 -0
  38. package/src/extensions/SideMenu/SideMenu.ts +44 -0
  39. package/src/extensions/TableHandles/TableHandles.ts +6 -2
  40. package/src/extensions/tiptap-extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts +37 -11
  41. package/src/i18n/locales/fa.ts +390 -0
  42. package/src/i18n/locales/index.ts +2 -0
  43. package/src/i18n/locales/uz.ts +421 -0
  44. package/src/schema/blocks/createSpec.ts +4 -2
  45. package/src/schema/blocks/types.ts +9 -0
  46. package/types/src/blocks/ListItem/CheckListItem/block.test.d.ts +1 -0
  47. package/types/src/i18n/locales/fa.d.ts +320 -0
  48. package/types/src/i18n/locales/index.d.ts +2 -0
  49. package/types/src/i18n/locales/uz.d.ts +2 -0
  50. package/types/src/schema/blocks/types.d.ts +9 -3
  51. package/dist/TrailingNode-C-Kyrtf1.js.map +0 -1
  52. package/dist/TrailingNode-W7GJVng5.cjs +0 -2
  53. package/dist/TrailingNode-W7GJVng5.cjs.map +0 -1
  54. package/dist/defaultBlocks-CXOCngjC.js.map +0 -1
  55. package/dist/defaultBlocks-IsUGVZIq.cjs +0 -6
  56. package/dist/defaultBlocks-IsUGVZIq.cjs.map +0 -1
@@ -1 +1 @@
1
- {"builtAt":1768069703697,"assets":[{"name":"blocks.cjs","size":3901},{"name":"extensions.cjs","size":2787},{"name":"yjs.cjs","size":882},{"name":"comments.cjs","size":16680},{"name":"locales.cjs","size":161252},{"name":"blocknote.cjs","size":72781},{"name":"EventEmitter-CLwfmbqG.cjs","size":614},{"name":"en-Cl87Uuyf.cjs","size":6760},{"name":"ShowSelection-BxnbRvy4.cjs","size":817},{"name":"BlockNoteExtension-BWw0r8Gy.cjs","size":497},{"name":"BlockNoteSchema-qt4Czo0-.cjs","size":5031},{"name":"blockToNode-CumVjgem.cjs","size":19433},{"name":"TrailingNode-W7GJVng5.cjs","size":45908},{"name":"defaultBlocks-IsUGVZIq.cjs","size":66615},{"name":"ShowSelection-BxnbRvy4.cjs.map","size":3151},{"name":"EventEmitter-CLwfmbqG.cjs.map","size":2377},{"name":"en-Cl87Uuyf.cjs.map","size":15254},{"name":"BlockNoteSchema-qt4Czo0-.cjs.map","size":25059},{"name":"BlockNoteExtension-BWw0r8Gy.cjs.map","size":9745},{"name":"blockToNode-CumVjgem.cjs.map","size":122113},{"name":"TrailingNode-W7GJVng5.cjs.map","size":217514},{"name":"defaultBlocks-IsUGVZIq.cjs.map","size":291387},{"name":"blocks.cjs.map","size":91},{"name":"yjs.cjs.map","size":5601},{"name":"comments.cjs.map","size":69921},{"name":"extensions.cjs.map","size":3397},{"name":"locales.cjs.map","size":331893},{"name":"blocknote.cjs.map","size":335630}],"chunks":[{"id":"c90dbef","entry":true,"initial":true,"files":["blocks.cjs"],"names":["blocks"]},{"id":"f16e717","entry":true,"initial":true,"files":["extensions.cjs"],"names":["extensions"]},{"id":"526cf7b","entry":true,"initial":true,"files":["yjs.cjs"],"names":["yjs"]},{"id":"1627b02","entry":true,"initial":true,"files":["comments.cjs"],"names":["comments"]},{"id":"9eaffe2","entry":true,"initial":true,"files":["locales.cjs"],"names":["locales"]},{"id":"a1ee98a","entry":true,"initial":true,"files":["blocknote.cjs"],"names":["blocknote"]},{"id":"c302b40","entry":false,"initial":true,"files":["EventEmitter-CLwfmbqG.cjs"],"names":["EventEmitter"]},{"id":"a1e239a","entry":false,"initial":true,"files":["en-Cl87Uuyf.cjs"],"names":["en"]},{"id":"da3865a","entry":false,"initial":true,"files":["ShowSelection-BxnbRvy4.cjs"],"names":["ShowSelection"]},{"id":"9db21a2","entry":false,"initial":true,"files":["BlockNoteExtension-BWw0r8Gy.cjs"],"names":["BlockNoteExtension"]},{"id":"7515671","entry":false,"initial":true,"files":["BlockNoteSchema-qt4Czo0-.cjs"],"names":["BlockNoteSchema"]},{"id":"cdc653a","entry":false,"initial":true,"files":["blockToNode-CumVjgem.cjs"],"names":["blockToNode"]},{"id":"0c166b6","entry":false,"initial":true,"files":["TrailingNode-W7GJVng5.cjs"],"names":["TrailingNode"]},{"id":"5d7fff5","entry":false,"initial":true,"files":["defaultBlocks-IsUGVZIq.cjs"],"names":["defaultBlocks"]}],"modules":[{"name":"./src/blocks/index.ts","size":0,"chunks":["c90dbef"]},{"name":"./src/extensions/SuggestionMenu/getDefaultEmojiPickerItems.ts","size":1294,"chunks":["f16e717"]},{"name":"./src/extensions/index.ts","size":0,"chunks":["f16e717"]},{"name":"./src/yjs/utils.ts","size":1121,"chunks":["526cf7b"]},{"name":"./src/yjs/index.ts","size":0,"chunks":["526cf7b"]},{"name":"./src/comments/mark.ts","size":1428,"chunks":["1627b02"]},{"name":"./src/comments/userstore/UserStore.ts","size":1367,"chunks":["1627b02"]},{"name":"./src/comments/extension.ts","size":8484,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/ThreadStoreAuth.ts","size":25,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/DefaultThreadStoreAuth.ts","size":2014,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/ThreadStore.ts","size":77,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/TipTapThreadStore.ts","size":5321,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/yjs/yjsHelpers.ts","size":3002,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/yjs/YjsThreadStoreBase.ts","size":849,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/yjs/RESTYjsThreadStore.ts","size":2069,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/yjs/YjsThreadStore.ts","size":7267,"chunks":["1627b02"]},{"name":"./src/comments/index.ts","size":0,"chunks":["1627b02"]},{"name":"./src/i18n/locales/ar.ts","size":9531,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/de.ts","size":10742,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/es.ts","size":10261,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/fr.ts","size":11221,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/he.ts","size":9268,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/hr.ts","size":10088,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/is.ts","size":10269,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/it.ts","size":10687,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ja.ts","size":9098,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ko.ts","size":8586,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/nl.ts","size":10215,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/no.ts","size":10394,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/pl.ts","size":9911,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/pt.ts","size":10066,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ru.ts","size":11236,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/sk.ts","size":9951,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/uk.ts","size":10896,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/vi.ts","size":9932,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/zh.ts","size":8562,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/zh-tw.ts","size":8602,"chunks":["9eaffe2"]},{"name":"./src/i18n/index.ts","size":0,"chunks":["9eaffe2"]},{"name":"./src/schema/inlineContent/createSpec.ts","size":3798,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/insertBlocks/insertBlocks.ts","size":835,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/replaceBlocks/util/fixColumnList.ts","size":3571,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts","size":2248,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/util/serializeBlocksInternalHTML.ts","size":4945,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/internalHTMLSerializer.ts","size":288,"chunks":["a1ee98a"]},{"name":"./src/style.css","size":0,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/moveBlocks/moveBlocks.ts","size":5694,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/nestBlock/nestBlock.ts","size":2059,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/getBlock/getBlock.ts","size":2047,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/BlockManager.ts","size":6463,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/EventManager.ts","size":2277,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/html/util/nestedLists.ts","size":2170,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/html/parseHTML.ts","size":435,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/markdown/parseMarkdown.ts","size":2176,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/ExportManager.ts","size":3749,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/acceptedMIMETypes.ts","size":134,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/handleFileInsertion.ts","size":4164,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/fileDropExtension.ts","size":884,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/markdown/detectMarkdown.ts","size":1140,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/handleVSCodePaste.ts","size":661,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/pasteExtension.ts","size":2412,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/toClipboard/copyExtension.ts","size":5222,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/BackgroundColor/BackgroundColorExtension.ts","size":306,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/HardBreak/HardBreak.ts","size":376,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.ts","size":2907,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts","size":15783,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/Suggestions/SuggestionMarks.ts","size":4452,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/TextAlignment/TextAlignmentExtension.ts","size":936,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/TextColor/TextColorExtension.ts","size":291,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/BlockContainer.ts","size":2184,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/BlockGroup.ts","size":1160,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/Doc.ts","size":134,"chunks":["a1ee98a"]},{"name":"./src/extensions/Collaboration/Collaboration.ts","size":407,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/ExtensionManager/extensions.ts","size":3946,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/ExtensionManager/index.ts","size":12149,"chunks":["a1ee98a"]},{"name":"./src/util/expandToWords.ts","size":915,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/selections/selection.ts","size":5353,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/selections/textCursorPosition.ts","size":2564,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/SelectionManager.ts","size":2657,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/StateManager.ts","size":6203,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/insertContentAt.ts","size":1049,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/StyleManager.ts","size":4319,"chunks":["a1ee98a"]},{"name":"./src/editor/transformPasted.ts","size":2561,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteEditor.ts","size":27029,"chunks":["a1ee98a"]},{"name":"./src/exporter/Exporter.ts","size":1101,"chunks":["a1ee98a"]},{"name":"./src/exporter/mapping.ts","size":197,"chunks":["a1ee98a"]},{"name":"./src/util/combineByGroup.ts","size":550,"chunks":["a1ee98a"]},{"name":"./src/index.ts","size":0,"chunks":["a1ee98a"]},{"name":"./src/util/EventEmitter.ts","size":744,"chunks":["c302b40"]},{"name":"./src/i18n/locales/en.ts","size":9591,"chunks":["a1e239a"]},{"name":"./src/extensions/ShowSelection/ShowSelection.ts","size":1633,"chunks":["da3865a"]},{"name":"./src/editor/managers/ExtensionManager/symbol.ts","size":56,"chunks":["9db21a2"]},{"name":"./src/editor/BlockNoteExtension.ts","size":617,"chunks":["9db21a2"]},{"name":"./src/util/topo-sort.ts","size":3045,"chunks":["7515671"]},{"name":"./src/schema/schema.ts","size":4026,"chunks":["7515671"]},{"name":"./src/blocks/PageBreak/block.ts","size":911,"chunks":["7515671"]},{"name":"./src/blocks/File/helpers/uploadToTmpFilesDotOrg_DEV_ONLY.ts","size":316,"chunks":["7515671"]},{"name":"./src/blocks/PageBreak/getPageBreakSlashMenuItems.ts","size":473,"chunks":["7515671"]},{"name":"./src/blocks/BlockNoteSchema.ts","size":372,"chunks":["7515671"]},{"name":"./src/extensions/tiptap-extensions/UniqueID/UniqueID.ts","size":8905,"chunks":["cdc653a"]},{"name":"./src/schema/inlineContent/types.ts","size":302,"chunks":["cdc653a"]},{"name":"./src/util/table.ts","size":1212,"chunks":["cdc653a"]},{"name":"./src/util/typescript.ts","size":331,"chunks":["cdc653a"]},{"name":"./src/api/getBlockInfoFromPos.ts","size":3797,"chunks":["cdc653a"]},{"name":"./src/api/pmUtil.ts","size":651,"chunks":["cdc653a"]},{"name":"./src/api/nodeConversions/nodeToBlock.ts","size":13078,"chunks":["cdc653a"]},{"name":"./src/api/blockManipulation/tables/tables.ts","size":10354,"chunks":["cdc653a"]},{"name":"./src/api/nodeConversions/blockToNode.ts","size":7193,"chunks":["cdc653a"]},{"name":"./src/api/exporters/html/util/serializeBlocksExternalHTML.ts","size":7780,"chunks":["0c166b6"]},{"name":"./src/api/exporters/html/externalHTMLExporter.ts","size":904,"chunks":["0c166b6"]},{"name":"./src/api/getBlocksChangedByTransaction.ts","size":6565,"chunks":["0c166b6"]},{"name":"./src/extensions/BlockChange/BlockChange.ts","size":1090,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/YCursorPlugin.ts","size":4875,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/YSync.ts","size":228,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/YUndo.ts","size":279,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/ForkYDoc.ts","size":3442,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/schemaMigration/migrationRules/moveColorAttributes.ts","size":1684,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/schemaMigration/migrationRules/index.ts","size":45,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/schemaMigration/SchemaMigration.ts","size":1343,"chunks":["0c166b6"]},{"name":"./src/extensions/DropCursor/DropCursor.ts","size":333,"chunks":["0c166b6"]},{"name":"./src/extensions/FormattingToolbar/FormattingToolbar.ts","size":2236,"chunks":["0c166b6"]},{"name":"./src/extensions/History/History.ts","size":213,"chunks":["0c166b6"]},{"name":"./src/extensions/LinkToolbar/LinkToolbar.ts","size":2883,"chunks":["0c166b6"]},{"name":"./src/extensions/LinkToolbar/protocols.ts","size":172,"chunks":["0c166b6"]},{"name":"./src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboard.ts","size":1380,"chunks":["0c166b6"]},{"name":"./src/extensions/Placeholder/Placeholder.ts","size":4034,"chunks":["0c166b6"]},{"name":"./src/extensions/PreviousBlockType/PreviousBlockType.ts","size":4792,"chunks":["0c166b6"]},{"name":"./src/extensions/getDraggableBlockFromElement.ts","size":404,"chunks":["0c166b6"]},{"name":"./src/api/exporters/markdown/util/removeUnderlinesRehypePlugin.ts","size":752,"chunks":["0c166b6"]},{"name":"./src/api/exporters/markdown/util/addSpacesToCheckboxesRehypePlugin.ts","size":775,"chunks":["0c166b6"]},{"name":"./src/api/exporters/markdown/util/convertVideoToMarkdownRehypePlugin.ts","size":470,"chunks":["0c166b6"]},{"name":"./src/api/exporters/markdown/markdownExporter.ts","size":674,"chunks":["0c166b6"]},{"name":"./src/api/nodeConversions/fragmentToBlocks.ts","size":665,"chunks":["0c166b6"]},{"name":"./src/extensions/SideMenu/MultipleNodeSelection.ts","size":1700,"chunks":["0c166b6"]},{"name":"./src/extensions/SideMenu/dragging.ts","size":4742,"chunks":["0c166b6"]},{"name":"./src/extensions/SideMenu/SideMenu.ts","size":16191,"chunks":["0c166b6"]},{"name":"./src/extensions/TableHandles/TableHandles.ts","size":27738,"chunks":["0c166b6"]},{"name":"./src/extensions/TrailingNode/TrailingNode.ts","size":1589,"chunks":["0c166b6"]},{"name":"./src/util/browser.ts","size":643,"chunks":["5d7fff5"]},{"name":"./src/blocks/defaultBlockHelpers.ts","size":2115,"chunks":["5d7fff5"]},{"name":"./src/util/string.ts","size":656,"chunks":["5d7fff5"]},{"name":"./src/schema/blocks/internal.ts","size":3387,"chunks":["5d7fff5"]},{"name":"./src/schema/blocks/createSpec.ts","size":6815,"chunks":["5d7fff5"]},{"name":"./src/schema/inlineContent/internal.ts","size":1428,"chunks":["5d7fff5"]},{"name":"./src/schema/styles/internal.ts","size":2887,"chunks":["5d7fff5"]},{"name":"./src/schema/styles/createSpec.ts","size":2498,"chunks":["5d7fff5"]},{"name":"./src/api/nodeUtil.ts","size":549,"chunks":["5d7fff5"]},{"name":"./src/api/blockManipulation/commands/updateBlock/updateBlock.ts","size":8527,"chunks":["5d7fff5"]},{"name":"./src/editor/defaultColors.ts","size":1193,"chunks":["5d7fff5"]},{"name":"./src/blocks/defaultProps.ts","size":3350,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/parse/parseFigureElement.ts","size":342,"chunks":["5d7fff5"]},{"name":"./src/extensions/FilePanel/FilePanel.ts","size":822,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/render/createAddFileButton.ts","size":1846,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/render/createFileNameWithIcon.ts","size":753,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/render/createFileBlockWrapper.ts","size":1374,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/toExternalHTML/createFigureWithCaption.ts","size":307,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/toExternalHTML/createLinkWithCaption.ts","size":294,"chunks":["5d7fff5"]},{"name":"./src/blocks/Audio/parseAudioElement.ts","size":108,"chunks":["5d7fff5"]},{"name":"./src/blocks/Audio/block.ts","size":3593,"chunks":["5d7fff5"]},{"name":"./src/blocks/Code/shiki.ts","size":1699,"chunks":["5d7fff5"]},{"name":"./src/blocks/Code/block.ts","size":6548,"chunks":["5d7fff5"]},{"name":"./src/blocks/Divider/block.ts","size":757,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/parse/parseEmbedElement.ts","size":108,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/block.ts","size":1766,"chunks":["5d7fff5"]},{"name":"./src/blocks/ToggleWrapper/createToggleWrapper.ts","size":5246,"chunks":["5d7fff5"]},{"name":"./src/blocks/Heading/block.ts","size":2606,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/render/createResizableFileBlockWrapper.ts","size":6266,"chunks":["5d7fff5"]},{"name":"./src/blocks/Image/parseImageElement.ts","size":224,"chunks":["5d7fff5"]},{"name":"./src/blocks/Image/block.ts","size":3777,"chunks":["5d7fff5"]},{"name":"./src/api/blockManipulation/commands/splitBlock/splitBlock.ts","size":945,"chunks":["5d7fff5"]},{"name":"./src/blocks/utils/listItemEnterHandler.ts","size":892,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/getListItemContent.ts","size":1425,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/BulletListItem/block.ts","size":2411,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/CheckListItem/block.ts","size":3898,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/NumberedListItem/IndexingPlugin.ts","size":3148,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/NumberedListItem/block.ts","size":2950,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/ToggleListItem/block.ts","size":1468,"chunks":["5d7fff5"]},{"name":"./src/blocks/Paragraph/block.ts","size":1347,"chunks":["5d7fff5"]},{"name":"./src/blocks/Quote/block.ts","size":1664,"chunks":["5d7fff5"]},{"name":"./src/blocks/Table/TableExtension.ts","size":2297,"chunks":["5d7fff5"]},{"name":"./src/blocks/Table/block.ts","size":9812,"chunks":["5d7fff5"]},{"name":"./src/blocks/Video/parseVideoElement.ts","size":175,"chunks":["5d7fff5"]},{"name":"./src/blocks/Video/block.ts","size":3577,"chunks":["5d7fff5"]},{"name":"./src/blocks/defaultBlockTypeGuards.ts","size":2005,"chunks":["5d7fff5"]},{"name":"./src/api/positionMapping.ts","size":1639,"chunks":["5d7fff5"]},{"name":"./src/extensions/SuggestionMenu/SuggestionMenu.ts","size":9455,"chunks":["5d7fff5"]},{"name":"./src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts","size":8304,"chunks":["5d7fff5"]},{"name":"./src/blocks/defaultBlocks.ts","size":2851,"chunks":["5d7fff5"]}]}
1
+ {"builtAt":1771832489155,"assets":[{"name":"blocks.cjs","size":3901},{"name":"extensions.cjs","size":2787},{"name":"yjs.cjs","size":882},{"name":"comments.cjs","size":16680},{"name":"locales.cjs","size":178480},{"name":"blocknote.cjs","size":75184},{"name":"EventEmitter-CLwfmbqG.cjs","size":614},{"name":"en-Cl87Uuyf.cjs","size":6760},{"name":"ShowSelection-BxnbRvy4.cjs","size":817},{"name":"BlockNoteExtension-BWw0r8Gy.cjs","size":497},{"name":"BlockNoteSchema-DT4bdXj5.cjs","size":5031},{"name":"blockToNode-CumVjgem.cjs","size":19433},{"name":"TrailingNode-tesI8f7N.cjs","size":46564},{"name":"defaultBlocks-D049Pbme.cjs","size":66698},{"name":"EventEmitter-CLwfmbqG.cjs.map","size":2377},{"name":"BlockNoteExtension-BWw0r8Gy.cjs.map","size":9745},{"name":"ShowSelection-BxnbRvy4.cjs.map","size":3151},{"name":"en-Cl87Uuyf.cjs.map","size":15254},{"name":"blockToNode-CumVjgem.cjs.map","size":122113},{"name":"BlockNoteSchema-DT4bdXj5.cjs.map","size":25059},{"name":"TrailingNode-tesI8f7N.cjs.map","size":220098},{"name":"defaultBlocks-D049Pbme.cjs.map","size":291788},{"name":"extensions.cjs.map","size":3397},{"name":"blocks.cjs.map","size":91},{"name":"comments.cjs.map","size":69921},{"name":"yjs.cjs.map","size":5601},{"name":"blocknote.cjs.map","size":346946},{"name":"locales.cjs.map","size":365903}],"chunks":[{"id":"c90dbef","entry":true,"initial":true,"files":["blocks.cjs"],"names":["blocks"]},{"id":"f16e717","entry":true,"initial":true,"files":["extensions.cjs"],"names":["extensions"]},{"id":"526cf7b","entry":true,"initial":true,"files":["yjs.cjs"],"names":["yjs"]},{"id":"1627b02","entry":true,"initial":true,"files":["comments.cjs"],"names":["comments"]},{"id":"9eaffe2","entry":true,"initial":true,"files":["locales.cjs"],"names":["locales"]},{"id":"a1ee98a","entry":true,"initial":true,"files":["blocknote.cjs"],"names":["blocknote"]},{"id":"c302b40","entry":false,"initial":true,"files":["EventEmitter-CLwfmbqG.cjs"],"names":["EventEmitter"]},{"id":"a1e239a","entry":false,"initial":true,"files":["en-Cl87Uuyf.cjs"],"names":["en"]},{"id":"da3865a","entry":false,"initial":true,"files":["ShowSelection-BxnbRvy4.cjs"],"names":["ShowSelection"]},{"id":"9db21a2","entry":false,"initial":true,"files":["BlockNoteExtension-BWw0r8Gy.cjs"],"names":["BlockNoteExtension"]},{"id":"7515671","entry":false,"initial":true,"files":["BlockNoteSchema-DT4bdXj5.cjs"],"names":["BlockNoteSchema"]},{"id":"cdc653a","entry":false,"initial":true,"files":["blockToNode-CumVjgem.cjs"],"names":["blockToNode"]},{"id":"0c166b6","entry":false,"initial":true,"files":["TrailingNode-tesI8f7N.cjs"],"names":["TrailingNode"]},{"id":"5d7fff5","entry":false,"initial":true,"files":["defaultBlocks-D049Pbme.cjs"],"names":["defaultBlocks"]}],"modules":[{"name":"./src/blocks/index.ts","size":0,"chunks":["c90dbef"]},{"name":"./src/extensions/SuggestionMenu/getDefaultEmojiPickerItems.ts","size":1294,"chunks":["f16e717"]},{"name":"./src/extensions/index.ts","size":0,"chunks":["f16e717"]},{"name":"./src/yjs/utils.ts","size":1121,"chunks":["526cf7b"]},{"name":"./src/yjs/index.ts","size":0,"chunks":["526cf7b"]},{"name":"./src/comments/mark.ts","size":1428,"chunks":["1627b02"]},{"name":"./src/comments/userstore/UserStore.ts","size":1367,"chunks":["1627b02"]},{"name":"./src/comments/extension.ts","size":8484,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/ThreadStoreAuth.ts","size":25,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/DefaultThreadStoreAuth.ts","size":2014,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/ThreadStore.ts","size":77,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/TipTapThreadStore.ts","size":5321,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/yjs/yjsHelpers.ts","size":3002,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/yjs/YjsThreadStoreBase.ts","size":849,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/yjs/RESTYjsThreadStore.ts","size":2069,"chunks":["1627b02"]},{"name":"./src/comments/threadstore/yjs/YjsThreadStore.ts","size":7267,"chunks":["1627b02"]},{"name":"./src/comments/index.ts","size":0,"chunks":["1627b02"]},{"name":"./src/i18n/locales/ar.ts","size":9531,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/de.ts","size":10742,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/es.ts","size":10261,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/fa.ts","size":9323,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/fr.ts","size":11221,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/he.ts","size":9268,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/hr.ts","size":10088,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/is.ts","size":10269,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/it.ts","size":10687,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ja.ts","size":9098,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ko.ts","size":8586,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/nl.ts","size":10215,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/no.ts","size":10394,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/pl.ts","size":9911,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/pt.ts","size":10066,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ru.ts","size":11236,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/sk.ts","size":9951,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/uk.ts","size":10896,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/vi.ts","size":9932,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/zh.ts","size":8562,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/zh-tw.ts","size":8602,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/uz.ts","size":10936,"chunks":["9eaffe2"]},{"name":"./src/i18n/index.ts","size":0,"chunks":["9eaffe2"]},{"name":"./src/schema/inlineContent/createSpec.ts","size":3798,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/insertBlocks/insertBlocks.ts","size":835,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/replaceBlocks/util/fixColumnList.ts","size":3571,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts","size":2248,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/util/serializeBlocksInternalHTML.ts","size":4945,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/internalHTMLSerializer.ts","size":3355,"chunks":["a1ee98a"]},{"name":"./src/style.css","size":0,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/moveBlocks/moveBlocks.ts","size":5694,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/nestBlock/nestBlock.ts","size":2059,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/getBlock/getBlock.ts","size":2047,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/BlockManager.ts","size":6463,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/EventManager.ts","size":2277,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/html/util/nestedLists.ts","size":2170,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/html/parseHTML.ts","size":435,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/markdown/parseMarkdown.ts","size":2176,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/ExportManager.ts","size":3749,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/acceptedMIMETypes.ts","size":134,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/handleFileInsertion.ts","size":4164,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/fileDropExtension.ts","size":884,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/markdown/detectMarkdown.ts","size":1140,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/handleVSCodePaste.ts","size":661,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/pasteExtension.ts","size":2412,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/toClipboard/copyExtension.ts","size":5222,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/BackgroundColor/BackgroundColorExtension.ts","size":306,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/HardBreak/HardBreak.ts","size":376,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.ts","size":2907,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts","size":16381,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/Suggestions/SuggestionMarks.ts","size":4452,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/TextAlignment/TextAlignmentExtension.ts","size":936,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/TextColor/TextColorExtension.ts","size":291,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/BlockContainer.ts","size":2184,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/BlockGroup.ts","size":1160,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/Doc.ts","size":134,"chunks":["a1ee98a"]},{"name":"./src/extensions/Collaboration/Collaboration.ts","size":407,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/ExtensionManager/extensions.ts","size":3946,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/ExtensionManager/index.ts","size":12149,"chunks":["a1ee98a"]},{"name":"./src/util/expandToWords.ts","size":915,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/selections/selection.ts","size":5353,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/selections/textCursorPosition.ts","size":2564,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/SelectionManager.ts","size":2657,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/StateManager.ts","size":6203,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/insertContentAt.ts","size":1049,"chunks":["a1ee98a"]},{"name":"./src/editor/managers/StyleManager.ts","size":4319,"chunks":["a1ee98a"]},{"name":"./src/editor/transformPasted.ts","size":3934,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteEditor.ts","size":27029,"chunks":["a1ee98a"]},{"name":"./src/exporter/Exporter.ts","size":1101,"chunks":["a1ee98a"]},{"name":"./src/exporter/mapping.ts","size":197,"chunks":["a1ee98a"]},{"name":"./src/util/combineByGroup.ts","size":550,"chunks":["a1ee98a"]},{"name":"./src/index.ts","size":0,"chunks":["a1ee98a"]},{"name":"./src/util/EventEmitter.ts","size":744,"chunks":["c302b40"]},{"name":"./src/i18n/locales/en.ts","size":9591,"chunks":["a1e239a"]},{"name":"./src/extensions/ShowSelection/ShowSelection.ts","size":1633,"chunks":["da3865a"]},{"name":"./src/editor/managers/ExtensionManager/symbol.ts","size":56,"chunks":["9db21a2"]},{"name":"./src/editor/BlockNoteExtension.ts","size":617,"chunks":["9db21a2"]},{"name":"./src/util/topo-sort.ts","size":3045,"chunks":["7515671"]},{"name":"./src/schema/schema.ts","size":4026,"chunks":["7515671"]},{"name":"./src/blocks/PageBreak/block.ts","size":911,"chunks":["7515671"]},{"name":"./src/blocks/File/helpers/uploadToTmpFilesDotOrg_DEV_ONLY.ts","size":316,"chunks":["7515671"]},{"name":"./src/blocks/PageBreak/getPageBreakSlashMenuItems.ts","size":473,"chunks":["7515671"]},{"name":"./src/blocks/BlockNoteSchema.ts","size":372,"chunks":["7515671"]},{"name":"./src/extensions/tiptap-extensions/UniqueID/UniqueID.ts","size":8905,"chunks":["cdc653a"]},{"name":"./src/schema/inlineContent/types.ts","size":302,"chunks":["cdc653a"]},{"name":"./src/util/table.ts","size":1212,"chunks":["cdc653a"]},{"name":"./src/util/typescript.ts","size":331,"chunks":["cdc653a"]},{"name":"./src/api/getBlockInfoFromPos.ts","size":3797,"chunks":["cdc653a"]},{"name":"./src/api/pmUtil.ts","size":651,"chunks":["cdc653a"]},{"name":"./src/api/nodeConversions/nodeToBlock.ts","size":13078,"chunks":["cdc653a"]},{"name":"./src/api/blockManipulation/tables/tables.ts","size":10354,"chunks":["cdc653a"]},{"name":"./src/api/nodeConversions/blockToNode.ts","size":7193,"chunks":["cdc653a"]},{"name":"./src/api/exporters/html/util/serializeBlocksExternalHTML.ts","size":7812,"chunks":["0c166b6"]},{"name":"./src/api/exporters/html/externalHTMLExporter.ts","size":904,"chunks":["0c166b6"]},{"name":"./src/api/getBlocksChangedByTransaction.ts","size":6565,"chunks":["0c166b6"]},{"name":"./src/extensions/BlockChange/BlockChange.ts","size":1090,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/YCursorPlugin.ts","size":4875,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/YSync.ts","size":228,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/YUndo.ts","size":279,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/ForkYDoc.ts","size":3442,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/schemaMigration/migrationRules/moveColorAttributes.ts","size":1684,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/schemaMigration/migrationRules/index.ts","size":45,"chunks":["0c166b6"]},{"name":"./src/extensions/Collaboration/schemaMigration/SchemaMigration.ts","size":1343,"chunks":["0c166b6"]},{"name":"./src/extensions/DropCursor/DropCursor.ts","size":333,"chunks":["0c166b6"]},{"name":"./src/extensions/FormattingToolbar/FormattingToolbar.ts","size":2236,"chunks":["0c166b6"]},{"name":"./src/extensions/History/History.ts","size":213,"chunks":["0c166b6"]},{"name":"./src/extensions/LinkToolbar/LinkToolbar.ts","size":2883,"chunks":["0c166b6"]},{"name":"./src/extensions/LinkToolbar/protocols.ts","size":172,"chunks":["0c166b6"]},{"name":"./src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboard.ts","size":1402,"chunks":["0c166b6"]},{"name":"./src/extensions/Placeholder/Placeholder.ts","size":4034,"chunks":["0c166b6"]},{"name":"./src/extensions/PreviousBlockType/PreviousBlockType.ts","size":4792,"chunks":["0c166b6"]},{"name":"./src/extensions/getDraggableBlockFromElement.ts","size":404,"chunks":["0c166b6"]},{"name":"./src/api/exporters/markdown/util/removeUnderlinesRehypePlugin.ts","size":752,"chunks":["0c166b6"]},{"name":"./src/api/exporters/markdown/util/addSpacesToCheckboxesRehypePlugin.ts","size":775,"chunks":["0c166b6"]},{"name":"./src/api/exporters/markdown/util/convertVideoToMarkdownRehypePlugin.ts","size":470,"chunks":["0c166b6"]},{"name":"./src/api/exporters/markdown/markdownExporter.ts","size":674,"chunks":["0c166b6"]},{"name":"./src/api/nodeConversions/fragmentToBlocks.ts","size":665,"chunks":["0c166b6"]},{"name":"./src/extensions/SideMenu/MultipleNodeSelection.ts","size":1700,"chunks":["0c166b6"]},{"name":"./src/extensions/SideMenu/dragging.ts","size":4742,"chunks":["0c166b6"]},{"name":"./src/extensions/SideMenu/SideMenu.ts","size":16972,"chunks":["0c166b6"]},{"name":"./src/extensions/TableHandles/TableHandles.ts","size":28013,"chunks":["0c166b6"]},{"name":"./src/extensions/TrailingNode/TrailingNode.ts","size":1589,"chunks":["0c166b6"]},{"name":"./src/util/browser.ts","size":643,"chunks":["5d7fff5"]},{"name":"./src/blocks/defaultBlockHelpers.ts","size":2115,"chunks":["5d7fff5"]},{"name":"./src/util/string.ts","size":656,"chunks":["5d7fff5"]},{"name":"./src/schema/blocks/internal.ts","size":3387,"chunks":["5d7fff5"]},{"name":"./src/schema/blocks/createSpec.ts","size":6873,"chunks":["5d7fff5"]},{"name":"./src/schema/inlineContent/internal.ts","size":1428,"chunks":["5d7fff5"]},{"name":"./src/schema/styles/internal.ts","size":2887,"chunks":["5d7fff5"]},{"name":"./src/schema/styles/createSpec.ts","size":2498,"chunks":["5d7fff5"]},{"name":"./src/api/nodeUtil.ts","size":549,"chunks":["5d7fff5"]},{"name":"./src/api/blockManipulation/commands/updateBlock/updateBlock.ts","size":8527,"chunks":["5d7fff5"]},{"name":"./src/editor/defaultColors.ts","size":1193,"chunks":["5d7fff5"]},{"name":"./src/blocks/defaultProps.ts","size":3350,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/parse/parseFigureElement.ts","size":342,"chunks":["5d7fff5"]},{"name":"./src/extensions/FilePanel/FilePanel.ts","size":822,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/render/createAddFileButton.ts","size":1846,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/render/createFileNameWithIcon.ts","size":753,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/render/createFileBlockWrapper.ts","size":1374,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/toExternalHTML/createFigureWithCaption.ts","size":307,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/toExternalHTML/createLinkWithCaption.ts","size":294,"chunks":["5d7fff5"]},{"name":"./src/blocks/Audio/parseAudioElement.ts","size":108,"chunks":["5d7fff5"]},{"name":"./src/blocks/Audio/block.ts","size":3593,"chunks":["5d7fff5"]},{"name":"./src/blocks/Code/shiki.ts","size":1699,"chunks":["5d7fff5"]},{"name":"./src/blocks/Code/block.ts","size":6654,"chunks":["5d7fff5"]},{"name":"./src/blocks/Divider/block.ts","size":757,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/parse/parseEmbedElement.ts","size":108,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/block.ts","size":1766,"chunks":["5d7fff5"]},{"name":"./src/blocks/ToggleWrapper/createToggleWrapper.ts","size":5246,"chunks":["5d7fff5"]},{"name":"./src/blocks/Heading/block.ts","size":2606,"chunks":["5d7fff5"]},{"name":"./src/blocks/File/helpers/render/createResizableFileBlockWrapper.ts","size":6266,"chunks":["5d7fff5"]},{"name":"./src/blocks/Image/parseImageElement.ts","size":224,"chunks":["5d7fff5"]},{"name":"./src/blocks/Image/block.ts","size":3777,"chunks":["5d7fff5"]},{"name":"./src/api/blockManipulation/commands/splitBlock/splitBlock.ts","size":945,"chunks":["5d7fff5"]},{"name":"./src/blocks/utils/listItemEnterHandler.ts","size":892,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/getListItemContent.ts","size":1425,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/BulletListItem/block.ts","size":2411,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/CheckListItem/block.ts","size":4006,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/NumberedListItem/IndexingPlugin.ts","size":3148,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/NumberedListItem/block.ts","size":2950,"chunks":["5d7fff5"]},{"name":"./src/blocks/ListItem/ToggleListItem/block.ts","size":1468,"chunks":["5d7fff5"]},{"name":"./src/blocks/Paragraph/block.ts","size":1347,"chunks":["5d7fff5"]},{"name":"./src/blocks/Quote/block.ts","size":1664,"chunks":["5d7fff5"]},{"name":"./src/blocks/Table/TableExtension.ts","size":2297,"chunks":["5d7fff5"]},{"name":"./src/blocks/Table/block.ts","size":9812,"chunks":["5d7fff5"]},{"name":"./src/blocks/Video/parseVideoElement.ts","size":175,"chunks":["5d7fff5"]},{"name":"./src/blocks/Video/block.ts","size":3577,"chunks":["5d7fff5"]},{"name":"./src/blocks/defaultBlockTypeGuards.ts","size":2005,"chunks":["5d7fff5"]},{"name":"./src/api/positionMapping.ts","size":1639,"chunks":["5d7fff5"]},{"name":"./src/extensions/SuggestionMenu/SuggestionMenu.ts","size":9455,"chunks":["5d7fff5"]},{"name":"./src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts","size":8304,"chunks":["5d7fff5"]},{"name":"./src/blocks/defaultBlocks.ts","size":2851,"chunks":["5d7fff5"]}]}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "directory": "packages/core"
12
12
  },
13
13
  "license": "MPL-2.0",
14
- "version": "0.46.1",
14
+ "version": "0.47.0",
15
15
  "files": [
16
16
  "dist",
17
17
  "types",
@@ -1,5 +1,7 @@
1
1
  import { DOMSerializer, Schema } from "prosemirror-model";
2
+
2
3
  import { PartialBlock } from "../../../blocks/defaultBlocks.js";
4
+ import { EMPTY_CELL_WIDTH } from "../../../blocks/index.js";
3
5
  import type { BlockNoteEditor } from "../../../editor/BlockNoteEditor.js";
4
6
  import {
5
7
  BlockSchema,
@@ -7,6 +9,123 @@ import {
7
9
  StyleSchema,
8
10
  } from "../../../schema/index.js";
9
11
  import { serializeBlocksInternalHTML } from "./util/serializeBlocksInternalHTML.js";
12
+
13
+ // This is normally handled using decorations in the
14
+ // `NumberedListIndexingDecorationPlugin`. This does not run when exporting, so
15
+ // we have to add the necessary HTML attributes ourselves.
16
+ const addIndexToNumberedListItems = (element: HTMLElement) => {
17
+ const numberedListItems = element.querySelectorAll(
18
+ '[data-content-type="numberedListItem"]',
19
+ );
20
+ numberedListItems.forEach((numberedListItem) => {
21
+ const prevNumberedListItem = numberedListItem
22
+ .closest(".bn-block-outer")
23
+ ?.previousElementSibling?.querySelector(
24
+ '[data-content-type="numberedListItem"]',
25
+ );
26
+
27
+ if (!prevNumberedListItem) {
28
+ numberedListItem.setAttribute(
29
+ "data-index",
30
+ numberedListItem.getAttribute("data-start") || "1",
31
+ );
32
+ } else {
33
+ const prevNumberedListItemIndex =
34
+ prevNumberedListItem.getAttribute("data-index");
35
+ numberedListItem.setAttribute(
36
+ "data-index",
37
+ (parseInt(prevNumberedListItemIndex || "0") + 1).toString(),
38
+ );
39
+ }
40
+ });
41
+
42
+ return element;
43
+ };
44
+
45
+ // Makes the checkboxes in check list items read-only, as the HTML should be
46
+ // static and therefore read-only when rendered.
47
+ const makeCheckListItemsReadOnly = (element: HTMLElement) => {
48
+ const checkboxes: NodeListOf<HTMLInputElement> = element.querySelectorAll(
49
+ '[data-content-type="checkListItem"] input',
50
+ );
51
+ checkboxes.forEach((checkbox) => {
52
+ checkbox.disabled = true;
53
+ });
54
+
55
+ return element;
56
+ };
57
+
58
+ // Forces toggle blocks (toggle headings, toggle list items) to be expanded.
59
+ // This is because event listeners for the toggle button are lost when
60
+ // serializing HTML elements to a string, so the button no longer works if the
61
+ // HTML string is rendered out.
62
+ const forceToggleBlocksShow = (element: HTMLElement) => {
63
+ const hiddenToggleWrappers = element.querySelectorAll(
64
+ '.bn-toggle-wrapper[data-show-children="false"]',
65
+ );
66
+ hiddenToggleWrappers.forEach((toggleWrapper) => {
67
+ toggleWrapper.setAttribute("data-show-children", "true");
68
+ });
69
+
70
+ return element;
71
+ };
72
+
73
+ // Adds minimum cell widths, which would normally be done by the
74
+ // `columnResizing` extension. This extension doesn't run when exporting to
75
+ // HTML, so we have to add this manually.
76
+ const addTableMinCellWidths = (element: HTMLElement) => {
77
+ const tables = element.querySelectorAll('[data-content-type="table"] table');
78
+ tables.forEach((table) => {
79
+ table.setAttribute(
80
+ "style",
81
+ `--default-cell-min-width: ${EMPTY_CELL_WIDTH}px;`,
82
+ );
83
+ table.setAttribute("data-show-children", "true");
84
+ });
85
+
86
+ return element;
87
+ };
88
+
89
+ // Adds table wrapping elements, which would normally be done by the
90
+ // `columnResizing` extension. This extension doesn't run when exporting to
91
+ // HTML, so we have to add this manually. This adds the correct padding to
92
+ // tables.
93
+ const addTableWrappers = (element: HTMLElement) => {
94
+ const tables = element.querySelectorAll('[data-content-type="table"] table');
95
+ tables.forEach((table) => {
96
+ const tableWrapper = document.createElement("div");
97
+ tableWrapper.className = "tableWrapper";
98
+ const tableWrapperInner = document.createElement("div");
99
+ tableWrapperInner.className = "tableWrapper-inner";
100
+
101
+ tableWrapper.appendChild(tableWrapperInner);
102
+ table.parentElement?.appendChild(tableWrapper);
103
+ tableWrapper.appendChild(table);
104
+ });
105
+
106
+ return element;
107
+ };
108
+
109
+ // Adds trailing breaks to blocks with empty inline content. This is normally
110
+ // done by ProseMirror, but only when rendering an actual editor. Without them,
111
+ // empty inline content has a height of 0.
112
+ const addTrailingBreakToEmptyInlineContent = (element: HTMLElement) => {
113
+ const emptyInlineContent = element.querySelectorAll(
114
+ ".bn-inline-content:empty",
115
+ );
116
+ emptyInlineContent.forEach((inlineContent) => {
117
+ // We actually use a `span` instead of a `br` to avoid potential false
118
+ // positives when parsing.
119
+ const trailingBreak = document.createElement("span");
120
+ trailingBreak.className = "ProseMirror-trailingBreak";
121
+ trailingBreak.setAttribute("style", "display: inline-block;");
122
+
123
+ inlineContent.appendChild(trailingBreak);
124
+ });
125
+
126
+ return element;
127
+ };
128
+
10
129
  // Used to serialize BlockNote blocks and ProseMirror nodes to HTML without
11
130
  // losing data. Blocks are exported using the `toInternalHTML` method in their
12
131
  // `blockSpec`.
@@ -26,13 +145,38 @@ export const createInternalHTMLSerializer = <
26
145
  ) => {
27
146
  const serializer = DOMSerializer.fromSchema(schema);
28
147
 
148
+ // Set of transforms to run on the output HTML element after serializing
149
+ // blocks. These are used to add HTML elements, attributes, or class names
150
+ // which would normally be done by extensions and plugins. Since these don't
151
+ // run when converting blocks to HTML, tranforms are used to mock their
152
+ // functionality so that the rendered HTML looks identical to that of a live
153
+ // editor.
154
+ const transforms: ((element: HTMLElement) => HTMLElement)[] = [
155
+ addIndexToNumberedListItems,
156
+ makeCheckListItemsReadOnly,
157
+ forceToggleBlocksShow,
158
+ addTableMinCellWidths,
159
+ addTableWrappers,
160
+ addTrailingBreakToEmptyInlineContent,
161
+ ];
162
+
29
163
  return {
30
164
  serializeBlocks: (
31
165
  blocks: PartialBlock<BSchema, I, S>[],
32
166
  options: { document?: Document },
33
167
  ) => {
34
- return serializeBlocksInternalHTML(editor, blocks, serializer, options)
35
- .outerHTML;
168
+ let element = serializeBlocksInternalHTML(
169
+ editor,
170
+ blocks,
171
+ serializer,
172
+ options,
173
+ );
174
+
175
+ for (const transform of transforms) {
176
+ element = transform(element);
177
+ }
178
+
179
+ return element.outerHTML;
36
180
  },
37
181
  };
38
182
  };
@@ -207,6 +207,9 @@ function serializeBlock<
207
207
  {},
208
208
  { ...block, props } as any,
209
209
  editor as any,
210
+ {
211
+ nestingLevel,
212
+ },
210
213
  ) ||
211
214
  blockImplementation.render.call(
212
215
  {},
@@ -130,14 +130,18 @@ export const createCodeBlockSpec = createBlockSpec(
130
130
  select.value =
131
131
  block.props.language || options.defaultLanguage || "text";
132
132
 
133
- const handleLanguageChange = (event: Event) => {
134
- const language = (event.target as HTMLSelectElement).value;
135
-
136
- editor.updateBlock(block.id, { props: { language } });
137
- };
138
- select.addEventListener("change", handleLanguageChange);
139
- removeSelectChangeListener = () =>
140
- select.removeEventListener("change", handleLanguageChange);
133
+ if (editor.isEditable) {
134
+ const handleLanguageChange = (event: Event) => {
135
+ const language = (event.target as HTMLSelectElement).value;
136
+
137
+ editor.updateBlock(block.id, { props: { language } });
138
+ };
139
+ select.addEventListener("change", handleLanguageChange);
140
+ removeSelectChangeListener = () =>
141
+ select.removeEventListener("change", handleLanguageChange);
142
+ } else {
143
+ select.disabled = true;
144
+ }
141
145
 
142
146
  const selectWrapper = document.createElement("div");
143
147
  selectWrapper.contentEditable = "false";
@@ -0,0 +1,61 @@
1
+ import { expect, it } from "vitest";
2
+ import { BlockNoteEditor } from "../../../editor/BlockNoteEditor.js";
3
+ import type { Block } from "../../defaultBlocks.js";
4
+
5
+ /**
6
+ * Tests for CheckListItem block behaviour, especially that the checkbox
7
+ * respects the editor's editable state (disabled when not editable,
8
+ * and change handler no-ops when not editable).
9
+ *
10
+ * @vitest-environment jsdom
11
+ */
12
+ function getCheckboxFromView(view: {
13
+ dom: HTMLElement | DocumentFragment;
14
+ }): HTMLInputElement {
15
+ const el = view.dom.querySelector('input[type="checkbox"]');
16
+ if (!(el instanceof HTMLInputElement)) {
17
+ throw new Error("Checkbox input not found in rendered output");
18
+ }
19
+ return el;
20
+ }
21
+
22
+ it("renders checkbox as enabled when editor is editable", () => {
23
+ const editor = BlockNoteEditor.create();
24
+ const block: Block = {
25
+ id: "1",
26
+ type: "checkListItem",
27
+ props: {
28
+ backgroundColor: "default",
29
+ textAlignment: "left",
30
+ textColor: "default",
31
+ checked: false,
32
+ },
33
+ content: [],
34
+ children: [],
35
+ };
36
+ const spec = editor.schema.blockSpecs.checkListItem;
37
+ const view = spec.implementation.render(block, editor);
38
+ const checkbox = getCheckboxFromView(view);
39
+ expect(checkbox.disabled).toBe(false);
40
+ });
41
+
42
+ it("renders checkbox as disabled when editor is not editable", () => {
43
+ const editor = BlockNoteEditor.create();
44
+ editor.isEditable = false;
45
+ const block: Block = {
46
+ id: "1",
47
+ type: "checkListItem",
48
+ props: {
49
+ backgroundColor: "default",
50
+ textAlignment: "left",
51
+ textColor: "default",
52
+ checked: false,
53
+ },
54
+ content: [],
55
+ children: [],
56
+ };
57
+ const spec = editor.schema.blockSpecs.checkListItem;
58
+ const view = spec.implementation.render(block, editor);
59
+ const checkbox = getCheckboxFromView(view);
60
+ expect(checkbox.disabled).toBe(true);
61
+ });
@@ -82,7 +82,11 @@ export const createCheckListItemBlockSpec = createBlockSpec(
82
82
  if (block.props.checked) {
83
83
  checkbox.setAttribute("checked", "");
84
84
  }
85
+ checkbox.disabled = !editor.isEditable;
85
86
  checkbox.addEventListener("change", () => {
87
+ if (!editor.isEditable) {
88
+ return;
89
+ }
86
90
  editor.updateBlock(block, { props: { checked: !block.props.checked } });
87
91
  });
88
92
  // We use a <p> tag, because for <li> tags we'd need a <ul> element to put
@@ -240,12 +240,16 @@ NESTED BLOCKS
240
240
  }
241
241
 
242
242
  /* Checked */
243
+ .bn-block-content[data-content-type="checkListItem"] > div:has(> input) {
244
+ height: 24px;
245
+ }
246
+
243
247
  .bn-block-content[data-content-type="checkListItem"] > div > input {
244
248
  cursor: pointer;
245
249
  height: 24px;
246
250
  margin-left: 4px;
247
251
  margin-right: 8px;
248
- margin-top: 0;
252
+ margin-block: 0;
249
253
  width: 12px;
250
254
  }
251
255
 
@@ -368,7 +372,7 @@ NESTED BLOCKS
368
372
  > .bn-block-outer[data-prev-type="bulletListItem"]
369
373
  > .bn-block
370
374
  > .bn-block-content::before {
371
- content: "";
375
+ content: "▪\FE0E";
372
376
  }
373
377
 
374
378
  [data-content-type="bulletListItem"]
@@ -386,7 +390,7 @@ NESTED BLOCKS
386
390
  > .bn-block
387
391
  > div[data-type="modification"]
388
392
  > .bn-block-content[data-content-type="bulletListItem"]::before {
389
- content: "";
393
+ content: "▪\FE0E";
390
394
  }
391
395
 
392
396
  /* CODE BLOCKS */
@@ -3,6 +3,7 @@
3
3
  .bn-editor {
4
4
  outline: none;
5
5
  padding-inline: 54px;
6
+ font-synthesis: style weight;
6
7
 
7
8
  /* Define a set of colors to be used throughout the app for consistency
8
9
  see https://atlassian.design/foundations/color for more info */
@@ -2,6 +2,54 @@ import { Fragment, Schema, Slice } from "@tiptap/pm/model";
2
2
  import { EditorView } from "@tiptap/pm/view";
3
3
 
4
4
  import { getBlockInfoFromSelection } from "../api/getBlockInfoFromPos.js";
5
+ import { findParentNodeClosestToPos } from "@tiptap/core";
6
+
7
+ /**
8
+ * Checks if the current selection is inside a table cell.
9
+ * Returns the depth of the tableCell/tableHeader node if found, -1 otherwise.
10
+ */
11
+ function isInTableCell(view: EditorView): boolean {
12
+ return (
13
+ findParentNodeClosestToPos(view.state.selection.$from, (n) => {
14
+ return n.type.name === "tableCell" || n.type.name === "tableHeader";
15
+ }) !== undefined
16
+ );
17
+ }
18
+
19
+ /**
20
+ * Converts block content to inline content with hard breaks.
21
+ * This is used when pasting into table cells which can only contain inline content.
22
+ */
23
+ function convertBlocksToInlineContent(
24
+ fragment: Fragment,
25
+ schema: Schema,
26
+ ): Fragment {
27
+ const hardBreak = schema.nodes.hardBreak;
28
+ let result = Fragment.empty;
29
+
30
+ fragment.forEach((node) => {
31
+ if (node.isTextblock && node.childCount > 0) {
32
+ // Extract inline content from paragraphs, headings, etc.
33
+ result = result.append(node.content);
34
+ result = result.addToEnd(hardBreak.create());
35
+ } else if (node.isText) {
36
+ result = result.addToEnd(node);
37
+ } else if (node.isBlock && node.childCount > 0) {
38
+ // Recurse into block containers, blockGroups, etc.
39
+ result = result.append(
40
+ convertBlocksToInlineContent(node.content, schema),
41
+ );
42
+ result = result.addToEnd(hardBreak.create());
43
+ }
44
+ });
45
+
46
+ // Remove trailing hard break
47
+ if (result.lastChild?.type === hardBreak) {
48
+ result = result.cut(0, result.size - 1);
49
+ }
50
+
51
+ return result;
52
+ }
5
53
 
6
54
  // helper function to remove a child from a fragment
7
55
  function removeChild(node: Fragment, n: number) {
@@ -65,6 +113,27 @@ export function transformPasted(slice: Slice, view: EditorView) {
65
113
  let f = Fragment.from(slice.content);
66
114
  f = wrapTableRows(f, view.state.schema);
67
115
 
116
+ if (isInTableCell(view)) {
117
+ let hasTableContent = false;
118
+ f.descendants((node) => {
119
+ if (node.type.isInGroup("tableContent")) {
120
+ hasTableContent = true;
121
+ }
122
+ });
123
+ if (
124
+ !hasTableContent &&
125
+ // is the content valid for a table paragraph?
126
+ !view.state.schema.nodes.tableParagraph.validContent(f)
127
+ ) {
128
+ // if not, convert the content to inline content
129
+ return new Slice(
130
+ convertBlocksToInlineContent(f, view.state.schema),
131
+ 0,
132
+ 0,
133
+ );
134
+ }
135
+ }
136
+
68
137
  if (!shouldApplyFix(f, view)) {
69
138
  // Don't apply the fix.
70
139
  return new Slice(f, slice.openStart, slice.openEnd);
@@ -40,6 +40,7 @@ export const NodeSelectionKeyboardExtension = createExtension(
40
40
  // Checks if key press is Enter
41
41
  if (
42
42
  event.key === "Enter" &&
43
+ !event.isComposing &&
43
44
  !event.shiftKey &&
44
45
  !event.altKey &&
45
46
  !event.ctrlKey &&
@@ -380,6 +380,20 @@ export class SideMenuView<
380
380
  return;
381
381
  }
382
382
 
383
+ // Relevance gate: Only handle drags that belong to BlockNote
384
+ // This prevents interference with external drag-and-drop libraries
385
+ // by avoiding calls to closeDropCursor() for non-BlockNote drags
386
+ const isBlockNoteDrag =
387
+ this.pmView.dragging !== null ||
388
+ this.isDragOrigin ||
389
+ event.dataTransfer?.types.includes("blocknote/html") ||
390
+ (event.target instanceof Node && this.pmView.dom.contains(event.target));
391
+
392
+ if (!isBlockNoteDrag) {
393
+ // Not a BlockNote-related drag, return early without any processing
394
+ return;
395
+ }
396
+
383
397
  const dragEventContext = this.getDragEventContext(event);
384
398
 
385
399
  if (!dragEventContext || !dragEventContext.isDropPoint) {
@@ -419,6 +433,23 @@ export class SideMenuView<
419
433
  * - Whether the drop event is within the bounds of the current editor instance
420
434
  */
421
435
  getDragEventContext = (event: DragEvent) => {
436
+ // Relevance gate: Only handle drags that belong to BlockNote
437
+ // Check if at least one of the following is true:
438
+ // 1. ProseMirror drag started in an editor
439
+ // 2. Side menu drag
440
+ // 3. BlockNote-specific data type in the drag
441
+ // 4. (optional stricter mode) Event target is inside this editor
442
+ const isBlockNoteDrag =
443
+ this.pmView.dragging !== null ||
444
+ this.isDragOrigin ||
445
+ event.dataTransfer?.types.includes("blocknote/html") ||
446
+ (event.target instanceof Node && this.pmView.dom.contains(event.target));
447
+
448
+ if (!isBlockNoteDrag) {
449
+ // Not a BlockNote-related drag, return early
450
+ return undefined;
451
+ }
452
+
422
453
  // We need to check if there is text content that is being dragged (select some text & just drag it)
423
454
  const textContentIsBeingDragged =
424
455
  !event.dataTransfer?.types.includes("blocknote/html") &&
@@ -477,6 +508,19 @@ export class SideMenuView<
477
508
  return;
478
509
  }
479
510
 
511
+ // Relevance gate: Only handle drags that belong to BlockNote
512
+ // This prevents interference with external drag-and-drop libraries
513
+ const isBlockNoteDrag =
514
+ this.pmView.dragging !== null ||
515
+ this.isDragOrigin ||
516
+ event.dataTransfer?.types.includes("blocknote/html") ||
517
+ (event.target instanceof Node && this.pmView.dom.contains(event.target));
518
+
519
+ if (!isBlockNoteDrag) {
520
+ // Not a BlockNote-related drag, return early without any processing
521
+ return;
522
+ }
523
+
480
524
  const context = this.getDragEventContext(event);
481
525
  if (!context) {
482
526
  this.closeDropCursor();