@blocknote/core 0.34.0 → 0.35.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.
- package/dist/blocknote.cjs +7 -7
- package/dist/blocknote.cjs.map +1 -1
- package/dist/blocknote.js +670 -659
- package/dist/blocknote.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/webpack-stats.json +1 -1
- package/package.json +2 -2
- package/src/api/clipboard/fromClipboard/handleFileInsertion.ts +12 -1
- package/src/api/nodeUtil.ts +5 -1
- package/src/blocks/QuoteBlockContent/QuoteBlockContent.ts +23 -1
- package/src/editor/BlockNoteEditor.ts +79 -29
- package/src/extensions/Collaboration/ForkYDocPlugin.ts +1 -1
- package/src/extensions/SideMenu/SideMenuPlugin.ts +6 -8
- package/types/src/api/nodeUtil.d.ts +5 -1
- package/types/src/editor/BlockNoteEditor.d.ts +79 -29
package/dist/webpack-stats.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"builtAt":1752763345306,"assets":[{"name":"blocknote.cjs","size":198258},{"name":"comments.cjs","size":11826},{"name":"locales.cjs","size":157807},{"name":"en-CsgPjHa4.cjs","size":6613},{"name":"en-CsgPjHa4.cjs.map","size":14979},{"name":"comments.cjs.map","size":47628},{"name":"locales.cjs.map","size":326018},{"name":"blocknote.cjs.map","size":945164}],"chunks":[{"id":"a1ee98a","entry":true,"initial":true,"files":["blocknote.cjs"],"names":["blocknote"]},{"id":"1627b02","entry":true,"initial":true,"files":["comments.cjs"],"names":["comments"]},{"id":"9eaffe2","entry":true,"initial":true,"files":["locales.cjs"],"names":["locales"]},{"id":"a1e239a","entry":false,"initial":true,"files":["en-CsgPjHa4.cjs"],"names":["en"]}],"modules":[{"name":"./src/extensions/UniqueID/UniqueID.ts","size":9054,"chunks":["a1ee98a"]},{"name":"./src/schema/inlineContent/types.ts","size":302,"chunks":["a1ee98a"]},{"name":"./src/util/table.ts","size":1212,"chunks":["a1ee98a"]},{"name":"./src/util/typescript.ts","size":331,"chunks":["a1ee98a"]},{"name":"./src/util/browser.ts","size":643,"chunks":["a1ee98a"]},{"name":"./src/blocks/defaultBlockHelpers.ts","size":2080,"chunks":["a1ee98a"]},{"name":"./src/blocks/defaultProps.ts","size":269,"chunks":["a1ee98a"]},{"name":"./src/util/string.ts","size":299,"chunks":["a1ee98a"]},{"name":"./src/schema/blocks/internal.ts","size":4072,"chunks":["a1ee98a"]},{"name":"./src/schema/blocks/createSpec.ts","size":3647,"chunks":["a1ee98a"]},{"name":"./src/api/getBlockInfoFromPos.ts","size":3797,"chunks":["a1ee98a"]},{"name":"./src/api/pmUtil.ts","size":651,"chunks":["a1ee98a"]},{"name":"./src/api/nodeConversions/nodeToBlock.ts","size":13005,"chunks":["a1ee98a"]},{"name":"./src/schema/inlineContent/internal.ts","size":1398,"chunks":["a1ee98a"]},{"name":"./src/schema/inlineContent/createSpec.ts","size":2559,"chunks":["a1ee98a"]},{"name":"./src/schema/styles/internal.ts","size":1162,"chunks":["a1ee98a"]},{"name":"./src/schema/styles/createSpec.ts","size":1263,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/tables/tables.ts","size":10346,"chunks":["a1ee98a"]},{"name":"./src/api/nodeConversions/blockToNode.ts","size":7193,"chunks":["a1ee98a"]},{"name":"./src/api/nodeUtil.ts","size":3625,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/insertBlocks/insertBlocks.ts","size":785,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts","size":1876,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/updateBlock/updateBlock.ts","size":5637,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/util/serializeBlocksExternalHTML.ts","size":5025,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/externalHTMLExporter.ts","size":886,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/util/serializeBlocksInternalHTML.ts","size":3099,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/internalHTMLSerializer.ts","size":288,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/parse/parseFigureElement.ts","size":342,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/render/createAddFileButton.ts","size":1710,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/render/createFileNameWithIcon.ts","size":753,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/render/createFileBlockWrapper.ts","size":1428,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/toExternalHTML/createFigureWithCaption.ts","size":307,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/toExternalHTML/createLinkWithCaption.ts","size":294,"chunks":["a1ee98a"]},{"name":"./src/blocks/AudioBlockContent/parseAudioElement.ts","size":108,"chunks":["a1ee98a"]},{"name":"./src/blocks/AudioBlockContent/AudioBlockContent.ts","size":3219,"chunks":["a1ee98a"]},{"name":"./src/blocks/CodeBlockContent/CodeBlockContent.ts","size":9248,"chunks":["a1ee98a"]},{"name":"./src/extensions/BackgroundColor/BackgroundColorMark.ts","size":946,"chunks":["a1ee98a"]},{"name":"./src/extensions/TextColor/TextColorMark.ts","size":866,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/parse/parseEmbedElement.ts","size":108,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/FileBlockContent.ts","size":1524,"chunks":["a1ee98a"]},{"name":"./src/blocks/ToggleWrapper/createToggleWrapper.ts","size":5193,"chunks":["a1ee98a"]},{"name":"./src/blocks/HeadingBlockContent/HeadingBlockContent.ts","size":3467,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/render/createResizableFileBlockWrapper.ts","size":4836,"chunks":["a1ee98a"]},{"name":"./src/blocks/ImageBlockContent/parseImageElement.ts","size":175,"chunks":["a1ee98a"]},{"name":"./src/blocks/ImageBlockContent/ImageBlockContent.ts","size":3374,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/splitBlock/splitBlock.ts","size":868,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.ts","size":1495,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/ToggleListItemBlockContent/ToggleListItemBlockContent.ts","size":2228,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/getListItemContent.ts","size":1425,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.ts","size":3162,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.ts","size":7286,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListIndexingPlugin.ts","size":2207,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.ts","size":4098,"chunks":["a1ee98a"]},{"name":"./src/blocks/ParagraphBlockContent/ParagraphBlockContent.ts","size":1520,"chunks":["a1ee98a"]},{"name":"./src/blocks/QuoteBlockContent/QuoteBlockContent.ts","size":1953,"chunks":["a1ee98a"]},{"name":"./src/blocks/TableBlockContent/TableExtension.ts","size":2297,"chunks":["a1ee98a"]},{"name":"./src/blocks/TableBlockContent/TableBlockContent.ts","size":6183,"chunks":["a1ee98a"]},{"name":"./src/blocks/VideoBlockContent/parseVideoElement.ts","size":175,"chunks":["a1ee98a"]},{"name":"./src/blocks/VideoBlockContent/VideoBlockContent.ts","size":3293,"chunks":["a1ee98a"]},{"name":"./src/blocks/defaultBlocks.ts","size":1197,"chunks":["a1ee98a"]},{"name":"./src/blocks/defaultBlockTypeGuards.ts","size":2098,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY.ts","size":316,"chunks":["a1ee98a"]},{"name":"./src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts","size":8656,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteSchema.ts","size":1044,"chunks":["a1ee98a"]},{"name":"./src/blocks/PageBreakBlockContent/PageBreakBlockContent.ts","size":854,"chunks":["a1ee98a"]},{"name":"./src/blocks/PageBreakBlockContent/schema.ts","size":350,"chunks":["a1ee98a"]},{"name":"./src/blocks/PageBreakBlockContent/getPageBreakSlashMenuItems.ts","size":536,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/moveBlocks/moveBlocks.ts","size":5642,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/nestBlock/nestBlock.ts","size":2035,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/getBlock/getBlock.ts","size":1895,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/insertContentAt.ts","size":1049,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/selections/selection.ts","size":5093,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/selections/textCursorPosition.ts","size":2430,"chunks":["a1ee98a"]},{"name":"./src/util/esmDependencies.ts","size":820,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/markdown/removeUnderlinesRehypePlugin.ts","size":752,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/markdown/util/addSpacesToCheckboxesRehypePlugin.ts","size":969,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/markdown/markdownExporter.ts","size":837,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/html/util/nestedLists.ts","size":2174,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/html/parseHTML.ts","size":429,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/markdown/parseMarkdown.ts","size":1129,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/acceptedMIMETypes.ts","size":134,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/handleFileInsertion.ts","size":3928,"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/nodeConversions/fragmentToBlocks.ts","size":629,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/toClipboard/copyExtension.ts","size":5159,"chunks":["a1ee98a"]},{"name":"./src/extensions/BackgroundColor/BackgroundColorExtension.ts","size":819,"chunks":["a1ee98a"]},{"name":"./src/util/EventEmitter.ts","size":744,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteExtension.ts","size":345,"chunks":["a1ee98a"]},{"name":"./src/extensions/BlockChange/BlockChangePlugin.ts","size":988,"chunks":["a1ee98a"]},{"name":"./src/extensions/Collaboration/CursorPlugin.ts","size":4699,"chunks":["a1ee98a"]},{"name":"./src/extensions/Collaboration/SyncPlugin.ts","size":244,"chunks":["a1ee98a"]},{"name":"./src/extensions/Collaboration/UndoPlugin.ts","size":265,"chunks":["a1ee98a"]},{"name":"./src/extensions/Comments/CommentMark.ts","size":1428,"chunks":["a1ee98a"]},{"name":"./src/extensions/Comments/userstore/UserStore.ts","size":1354,"chunks":["a1ee98a"]},{"name":"./src/extensions/Comments/CommentsPlugin.ts","size":7815,"chunks":["a1ee98a"]},{"name":"./src/extensions/FilePanel/FilePanelPlugin.ts","size":4135,"chunks":["a1ee98a"]},{"name":"./src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts","size":6101,"chunks":["a1ee98a"]},{"name":"./src/extensions/HardBreak/HardBreak.ts","size":376,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.ts","size":3228,"chunks":["a1ee98a"]},{"name":"./src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts","size":18379,"chunks":["a1ee98a"]},{"name":"./src/extensions/LinkToolbar/LinkToolbarPlugin.ts","size":7699,"chunks":["a1ee98a"]},{"name":"./src/extensions/LinkToolbar/protocols.ts","size":172,"chunks":["a1ee98a"]},{"name":"./src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.ts","size":1367,"chunks":["a1ee98a"]},{"name":"./src/extensions/Placeholder/PlaceholderPlugin.ts","size":3895,"chunks":["a1ee98a"]},{"name":"./src/extensions/PreviousBlockType/PreviousBlockTypePlugin.ts","size":5232,"chunks":["a1ee98a"]},{"name":"./src/extensions/ShowSelection/ShowSelectionPlugin.ts","size":1043,"chunks":["a1ee98a"]},{"name":"./src/extensions/getDraggableBlockFromElement.ts","size":404,"chunks":["a1ee98a"]},{"name":"./src/extensions/SideMenu/MultipleNodeSelection.ts","size":1700,"chunks":["a1ee98a"]},{"name":"./src/extensions/SideMenu/dragging.ts","size":4718,"chunks":["a1ee98a"]},{"name":"./src/extensions/SideMenu/SideMenuPlugin.ts","size":16787,"chunks":["a1ee98a"]},{"name":"./src/api/positionMapping.ts","size":1652,"chunks":["a1ee98a"]},{"name":"./src/extensions/SuggestionMenu/SuggestionPlugin.ts","size":9360,"chunks":["a1ee98a"]},{"name":"./src/extensions/Suggestions/SuggestionMarks.ts","size":4452,"chunks":["a1ee98a"]},{"name":"./src/extensions/TableHandles/TableHandlesPlugin.ts","size":27335,"chunks":["a1ee98a"]},{"name":"./src/extensions/TextAlignment/TextAlignmentExtension.ts","size":976,"chunks":["a1ee98a"]},{"name":"./src/extensions/TextColor/TextColorExtension.ts","size":753,"chunks":["a1ee98a"]},{"name":"./src/extensions/TrailingNode/TrailingNodeExtension.ts","size":1563,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/BlockContainer.ts","size":2170,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/BlockGroup.ts","size":1146,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/Doc.ts","size":134,"chunks":["a1ee98a"]},{"name":"./src/extensions/Collaboration/ForkYDocPlugin.ts","size":4306,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteExtensions.ts","size":5435,"chunks":["a1ee98a"]},{"name":"./src/editor/transformPasted.ts","size":2604,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteTipTapEditor.ts","size":5736,"chunks":["a1ee98a"]},{"name":"./src/style.css","size":0,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteEditor.ts","size":37799,"chunks":["a1ee98a"]},{"name":"./src/editor/defaultColors.ts","size":1193,"chunks":["a1ee98a"]},{"name":"./src/exporter/Exporter.ts","size":1101,"chunks":["a1ee98a"]},{"name":"./src/exporter/mapping.ts","size":197,"chunks":["a1ee98a"]},{"name":"./src/extensions/SuggestionMenu/getDefaultEmojiPickerItems.ts","size":1204,"chunks":["a1ee98a"]},{"name":"./src/util/combineByGroup.ts","size":550,"chunks":["a1ee98a"]},{"name":"./src/index.ts","size":0,"chunks":["a1ee98a"]},{"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":790,"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":9382,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/de.ts","size":10527,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/es.ts","size":10087,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/fr.ts","size":11038,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/he.ts","size":9115,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/hr.ts","size":9907,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/is.ts","size":10089,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/it.ts","size":10512,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ja.ts","size":8965,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ko.ts","size":8454,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/nl.ts","size":10016,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/no.ts","size":10196,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/pl.ts","size":9721,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/pt.ts","size":9888,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ru.ts","size":11054,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/sk.ts","size":9773,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/uk.ts","size":10721,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/vi.ts","size":9777,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/zh.ts","size":8448,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/zh-tw.ts","size":8488,"chunks":["9eaffe2"]},{"name":"./src/i18n/index.ts","size":0,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/en.ts","size":9418,"chunks":["a1e239a"]}]}
|
|
1
|
+
{"builtAt":1753434995875,"assets":[{"name":"blocknote.cjs","size":198633},{"name":"comments.cjs","size":11826},{"name":"locales.cjs","size":157807},{"name":"en-CsgPjHa4.cjs","size":6613},{"name":"en-CsgPjHa4.cjs.map","size":14979},{"name":"comments.cjs.map","size":47628},{"name":"locales.cjs.map","size":326018},{"name":"blocknote.cjs.map","size":949091}],"chunks":[{"id":"a1ee98a","entry":true,"initial":true,"files":["blocknote.cjs"],"names":["blocknote"]},{"id":"1627b02","entry":true,"initial":true,"files":["comments.cjs"],"names":["comments"]},{"id":"9eaffe2","entry":true,"initial":true,"files":["locales.cjs"],"names":["locales"]},{"id":"a1e239a","entry":false,"initial":true,"files":["en-CsgPjHa4.cjs"],"names":["en"]}],"modules":[{"name":"./src/extensions/UniqueID/UniqueID.ts","size":9054,"chunks":["a1ee98a"]},{"name":"./src/schema/inlineContent/types.ts","size":302,"chunks":["a1ee98a"]},{"name":"./src/util/table.ts","size":1212,"chunks":["a1ee98a"]},{"name":"./src/util/typescript.ts","size":331,"chunks":["a1ee98a"]},{"name":"./src/util/browser.ts","size":643,"chunks":["a1ee98a"]},{"name":"./src/blocks/defaultBlockHelpers.ts","size":2080,"chunks":["a1ee98a"]},{"name":"./src/blocks/defaultProps.ts","size":269,"chunks":["a1ee98a"]},{"name":"./src/util/string.ts","size":299,"chunks":["a1ee98a"]},{"name":"./src/schema/blocks/internal.ts","size":4072,"chunks":["a1ee98a"]},{"name":"./src/schema/blocks/createSpec.ts","size":3647,"chunks":["a1ee98a"]},{"name":"./src/api/getBlockInfoFromPos.ts","size":3797,"chunks":["a1ee98a"]},{"name":"./src/api/pmUtil.ts","size":651,"chunks":["a1ee98a"]},{"name":"./src/api/nodeConversions/nodeToBlock.ts","size":13005,"chunks":["a1ee98a"]},{"name":"./src/schema/inlineContent/internal.ts","size":1398,"chunks":["a1ee98a"]},{"name":"./src/schema/inlineContent/createSpec.ts","size":2559,"chunks":["a1ee98a"]},{"name":"./src/schema/styles/internal.ts","size":1162,"chunks":["a1ee98a"]},{"name":"./src/schema/styles/createSpec.ts","size":1263,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/tables/tables.ts","size":10346,"chunks":["a1ee98a"]},{"name":"./src/api/nodeConversions/blockToNode.ts","size":7193,"chunks":["a1ee98a"]},{"name":"./src/api/nodeUtil.ts","size":3625,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/insertBlocks/insertBlocks.ts","size":785,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts","size":1876,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/updateBlock/updateBlock.ts","size":5637,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/util/serializeBlocksExternalHTML.ts","size":5025,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/externalHTMLExporter.ts","size":886,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/util/serializeBlocksInternalHTML.ts","size":3099,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/html/internalHTMLSerializer.ts","size":288,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/parse/parseFigureElement.ts","size":342,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/render/createAddFileButton.ts","size":1710,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/render/createFileNameWithIcon.ts","size":753,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/render/createFileBlockWrapper.ts","size":1428,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/toExternalHTML/createFigureWithCaption.ts","size":307,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/toExternalHTML/createLinkWithCaption.ts","size":294,"chunks":["a1ee98a"]},{"name":"./src/blocks/AudioBlockContent/parseAudioElement.ts","size":108,"chunks":["a1ee98a"]},{"name":"./src/blocks/AudioBlockContent/AudioBlockContent.ts","size":3219,"chunks":["a1ee98a"]},{"name":"./src/blocks/CodeBlockContent/CodeBlockContent.ts","size":9248,"chunks":["a1ee98a"]},{"name":"./src/extensions/BackgroundColor/BackgroundColorMark.ts","size":946,"chunks":["a1ee98a"]},{"name":"./src/extensions/TextColor/TextColorMark.ts","size":866,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/parse/parseEmbedElement.ts","size":108,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/FileBlockContent.ts","size":1524,"chunks":["a1ee98a"]},{"name":"./src/blocks/ToggleWrapper/createToggleWrapper.ts","size":5193,"chunks":["a1ee98a"]},{"name":"./src/blocks/HeadingBlockContent/HeadingBlockContent.ts","size":3467,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/helpers/render/createResizableFileBlockWrapper.ts","size":4836,"chunks":["a1ee98a"]},{"name":"./src/blocks/ImageBlockContent/parseImageElement.ts","size":175,"chunks":["a1ee98a"]},{"name":"./src/blocks/ImageBlockContent/ImageBlockContent.ts","size":3374,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/splitBlock/splitBlock.ts","size":868,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.ts","size":1495,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/ToggleListItemBlockContent/ToggleListItemBlockContent.ts","size":2228,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/getListItemContent.ts","size":1425,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.ts","size":3162,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.ts","size":7286,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListIndexingPlugin.ts","size":2207,"chunks":["a1ee98a"]},{"name":"./src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.ts","size":4098,"chunks":["a1ee98a"]},{"name":"./src/blocks/ParagraphBlockContent/ParagraphBlockContent.ts","size":1520,"chunks":["a1ee98a"]},{"name":"./src/blocks/QuoteBlockContent/QuoteBlockContent.ts","size":2338,"chunks":["a1ee98a"]},{"name":"./src/blocks/TableBlockContent/TableExtension.ts","size":2297,"chunks":["a1ee98a"]},{"name":"./src/blocks/TableBlockContent/TableBlockContent.ts","size":6183,"chunks":["a1ee98a"]},{"name":"./src/blocks/VideoBlockContent/parseVideoElement.ts","size":175,"chunks":["a1ee98a"]},{"name":"./src/blocks/VideoBlockContent/VideoBlockContent.ts","size":3293,"chunks":["a1ee98a"]},{"name":"./src/blocks/defaultBlocks.ts","size":1197,"chunks":["a1ee98a"]},{"name":"./src/blocks/defaultBlockTypeGuards.ts","size":2098,"chunks":["a1ee98a"]},{"name":"./src/blocks/FileBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY.ts","size":316,"chunks":["a1ee98a"]},{"name":"./src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts","size":8656,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteSchema.ts","size":1044,"chunks":["a1ee98a"]},{"name":"./src/blocks/PageBreakBlockContent/PageBreakBlockContent.ts","size":854,"chunks":["a1ee98a"]},{"name":"./src/blocks/PageBreakBlockContent/schema.ts","size":350,"chunks":["a1ee98a"]},{"name":"./src/blocks/PageBreakBlockContent/getPageBreakSlashMenuItems.ts","size":536,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/moveBlocks/moveBlocks.ts","size":5642,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/nestBlock/nestBlock.ts","size":2035,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/getBlock/getBlock.ts","size":1895,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/insertContentAt.ts","size":1049,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/selections/selection.ts","size":5093,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/selections/textCursorPosition.ts","size":2430,"chunks":["a1ee98a"]},{"name":"./src/util/esmDependencies.ts","size":820,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/markdown/removeUnderlinesRehypePlugin.ts","size":752,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/markdown/util/addSpacesToCheckboxesRehypePlugin.ts","size":969,"chunks":["a1ee98a"]},{"name":"./src/api/exporters/markdown/markdownExporter.ts","size":837,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/html/util/nestedLists.ts","size":2174,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/html/parseHTML.ts","size":429,"chunks":["a1ee98a"]},{"name":"./src/api/parsers/markdown/parseMarkdown.ts","size":1129,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/acceptedMIMETypes.ts","size":134,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/fromClipboard/handleFileInsertion.ts","size":4255,"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/nodeConversions/fragmentToBlocks.ts","size":629,"chunks":["a1ee98a"]},{"name":"./src/api/clipboard/toClipboard/copyExtension.ts","size":5159,"chunks":["a1ee98a"]},{"name":"./src/extensions/BackgroundColor/BackgroundColorExtension.ts","size":819,"chunks":["a1ee98a"]},{"name":"./src/util/EventEmitter.ts","size":744,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteExtension.ts","size":345,"chunks":["a1ee98a"]},{"name":"./src/extensions/BlockChange/BlockChangePlugin.ts","size":988,"chunks":["a1ee98a"]},{"name":"./src/extensions/Collaboration/CursorPlugin.ts","size":4699,"chunks":["a1ee98a"]},{"name":"./src/extensions/Collaboration/SyncPlugin.ts","size":244,"chunks":["a1ee98a"]},{"name":"./src/extensions/Collaboration/UndoPlugin.ts","size":265,"chunks":["a1ee98a"]},{"name":"./src/extensions/Comments/CommentMark.ts","size":1428,"chunks":["a1ee98a"]},{"name":"./src/extensions/Comments/userstore/UserStore.ts","size":1354,"chunks":["a1ee98a"]},{"name":"./src/extensions/Comments/CommentsPlugin.ts","size":7815,"chunks":["a1ee98a"]},{"name":"./src/extensions/FilePanel/FilePanelPlugin.ts","size":4135,"chunks":["a1ee98a"]},{"name":"./src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts","size":6101,"chunks":["a1ee98a"]},{"name":"./src/extensions/HardBreak/HardBreak.ts","size":376,"chunks":["a1ee98a"]},{"name":"./src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.ts","size":3228,"chunks":["a1ee98a"]},{"name":"./src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts","size":18379,"chunks":["a1ee98a"]},{"name":"./src/extensions/LinkToolbar/LinkToolbarPlugin.ts","size":7699,"chunks":["a1ee98a"]},{"name":"./src/extensions/LinkToolbar/protocols.ts","size":172,"chunks":["a1ee98a"]},{"name":"./src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.ts","size":1367,"chunks":["a1ee98a"]},{"name":"./src/extensions/Placeholder/PlaceholderPlugin.ts","size":3895,"chunks":["a1ee98a"]},{"name":"./src/extensions/PreviousBlockType/PreviousBlockTypePlugin.ts","size":5232,"chunks":["a1ee98a"]},{"name":"./src/extensions/ShowSelection/ShowSelectionPlugin.ts","size":1043,"chunks":["a1ee98a"]},{"name":"./src/extensions/getDraggableBlockFromElement.ts","size":404,"chunks":["a1ee98a"]},{"name":"./src/extensions/SideMenu/MultipleNodeSelection.ts","size":1700,"chunks":["a1ee98a"]},{"name":"./src/extensions/SideMenu/dragging.ts","size":4718,"chunks":["a1ee98a"]},{"name":"./src/extensions/SideMenu/SideMenuPlugin.ts","size":16801,"chunks":["a1ee98a"]},{"name":"./src/api/positionMapping.ts","size":1652,"chunks":["a1ee98a"]},{"name":"./src/extensions/SuggestionMenu/SuggestionPlugin.ts","size":9360,"chunks":["a1ee98a"]},{"name":"./src/extensions/Suggestions/SuggestionMarks.ts","size":4452,"chunks":["a1ee98a"]},{"name":"./src/extensions/TableHandles/TableHandlesPlugin.ts","size":27335,"chunks":["a1ee98a"]},{"name":"./src/extensions/TextAlignment/TextAlignmentExtension.ts","size":976,"chunks":["a1ee98a"]},{"name":"./src/extensions/TextColor/TextColorExtension.ts","size":753,"chunks":["a1ee98a"]},{"name":"./src/extensions/TrailingNode/TrailingNodeExtension.ts","size":1563,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/BlockContainer.ts","size":2170,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/BlockGroup.ts","size":1146,"chunks":["a1ee98a"]},{"name":"./src/pm-nodes/Doc.ts","size":134,"chunks":["a1ee98a"]},{"name":"./src/extensions/Collaboration/ForkYDocPlugin.ts","size":4307,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteExtensions.ts","size":5435,"chunks":["a1ee98a"]},{"name":"./src/editor/transformPasted.ts","size":2604,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteTipTapEditor.ts","size":5736,"chunks":["a1ee98a"]},{"name":"./src/style.css","size":0,"chunks":["a1ee98a"]},{"name":"./src/editor/BlockNoteEditor.ts","size":37801,"chunks":["a1ee98a"]},{"name":"./src/editor/defaultColors.ts","size":1193,"chunks":["a1ee98a"]},{"name":"./src/exporter/Exporter.ts","size":1101,"chunks":["a1ee98a"]},{"name":"./src/exporter/mapping.ts","size":197,"chunks":["a1ee98a"]},{"name":"./src/extensions/SuggestionMenu/getDefaultEmojiPickerItems.ts","size":1204,"chunks":["a1ee98a"]},{"name":"./src/util/combineByGroup.ts","size":550,"chunks":["a1ee98a"]},{"name":"./src/index.ts","size":0,"chunks":["a1ee98a"]},{"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":790,"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":9382,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/de.ts","size":10527,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/es.ts","size":10087,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/fr.ts","size":11038,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/he.ts","size":9115,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/hr.ts","size":9907,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/is.ts","size":10089,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/it.ts","size":10512,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ja.ts","size":8965,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ko.ts","size":8454,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/nl.ts","size":10016,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/no.ts","size":10196,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/pl.ts","size":9721,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/pt.ts","size":9888,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/ru.ts","size":11054,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/sk.ts","size":9773,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/uk.ts","size":10721,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/vi.ts","size":9777,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/zh.ts","size":8448,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/zh-tw.ts","size":8488,"chunks":["9eaffe2"]},{"name":"./src/i18n/index.ts","size":0,"chunks":["9eaffe2"]},{"name":"./src/i18n/locales/en.ts","size":9418,"chunks":["a1e239a"]}]}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"directory": "packages/core"
|
|
12
12
|
},
|
|
13
13
|
"license": "MPL-2.0",
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.35.0",
|
|
15
15
|
"files": [
|
|
16
16
|
"dist",
|
|
17
17
|
"types",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"uuid": "^8.3.2",
|
|
103
103
|
"y-prosemirror": "^1.3.4",
|
|
104
104
|
"y-protocols": "^1.0.6",
|
|
105
|
-
"yjs": "^13.6.
|
|
105
|
+
"yjs": "^13.6.27"
|
|
106
106
|
},
|
|
107
107
|
"devDependencies": {
|
|
108
108
|
"@types/emoji-mart": "^3.0.14",
|
|
@@ -49,6 +49,7 @@ function insertOrUpdateBlock<
|
|
|
49
49
|
editor: BlockNoteEditor<BSchema, I, S>,
|
|
50
50
|
referenceBlock: Block<BSchema, I, S>,
|
|
51
51
|
newBlock: PartialBlock<BSchema, I, S>,
|
|
52
|
+
placement: "before" | "after" = "after",
|
|
52
53
|
) {
|
|
53
54
|
let insertedBlockId: string | undefined;
|
|
54
55
|
|
|
@@ -61,7 +62,7 @@ function insertOrUpdateBlock<
|
|
|
61
62
|
insertedBlockId = editor.insertBlocks(
|
|
62
63
|
[newBlock],
|
|
63
64
|
referenceBlock,
|
|
64
|
-
|
|
65
|
+
placement,
|
|
65
66
|
)[0].id;
|
|
66
67
|
}
|
|
67
68
|
|
|
@@ -156,16 +157,26 @@ export async function handleFileInsertion<
|
|
|
156
157
|
};
|
|
157
158
|
|
|
158
159
|
const pos = editor.prosemirrorView?.posAtCoords(coords);
|
|
160
|
+
|
|
159
161
|
if (!pos) {
|
|
160
162
|
return;
|
|
161
163
|
}
|
|
162
164
|
|
|
163
165
|
insertedBlockId = editor.transact((tr) => {
|
|
164
166
|
const posInfo = getNearestBlockPos(tr.doc, pos.pos);
|
|
167
|
+
const blockElement = editor.prosemirrorView?.dom.querySelector(
|
|
168
|
+
`[data-id="${posInfo.node.attrs.id}"]`,
|
|
169
|
+
);
|
|
170
|
+
|
|
171
|
+
const blockRect = blockElement?.getBoundingClientRect();
|
|
172
|
+
|
|
165
173
|
return insertOrUpdateBlock(
|
|
166
174
|
editor,
|
|
167
175
|
editor.getBlock(posInfo.node.attrs.id)!,
|
|
168
176
|
fileBlock,
|
|
177
|
+
blockRect && (blockRect.top + blockRect.bottom) / 2 > coords.top
|
|
178
|
+
? "before"
|
|
179
|
+
: "after",
|
|
169
180
|
);
|
|
170
181
|
});
|
|
171
182
|
} else {
|
package/src/api/nodeUtil.ts
CHANGED
|
@@ -113,7 +113,11 @@ export type BlocksChanged<
|
|
|
113
113
|
| {
|
|
114
114
|
type: "move";
|
|
115
115
|
/**
|
|
116
|
-
* The
|
|
116
|
+
* The affected block.
|
|
117
|
+
*/
|
|
118
|
+
block: Block<BSchema, ISchema, SSchema>;
|
|
119
|
+
/**
|
|
120
|
+
* The block before the move.
|
|
117
121
|
*/
|
|
118
122
|
prevBlock: Block<BSchema, ISchema, SSchema>;
|
|
119
123
|
/**
|
|
@@ -2,11 +2,15 @@ import {
|
|
|
2
2
|
createBlockSpecFromStronglyTypedTiptapNode,
|
|
3
3
|
createStronglyTypedTiptapNode,
|
|
4
4
|
} from "../../schema/index.js";
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
createDefaultBlockDOMOutputSpec,
|
|
7
|
+
mergeParagraphs,
|
|
8
|
+
} from "../defaultBlockHelpers.js";
|
|
6
9
|
import { defaultProps } from "../defaultProps.js";
|
|
7
10
|
import { getBlockInfoFromSelection } from "../../api/getBlockInfoFromPos.js";
|
|
8
11
|
import { updateBlockCommand } from "../../api/blockManipulation/commands/updateBlock/updateBlock.js";
|
|
9
12
|
import { InputRule } from "@tiptap/core";
|
|
13
|
+
import { DOMParser } from "prosemirror-model";
|
|
10
14
|
|
|
11
15
|
export const quotePropSchema = {
|
|
12
16
|
...defaultProps,
|
|
@@ -76,6 +80,24 @@ export const QuoteBlockContent = createStronglyTypedTiptapNode({
|
|
|
76
80
|
{
|
|
77
81
|
tag: "blockquote",
|
|
78
82
|
node: "quote",
|
|
83
|
+
getContent: (node, schema) => {
|
|
84
|
+
// Parse the blockquote content as inline content
|
|
85
|
+
const element = node as HTMLElement;
|
|
86
|
+
|
|
87
|
+
// Clone to avoid modifying the original
|
|
88
|
+
const clone = element.cloneNode(true) as HTMLElement;
|
|
89
|
+
|
|
90
|
+
// Merge multiple paragraphs into one with line breaks
|
|
91
|
+
mergeParagraphs(clone);
|
|
92
|
+
|
|
93
|
+
// Parse the content directly as a paragraph to extract inline content
|
|
94
|
+
const parser = DOMParser.fromSchema(schema);
|
|
95
|
+
const parsed = parser.parse(clone, {
|
|
96
|
+
topNode: schema.nodes.paragraph.create(),
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
return parsed.content;
|
|
100
|
+
},
|
|
79
101
|
},
|
|
80
102
|
];
|
|
81
103
|
},
|
|
@@ -156,8 +156,11 @@ export type BlockNoteEditorOptions<
|
|
|
156
156
|
|
|
157
157
|
/**
|
|
158
158
|
* When enabled, allows for collaboration between multiple users.
|
|
159
|
+
* See [Real-time Collaboration](https://www.blocknotejs.org/docs/advanced/real-time-collaboration) for more info.
|
|
160
|
+
*
|
|
161
|
+
* @remarks `CollaborationOptions`
|
|
159
162
|
*/
|
|
160
|
-
collaboration
|
|
163
|
+
collaboration?: {
|
|
161
164
|
/**
|
|
162
165
|
* The Yjs XML fragment that's used for collaboration.
|
|
163
166
|
*/
|
|
@@ -191,7 +194,13 @@ export type BlockNoteEditorOptions<
|
|
|
191
194
|
*/
|
|
192
195
|
codeBlock?: CodeBlockOptions;
|
|
193
196
|
|
|
194
|
-
|
|
197
|
+
/**
|
|
198
|
+
* Configuration for the comments feature, requires a `threadStore`.
|
|
199
|
+
*
|
|
200
|
+
* See [Comments](https://www.blocknotejs.org/docs/features/collaboration/comments) for more info.
|
|
201
|
+
* @remarks `CommentsOptions`
|
|
202
|
+
*/
|
|
203
|
+
comments?: {
|
|
195
204
|
threadStore: ThreadStore;
|
|
196
205
|
};
|
|
197
206
|
|
|
@@ -200,25 +209,38 @@ export type BlockNoteEditorOptions<
|
|
|
200
209
|
*
|
|
201
210
|
* @default true
|
|
202
211
|
*/
|
|
203
|
-
defaultStyles
|
|
212
|
+
defaultStyles?: boolean;
|
|
204
213
|
|
|
205
214
|
/**
|
|
206
215
|
* A dictionary object containing translations for the editor.
|
|
216
|
+
*
|
|
217
|
+
* See [Localization / i18n](https://www.blocknotejs.org/docs/advanced/localization) for more info.
|
|
218
|
+
*
|
|
219
|
+
* @remarks `Dictionary` is a type that contains all the translations for the editor.
|
|
207
220
|
*/
|
|
208
221
|
dictionary?: Dictionary & Record<string, any>;
|
|
209
222
|
|
|
210
223
|
/**
|
|
211
224
|
* Disable internal extensions (based on keys / extension name)
|
|
225
|
+
*
|
|
226
|
+
* @note Advanced
|
|
212
227
|
*/
|
|
213
|
-
disableExtensions
|
|
228
|
+
disableExtensions?: string[];
|
|
214
229
|
|
|
215
230
|
/**
|
|
216
231
|
* An object containing attributes that should be added to HTML elements of the editor.
|
|
217
232
|
*
|
|
233
|
+
* See [Adding DOM Attributes](https://www.blocknotejs.org/docs/theming#adding-dom-attributes) for more info.
|
|
234
|
+
*
|
|
218
235
|
* @example { editor: { class: "my-editor-class" } }
|
|
236
|
+
* @remarks `Record<string, Record<string, string>>`
|
|
219
237
|
*/
|
|
220
|
-
domAttributes
|
|
238
|
+
domAttributes?: Partial<BlockNoteDOMAttributes>;
|
|
221
239
|
|
|
240
|
+
/**
|
|
241
|
+
* A replacement indicator to use when dragging and dropping blocks. Uses the [ProseMirror drop cursor](https://github.com/ProseMirror/prosemirror-dropcursor), or a modified version when [Column Blocks](https://www.blocknotejs.org/docs/document-structure#column-blocks) are enabled.
|
|
242
|
+
* @remarks `() => Plugin`
|
|
243
|
+
*/
|
|
222
244
|
dropCursor?: (opts: {
|
|
223
245
|
editor: BlockNoteEditor<
|
|
224
246
|
NoInfer<BSchema>,
|
|
@@ -243,9 +265,13 @@ export type BlockNoteEditorOptions<
|
|
|
243
265
|
};
|
|
244
266
|
|
|
245
267
|
/**
|
|
246
|
-
* The content that should be in the editor when it's created, represented as an array of
|
|
268
|
+
* The content that should be in the editor when it's created, represented as an array of {@link PartialBlock} objects.
|
|
269
|
+
*
|
|
270
|
+
* See [Partial Blocks](https://www.blocknotejs.org/docs/editor-api/manipulating-blocks#partial-blocks) for more info.
|
|
271
|
+
*
|
|
272
|
+
* @remarks `PartialBlock[]`
|
|
247
273
|
*/
|
|
248
|
-
initialContent
|
|
274
|
+
initialContent?: PartialBlock<
|
|
249
275
|
NoInfer<BSchema>,
|
|
250
276
|
NoInfer<ISchema>,
|
|
251
277
|
NoInfer<SSchema>
|
|
@@ -253,14 +279,19 @@ export type BlockNoteEditorOptions<
|
|
|
253
279
|
|
|
254
280
|
/**
|
|
255
281
|
* @deprecated, provide placeholders via dictionary instead
|
|
282
|
+
* @internal
|
|
256
283
|
*/
|
|
257
|
-
placeholders
|
|
284
|
+
placeholders?: Record<
|
|
258
285
|
string | "default" | "emptyDocument",
|
|
259
286
|
string | undefined
|
|
260
287
|
>;
|
|
261
288
|
|
|
262
289
|
/**
|
|
263
290
|
* Custom paste handler that can be used to override the default paste behavior.
|
|
291
|
+
*
|
|
292
|
+
* See [Paste Handling](https://www.blocknotejs.org/docs/advanced/paste-handling) for more info.
|
|
293
|
+
*
|
|
294
|
+
* @remarks `PasteHandler`
|
|
264
295
|
* @returns The function should return `true` if the paste event was handled, otherwise it should return `false` if it should be canceled or `undefined` if it should be handled by another handler.
|
|
265
296
|
*
|
|
266
297
|
* @example
|
|
@@ -297,10 +328,21 @@ export type BlockNoteEditorOptions<
|
|
|
297
328
|
* implementing custom protocols / schemes
|
|
298
329
|
* @returns The URL that's
|
|
299
330
|
*/
|
|
300
|
-
resolveFileUrl
|
|
331
|
+
resolveFileUrl?: (url: string) => Promise<string>;
|
|
301
332
|
|
|
302
|
-
|
|
333
|
+
/**
|
|
334
|
+
* Resolve user information for comments.
|
|
335
|
+
*
|
|
336
|
+
* See [Comments](https://www.blocknotejs.org/docs/features/collaboration/comments) for more info.
|
|
337
|
+
*/
|
|
338
|
+
resolveUsers?: (userIds: string[]) => Promise<User[]>;
|
|
303
339
|
|
|
340
|
+
/**
|
|
341
|
+
* The schema of the editor. The schema defines which Blocks, InlineContent, and Styles are available in the editor.
|
|
342
|
+
*
|
|
343
|
+
* See [Custom Schemas](https://www.blocknotejs.org/docs/custom-schemas) for more info.
|
|
344
|
+
* @remarks `BlockNoteSchema`
|
|
345
|
+
*/
|
|
304
346
|
schema: BlockNoteSchema<BSchema, ISchema, SSchema>;
|
|
305
347
|
|
|
306
348
|
/**
|
|
@@ -314,22 +356,19 @@ export type BlockNoteEditorOptions<
|
|
|
314
356
|
setIdAttribute?: boolean;
|
|
315
357
|
|
|
316
358
|
/**
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
first press `Escape` to close the toolbar, and can then indent multiple
|
|
322
|
-
blocks. Better for keyboard accessibility.
|
|
323
|
-
- `"prefer-indent"`: Regardless of whether toolbars are open, indent the
|
|
324
|
-
selection of blocks. In this case, it's not possible to navigate toolbars
|
|
325
|
-
with the keyboard.
|
|
326
|
-
|
|
327
|
-
@default "prefer-navigate-ui"
|
|
359
|
+
* Determines behavior when pressing Tab (or Shift-Tab) while multiple blocks are selected and a toolbar is open.
|
|
360
|
+
* - `"prefer-navigate-ui"`: Changes focus to the toolbar. User must press Escape to close toolbar before indenting blocks. Better for keyboard accessibility.
|
|
361
|
+
* - `"prefer-indent"`: Always indents selected blocks, regardless of toolbar state. Keyboard navigation of toolbars not possible.
|
|
362
|
+
* @default "prefer-navigate-ui"
|
|
328
363
|
*/
|
|
329
|
-
tabBehavior
|
|
364
|
+
tabBehavior?: "prefer-navigate-ui" | "prefer-indent";
|
|
330
365
|
|
|
331
366
|
/**
|
|
332
367
|
* Allows enabling / disabling features of tables.
|
|
368
|
+
*
|
|
369
|
+
* See [Tables](https://www.blocknotejs.org/docs/editor-basics/document-structure#tables) for more info.
|
|
370
|
+
*
|
|
371
|
+
* @remarks `TableConfig`
|
|
333
372
|
*/
|
|
334
373
|
tables?: {
|
|
335
374
|
/**
|
|
@@ -358,6 +397,11 @@ export type BlockNoteEditorOptions<
|
|
|
358
397
|
headers?: boolean;
|
|
359
398
|
};
|
|
360
399
|
|
|
400
|
+
/**
|
|
401
|
+
* An option which user can pass with `false` value to disable the automatic creation of a trailing new block on the next line when the user types or edits any block.
|
|
402
|
+
*
|
|
403
|
+
* @default true
|
|
404
|
+
*/
|
|
361
405
|
trailingBlock?: boolean;
|
|
362
406
|
|
|
363
407
|
/**
|
|
@@ -368,23 +412,26 @@ export type BlockNoteEditorOptions<
|
|
|
368
412
|
*
|
|
369
413
|
* @param file The file that should be uploaded.
|
|
370
414
|
* @returns The URL of the uploaded file OR an object containing props that should be set on the file block (such as an id)
|
|
415
|
+
* @remarks `(file: File) => Promise<UploadFileResult>`
|
|
371
416
|
*/
|
|
372
|
-
uploadFile
|
|
417
|
+
uploadFile?: (
|
|
373
418
|
file: File,
|
|
374
419
|
blockId?: string,
|
|
375
420
|
) => Promise<string | Record<string, any>>;
|
|
376
421
|
|
|
377
422
|
/**
|
|
378
423
|
* additional tiptap options, undocumented
|
|
424
|
+
* @internal
|
|
379
425
|
*/
|
|
380
|
-
_tiptapOptions
|
|
426
|
+
_tiptapOptions?: Partial<EditorOptions>;
|
|
381
427
|
|
|
382
428
|
/**
|
|
383
429
|
* (experimental) add extra extensions to the editor
|
|
384
430
|
*
|
|
385
431
|
* @deprecated, should use `extensions` instead
|
|
432
|
+
* @internal
|
|
386
433
|
*/
|
|
387
|
-
_extensions
|
|
434
|
+
_extensions?: Record<
|
|
388
435
|
string,
|
|
389
436
|
| { plugin: Plugin; priority?: number }
|
|
390
437
|
| ((editor: BlockNoteEditor<any, any, any>) => {
|
|
@@ -394,9 +441,11 @@ export type BlockNoteEditorOptions<
|
|
|
394
441
|
>;
|
|
395
442
|
|
|
396
443
|
/**
|
|
397
|
-
* Register
|
|
444
|
+
* Register extensions to the editor.
|
|
445
|
+
*
|
|
446
|
+
* @internal
|
|
398
447
|
*/
|
|
399
|
-
extensions
|
|
448
|
+
extensions?: Array<BlockNoteExtension | BlockNoteExtensionFactory>;
|
|
400
449
|
|
|
401
450
|
/**
|
|
402
451
|
* Boolean indicating whether the editor is in headless mode.
|
|
@@ -404,8 +453,9 @@ export type BlockNoteEditorOptions<
|
|
|
404
453
|
* but there's no underlying editor (UI) instantiated.
|
|
405
454
|
*
|
|
406
455
|
* You probably don't need to set this manually, but use the `server-util` package instead that uses this option internally
|
|
456
|
+
* @internal
|
|
407
457
|
*/
|
|
408
|
-
_headless
|
|
458
|
+
_headless?: boolean;
|
|
409
459
|
};
|
|
410
460
|
|
|
411
461
|
const blockNoteTipTapOptions = {
|
|
@@ -1600,7 +1650,7 @@ export class BlockNoteEditor<
|
|
|
1600
1650
|
/**
|
|
1601
1651
|
* Registers a callback which will be called before any change is applied to the editor, allowing you to cancel the change.
|
|
1602
1652
|
*/
|
|
1603
|
-
public
|
|
1653
|
+
public onBeforeChange(
|
|
1604
1654
|
/**
|
|
1605
1655
|
* If the callback returns `false`, the change will be canceled & not applied to the editor.
|
|
1606
1656
|
*/
|
|
@@ -101,7 +101,7 @@ export class ForkYDocPlugin extends BlockNoteExtension<{
|
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
const originalFragment = this.collaboration
|
|
104
|
+
const originalFragment = this.collaboration?.fragment;
|
|
105
105
|
|
|
106
106
|
if (!originalFragment) {
|
|
107
107
|
throw new Error("No fragment to fork from");
|
|
@@ -498,21 +498,19 @@ export class SideMenuView<
|
|
|
498
498
|
}
|
|
499
499
|
const { isDropPoint, isDropWithinEditorBounds, isDragOrigin } = context;
|
|
500
500
|
|
|
501
|
-
if (!isDropWithinEditorBounds) {
|
|
501
|
+
if (!isDropWithinEditorBounds && isDropPoint) {
|
|
502
502
|
// Any time that the drop event is outside of the editor bounds (but still close to an editor instance)
|
|
503
503
|
// We dispatch a synthetic event that is in the bounds of the editor instance, to have the correct drop point
|
|
504
504
|
this.dispatchSyntheticEvent(event);
|
|
505
505
|
}
|
|
506
506
|
|
|
507
|
-
if (isDropPoint && isDragOrigin) {
|
|
508
|
-
// The current instance is both the drop point and the drag origin
|
|
509
|
-
// no-op, normal drop handling will take over
|
|
510
|
-
return;
|
|
511
|
-
}
|
|
512
|
-
|
|
513
507
|
if (isDropPoint) {
|
|
514
|
-
// The current instance is the drop point
|
|
508
|
+
// The current instance is the drop point
|
|
515
509
|
|
|
510
|
+
if (this.pmView.dragging) {
|
|
511
|
+
// Do not collapse selection when text content is being dragged
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
516
514
|
// Because the editor selection is unrelated to the dragged content, we
|
|
517
515
|
// don't want PM to delete its content. Therefore, we collapse the
|
|
518
516
|
// selection.
|
|
@@ -50,7 +50,11 @@ export type BlocksChanged<BSchema extends BlockSchema = DefaultBlockSchema, ISch
|
|
|
50
50
|
} | {
|
|
51
51
|
type: "move";
|
|
52
52
|
/**
|
|
53
|
-
* The
|
|
53
|
+
* The affected block.
|
|
54
|
+
*/
|
|
55
|
+
block: Block<BSchema, ISchema, SSchema>;
|
|
56
|
+
/**
|
|
57
|
+
* The block before the move.
|
|
54
58
|
*/
|
|
55
59
|
prevBlock: Block<BSchema, ISchema, SSchema>;
|
|
56
60
|
/**
|