@blocknote/core 0.17.1 → 0.19.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.js +2774 -1804
- package/dist/blocknote.js.map +1 -1
- package/dist/blocknote.umd.cjs +9 -6
- package/dist/blocknote.umd.cjs.map +1 -1
- package/dist/src/api/blockManipulation/commands/insertBlocks/insertBlocks.js +27 -0
- package/dist/src/api/blockManipulation/commands/insertBlocks/insertBlocks.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/insertBlocks/insertBlocks.test.js +99 -0
- package/dist/src/api/blockManipulation/commands/insertBlocks/insertBlocks.test.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.js +97 -0
- package/dist/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.test.js +88 -0
- package/dist/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.test.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/moveBlock/moveBlock.js +116 -0
- package/dist/src/api/blockManipulation/commands/moveBlock/moveBlock.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/moveBlock/moveBlock.test.js +106 -0
- package/dist/src/api/blockManipulation/commands/moveBlock/moveBlock.test.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/nestBlock/nestBlock.js +57 -0
- package/dist/src/api/blockManipulation/commands/nestBlock/nestBlock.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.js +43 -0
- package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.js +27 -0
- package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.js +29 -0
- package/dist/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.test.js +157 -0
- package/dist/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.test.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/splitBlock/splitBlock.js +27 -0
- package/dist/src/api/blockManipulation/commands/splitBlock/splitBlock.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/splitBlock/splitBlock.test.js +64 -0
- package/dist/src/api/blockManipulation/commands/splitBlock/splitBlock.test.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/updateBlock/updateBlock.js +145 -0
- package/dist/src/api/blockManipulation/commands/updateBlock/updateBlock.js.map +1 -0
- package/dist/src/api/blockManipulation/commands/updateBlock/updateBlock.test.js +252 -0
- package/dist/src/api/blockManipulation/commands/updateBlock/updateBlock.test.js.map +1 -0
- package/dist/src/api/blockManipulation/insertContentAt.js +64 -0
- package/dist/src/api/blockManipulation/insertContentAt.js.map +1 -0
- package/dist/src/api/blockManipulation/selections/textCursorPosition/textCursorPosition.js +76 -0
- package/dist/src/api/blockManipulation/selections/textCursorPosition/textCursorPosition.js.map +1 -0
- package/dist/src/api/blockManipulation/selections/textCursorPosition/textCursorPosition.test.js +33 -0
- package/dist/src/api/blockManipulation/selections/textCursorPosition/textCursorPosition.test.js.map +1 -0
- package/dist/src/api/blockManipulation/setupTestEnv.js +172 -0
- package/dist/src/api/blockManipulation/setupTestEnv.js.map +1 -0
- package/dist/src/api/clipboard/clipboard.test.js +246 -0
- package/dist/src/api/clipboard/clipboard.test.js.map +1 -0
- package/dist/src/api/clipboard/fromClipboard/acceptedMIMETypes.js +8 -0
- package/dist/src/api/clipboard/fromClipboard/acceptedMIMETypes.js.map +1 -0
- package/dist/src/api/clipboard/fromClipboard/fileDropExtension.js +38 -0
- package/dist/src/api/clipboard/fromClipboard/fileDropExtension.js.map +1 -0
- package/dist/src/api/clipboard/fromClipboard/handleFileInsertion.js +109 -0
- package/dist/src/api/clipboard/fromClipboard/handleFileInsertion.js.map +1 -0
- package/dist/src/api/clipboard/fromClipboard/handleVSCodePaste.js +26 -0
- package/dist/src/api/clipboard/fromClipboard/handleVSCodePaste.js.map +1 -0
- package/dist/src/api/clipboard/fromClipboard/pasteExtension.js +57 -0
- package/dist/src/api/clipboard/fromClipboard/pasteExtension.js.map +1 -0
- package/dist/src/api/clipboard/toClipboard/copyExtension.js +132 -0
- package/dist/src/api/clipboard/toClipboard/copyExtension.js.map +1 -0
- package/dist/src/api/exporters/html/externalHTMLExporter.js +35 -0
- package/dist/src/api/exporters/html/externalHTMLExporter.js.map +1 -0
- package/dist/src/api/exporters/html/htmlConversion.test.js +72 -0
- package/dist/src/api/exporters/html/htmlConversion.test.js.map +1 -0
- package/dist/src/api/exporters/html/internalHTMLSerializer.js +21 -0
- package/dist/src/api/exporters/html/internalHTMLSerializer.js.map +1 -0
- package/dist/src/api/exporters/html/util/serializeBlocksExternalHTML.js +141 -0
- package/dist/src/api/exporters/html/util/serializeBlocksExternalHTML.js.map +1 -0
- package/dist/src/api/exporters/html/util/serializeBlocksInternalHTML.js +96 -0
- package/dist/src/api/exporters/html/util/serializeBlocksInternalHTML.js.map +1 -0
- package/dist/src/api/exporters/markdown/markdownExporter.js +31 -0
- package/dist/src/api/exporters/markdown/markdownExporter.js.map +1 -0
- package/dist/src/api/exporters/markdown/markdownExporter.test.js +57 -0
- package/dist/src/api/exporters/markdown/markdownExporter.test.js.map +1 -0
- package/dist/src/api/exporters/markdown/removeUnderlinesRehypePlugin.js +33 -0
- package/dist/src/api/exporters/markdown/removeUnderlinesRehypePlugin.js.map +1 -0
- package/dist/src/api/exporters/markdown/util/addSpacesToCheckboxesRehypePlugin.js +37 -0
- package/dist/src/api/exporters/markdown/util/addSpacesToCheckboxesRehypePlugin.js.map +1 -0
- package/dist/src/api/getBlockInfoFromPos.js +171 -0
- package/dist/src/api/getBlockInfoFromPos.js.map +1 -0
- package/dist/src/api/nodeConversions/blockToNode.js +197 -0
- package/dist/src/api/nodeConversions/blockToNode.js.map +1 -0
- package/dist/src/api/nodeConversions/fragmentToBlocks.js +50 -0
- package/dist/src/api/nodeConversions/fragmentToBlocks.js.map +1 -0
- package/dist/src/api/nodeConversions/nodeConversions.test.js +54 -0
- package/dist/src/api/nodeConversions/nodeConversions.test.js.map +1 -0
- package/dist/src/api/nodeConversions/nodeToBlock.js +316 -0
- package/dist/src/api/nodeConversions/nodeToBlock.js.map +1 -0
- package/dist/src/api/nodeUtil.js +28 -0
- package/dist/src/api/nodeUtil.js.map +1 -0
- package/dist/src/api/parsers/html/parseHTML.js +19 -0
- package/dist/src/api/parsers/html/parseHTML.js.map +1 -0
- package/dist/src/api/parsers/html/parseHTML.test.js +470 -0
- package/dist/src/api/parsers/html/parseHTML.test.js.map +1 -0
- package/dist/src/api/parsers/html/util/nestedLists.js +106 -0
- package/dist/src/api/parsers/html/util/nestedLists.js.map +1 -0
- package/dist/src/api/parsers/html/util/nestedLists.test.js +166 -0
- package/dist/src/api/parsers/html/util/nestedLists.test.js.map +1 -0
- package/dist/src/api/parsers/markdown/parseMarkdown.js +52 -0
- package/dist/src/api/parsers/markdown/parseMarkdown.js.map +1 -0
- package/dist/src/api/parsers/markdown/parseMarkdown.test.js +109 -0
- package/dist/src/api/parsers/markdown/parseMarkdown.test.js.map +1 -0
- package/dist/src/api/testUtil/cases/customBlocks.js +313 -0
- package/dist/src/api/testUtil/cases/customBlocks.js.map +1 -0
- package/dist/src/api/testUtil/cases/customInlineContent.js +91 -0
- package/dist/src/api/testUtil/cases/customInlineContent.js.map +1 -0
- package/dist/src/api/testUtil/cases/customStyles.js +83 -0
- package/dist/src/api/testUtil/cases/customStyles.js.map +1 -0
- package/dist/src/api/testUtil/cases/defaultSchema.js +673 -0
- package/dist/src/api/testUtil/cases/defaultSchema.js.map +1 -0
- package/dist/src/api/testUtil/index.js +2 -0
- package/dist/src/api/testUtil/index.js.map +1 -0
- package/dist/src/api/testUtil/partialBlockTestUtil.js +114 -0
- package/dist/src/api/testUtil/partialBlockTestUtil.js.map +1 -0
- package/dist/src/api/testUtil/paste.js +29 -0
- package/dist/src/api/testUtil/paste.js.map +1 -0
- package/dist/src/blocks/AudioBlockContent/AudioBlockContent.js +97 -0
- package/dist/src/blocks/AudioBlockContent/AudioBlockContent.js.map +1 -0
- package/dist/src/blocks/AudioBlockContent/audioBlockHelpers.js +5 -0
- package/dist/src/blocks/AudioBlockContent/audioBlockHelpers.js.map +1 -0
- package/dist/src/blocks/CodeBlockContent/CodeBlockContent.js +273 -0
- package/dist/src/blocks/CodeBlockContent/CodeBlockContent.js.map +1 -0
- package/dist/src/blocks/CodeBlockContent/defaultSupportedLanguages.js +90 -0
- package/dist/src/blocks/CodeBlockContent/defaultSupportedLanguages.js.map +1 -0
- package/dist/src/blocks/FileBlockContent/FileBlockContent.js +70 -0
- package/dist/src/blocks/FileBlockContent/FileBlockContent.js.map +1 -0
- package/dist/src/blocks/FileBlockContent/fileBlockHelpers.js +317 -0
- package/dist/src/blocks/FileBlockContent/fileBlockHelpers.js.map +1 -0
- package/dist/src/blocks/FileBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY.js +15 -0
- package/dist/src/blocks/FileBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY.js.map +1 -0
- package/dist/src/blocks/HeadingBlockContent/HeadingBlockContent.js +141 -0
- package/dist/src/blocks/HeadingBlockContent/HeadingBlockContent.js.map +1 -0
- package/dist/src/blocks/ImageBlockContent/ImageBlockContent.js +106 -0
- package/dist/src/blocks/ImageBlockContent/ImageBlockContent.js.map +1 -0
- package/dist/src/blocks/ImageBlockContent/imageBlockHelpers.js +6 -0
- package/dist/src/blocks/ImageBlockContent/imageBlockHelpers.js.map +1 -0
- package/dist/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.js +111 -0
- package/dist/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.js.map +1 -0
- package/dist/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.js +218 -0
- package/dist/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.js.map +1 -0
- package/dist/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.js +41 -0
- package/dist/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.js.map +1 -0
- package/dist/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListIndexingPlugin.js +58 -0
- package/dist/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListIndexingPlugin.js.map +1 -0
- package/dist/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.js +128 -0
- package/dist/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.js.map +1 -0
- package/dist/src/blocks/ParagraphBlockContent/ParagraphBlockContent.js +51 -0
- package/dist/src/blocks/ParagraphBlockContent/ParagraphBlockContent.js.map +1 -0
- package/dist/src/blocks/TableBlockContent/TableBlockContent.js +130 -0
- package/dist/src/blocks/TableBlockContent/TableBlockContent.js.map +1 -0
- package/dist/src/blocks/TableBlockContent/TableExtension.js +57 -0
- package/dist/src/blocks/TableBlockContent/TableExtension.js.map +1 -0
- package/dist/src/blocks/VideoBlockContent/VideoBlockContent.js +103 -0
- package/dist/src/blocks/VideoBlockContent/VideoBlockContent.js.map +1 -0
- package/dist/src/blocks/VideoBlockContent/videoBlockHelpers.js +6 -0
- package/dist/src/blocks/VideoBlockContent/videoBlockHelpers.js.map +1 -0
- package/dist/src/blocks/defaultBlockHelpers.js +50 -0
- package/dist/src/blocks/defaultBlockHelpers.js.map +1 -0
- package/dist/src/blocks/defaultBlockTypeGuards.js +40 -0
- package/dist/src/blocks/defaultBlockTypeGuards.js.map +1 -0
- package/dist/src/blocks/defaultBlocks.js +50 -0
- package/dist/src/blocks/defaultBlocks.js.map +1 -0
- package/dist/src/blocks/defaultProps.js +19 -0
- package/dist/src/blocks/defaultProps.js.map +1 -0
- package/dist/src/editor/BlockNoteEditor.js +750 -0
- package/dist/src/editor/BlockNoteEditor.js.map +1 -0
- package/dist/src/editor/BlockNoteEditor.test.js +65 -0
- package/dist/src/editor/BlockNoteEditor.test.js.map +1 -0
- package/dist/src/editor/BlockNoteExtensions.js +149 -0
- package/dist/src/editor/BlockNoteExtensions.js.map +1 -0
- package/dist/src/editor/BlockNoteSchema.js +38 -0
- package/dist/src/editor/BlockNoteSchema.js.map +1 -0
- package/dist/src/editor/BlockNoteTipTapEditor.js +169 -0
- package/dist/src/editor/BlockNoteTipTapEditor.js.map +1 -0
- package/dist/src/editor/cursorPositionTypes.js +2 -0
- package/dist/src/editor/cursorPositionTypes.js.map +1 -0
- package/dist/src/editor/defaultColors.js +77 -0
- package/dist/src/editor/defaultColors.js.map +1 -0
- package/dist/src/editor/selectionTypes.js +2 -0
- package/dist/src/editor/selectionTypes.js.map +1 -0
- package/dist/src/editor/transformPasted.js +79 -0
- package/dist/src/editor/transformPasted.js.map +1 -0
- package/dist/src/exporter/Exporter.js +36 -0
- package/dist/src/exporter/Exporter.js.map +1 -0
- package/dist/src/exporter/index.js +3 -0
- package/dist/src/exporter/index.js.map +1 -0
- package/dist/src/exporter/mapping.js +12 -0
- package/dist/src/exporter/mapping.js.map +1 -0
- package/dist/src/extensions/BackgroundColor/BackgroundColorExtension.js +30 -0
- package/dist/src/extensions/BackgroundColor/BackgroundColorExtension.js.map +1 -0
- package/dist/src/extensions/BackgroundColor/BackgroundColorMark.js +39 -0
- package/dist/src/extensions/BackgroundColor/BackgroundColorMark.js.map +1 -0
- package/dist/src/extensions/FilePanel/FilePanelPlugin.js +131 -0
- package/dist/src/extensions/FilePanel/FilePanelPlugin.js.map +1 -0
- package/dist/src/extensions/FormattingToolbar/FormattingToolbarPlugin.js +195 -0
- package/dist/src/extensions/FormattingToolbar/FormattingToolbarPlugin.js.map +1 -0
- package/dist/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.js +309 -0
- package/dist/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.js.map +1 -0
- package/dist/src/extensions/LinkToolbar/LinkToolbarPlugin.js +247 -0
- package/dist/src/extensions/LinkToolbar/LinkToolbarPlugin.js.map +1 -0
- package/dist/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.js +51 -0
- package/dist/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.js.map +1 -0
- package/dist/src/extensions/Placeholder/PlaceholderPlugin.js +81 -0
- package/dist/src/extensions/Placeholder/PlaceholderPlugin.js.map +1 -0
- package/dist/src/extensions/PreviousBlockType/PreviousBlockTypePlugin.js +183 -0
- package/dist/src/extensions/PreviousBlockType/PreviousBlockTypePlugin.js.map +1 -0
- package/dist/src/extensions/SideMenu/MultipleNodeSelection.js +68 -0
- package/dist/src/extensions/SideMenu/MultipleNodeSelection.js.map +1 -0
- package/dist/src/extensions/SideMenu/SideMenuPlugin.js +339 -0
- package/dist/src/extensions/SideMenu/SideMenuPlugin.js.map +1 -0
- package/dist/src/extensions/SideMenu/dragging.js +128 -0
- package/dist/src/extensions/SideMenu/dragging.js.map +1 -0
- package/dist/src/extensions/SuggestionMenu/DefaultGridSuggestionItem.js +2 -0
- package/dist/src/extensions/SuggestionMenu/DefaultGridSuggestionItem.js.map +1 -0
- package/dist/src/extensions/SuggestionMenu/DefaultSuggestionItem.js +2 -0
- package/dist/src/extensions/SuggestionMenu/DefaultSuggestionItem.js.map +1 -0
- package/dist/src/extensions/SuggestionMenu/SuggestionPlugin.js +245 -0
- package/dist/src/extensions/SuggestionMenu/SuggestionPlugin.js.map +1 -0
- package/dist/src/extensions/SuggestionMenu/getDefaultEmojiPickerItems.js +26 -0
- package/dist/src/extensions/SuggestionMenu/getDefaultEmojiPickerItems.js.map +1 -0
- package/dist/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.js +244 -0
- package/dist/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.js.map +1 -0
- package/dist/src/extensions/TableHandles/TableHandlesPlugin.js +553 -0
- package/dist/src/extensions/TableHandles/TableHandlesPlugin.js.map +1 -0
- package/dist/src/extensions/TextAlignment/TextAlignmentExtension.js +36 -0
- package/dist/src/extensions/TextAlignment/TextAlignmentExtension.js.map +1 -0
- package/dist/src/extensions/TextColor/TextColorExtension.js +29 -0
- package/dist/src/extensions/TextColor/TextColorExtension.js.map +1 -0
- package/dist/src/extensions/TextColor/TextColorMark.js +37 -0
- package/dist/src/extensions/TextColor/TextColorMark.js.map +1 -0
- package/dist/src/extensions/TrailingNode/TrailingNodeExtension.js +58 -0
- package/dist/src/extensions/TrailingNode/TrailingNodeExtension.js.map +1 -0
- package/dist/src/extensions/UniqueID/UniqueID.js +283 -0
- package/dist/src/extensions/UniqueID/UniqueID.js.map +1 -0
- package/dist/src/extensions/getDraggableBlockFromElement.js +13 -0
- package/dist/src/extensions/getDraggableBlockFromElement.js.map +1 -0
- package/dist/src/extensions-shared/UiElementPosition.js +2 -0
- package/dist/src/extensions-shared/UiElementPosition.js.map +1 -0
- package/dist/src/i18n/dictionary.js +4 -0
- package/dist/src/i18n/dictionary.js.map +1 -0
- package/dist/src/i18n/locales/ar.js +298 -0
- package/dist/src/i18n/locales/ar.js.map +1 -0
- package/dist/src/i18n/locales/de.js +313 -0
- package/dist/src/i18n/locales/de.js.map +1 -0
- package/dist/src/i18n/locales/en.js +314 -0
- package/dist/src/i18n/locales/en.js.map +1 -0
- package/dist/src/i18n/locales/es.js +312 -0
- package/dist/src/i18n/locales/es.js.map +1 -0
- package/dist/src/i18n/locales/fr.js +313 -0
- package/dist/src/i18n/locales/fr.js.map +1 -0
- package/dist/src/i18n/locales/hr.js +308 -0
- package/dist/src/i18n/locales/hr.js.map +1 -0
- package/dist/src/i18n/locales/index.js +16 -0
- package/dist/src/i18n/locales/index.js.map +1 -0
- package/dist/src/i18n/locales/is.js +305 -0
- package/dist/src/i18n/locales/is.js.map +1 -0
- package/dist/src/i18n/locales/ja.js +333 -0
- package/dist/src/i18n/locales/ja.js.map +1 -0
- package/dist/src/i18n/locales/ko.js +326 -0
- package/dist/src/i18n/locales/ko.js.map +1 -0
- package/dist/src/i18n/locales/nl.js +313 -0
- package/dist/src/i18n/locales/nl.js.map +1 -0
- package/dist/src/i18n/locales/pl.js +297 -0
- package/dist/src/i18n/locales/pl.js.map +1 -0
- package/dist/src/i18n/locales/pt.js +305 -0
- package/dist/src/i18n/locales/pt.js.map +1 -0
- package/dist/src/i18n/locales/ru.js +340 -0
- package/dist/src/i18n/locales/ru.js.map +1 -0
- package/dist/src/i18n/locales/vi.js +312 -0
- package/dist/src/i18n/locales/vi.js.map +1 -0
- package/dist/src/i18n/locales/zh.js +346 -0
- package/dist/src/i18n/locales/zh.js.map +1 -0
- package/dist/src/index.js +55 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/pm-nodes/BlockContainer.js +72 -0
- package/dist/src/pm-nodes/BlockContainer.js.map +1 -0
- package/dist/src/pm-nodes/BlockGroup.js +43 -0
- package/dist/src/pm-nodes/BlockGroup.js.map +1 -0
- package/dist/src/pm-nodes/Doc.js +7 -0
- package/dist/src/pm-nodes/Doc.js.map +1 -0
- package/dist/src/pm-nodes/index.js +4 -0
- package/dist/src/pm-nodes/index.js.map +1 -0
- package/dist/src/schema/blocks/createSpec.js +126 -0
- package/dist/src/schema/blocks/createSpec.js.map +1 -0
- package/dist/src/schema/blocks/internal.js +147 -0
- package/dist/src/schema/blocks/internal.js.map +1 -0
- package/dist/src/schema/blocks/types.js +2 -0
- package/dist/src/schema/blocks/types.js.map +1 -0
- package/dist/src/schema/index.js +11 -0
- package/dist/src/schema/index.js.map +1 -0
- package/dist/src/schema/inlineContent/createSpec.js +64 -0
- package/dist/src/schema/inlineContent/createSpec.js.map +1 -0
- package/dist/src/schema/inlineContent/internal.js +52 -0
- package/dist/src/schema/inlineContent/internal.js.map +1 -0
- package/dist/src/schema/inlineContent/types.js +10 -0
- package/dist/src/schema/inlineContent/types.js.map +1 -0
- package/dist/src/schema/propTypes.js +2 -0
- package/dist/src/schema/propTypes.js.map +1 -0
- package/dist/src/schema/styles/createSpec.js +48 -0
- package/dist/src/schema/styles/createSpec.js.map +1 -0
- package/dist/src/schema/styles/internal.js +53 -0
- package/dist/src/schema/styles/internal.js.map +1 -0
- package/dist/src/schema/styles/types.js +2 -0
- package/dist/src/schema/styles/types.js.map +1 -0
- package/dist/src/util/EventEmitter.js +33 -0
- package/dist/src/util/EventEmitter.js.map +1 -0
- package/dist/src/util/browser.js +17 -0
- package/dist/src/util/browser.js.map +1 -0
- package/dist/src/util/combineByGroup.js +20 -0
- package/dist/src/util/combineByGroup.js.map +1 -0
- package/dist/src/util/esmDependencies.js +35 -0
- package/dist/src/util/esmDependencies.js.map +1 -0
- package/dist/src/util/string.js +14 -0
- package/dist/src/util/string.js.map +1 -0
- package/dist/src/util/typescript.js +12 -0
- package/dist/src/util/typescript.js.map +1 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/webpack-stats.json +1 -1
- package/package.json +9 -7
- package/src/api/blockManipulation/commands/insertBlocks/__snapshots__/insertBlocks.test.ts.snap +30 -0
- package/src/api/blockManipulation/commands/insertBlocks/insertBlocks.ts +2 -0
- package/src/api/blockManipulation/commands/mergeBlocks/__snapshots__/mergeBlocks.test.ts.snap +25 -0
- package/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.test.ts +2 -2
- package/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.ts +104 -39
- package/src/api/blockManipulation/commands/moveBlock/__snapshots__/moveBlock.test.ts.snap +40 -0
- package/src/api/blockManipulation/commands/moveBlock/moveBlock.ts +3 -5
- package/src/api/blockManipulation/commands/nestBlock/nestBlock.ts +100 -0
- package/src/api/blockManipulation/commands/removeBlocks/__snapshots__/removeBlocks.test.ts.snap +10 -0
- package/src/api/blockManipulation/commands/removeBlocks/removeBlocks.ts +1 -1
- package/src/api/blockManipulation/commands/replaceBlocks/__snapshots__/replaceBlocks.test.ts.snap +40 -0
- package/src/api/blockManipulation/commands/splitBlock/__snapshots__/splitBlock.test.ts.snap +30 -0
- package/src/api/blockManipulation/commands/splitBlock/splitBlock.test.ts +8 -4
- package/src/api/blockManipulation/commands/splitBlock/splitBlock.ts +11 -7
- package/src/api/blockManipulation/commands/updateBlock/__snapshots__/updateBlock.test.ts.snap +87 -0
- package/src/api/blockManipulation/commands/updateBlock/updateBlock.test.ts +5 -5
- package/src/api/blockManipulation/commands/updateBlock/updateBlock.ts +192 -107
- package/src/api/blockManipulation/selections/textCursorPosition/textCursorPosition.ts +48 -33
- package/src/api/clipboard/clipboard.test.ts +1 -1
- package/src/api/clipboard/fromClipboard/acceptedMIMETypes.ts +1 -0
- package/src/api/clipboard/fromClipboard/handleFileInsertion.ts +1 -1
- package/src/api/clipboard/fromClipboard/handleVSCodePaste.ts +49 -0
- package/src/api/clipboard/fromClipboard/pasteExtension.ts +6 -0
- package/src/api/clipboard/toClipboard/copyExtension.ts +1 -1
- package/src/api/exporters/html/__snapshots__/codeBlock/defaultLanguage/external.html +1 -0
- package/src/api/exporters/html/__snapshots__/codeBlock/defaultLanguage/internal.html +1 -0
- package/src/api/exporters/html/__snapshots__/codeBlock/empty/external.html +1 -0
- package/src/api/exporters/html/__snapshots__/codeBlock/empty/internal.html +1 -0
- package/src/api/exporters/html/__snapshots__/codeBlock/python/external.html +1 -0
- package/src/api/exporters/html/__snapshots__/codeBlock/python/internal.html +1 -0
- package/src/api/exporters/html/__snapshots__/image/basic/internal.html +1 -1
- package/src/api/exporters/html/__snapshots__/image/nested/internal.html +1 -1
- package/src/api/exporters/html/__snapshots__/image/noName/internal.html +1 -1
- package/src/api/exporters/html/__snapshots__/image/noPreview/internal.html +1 -1
- package/src/api/exporters/html/__snapshots__/lists/basic/internal.html +1 -1
- package/src/api/exporters/html/__snapshots__/lists/nested/internal.html +1 -1
- package/src/api/exporters/html/__snapshots__/simpleImage/basic/external.html +1 -1
- package/src/api/exporters/html/__snapshots__/simpleImage/basic/internal.html +1 -1
- package/src/api/exporters/html/__snapshots__/simpleImage/nested/external.html +1 -1
- package/src/api/exporters/html/__snapshots__/simpleImage/nested/internal.html +1 -1
- package/src/api/exporters/html/__snapshots__/simpleImage/noCaption/external.html +1 -1
- package/src/api/exporters/html/__snapshots__/simpleImage/noName/external.html +1 -1
- package/src/api/exporters/html/__snapshots__/simpleImage/noName/internal.html +1 -1
- package/src/api/exporters/html/__snapshots__/simpleImage/noPreview/external.html +1 -1
- package/src/api/exporters/html/__snapshots__/simpleImage/noPreview/internal.html +1 -1
- package/src/api/exporters/html/__snapshots__/table/allColWidths/external.html +1 -0
- package/src/api/exporters/html/__snapshots__/table/allColWidths/internal.html +1 -0
- package/src/api/exporters/html/__snapshots__/table/basic/external.html +1 -0
- package/src/api/exporters/html/__snapshots__/table/basic/internal.html +1 -0
- package/src/api/exporters/html/__snapshots__/table/mixedColWidths/external.html +1 -0
- package/src/api/exporters/html/__snapshots__/table/mixedColWidths/internal.html +1 -0
- package/src/api/exporters/html/htmlConversion.test.ts +1 -4
- package/src/api/exporters/html/internalHTMLSerializer.ts +2 -7
- package/src/api/exporters/html/util/serializeBlocksExternalHTML.ts +7 -1
- package/src/api/exporters/html/util/serializeBlocksInternalHTML.ts +75 -33
- package/src/api/exporters/markdown/__snapshots__/codeBlock/defaultLanguage/markdown.md +3 -0
- package/src/api/exporters/markdown/__snapshots__/codeBlock/empty/markdown.md +2 -0
- package/src/api/exporters/markdown/__snapshots__/codeBlock/python/markdown.md +3 -0
- package/src/api/exporters/markdown/__snapshots__/table/allColWidths/markdown.md +5 -0
- package/src/api/exporters/markdown/__snapshots__/table/basic/markdown.md +5 -0
- package/src/api/exporters/markdown/__snapshots__/table/mixedColWidths/markdown.md +5 -0
- package/src/api/exporters/markdown/markdownExporter.test.ts +1 -4
- package/src/api/getBlockInfoFromPos.ts +113 -58
- package/src/api/nodeConversions/__snapshots__/nodeConversions.test.ts.snap +711 -0
- package/src/api/nodeConversions/blockToNode.ts +62 -26
- package/src/api/nodeConversions/fragmentToBlocks.ts +18 -0
- package/src/api/nodeConversions/nodeToBlock.ts +35 -22
- package/src/api/nodeUtil.ts +1 -1
- package/src/api/parsers/html/__snapshots__/parse-notion-html.json +5 -0
- package/src/api/parsers/markdown/parseMarkdown.ts +1 -1
- package/src/api/testUtil/cases/defaultSchema.ts +95 -0
- package/src/api/testUtil/partialBlockTestUtil.ts +41 -4
- package/src/blocks/AudioBlockContent/AudioBlockContent.ts +4 -2
- package/src/blocks/CodeBlockContent/CodeBlockContent.ts +369 -0
- package/src/blocks/CodeBlockContent/defaultSupportedLanguages.ts +96 -0
- package/src/blocks/FileBlockContent/fileBlockHelpers.ts +10 -2
- package/src/blocks/HeadingBlockContent/HeadingBlockContent.ts +19 -31
- package/src/blocks/ImageBlockContent/ImageBlockContent.ts +4 -2
- package/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.ts +5 -9
- package/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.ts +6 -10
- package/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.ts +1 -1
- package/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListIndexingPlugin.ts +11 -4
- package/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.ts +5 -9
- package/src/blocks/ParagraphBlockContent/ParagraphBlockContent.ts +4 -8
- package/src/blocks/TableBlockContent/TableBlockContent.ts +83 -8
- package/src/blocks/TableBlockContent/TableExtension.ts +10 -1
- package/src/blocks/VideoBlockContent/VideoBlockContent.ts +4 -2
- package/src/blocks/defaultBlockHelpers.ts +7 -2
- package/src/blocks/defaultBlocks.ts +4 -0
- package/src/editor/Block.css +71 -3
- package/src/editor/BlockNoteEditor.test.ts +2 -2
- package/src/editor/BlockNoteEditor.ts +18 -21
- package/src/editor/BlockNoteExtensions.ts +2 -3
- package/src/editor/BlockNoteTipTapEditor.ts +8 -1
- package/src/editor/defaultColors.ts +77 -0
- package/src/editor/editor.css +43 -5
- package/src/editor/transformPasted.ts +6 -3
- package/src/exporter/Exporter.ts +101 -0
- package/src/exporter/index.ts +2 -0
- package/src/exporter/mapping.ts +75 -0
- package/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts +8 -0
- package/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts +201 -48
- package/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.ts +1 -1
- package/src/extensions/Placeholder/PlaceholderPlugin.ts +5 -0
- package/src/extensions/SideMenu/SideMenuPlugin.ts +141 -52
- package/src/extensions/SideMenu/dragging.ts +3 -54
- package/src/extensions/SuggestionMenu/SuggestionPlugin.ts +5 -0
- package/src/extensions/SuggestionMenu/getDefaultEmojiPickerItems.ts +2 -1
- package/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts +22 -6
- package/src/extensions/TableHandles/TableHandlesPlugin.ts +225 -120
- package/src/extensions/TrailingNode/TrailingNodeExtension.ts +1 -1
- package/src/extensions/getDraggableBlockFromElement.ts +19 -0
- package/src/i18n/locales/ar.ts +6 -0
- package/src/i18n/locales/de.ts +299 -294
- package/src/i18n/locales/en.ts +6 -0
- package/src/i18n/locales/es.ts +310 -274
- package/src/i18n/locales/fr.ts +6 -0
- package/src/i18n/locales/is.ts +6 -0
- package/src/i18n/locales/ja.ts +6 -0
- package/src/i18n/locales/ko.ts +6 -0
- package/src/i18n/locales/nl.ts +6 -0
- package/src/i18n/locales/pl.ts +6 -0
- package/src/i18n/locales/pt.ts +10 -4
- package/src/i18n/locales/ru.ts +6 -0
- package/src/i18n/locales/vi.ts +6 -0
- package/src/i18n/locales/zh.ts +6 -0
- package/src/index.ts +9 -0
- package/src/pm-nodes/BlockContainer.ts +1 -1
- package/src/pm-nodes/BlockGroup.ts +2 -2
- package/src/pm-nodes/README.md +127 -28
- package/src/schema/blocks/createSpec.ts +4 -1
- package/src/schema/blocks/internal.ts +12 -2
- package/src/schema/blocks/types.ts +3 -1
- package/src/util/combineByGroup.ts +25 -0
- package/types/src/api/blockManipulation/commands/mergeBlocks/mergeBlocks.d.ts +22 -2
- package/types/src/api/blockManipulation/commands/nestBlock/nestBlock.d.ts +5 -0
- package/types/src/api/blockManipulation/setupTestEnv.d.ts +22 -8
- package/types/src/api/clipboard/fromClipboard/acceptedMIMETypes.d.ts +1 -1
- package/types/src/api/clipboard/fromClipboard/handleVSCodePaste.d.ts +3 -0
- package/types/src/api/exporters/html/util/serializeBlocksInternalHTML.d.ts +2 -3
- package/types/src/api/getBlockInfoFromPos.d.ts +55 -5
- package/types/src/api/nodeConversions/blockToNode.d.ts +1 -1
- package/types/src/api/nodeConversions/nodeToBlock.d.ts +3 -1
- package/types/src/api/testUtil/cases/customBlocks.d.ts +22 -8
- package/types/src/api/testUtil/cases/customInlineContent.d.ts +22 -8
- package/types/src/api/testUtil/cases/customStyles.d.ts +22 -8
- package/types/src/api/testUtil/partialBlockTestUtil.d.ts +2 -1
- package/types/src/blocks/AudioBlockContent/AudioBlockContent.d.ts +1 -0
- package/types/src/blocks/CodeBlockContent/CodeBlockContent.d.ts +57 -0
- package/types/src/blocks/CodeBlockContent/defaultSupportedLanguages.d.ts +6 -0
- package/types/src/blocks/FileBlockContent/fileBlockHelpers.d.ts +1 -0
- package/types/src/blocks/ImageBlockContent/ImageBlockContent.d.ts +1 -0
- package/types/src/blocks/TableBlockContent/TableBlockContent.d.ts +0 -12
- package/types/src/blocks/TableBlockContent/TableExtension.d.ts +3 -0
- package/types/src/blocks/VideoBlockContent/VideoBlockContent.d.ts +1 -0
- package/types/src/blocks/defaultBlocks.d.ts +45 -16
- package/types/src/editor/BlockNoteEditor.d.ts +4 -3
- package/types/src/editor/BlockNoteTipTapEditor.d.ts +1 -0
- package/types/src/editor/defaultColors.d.ts +76 -0
- package/types/src/exporter/Exporter.d.ts +43 -0
- package/types/src/exporter/index.d.ts +2 -0
- package/types/src/exporter/mapping.d.ts +30 -0
- package/types/src/extensions/SideMenu/SideMenuPlugin.d.ts +2 -1
- package/types/src/extensions/SideMenu/dragging.d.ts +1 -6
- package/types/src/extensions/TableHandles/TableHandlesPlugin.d.ts +9 -5
- package/types/src/extensions/getDraggableBlockFromElement.d.ts +5 -0
- package/types/src/i18n/locales/de.d.ts +6 -0
- package/types/src/i18n/locales/en.d.ts +6 -0
- package/types/src/i18n/locales/es.d.ts +6 -0
- package/types/src/index.d.ts +6 -0
- package/types/src/schema/blocks/createSpec.d.ts +1 -1
- package/types/src/schema/blocks/internal.d.ts +2 -2
- package/types/src/schema/blocks/types.d.ts +3 -1
- package/types/src/util/combineByGroup.d.ts +9 -0
package/src/i18n/locales/nl.ts
CHANGED
|
@@ -44,6 +44,12 @@ export const nl: Dictionary = {
|
|
|
44
44
|
aliases: ["p", "paragraaf"],
|
|
45
45
|
group: "Basisblokken",
|
|
46
46
|
},
|
|
47
|
+
code_block: {
|
|
48
|
+
title: "Codeblok",
|
|
49
|
+
subtext: "Codeblok met syntax highlighting",
|
|
50
|
+
aliases: ["code", "pre"],
|
|
51
|
+
group: "Basisblokken",
|
|
52
|
+
},
|
|
47
53
|
table: {
|
|
48
54
|
title: "Tabel",
|
|
49
55
|
subtext: "Gebruikt voor tabellen",
|
package/src/i18n/locales/pl.ts
CHANGED
|
@@ -44,6 +44,12 @@ export const pl: Dictionary = {
|
|
|
44
44
|
aliases: ["p", "akapit"],
|
|
45
45
|
group: "Podstawowe bloki",
|
|
46
46
|
},
|
|
47
|
+
code_block: {
|
|
48
|
+
title: "Blok kodu",
|
|
49
|
+
subtext: "Blok kodu z podświetleniem składni",
|
|
50
|
+
aliases: ["kod", "pre"],
|
|
51
|
+
group: "Podstawowe bloki",
|
|
52
|
+
},
|
|
47
53
|
table: {
|
|
48
54
|
title: "Tabela",
|
|
49
55
|
subtext: "Używana do tworzenia tabel",
|
package/src/i18n/locales/pt.ts
CHANGED
|
@@ -24,13 +24,13 @@ export const pt: Dictionary = {
|
|
|
24
24
|
title: "Lista Numerada",
|
|
25
25
|
subtext: "Usado para exibir uma lista numerada",
|
|
26
26
|
aliases: ["ol", "li", "lista", "listanumerada", "lista numerada"],
|
|
27
|
-
group: "Blocos
|
|
27
|
+
group: "Blocos básicos",
|
|
28
28
|
},
|
|
29
29
|
bullet_list: {
|
|
30
30
|
title: "Lista com Marcadores",
|
|
31
31
|
subtext: "Usado para exibir uma lista não ordenada",
|
|
32
32
|
aliases: ["ul", "li", "lista", "listamarcadores", "lista com marcadores"],
|
|
33
|
-
group: "Blocos
|
|
33
|
+
group: "Blocos básicos",
|
|
34
34
|
},
|
|
35
35
|
check_list: {
|
|
36
36
|
title: "Lista de verificação",
|
|
@@ -43,13 +43,19 @@ export const pt: Dictionary = {
|
|
|
43
43
|
"lista marcada",
|
|
44
44
|
"caixa de seleção",
|
|
45
45
|
],
|
|
46
|
-
group: "Blocos
|
|
46
|
+
group: "Blocos básicos",
|
|
47
47
|
},
|
|
48
48
|
paragraph: {
|
|
49
49
|
title: "Parágrafo",
|
|
50
50
|
subtext: "Usado para o corpo do seu documento",
|
|
51
51
|
aliases: ["p", "paragrafo"],
|
|
52
|
-
group: "Blocos
|
|
52
|
+
group: "Blocos básicos",
|
|
53
|
+
},
|
|
54
|
+
code_block: {
|
|
55
|
+
title: "Bloco de Código",
|
|
56
|
+
subtext: "Usado para exibir código com destaque de sintaxe",
|
|
57
|
+
aliases: ["codigo", "pre"],
|
|
58
|
+
group: "Blocos básicos",
|
|
53
59
|
},
|
|
54
60
|
table: {
|
|
55
61
|
title: "Tabela",
|
package/src/i18n/locales/ru.ts
CHANGED
|
@@ -69,6 +69,12 @@ export const ru: Dictionary = {
|
|
|
69
69
|
aliases: ["p", "paragraph", "параграф"],
|
|
70
70
|
group: "Базовые блоки",
|
|
71
71
|
},
|
|
72
|
+
code_block: {
|
|
73
|
+
title: "Блок кода",
|
|
74
|
+
subtext: "Блок кода с подсветкой синтаксиса",
|
|
75
|
+
aliases: ["code", "pre", "блок кода"],
|
|
76
|
+
group: "Базовые блоки",
|
|
77
|
+
},
|
|
72
78
|
table: {
|
|
73
79
|
title: "Таблица",
|
|
74
80
|
subtext: "Используется для таблиц",
|
package/src/i18n/locales/vi.ts
CHANGED
|
@@ -51,6 +51,12 @@ export const vi: Dictionary = {
|
|
|
51
51
|
aliases: ["p", "doanvan"],
|
|
52
52
|
group: "Khối cơ bản",
|
|
53
53
|
},
|
|
54
|
+
code_block: {
|
|
55
|
+
title: "Mã",
|
|
56
|
+
subtext: "Sử dụng để hiển thị mã với cú pháp",
|
|
57
|
+
aliases: ["code", "pre"],
|
|
58
|
+
group: "Khối cơ bản",
|
|
59
|
+
},
|
|
54
60
|
table: {
|
|
55
61
|
title: "Bảng",
|
|
56
62
|
subtext: "Sử dụng để tạo bảng",
|
package/src/i18n/locales/zh.ts
CHANGED
|
@@ -69,6 +69,12 @@ export const zh: Dictionary = {
|
|
|
69
69
|
aliases: ["p", "paragraph", "text", "正文"],
|
|
70
70
|
group: "基础",
|
|
71
71
|
},
|
|
72
|
+
code_block: {
|
|
73
|
+
title: "代码块",
|
|
74
|
+
subtext: "用于显示带有语法高亮的代码块",
|
|
75
|
+
aliases: ["code", "pre", "代码", "预格式"],
|
|
76
|
+
group: "基础",
|
|
77
|
+
},
|
|
72
78
|
table: {
|
|
73
79
|
title: "表格",
|
|
74
80
|
subtext: "使用表格",
|
package/src/index.ts
CHANGED
|
@@ -2,13 +2,19 @@ import * as locales from "./i18n/locales/index.js";
|
|
|
2
2
|
export * from "./api/exporters/html/externalHTMLExporter.js";
|
|
3
3
|
export * from "./api/exporters/html/internalHTMLSerializer.js";
|
|
4
4
|
export * from "./api/getBlockInfoFromPos.js";
|
|
5
|
+
export * from "./api/nodeUtil.js";
|
|
5
6
|
export * from "./api/testUtil/index.js";
|
|
6
7
|
export * from "./blocks/AudioBlockContent/AudioBlockContent.js";
|
|
8
|
+
export * from "./blocks/CodeBlockContent/CodeBlockContent.js";
|
|
7
9
|
export * from "./blocks/FileBlockContent/FileBlockContent.js";
|
|
8
10
|
export * from "./blocks/FileBlockContent/fileBlockHelpers.js";
|
|
9
11
|
export * from "./blocks/FileBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY.js";
|
|
10
12
|
export * from "./blocks/ImageBlockContent/ImageBlockContent.js";
|
|
11
13
|
export { parseImageElement } from "./blocks/ImageBlockContent/imageBlockHelpers.js";
|
|
14
|
+
export {
|
|
15
|
+
EMPTY_CELL_HEIGHT,
|
|
16
|
+
EMPTY_CELL_WIDTH,
|
|
17
|
+
} from "./blocks/TableBlockContent/TableExtension.js";
|
|
12
18
|
export * from "./blocks/VideoBlockContent/VideoBlockContent.js";
|
|
13
19
|
export * from "./blocks/defaultBlockHelpers.js";
|
|
14
20
|
export * from "./blocks/defaultBlockTypeGuards.js";
|
|
@@ -17,7 +23,9 @@ export * from "./blocks/defaultProps.js";
|
|
|
17
23
|
export * from "./editor/BlockNoteEditor.js";
|
|
18
24
|
export * from "./editor/BlockNoteExtensions.js";
|
|
19
25
|
export * from "./editor/BlockNoteSchema.js";
|
|
26
|
+
export * from "./editor/defaultColors.js";
|
|
20
27
|
export * from "./editor/selectionTypes.js";
|
|
28
|
+
export * from "./exporter/index.js";
|
|
21
29
|
export * from "./extensions-shared/UiElementPosition.js";
|
|
22
30
|
export * from "./extensions/FilePanel/FilePanelPlugin.js";
|
|
23
31
|
export * from "./extensions/FormattingToolbar/FormattingToolbarPlugin.js";
|
|
@@ -32,6 +40,7 @@ export * from "./extensions/TableHandles/TableHandlesPlugin.js";
|
|
|
32
40
|
export * from "./i18n/dictionary.js";
|
|
33
41
|
export * from "./schema/index.js";
|
|
34
42
|
export * from "./util/browser.js";
|
|
43
|
+
export * from "./util/combineByGroup.js";
|
|
35
44
|
export * from "./util/esmDependencies.js";
|
|
36
45
|
export * from "./util/string.js";
|
|
37
46
|
export * from "./util/typescript.js";
|
|
@@ -21,7 +21,7 @@ export const BlockContainer = Node.create<{
|
|
|
21
21
|
editor: BlockNoteEditor<any, any, any>;
|
|
22
22
|
}>({
|
|
23
23
|
name: "blockContainer",
|
|
24
|
-
group: "
|
|
24
|
+
group: "blockGroupChild bnBlock",
|
|
25
25
|
// A block always contains content, and optionally a blockGroup which contains nested blocks
|
|
26
26
|
content: "blockContent blockGroup?",
|
|
27
27
|
// Ensures content-specific keyboard handlers trigger first.
|
package/src/pm-nodes/README.md
CHANGED
|
@@ -2,41 +2,140 @@
|
|
|
2
2
|
|
|
3
3
|
Defines the prosemirror nodes and base node structure. See below:
|
|
4
4
|
|
|
5
|
+
# Block structure
|
|
6
|
+
|
|
7
|
+
In the BlockNote API, recall that blocks look like this:
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
{
|
|
11
|
+
id: string;
|
|
12
|
+
type: string;
|
|
13
|
+
children: Block[];
|
|
14
|
+
content: InlineContent[] | undefined;
|
|
15
|
+
props: Record<string, any>;
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
`children` describes child blocks that have their own `id` and also map to a `Block` type. Most of the cases these are nested blocks, but they can also be blocks within a `column` or `columnList`.
|
|
20
|
+
|
|
21
|
+
`content` is the block's Inline Content. Inline content doesn't have any `id`, it's "loose" content within the node.
|
|
22
|
+
|
|
23
|
+
This is a bit different from the Prosemirror structure we use internally. This document describes the Prosemirror schema architecture.
|
|
5
24
|
|
|
6
25
|
# Node structure
|
|
7
26
|
|
|
8
|
-
|
|
27
|
+
## BlockGroup
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
name: "blockGroup",
|
|
31
|
+
group: "childContainer",
|
|
32
|
+
content: "blockGroupChild+"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
A `blockGroup` is a container node that can contain multiple Blocks. It is used as:
|
|
36
|
+
|
|
37
|
+
- The root node of the Prosemirror document
|
|
38
|
+
- When a block has nested children, they are wrapped in a `blockGroup`
|
|
39
|
+
|
|
40
|
+
## BlockContainer
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
name: "blockContainer",
|
|
44
|
+
group: "blockGroupChild bnBlock",
|
|
45
|
+
// A block always contains content, and optionally a blockGroup which contains nested blocks
|
|
46
|
+
content: "blockContent blockGroup?",
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
A `blockContainer` is a container node that always contains a `blockContent` node, and optionally a `blockGroup` node (for nested children). It is used as the wrapper for most blocks. This structure makes it possible to nest blocks within blocks.
|
|
50
|
+
|
|
51
|
+
### BlockContent (group)
|
|
52
|
+
|
|
53
|
+
Example:
|
|
9
54
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
55
|
+
```typescript
|
|
56
|
+
name: "paragraph", // name corresponds to the block type in the BlockNote API
|
|
57
|
+
content: "inline*", // can also be no content (for image blocks)
|
|
58
|
+
group: "blockContent",
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Blocks that are part of the `blockContent` group define the appearance / behaviour of the main element of the block (i.e.: headings, paragraphs, list items, etc.).
|
|
62
|
+
These are only used for "regular" blocks that are represented as `blockContainer` nodes.
|
|
63
|
+
|
|
64
|
+
## Multi-column
|
|
65
|
+
|
|
66
|
+
The `multi-column` package makes it possible to order blocks side by side in
|
|
67
|
+
columns. It adds the `columnList` and `column` nodes to the schema.
|
|
68
|
+
|
|
69
|
+
### ColumnList
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
name: "columnList",
|
|
73
|
+
group: "childContainer bnBlock blockGroupChild",
|
|
74
|
+
// A block always contains content, and optionally a blockGroup which contains nested blocks
|
|
75
|
+
content: "column column+", // min two columns
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The column list contains 2 or more columns.
|
|
13
79
|
|
|
14
|
-
|
|
80
|
+
### Column
|
|
15
81
|
|
|
16
|
-
|
|
17
|
-
|
|
82
|
+
```typescript
|
|
83
|
+
name: "column",
|
|
84
|
+
group: "bnBlock childContainer",
|
|
85
|
+
// A block always contains content, and optionally a blockGroup which contains nested blocks
|
|
86
|
+
content: "blockContainer+",
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
The column contains 1 or more block containers.
|
|
90
|
+
|
|
91
|
+
# Groups
|
|
92
|
+
|
|
93
|
+
We use Prosemirror "groups" to help organize this schema. Here is a list of the different groups:
|
|
18
94
|
|
|
19
|
-
|
|
95
|
+
- `blockContent`: described above (contain the content for blocks that are represented as `BlockContainer` nodes)
|
|
96
|
+
- `blockGroupChild`: anything that is allowed inside a `blockGroup`. In practice, `blockContainer` and `columnList`
|
|
97
|
+
- `childContainer`: think of this as the container node that can hold nodes corresponding to `block.children` in the BlockNote API. So for regular blocks, this is the `BlockGroup`, but for columns, both `columnList` and `column` are considered to be `childContainer` nodes.
|
|
98
|
+
- `bnBlock`: think of this as the node that directly maps to a `Block` in the BlockNote API. For example, this node will store the `id`. Both `blockContainer`, `column` and `columnList` are part of this group.
|
|
99
|
+
|
|
100
|
+
_Note that the last two groups, `bnBlock` and `childContainer`, are not used anywhere in the schema. They are however helpful while programming. For example, we can check whether a node is a `bnBlock`, and then we know it corresponds to a BlockNote Block. Or, we can check whether a node is a `childContainer`, and then we know it's a container of a BlockNote Block's `children`. See `getBlockInfoFromPos` for an example of how this is used._
|
|
101
|
+
|
|
102
|
+
## Example document
|
|
20
103
|
|
|
21
104
|
```xml
|
|
22
|
-
<
|
|
23
|
-
<
|
|
24
|
-
<
|
|
25
|
-
<
|
|
26
|
-
<
|
|
27
|
-
<
|
|
28
|
-
</
|
|
29
|
-
</
|
|
30
|
-
</
|
|
31
|
-
<
|
|
32
|
-
<
|
|
33
|
-
<
|
|
34
|
-
<
|
|
35
|
-
<
|
|
36
|
-
</
|
|
37
|
-
</
|
|
38
|
-
<
|
|
39
|
-
<
|
|
40
|
-
</
|
|
41
|
-
|
|
105
|
+
<blockGroup>
|
|
106
|
+
<blockContaine id="0">
|
|
107
|
+
<blockContent>Parent element 1</blockContent>
|
|
108
|
+
<blockGroup>
|
|
109
|
+
<blockContainer id="1">
|
|
110
|
+
<blockContent>Nested / child / indented item</blockContent>
|
|
111
|
+
</blockContainer>
|
|
112
|
+
</blockGroup>
|
|
113
|
+
</blockContainer>
|
|
114
|
+
<blockContainer id="2">
|
|
115
|
+
<blockContent>Parent element 2</blockContent>
|
|
116
|
+
<blockGroup>
|
|
117
|
+
<blockContainer id="3">...</blockContainer>
|
|
118
|
+
<blockContainer id="4">...</blockContainer>
|
|
119
|
+
</blockGroup>
|
|
120
|
+
</blockContainer>
|
|
121
|
+
<blockContainer id="5">
|
|
122
|
+
<blockContent>Element 3 without children</blockContent>
|
|
123
|
+
</blockContainer>
|
|
124
|
+
<columnList id="6">
|
|
125
|
+
<column id="7">
|
|
126
|
+
<blockContainer id="8">
|
|
127
|
+
<blockContent>Column 1</blockContent>
|
|
128
|
+
</blockContainer>
|
|
129
|
+
</column>
|
|
130
|
+
<column id="9">
|
|
131
|
+
<blockContainer id="10">
|
|
132
|
+
<blockContent>Column 2</blockContent>
|
|
133
|
+
</blockContainer>
|
|
134
|
+
</column>
|
|
135
|
+
</columnList>
|
|
136
|
+
</blockGroup>
|
|
42
137
|
```
|
|
138
|
+
|
|
139
|
+
## Tables
|
|
140
|
+
|
|
141
|
+
Tables are implemented a special type of blockContent node. The rows and columns are stored in the `content` fields, not in the `children`. This is because children of tables (rows / columns / cells) are not considered to be blocks (they don't have an id, for example).
|
|
@@ -137,7 +137,10 @@ export function createBlockSpec<
|
|
|
137
137
|
T extends CustomBlockConfig,
|
|
138
138
|
I extends InlineContentSchema,
|
|
139
139
|
S extends StyleSchema
|
|
140
|
-
>(
|
|
140
|
+
>(
|
|
141
|
+
blockConfig: T,
|
|
142
|
+
blockImplementation: CustomBlockImplementation<NoInfer<T>, I, S>
|
|
143
|
+
) {
|
|
141
144
|
const node = createStronglyTypedTiptapNode({
|
|
142
145
|
name: blockConfig.type as T["type"],
|
|
143
146
|
content: (blockConfig.content === "inline"
|
|
@@ -201,12 +201,22 @@ export function wrapInBlockStructure<
|
|
|
201
201
|
// Helper type to keep track of the `name` and `content` properties after calling Node.create.
|
|
202
202
|
type StronglyTypedTipTapNode<
|
|
203
203
|
Name extends string,
|
|
204
|
-
Content extends
|
|
204
|
+
Content extends
|
|
205
|
+
| "inline*"
|
|
206
|
+
| "tableRow+"
|
|
207
|
+
| "blockContainer+"
|
|
208
|
+
| "column column+"
|
|
209
|
+
| ""
|
|
205
210
|
> = Node & { name: Name; config: { content: Content } };
|
|
206
211
|
|
|
207
212
|
export function createStronglyTypedTiptapNode<
|
|
208
213
|
Name extends string,
|
|
209
|
-
Content extends
|
|
214
|
+
Content extends
|
|
215
|
+
| "inline*"
|
|
216
|
+
| "tableRow+"
|
|
217
|
+
| "blockContainer+"
|
|
218
|
+
| "column column+"
|
|
219
|
+
| ""
|
|
210
220
|
>(config: NodeConfig & { name: Name; content: Content }) {
|
|
211
221
|
return Node.create(config) as StronglyTypedTipTapNode<Name, Content>; // force re-typing (should be safe as it's type-checked from the config)
|
|
212
222
|
}
|
|
@@ -104,7 +104,7 @@ export type BlockSpec<
|
|
|
104
104
|
S extends StyleSchema
|
|
105
105
|
> = {
|
|
106
106
|
config: T;
|
|
107
|
-
implementation: TiptapBlockImplementation<T
|
|
107
|
+
implementation: TiptapBlockImplementation<NoInfer<T>, B, I, S>;
|
|
108
108
|
};
|
|
109
109
|
|
|
110
110
|
// Utility type. For a given object block schema, ensures that the key of each
|
|
@@ -149,6 +149,7 @@ export type TableContent<
|
|
|
149
149
|
S extends StyleSchema = StyleSchema
|
|
150
150
|
> = {
|
|
151
151
|
type: "tableContent";
|
|
152
|
+
columnWidths: (number | undefined)[];
|
|
152
153
|
rows: {
|
|
153
154
|
cells: InlineContent<I, S>[][];
|
|
154
155
|
}[];
|
|
@@ -224,6 +225,7 @@ export type PartialTableContent<
|
|
|
224
225
|
S extends StyleSchema = StyleSchema
|
|
225
226
|
> = {
|
|
226
227
|
type: "tableContent";
|
|
228
|
+
columnWidths?: (number | undefined)[];
|
|
227
229
|
rows: {
|
|
228
230
|
cells: PartialInlineContent<I, S>[];
|
|
229
231
|
}[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Combines items by group. This can be used to combine multiple slash menu item arrays,
|
|
3
|
+
* while making sure that items from the same group are adjacent to each other.
|
|
4
|
+
*/
|
|
5
|
+
export function combineByGroup<T extends { group?: string }>(
|
|
6
|
+
items: T[],
|
|
7
|
+
...additionalItemsArray: {
|
|
8
|
+
group?: string;
|
|
9
|
+
}[][]
|
|
10
|
+
) {
|
|
11
|
+
const combinedItems = [...items];
|
|
12
|
+
for (const additionalItems of additionalItemsArray) {
|
|
13
|
+
for (const additionalItem of additionalItems) {
|
|
14
|
+
const lastItemWithSameGroup = combinedItems.findLastIndex(
|
|
15
|
+
(item) => item.group === additionalItem.group
|
|
16
|
+
);
|
|
17
|
+
if (lastItemWithSameGroup === -1) {
|
|
18
|
+
combinedItems.push(additionalItem as T);
|
|
19
|
+
} else {
|
|
20
|
+
combinedItems.splice(lastItemWithSameGroup + 1, 0, additionalItem as T);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return combinedItems;
|
|
25
|
+
}
|
|
@@ -1,6 +1,26 @@
|
|
|
1
|
-
import { Node
|
|
1
|
+
import { Node } from "prosemirror-model";
|
|
2
2
|
import { EditorState } from "prosemirror-state";
|
|
3
|
-
|
|
3
|
+
import { BlockInfo } from "../../../getBlockInfoFromPos.js";
|
|
4
|
+
/**
|
|
5
|
+
* Returns the block info from the parent block
|
|
6
|
+
* or undefined if we're at the root
|
|
7
|
+
*/
|
|
8
|
+
export declare const getParentBlockInfo: (doc: Node, beforePos: number) => BlockInfo | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Returns the block info from the sibling block before (above) the given block,
|
|
11
|
+
* or undefined if the given block is the first sibling.
|
|
12
|
+
*/
|
|
13
|
+
export declare const getPrevBlockInfo: (doc: Node, beforePos: number) => BlockInfo | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* If a block has children like this:
|
|
16
|
+
* A
|
|
17
|
+
* - B
|
|
18
|
+
* - C
|
|
19
|
+
* -- D
|
|
20
|
+
*
|
|
21
|
+
* Then the bottom nested block returned is D.
|
|
22
|
+
*/
|
|
23
|
+
export declare const getBottomNestedBlockInfo: (doc: Node, blockInfo: BlockInfo) => BlockInfo;
|
|
4
24
|
export declare const mergeBlocksCommand: (posBetweenBlocks: number) => ({ state, dispatch, }: {
|
|
5
25
|
state: EditorState;
|
|
6
26
|
dispatch: ((args?: any) => any) | undefined;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { BlockNoteEditor } from "../../../../editor/BlockNoteEditor.js";
|
|
2
|
+
export declare function nestBlock(editor: BlockNoteEditor<any, any, any>): boolean;
|
|
3
|
+
export declare function unnestBlock(editor: BlockNoteEditor<any, any, any>): void;
|
|
4
|
+
export declare function canNestBlock(editor: BlockNoteEditor<any, any, any>): boolean;
|
|
5
|
+
export declare function canUnnestBlock(editor: BlockNoteEditor<any, any, any>): boolean;
|
|
@@ -76,6 +76,28 @@ export declare function setupTestEnv(): () => BlockNoteEditor<import("../../inde
|
|
|
76
76
|
};
|
|
77
77
|
}, any, import("../../index.js").InlineContentSchema, import("../../index.js").StyleSchema>;
|
|
78
78
|
};
|
|
79
|
+
codeBlock: {
|
|
80
|
+
config: {
|
|
81
|
+
type: "codeBlock";
|
|
82
|
+
content: "inline";
|
|
83
|
+
propSchema: {
|
|
84
|
+
language: {
|
|
85
|
+
default: string;
|
|
86
|
+
values: string[];
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
implementation: import("../../index.js").TiptapBlockImplementation<{
|
|
91
|
+
type: "codeBlock";
|
|
92
|
+
content: "inline";
|
|
93
|
+
propSchema: {
|
|
94
|
+
language: {
|
|
95
|
+
default: string;
|
|
96
|
+
values: string[];
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
}, any, import("../../index.js").InlineContentSchema, import("../../index.js").StyleSchema>;
|
|
100
|
+
};
|
|
79
101
|
bulletListItem: {
|
|
80
102
|
config: {
|
|
81
103
|
type: "bulletListItem";
|
|
@@ -195,10 +217,6 @@ export declare function setupTestEnv(): () => BlockNoteEditor<import("../../inde
|
|
|
195
217
|
textColor: {
|
|
196
218
|
default: "default";
|
|
197
219
|
};
|
|
198
|
-
textAlignment: {
|
|
199
|
-
default: "left";
|
|
200
|
-
values: readonly ["left", "center", "right", "justify"];
|
|
201
|
-
};
|
|
202
220
|
};
|
|
203
221
|
};
|
|
204
222
|
implementation: import("../../index.js").TiptapBlockImplementation<{
|
|
@@ -211,10 +229,6 @@ export declare function setupTestEnv(): () => BlockNoteEditor<import("../../inde
|
|
|
211
229
|
textColor: {
|
|
212
230
|
default: "default";
|
|
213
231
|
};
|
|
214
|
-
textAlignment: {
|
|
215
|
-
default: "left";
|
|
216
|
-
values: readonly ["left", "center", "right", "justify"];
|
|
217
|
-
};
|
|
218
232
|
};
|
|
219
233
|
}, any, import("../../index.js").InlineContentSchema, import("../../index.js").StyleSchema>;
|
|
220
234
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const acceptedMIMETypes: readonly ["blocknote/html", "Files", "text/html", "text/plain"];
|
|
1
|
+
export declare const acceptedMIMETypes: readonly ["vscode-editor-data", "blocknote/html", "Files", "text/html", "text/plain"];
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { BlockNoteEditor } from "../../../editor/BlockNoteEditor.js";
|
|
2
|
+
import { BlockSchema, InlineContentSchema, StyleSchema } from "../../../schema/index.js";
|
|
3
|
+
export declare function handleVSCodePaste<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(event: ClipboardEvent, editor: BlockNoteEditor<BSchema, I, S>): Promise<boolean>;
|
|
@@ -2,10 +2,9 @@ import { DOMSerializer } from "prosemirror-model";
|
|
|
2
2
|
import { PartialBlock } from "../../../../blocks/defaultBlocks.js";
|
|
3
3
|
import type { BlockNoteEditor } from "../../../../editor/BlockNoteEditor.js";
|
|
4
4
|
import { BlockSchema, InlineContentSchema, StyleSchema } from "../../../../schema/index.js";
|
|
5
|
-
export declare function serializeInlineContentInternalHTML<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(editor: BlockNoteEditor<any, I, S>, blockContent: PartialBlock<BSchema, I, S>["content"], serializer: DOMSerializer,
|
|
6
|
-
options?: {
|
|
5
|
+
export declare function serializeInlineContentInternalHTML<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(editor: BlockNoteEditor<any, I, S>, blockContent: PartialBlock<BSchema, I, S>["content"], serializer: DOMSerializer, options?: {
|
|
7
6
|
document?: Document;
|
|
8
7
|
}): HTMLElement | DocumentFragment;
|
|
9
|
-
export declare const serializeBlocksInternalHTML: <BSchema extends Record<string, import("../../../../schema/index.js").BlockConfig>, I extends InlineContentSchema, S extends StyleSchema>(editor: BlockNoteEditor<BSchema, I, S>, blocks: PartialBlock<BSchema, I, S>[], serializer: DOMSerializer,
|
|
8
|
+
export declare const serializeBlocksInternalHTML: <BSchema extends Record<string, import("../../../../schema/index.js").BlockConfig>, I extends InlineContentSchema, S extends StyleSchema>(editor: BlockNoteEditor<BSchema, I, S>, blocks: PartialBlock<BSchema, I, S>[], serializer: DOMSerializer, options?: {
|
|
10
9
|
document?: Document;
|
|
11
10
|
}) => HTMLElement;
|
|
@@ -6,10 +6,36 @@ type SingleBlockInfo = {
|
|
|
6
6
|
afterPos: number;
|
|
7
7
|
};
|
|
8
8
|
export type BlockInfo = {
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* The outer node that represents a BlockNote block. This is the node that has the ID.
|
|
11
|
+
* Most of the time, this will be a blockContainer node, but it could also be a Column or ColumnList
|
|
12
|
+
*/
|
|
13
|
+
bnBlock: SingleBlockInfo;
|
|
14
|
+
/**
|
|
15
|
+
* The type of BlockNote block that this node represents.
|
|
16
|
+
* When dealing with a blockContainer, this is retrieved from the blockContent node, otherwise it's retrieved from the bnBlock node.
|
|
17
|
+
*/
|
|
18
|
+
blockNoteType: string;
|
|
19
|
+
} & ({
|
|
20
|
+
/**
|
|
21
|
+
* The Prosemirror node that holds block.children. For non-blockContainer, this node will be the same as bnBlock.
|
|
22
|
+
*/
|
|
23
|
+
childContainer: SingleBlockInfo;
|
|
24
|
+
isBlockContainer: false;
|
|
25
|
+
} | {
|
|
26
|
+
/**
|
|
27
|
+
* The Prosemirror node that holds block.children. For blockContainers, this is the blockGroup node, if it exists.
|
|
28
|
+
*/
|
|
29
|
+
childContainer?: SingleBlockInfo;
|
|
30
|
+
/**
|
|
31
|
+
* The Prosemirror node that wraps block.content and has most of the props
|
|
32
|
+
*/
|
|
10
33
|
blockContent: SingleBlockInfo;
|
|
11
|
-
|
|
12
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Whether bnBlock is a blockContainer node
|
|
36
|
+
*/
|
|
37
|
+
isBlockContainer: true;
|
|
38
|
+
});
|
|
13
39
|
/**
|
|
14
40
|
* Retrieves the position just before the nearest blockContainer node in a
|
|
15
41
|
* ProseMirror doc, relative to a position. If the position is within a
|
|
@@ -37,7 +63,7 @@ export declare function getNearestBlockContainerPos(doc: Node, pos: number): {
|
|
|
37
63
|
* @param blockContainerBeforePosOffset the position just before the
|
|
38
64
|
* `blockContainer` node in the document.
|
|
39
65
|
*/
|
|
40
|
-
export declare function getBlockInfoWithManualOffset(node: Node,
|
|
66
|
+
export declare function getBlockInfoWithManualOffset(node: Node, bnBlockBeforePosOffset: number): BlockInfo;
|
|
41
67
|
/**
|
|
42
68
|
* Gets information regarding the ProseMirror nodes that make up a block in a
|
|
43
69
|
* BlockNote document. This includes the main `blockContainer` node, the
|
|
@@ -66,5 +92,29 @@ export declare function getBlockInfoFromResolvedPos(resolvedPos: ResolvedPos): B
|
|
|
66
92
|
* selection.
|
|
67
93
|
* @param state The ProseMirror editor state.
|
|
68
94
|
*/
|
|
69
|
-
export declare function getBlockInfoFromSelection(state: EditorState):
|
|
95
|
+
export declare function getBlockInfoFromSelection(state: EditorState): {
|
|
96
|
+
/**
|
|
97
|
+
* The outer node that represents a BlockNote block. This is the node that has the ID.
|
|
98
|
+
* Most of the time, this will be a blockContainer node, but it could also be a Column or ColumnList
|
|
99
|
+
*/
|
|
100
|
+
bnBlock: SingleBlockInfo;
|
|
101
|
+
/**
|
|
102
|
+
* The type of BlockNote block that this node represents.
|
|
103
|
+
* When dealing with a blockContainer, this is retrieved from the blockContent node, otherwise it's retrieved from the bnBlock node.
|
|
104
|
+
*/
|
|
105
|
+
blockNoteType: string;
|
|
106
|
+
} & {
|
|
107
|
+
/**
|
|
108
|
+
* The Prosemirror node that holds block.children. For blockContainers, this is the blockGroup node, if it exists.
|
|
109
|
+
*/
|
|
110
|
+
childContainer?: SingleBlockInfo | undefined;
|
|
111
|
+
/**
|
|
112
|
+
* The Prosemirror node that wraps block.content and has most of the props
|
|
113
|
+
*/
|
|
114
|
+
blockContent: SingleBlockInfo;
|
|
115
|
+
/**
|
|
116
|
+
* Whether bnBlock is a blockContainer node
|
|
117
|
+
*/
|
|
118
|
+
isBlockContainer: true;
|
|
119
|
+
};
|
|
70
120
|
export {};
|
|
@@ -10,6 +10,6 @@ export declare function inlineContentToNodes<I extends InlineContentSchema, S ex
|
|
|
10
10
|
*/
|
|
11
11
|
export declare function tableContentToNodes<I extends InlineContentSchema, S extends StyleSchema>(tableContent: PartialTableContent<I, S>, schema: Schema, styleSchema: StyleSchema): Node[];
|
|
12
12
|
/**
|
|
13
|
-
* Converts a BlockNote block to a
|
|
13
|
+
* Converts a BlockNote block to a Prosemirror node.
|
|
14
14
|
*/
|
|
15
15
|
export declare function blockToNode(block: PartialBlock<any, any, any>, schema: Schema, styleSchema: StyleSchema): Node;
|
|
@@ -11,6 +11,8 @@ export declare function contentNodeToTableContent<I extends InlineContentSchema,
|
|
|
11
11
|
export declare function contentNodeToInlineContent<I extends InlineContentSchema, S extends StyleSchema>(contentNode: Node, inlineContentSchema: I, styleSchema: S): InlineContent<I, S>[];
|
|
12
12
|
export declare function nodeToCustomInlineContent<I extends InlineContentSchema, S extends StyleSchema>(node: Node, inlineContentSchema: I, styleSchema: S): InlineContent<I, S>;
|
|
13
13
|
/**
|
|
14
|
-
* Convert a
|
|
14
|
+
* Convert a Prosemirror node to a BlockNote block.
|
|
15
|
+
*
|
|
16
|
+
* TODO: test changes
|
|
15
17
|
*/
|
|
16
18
|
export declare function nodeToBlock<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(node: Node, blockSchema: BSchema, inlineContentSchema: I, styleSchema: S, blockCache?: WeakMap<Node, Block<BSchema, I, S>>): Block<BSchema, I, S>;
|