@blocknote/core 0.47.0 → 0.47.2

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 (77) hide show
  1. package/dist/BlockNoteExtension-BWw0r8Gy.cjs.map +1 -1
  2. package/dist/BlockNoteExtension-C2X7LW-V.js.map +1 -1
  3. package/dist/{BlockNoteSchema-DT4bdXj5.cjs → BlockNoteSchema-CCs_V3lo.cjs} +2 -2
  4. package/dist/{BlockNoteSchema-DT4bdXj5.cjs.map → BlockNoteSchema-CCs_V3lo.cjs.map} +1 -1
  5. package/dist/{BlockNoteSchema-1r-ln0Q0.js → BlockNoteSchema-ooiKsd5B.js} +2 -2
  6. package/dist/{BlockNoteSchema-1r-ln0Q0.js.map → BlockNoteSchema-ooiKsd5B.js.map} +1 -1
  7. package/dist/{TrailingNode-DZag-Nvu.js → TrailingNode-GzE59m_7.js} +588 -416
  8. package/dist/TrailingNode-GzE59m_7.js.map +1 -0
  9. package/dist/TrailingNode-n0WdMPUl.cjs +2 -0
  10. package/dist/TrailingNode-n0WdMPUl.cjs.map +1 -0
  11. package/dist/blocknote.cjs +4 -4
  12. package/dist/blocknote.cjs.map +1 -1
  13. package/dist/blocknote.js +1206 -955
  14. package/dist/blocknote.js.map +1 -1
  15. package/dist/blocks.cjs +1 -1
  16. package/dist/blocks.js +2 -2
  17. package/dist/comments.cjs.map +1 -1
  18. package/dist/comments.js.map +1 -1
  19. package/dist/defaultBlocks-Dg9kQWXm.cjs +6 -0
  20. package/dist/defaultBlocks-Dg9kQWXm.cjs.map +1 -0
  21. package/dist/{defaultBlocks-BSOEW3GR.js → defaultBlocks-ZzGbYgQn.js} +627 -543
  22. package/dist/defaultBlocks-ZzGbYgQn.js.map +1 -0
  23. package/dist/extensions.cjs +1 -1
  24. package/dist/extensions.cjs.map +1 -1
  25. package/dist/extensions.js +33 -54
  26. package/dist/extensions.js.map +1 -1
  27. package/dist/locales.cjs +1 -1
  28. package/dist/locales.cjs.map +1 -1
  29. package/dist/locales.js +25 -24
  30. package/dist/locales.js.map +1 -1
  31. package/dist/style.css +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/dist/webpack-stats.json +1 -1
  34. package/package.json +1 -10
  35. package/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.ts +33 -7
  36. package/src/api/exporters/html/util/serializeBlocksExternalHTML.ts +7 -1
  37. package/src/blocks/Heading/block.ts +48 -1
  38. package/src/blocks/ListItem/ToggleListItem/block.ts +51 -1
  39. package/src/blocks/Paragraph/block.ts +1 -1
  40. package/src/blocks/getDetailsContent.ts +77 -0
  41. package/src/comments/threadstore/TipTapThreadStore.ts +5 -5
  42. package/src/comments/threadstore/tiptap/types.ts +131 -0
  43. package/src/editor/Block.css +6 -0
  44. package/src/editor/BlockNoteEditor.ts +9 -14
  45. package/src/editor/managers/ExtensionManager/symbol.ts +0 -1
  46. package/src/editor/managers/SelectionManager.ts +3 -1
  47. package/src/extensions/Collaboration/YCursorPlugin.ts +3 -1
  48. package/src/extensions/DropCursor/DropCursor.ts +262 -25
  49. package/src/extensions/DropCursor/utils.ts +195 -0
  50. package/src/extensions/SuggestionMenu/SuggestionMenu.test.ts +191 -0
  51. package/src/extensions/SuggestionMenu/SuggestionMenu.ts +28 -11
  52. package/src/extensions/tiptap-extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts +438 -53
  53. package/src/i18n/locales/fa.ts +4 -21
  54. package/src/i18n/locales/index.ts +1 -1
  55. package/src/i18n/locales/ru.ts +1 -1
  56. package/src/i18n/locales/uz.ts +22 -4
  57. package/src/index.ts +1 -0
  58. package/src/schema/blocks/createSpec.ts +35 -45
  59. package/src/schema/blocks/types.ts +101 -1
  60. package/types/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.d.ts +5 -0
  61. package/types/src/blocks/getDetailsContent.d.ts +19 -0
  62. package/types/src/comments/threadstore/TipTapThreadStore.d.ts +1 -1
  63. package/types/src/comments/threadstore/tiptap/types.d.ts +73 -0
  64. package/types/src/editor/BlockNoteEditor.d.ts +6 -9
  65. package/types/src/extensions/DropCursor/DropCursor.d.ts +42 -5
  66. package/types/src/extensions/DropCursor/utils.d.ts +48 -0
  67. package/types/src/extensions/SuggestionMenu/SuggestionMenu.d.ts +12 -3
  68. package/types/src/extensions/SuggestionMenu/SuggestionMenu.test.d.ts +1 -0
  69. package/types/src/index.d.ts +1 -0
  70. package/types/src/schema/blocks/createSpec.d.ts +3 -3
  71. package/types/src/schema/blocks/types.d.ts +31 -1
  72. package/dist/TrailingNode-DZag-Nvu.js.map +0 -1
  73. package/dist/TrailingNode-tesI8f7N.cjs +0 -2
  74. package/dist/TrailingNode-tesI8f7N.cjs.map +0 -1
  75. package/dist/defaultBlocks-BSOEW3GR.js.map +0 -1
  76. package/dist/defaultBlocks-D049Pbme.cjs +0 -6
  77. package/dist/defaultBlocks-D049Pbme.cjs.map +0 -1
@@ -1 +1 @@
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"]}]}
1
+ {"builtAt":1774003988457,"assets":[{"name":"blocks.cjs","size":3901},{"name":"extensions.cjs","size":1810},{"name":"yjs.cjs","size":882},{"name":"comments.cjs","size":16680},{"name":"locales.cjs","size":178480},{"name":"blocknote.cjs","size":81226},{"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-CCs_V3lo.cjs","size":5031},{"name":"blockToNode-CumVjgem.cjs","size":19433},{"name":"TrailingNode-n0WdMPUl.cjs","size":51713},{"name":"defaultBlocks-Dg9kQWXm.cjs","size":68640},{"name":"en-Cl87Uuyf.cjs.map","size":15254},{"name":"EventEmitter-CLwfmbqG.cjs.map","size":2377},{"name":"BlockNoteSchema-CCs_V3lo.cjs.map","size":25059},{"name":"BlockNoteExtension-BWw0r8Gy.cjs.map","size":9743},{"name":"ShowSelection-BxnbRvy4.cjs.map","size":3151},{"name":"blockToNode-CumVjgem.cjs.map","size":122113},{"name":"TrailingNode-n0WdMPUl.cjs.map","size":241555},{"name":"defaultBlocks-Dg9kQWXm.cjs.map","size":300433},{"name":"extensions.cjs.map","size":95},{"name":"blocks.cjs.map","size":91},{"name":"yjs.cjs.map","size":5601},{"name":"comments.cjs.map","size":69918},{"name":"blocknote.cjs.map","size":368094},{"name":"locales.cjs.map","size":365913}],"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-CCs_V3lo.cjs"],"names":["BlockNoteSchema"]},{"id":"cdc653a","entry":false,"initial":true,"files":["blockToNode-CumVjgem.cjs"],"names":["blockToNode"]},{"id":"0c166b6","entry":false,"initial":true,"files":["TrailingNode-n0WdMPUl.cjs"],"names":["TrailingNode"]},{"id":"5d7fff5","entry":false,"initial":true,"files":["defaultBlocks-Dg9kQWXm.cjs"],"names":["defaultBlocks"]}],"modules":[{"name":"./src/blocks/index.ts","size":0,"chunks":["c90dbef"]},{"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":9187,"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":11080,"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":3826,"chunks":["a1ee98a"]},{"name":"./src/extensions/tiptap-extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts","size":28326,"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":2669,"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":7915,"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":4940,"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/utils.ts","size":3080,"chunks":["0c166b6"]},{"name":"./src/extensions/DropCursor/DropCursor.ts","size":4873,"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/SuggestionMenu/getDefaultEmojiPickerItems.ts","size":1294,"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":6955,"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/getDetailsContent.ts","size":1275,"chunks":["5d7fff5"]},{"name":"./src/blocks/ToggleWrapper/createToggleWrapper.ts","size":5246,"chunks":["5d7fff5"]},{"name":"./src/blocks/Heading/block.ts","size":3743,"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":2623,"chunks":["5d7fff5"]},{"name":"./src/blocks/Paragraph/block.ts","size":1358,"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":9631,"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.47.0",
14
+ "version": "0.47.2",
15
15
  "files": [
16
16
  "dist",
17
17
  "types",
@@ -98,7 +98,6 @@
98
98
  "emoji-mart": "^5.6.0",
99
99
  "fast-deep-equal": "^3.1.3",
100
100
  "hast-util-from-dom": "^5.0.1",
101
- "prosemirror-dropcursor": "^1.8.2",
102
101
  "prosemirror-highlight": "^0.13.0",
103
102
  "prosemirror-model": "^1.25.4",
104
103
  "prosemirror-state": "^1.4.4",
@@ -133,14 +132,6 @@
133
132
  "vite-plugin-eslint": "^1.8.1",
134
133
  "vitest": "^2.1.9"
135
134
  },
136
- "peerDependencies": {
137
- "@hocuspocus/provider": "^2.15.2 || ^3.0.0"
138
- },
139
- "peerDependenciesMeta": {
140
- "@hocuspocus/provider": {
141
- "optional": true
142
- }
143
- },
144
135
  "eslintConfig": {
145
136
  "extends": [
146
137
  "../../.eslintrc.json"
@@ -10,22 +10,27 @@ import {
10
10
  * Returns the block info from the parent block
11
11
  * or undefined if we're at the root
12
12
  */
13
- export const getParentBlockInfo = (doc: Node, beforePos: number) => {
13
+ export const getParentBlockInfo = (
14
+ doc: Node,
15
+ beforePos: number,
16
+ ): BlockInfo | undefined => {
14
17
  const $pos = doc.resolve(beforePos);
18
+ const depth = $pos.depth - 1;
19
+ const parentBeforePos = $pos.before(depth);
20
+ const parentNode = doc.resolve(parentBeforePos).nodeAfter;
15
21
 
16
- if ($pos.depth <= 1) {
22
+ if (!parentNode) {
17
23
  return undefined;
18
24
  }
19
25
 
20
- // get start pos of parent
21
- const parentBeforePos = $pos.posAtIndex(
22
- $pos.index($pos.depth - 1),
23
- $pos.depth - 1,
24
- );
26
+ if (!parentNode.type.spec.group?.includes("bnBlock")) {
27
+ return getParentBlockInfo(doc, parentBeforePos);
28
+ }
25
29
 
26
30
  const parentBlockInfo = getBlockInfoFromResolvedPos(
27
31
  doc.resolve(parentBeforePos),
28
32
  );
33
+
29
34
  return parentBlockInfo;
30
35
  };
31
36
 
@@ -50,6 +55,27 @@ export const getPrevBlockInfo = (doc: Node, beforePos: number) => {
50
55
  return prevBlockInfo;
51
56
  };
52
57
 
58
+ /**
59
+ * Returns the block info from the sibling block after (below) the given block,
60
+ * or undefined if the given block is the last sibling.
61
+ */
62
+ export const getNextBlockInfo = (doc: Node, beforePos: number) => {
63
+ const $pos = doc.resolve(beforePos);
64
+
65
+ const indexInParent = $pos.index();
66
+
67
+ if (indexInParent === $pos.node().childCount - 1) {
68
+ return undefined;
69
+ }
70
+
71
+ const nextBlockBeforePos = $pos.posAtIndex(indexInParent + 1);
72
+
73
+ const nextBlockInfo = getBlockInfoFromResolvedPos(
74
+ doc.resolve(nextBlockBeforePos),
75
+ );
76
+ return nextBlockInfo;
77
+ };
78
+
53
79
  /**
54
80
  * If a block has children like this:
55
81
  * A
@@ -319,7 +319,13 @@ function serializeBlock<
319
319
  }
320
320
  }
321
321
 
322
- if (editor.pmSchema.nodes[block.type as any].isInGroup("blockContent")) {
322
+ if ("childrenDOM" in ret && ret.childrenDOM) {
323
+ // block specifies where children should go (e.g. toggle blocks
324
+ // place children inside <details>)
325
+ ret.childrenDOM.append(childFragment);
326
+ } else if (
327
+ editor.pmSchema.nodes[block.type as any].isInGroup("blockContent")
328
+ ) {
323
329
  // default "blockContainer" style blocks are flattened (no "nested block" support) for externalHTML, so append the child fragment to the outer fragment
324
330
  fragment.append(childFragment);
325
331
  } else {
@@ -1,11 +1,12 @@
1
- import { createBlockConfig, createBlockSpec } from "../../schema/index.js";
2
1
  import { BlockNoteEditor } from "../../editor/BlockNoteEditor.js";
3
2
  import { createExtension } from "../../editor/BlockNoteExtension.js";
3
+ import { createBlockConfig, createBlockSpec } from "../../schema/index.js";
4
4
  import {
5
5
  addDefaultPropsExternalHTML,
6
6
  defaultProps,
7
7
  parseDefaultProps,
8
8
  } from "../defaultProps.js";
9
+ import { getDetailsContent } from "../getDetailsContent.js";
9
10
  import { createToggleWrapper } from "../ToggleWrapper/createToggleWrapper.js";
10
11
 
11
12
  const HEADING_LEVELS = [1, 2, 3, 4, 5, 6] as const;
@@ -64,6 +65,24 @@ export const createHeadingBlockSpec = createBlockSpec(
64
65
  isolating: false,
65
66
  },
66
67
  parse(e) {
68
+ if (allowToggleHeadings && e.tagName === "DETAILS") {
69
+ const summary = e.querySelector(":scope > summary");
70
+ if (!summary) {
71
+ return undefined;
72
+ }
73
+
74
+ const heading = summary.querySelector("h1, h2, h3, h4, h5, h6");
75
+ if (!heading) {
76
+ return undefined;
77
+ }
78
+
79
+ return {
80
+ ...parseDefaultProps(heading as HTMLElement),
81
+ level: parseInt(heading.tagName[1]),
82
+ isToggleable: true,
83
+ };
84
+ }
85
+
67
86
  let level: number;
68
87
  switch (e.tagName) {
69
88
  case "H1":
@@ -93,6 +112,20 @@ export const createHeadingBlockSpec = createBlockSpec(
93
112
  level,
94
113
  };
95
114
  },
115
+ ...(allowToggleHeadings
116
+ ? {
117
+ parseContent: ({ el, schema }: { el: HTMLElement; schema: any }) => {
118
+ if (el.tagName === "DETAILS") {
119
+ return getDetailsContent(el, schema, "heading");
120
+ }
121
+
122
+ // Regular heading (H1-H6): return undefined to fall through to
123
+ // the default inline content parsing in createSpec.
124
+ return undefined;
125
+ },
126
+ }
127
+ : {}),
128
+ runsBefore: ["toggleListItem"],
96
129
  render(block, editor) {
97
130
  const dom = document.createElement(`h${block.props.level}`);
98
131
 
@@ -110,6 +143,20 @@ export const createHeadingBlockSpec = createBlockSpec(
110
143
  const dom = document.createElement(`h${block.props.level}`);
111
144
  addDefaultPropsExternalHTML(block.props, dom);
112
145
 
146
+ if (allowToggleHeadings && block.props.isToggleable) {
147
+ const details = document.createElement("details");
148
+ details.setAttribute("open", "");
149
+ const summary = document.createElement("summary");
150
+ summary.appendChild(dom);
151
+ details.appendChild(summary);
152
+
153
+ return {
154
+ dom: details,
155
+ contentDOM: dom,
156
+ childrenDOM: details,
157
+ };
158
+ }
159
+
113
160
  return {
114
161
  dom,
115
162
  contentDOM: dom,
@@ -3,7 +3,9 @@ import { createBlockConfig, createBlockSpec } from "../../../schema/index.js";
3
3
  import {
4
4
  addDefaultPropsExternalHTML,
5
5
  defaultProps,
6
+ parseDefaultProps,
6
7
  } from "../../defaultProps.js";
8
+ import { getDetailsContent } from "../../getDetailsContent.js";
7
9
  import { createToggleWrapper } from "../../ToggleWrapper/createToggleWrapper.js";
8
10
  import { handleEnter } from "../../utils/listItemEnterHandler.js";
9
11
 
@@ -28,6 +30,47 @@ export const createToggleListItemBlockSpec = createBlockSpec(
28
30
  meta: {
29
31
  isolating: false,
30
32
  },
33
+ parse(element) {
34
+ if (element.tagName === "DETAILS") {
35
+ // Skip <details> that contain a heading in <summary> — those are
36
+ // toggle headings, handled by the heading block's parse rule.
37
+
38
+ return parseDefaultProps(element);
39
+ }
40
+
41
+ if (element.tagName === "LI") {
42
+ const parent = element.parentElement;
43
+
44
+ if (
45
+ parent &&
46
+ (parent.tagName === "UL" ||
47
+ (parent.tagName === "DIV" &&
48
+ parent.parentElement?.tagName === "UL"))
49
+ ) {
50
+ const details = element.querySelector(":scope > details");
51
+ if (details) {
52
+ return parseDefaultProps(element);
53
+ }
54
+ }
55
+ }
56
+
57
+ return undefined;
58
+ },
59
+ parseContent: ({ el, schema }) => {
60
+ const details =
61
+ el.tagName === "DETAILS" ? el : el.querySelector(":scope > details");
62
+
63
+ if (!details) {
64
+ throw new Error("No details found in toggleListItem parseContent");
65
+ }
66
+
67
+ return getDetailsContent(
68
+ details as HTMLElement,
69
+ schema,
70
+ "toggleListItem",
71
+ );
72
+ },
73
+ runsBefore: ["bulletListItem"],
31
74
  render(block, editor) {
32
75
  const paragraphEl = document.createElement("p");
33
76
  const toggleWrapper = createToggleWrapper(
@@ -39,13 +82,20 @@ export const createToggleListItemBlockSpec = createBlockSpec(
39
82
  },
40
83
  toExternalHTML(block) {
41
84
  const li = document.createElement("li");
85
+ const details = document.createElement("details");
86
+ details.setAttribute("open", "");
87
+ const summary = document.createElement("summary");
42
88
  const p = document.createElement("p");
89
+ summary.appendChild(p);
90
+ details.appendChild(summary);
91
+
43
92
  addDefaultPropsExternalHTML(block.props, li);
44
- li.appendChild(p);
93
+ li.appendChild(details);
45
94
 
46
95
  return {
47
96
  dom: li,
48
97
  contentDOM: p,
98
+ childrenDOM: details,
49
99
  };
50
100
  },
51
101
  },
@@ -52,7 +52,7 @@ export const createParagraphBlockSpec = createBlockSpec(
52
52
  contentDOM: dom,
53
53
  };
54
54
  },
55
- runsBefore: ["default"],
55
+ runsBefore: ["default", "heading"],
56
56
  },
57
57
  [
58
58
  createExtension({
@@ -0,0 +1,77 @@
1
+ import { DOMParser, Fragment, Schema } from "prosemirror-model";
2
+ import { mergeParagraphs } from "./defaultBlockHelpers.js";
3
+
4
+ /**
5
+ * Parses a `<details>` element into a block's inline content + nested children.
6
+ *
7
+ * Given:
8
+ * <details>
9
+ * <summary>inline content here</summary>
10
+ * <p>child block 1</p>
11
+ * <p>child block 2</p>
12
+ * </details>
13
+ *
14
+ * Returns a Fragment shaped like:
15
+ * [inline content, blockGroup<blockContainer<child1>, blockContainer<child2>>]
16
+ *
17
+ * ProseMirror's "fitting" algorithm will place the inline content into the
18
+ * block node, and lift the blockGroup into the parent blockContainer as
19
+ * nested children. This is the same mechanism used by `getListItemContent`.
20
+ */
21
+ export function getDetailsContent(
22
+ details: HTMLElement,
23
+ schema: Schema,
24
+ nodeName: string,
25
+ ): Fragment {
26
+ const parser = DOMParser.fromSchema(schema);
27
+ const summary = details.querySelector(":scope > summary");
28
+
29
+ // Parse inline content from <summary>. mergeParagraphs collapses multiple
30
+ // <p> tags into one with <br> separators so it fits a single inline node.
31
+ let inlineContent: Fragment;
32
+ if (summary) {
33
+ const clone = summary.cloneNode(true) as HTMLElement;
34
+ mergeParagraphs(clone);
35
+ inlineContent = parser.parse(clone, {
36
+ topNode: schema.nodes.paragraph.create(),
37
+ preserveWhitespace: true,
38
+ }).content;
39
+ } else {
40
+ inlineContent = Fragment.empty;
41
+ }
42
+
43
+ // Collect everything after <summary> as nested block children.
44
+ const childrenContainer = document.createElement("div");
45
+ childrenContainer.setAttribute("data-node-type", "blockGroup");
46
+ let hasChildren = false;
47
+
48
+ for (const child of Array.from(details.childNodes)) {
49
+ if ((child as HTMLElement).tagName === "SUMMARY") {
50
+ continue;
51
+ }
52
+ // Skip whitespace-only text nodes (from HTML formatting) — ProseMirror
53
+ // would otherwise create empty paragraph blocks from them.
54
+ if (child.nodeType === 3 && !child.textContent?.trim()) {
55
+ continue;
56
+ }
57
+ hasChildren = true;
58
+ childrenContainer.appendChild(child.cloneNode(true));
59
+ }
60
+
61
+ const contentNode = schema.nodes[nodeName].create({}, inlineContent);
62
+
63
+ if (!hasChildren) {
64
+ return contentNode.content;
65
+ }
66
+
67
+ // Parse children as a blockGroup. ProseMirror's fitting algorithm will
68
+ // lift this out of the inline content node and into the parent
69
+ // blockContainer as nested children.
70
+ const blockGroup = parser.parse(childrenContainer, {
71
+ topNode: schema.nodes.blockGroup.create(),
72
+ });
73
+
74
+ return blockGroup.content.size > 0
75
+ ? contentNode.content.addToEnd(blockGroup)
76
+ : contentNode.content;
77
+ }
@@ -1,8 +1,3 @@
1
- import type {
2
- TCollabComment,
3
- TCollabThread,
4
- TiptapCollabProvider,
5
- } from "@hocuspocus/provider";
6
1
  import {
7
2
  CommentBody,
8
3
  CommentData,
@@ -11,6 +6,11 @@ import {
11
6
  } from "../types.js";
12
7
  import { ThreadStore } from "./ThreadStore.js";
13
8
  import { ThreadStoreAuth } from "./ThreadStoreAuth.js";
9
+ import type {
10
+ TCollabComment,
11
+ TCollabThread,
12
+ TiptapCollabProvider,
13
+ } from "./tiptap/types.js";
14
14
 
15
15
  type ReactionAsTiptapData = {
16
16
  emoji: string;
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Tiptap comment types have moved to a private tiptap package and we don't want to create a dependency on it.
3
+ * We've extracted the types from https://github.com/ueberdosis/hocuspocus/blob/v2.15.3/packages/provider/src/types.ts
4
+ * and added them here.
5
+ */
6
+
7
+ export type TCollabThread<Data = any, CommentData = any> = {
8
+ id: string;
9
+ createdAt: number;
10
+ updatedAt: number;
11
+ deletedAt: number | null;
12
+ resolvedAt?: string; // (new Date()).toISOString()
13
+ comments: TCollabComment<CommentData>[];
14
+ deletedComments: TCollabComment<CommentData>[];
15
+ data: Data;
16
+ };
17
+
18
+ export type TCollabComment<Data = any> = {
19
+ id: string;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ deletedAt?: string;
23
+ data: Data;
24
+ content: any;
25
+ };
26
+
27
+ export type ThreadType = "archived" | "unarchived";
28
+
29
+ export type GetThreadsOptions = {
30
+ /**
31
+ * The types of threads to get
32
+ * @default ['unarchived']
33
+ */
34
+ types?: Array<ThreadType>;
35
+ };
36
+
37
+ export type DeleteCommentOptions = {
38
+ /**
39
+ * If `true`, the thread will also be deleted if the deleted comment was the first comment in the thread.
40
+ */
41
+ deleteThread?: boolean;
42
+
43
+ /**
44
+ * If `true`, will remove the content of the deleted comment
45
+ */
46
+ deleteContent?: boolean;
47
+ };
48
+
49
+ export type DeleteThreadOptions = {
50
+ /**
51
+ * If `true`, will remove the comments on the thread,
52
+ * otherwise will only mark the thread as deleted
53
+ * and keep the comments
54
+ * @default false
55
+ */
56
+ deleteComments?: boolean;
57
+
58
+ /**
59
+ * If `true`, will forcefully remove the thread and all comments,
60
+ * otherwise will only mark the thread as deleted
61
+ * and keep the comments
62
+ * @default false
63
+ */
64
+ force?: boolean;
65
+ };
66
+
67
+ export type TiptapCollabProvider = {
68
+ getThread<Data, CommentData>(
69
+ id: string,
70
+ ): TCollabThread<Data, CommentData> | null;
71
+
72
+ getThreads<Data, CommentData>(
73
+ options?: GetThreadsOptions,
74
+ ): TCollabThread<Data, CommentData>[];
75
+ createThread(
76
+ data: Omit<
77
+ TCollabThread,
78
+ | "id"
79
+ | "createdAt"
80
+ | "updatedAt"
81
+ | "deletedAt"
82
+ | "comments"
83
+ | "deletedComments"
84
+ >,
85
+ ): TCollabThread;
86
+
87
+ addComment(
88
+ threadId: TCollabThread["id"],
89
+ data: Omit<TCollabComment, "id" | "updatedAt" | "createdAt">,
90
+ ): TCollabThread;
91
+
92
+ updateComment(
93
+ threadId: TCollabThread["id"],
94
+ commentId: TCollabComment["id"],
95
+ data: Partial<Pick<TCollabComment, "data" | "content">>,
96
+ ): TCollabThread;
97
+
98
+ deleteComment(
99
+ threadId: TCollabThread["id"],
100
+ commentId: TCollabComment["id"],
101
+ options?: DeleteCommentOptions,
102
+ ): TCollabThread;
103
+
104
+ getThreadComments(
105
+ threadId: TCollabThread["id"],
106
+ includeDeleted?: boolean,
107
+ ): TCollabComment[] | null;
108
+
109
+ getThreadComment(
110
+ threadId: TCollabThread["id"],
111
+ commentId: TCollabComment["id"],
112
+ includeDeleted?: boolean,
113
+ ): TCollabComment | null;
114
+
115
+ deleteThread(
116
+ id: TCollabThread["id"],
117
+ options?: DeleteThreadOptions,
118
+ ): TCollabThread;
119
+
120
+ updateThread(
121
+ id: TCollabThread["id"],
122
+ data: Partial<
123
+ Pick<TCollabThread, "data"> & {
124
+ resolvedAt: TCollabThread["resolvedAt"] | null;
125
+ }
126
+ >,
127
+ ): TCollabThread;
128
+
129
+ watchThreads(callback: () => void): void;
130
+ unwatchThreads(callback: () => void): void;
131
+ };