@blocknote/core 0.9.2 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/blocknote.js +1562 -1240
  2. package/dist/blocknote.js.map +1 -1
  3. package/dist/blocknote.umd.cjs +5 -5
  4. package/dist/blocknote.umd.cjs.map +1 -1
  5. package/dist/style.css +1 -1
  6. package/package.json +2 -2
  7. package/src/BlockNoteEditor.ts +44 -12
  8. package/src/api/blockManipulation/__snapshots__/blockManipulation.test.ts.snap +21 -21
  9. package/src/api/blockManipulation/blockManipulation.test.ts +8 -11
  10. package/src/api/formatConversions/__snapshots__/formatConversions.test.ts.snap +3 -3
  11. package/src/api/formatConversions/formatConversions.test.ts +5 -5
  12. package/src/api/nodeConversions/__snapshots__/nodeConversions.test.ts.snap +3 -3
  13. package/src/api/nodeConversions/nodeConversions.test.ts +10 -4
  14. package/src/api/nodeConversions/nodeConversions.ts +9 -7
  15. package/src/api/nodeConversions/testUtil.ts +3 -3
  16. package/src/editor.module.css +1 -1
  17. package/src/extensions/BackgroundColor/BackgroundColorExtension.ts +5 -3
  18. package/src/extensions/BackgroundColor/BackgroundColorMark.ts +2 -1
  19. package/src/extensions/Blocks/NonEditableBlockPlugin.ts +17 -0
  20. package/src/extensions/Blocks/api/block.ts +29 -16
  21. package/src/extensions/Blocks/api/blockTypes.ts +79 -27
  22. package/src/extensions/Blocks/api/defaultBlocks.ts +13 -41
  23. package/src/extensions/Blocks/api/defaultProps.ts +16 -0
  24. package/src/extensions/Blocks/nodes/Block.module.css +78 -24
  25. package/src/extensions/Blocks/nodes/BlockContainer.ts +45 -45
  26. package/src/extensions/Blocks/nodes/BlockContent/HeadingBlockContent/HeadingBlockContent.ts +61 -13
  27. package/src/extensions/Blocks/nodes/BlockContent/ImageBlockContent/ImageBlockContent.ts +305 -0
  28. package/src/extensions/Blocks/nodes/BlockContent/ImageBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY.ts +13 -0
  29. package/src/extensions/Blocks/nodes/BlockContent/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.ts +26 -2
  30. package/src/extensions/Blocks/nodes/BlockContent/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.ts +146 -118
  31. package/src/extensions/Blocks/nodes/BlockContent/ParagraphBlockContent/ParagraphBlockContent.ts +12 -2
  32. package/src/extensions/ImageToolbar/ImageToolbarPlugin.ts +239 -0
  33. package/src/extensions/SlashMenu/defaultSlashMenuItems.ts +47 -6
  34. package/src/extensions/TextColor/TextColorExtension.ts +4 -3
  35. package/src/extensions/TextColor/TextColorMark.ts +2 -1
  36. package/src/extensions/TrailingNode/TrailingNodeExtension.ts +13 -1
  37. package/src/index.ts +4 -0
  38. package/types/src/BlockNoteEditor.d.ts +9 -0
  39. package/types/src/BlockNoteExtensions.d.ts +1 -1
  40. package/types/src/extensions/Blocks/NonEditableBlockPlugin.d.ts +2 -0
  41. package/types/src/extensions/Blocks/api/block.d.ts +7 -8
  42. package/types/src/extensions/Blocks/api/blockTypes.d.ts +29 -20
  43. package/types/src/extensions/Blocks/api/defaultBlocks.d.ts +55 -51
  44. package/types/src/extensions/Blocks/api/defaultProps.d.ts +14 -0
  45. package/types/src/extensions/Blocks/nodes/BlockContent/HeadingBlockContent/HeadingBlockContent.d.ts +43 -9
  46. package/types/src/extensions/Blocks/nodes/BlockContent/ImageBlockContent/Image.d.ts +6 -0
  47. package/types/src/extensions/Blocks/nodes/BlockContent/ImageBlockContent/ImageBlockContent.d.ts +37 -0
  48. package/types/src/extensions/Blocks/nodes/BlockContent/ImageBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY.d.ts +1 -0
  49. package/types/src/extensions/Blocks/nodes/BlockContent/ImageBlockContent/uploadToTmpFilesOrg_DEV_ONLY.d.ts +1 -0
  50. package/types/src/extensions/Blocks/nodes/BlockContent/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.d.ts +35 -9
  51. package/types/src/extensions/Blocks/nodes/BlockContent/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.d.ts +35 -9
  52. package/types/src/extensions/Blocks/nodes/BlockContent/ParagraphBlockContent/ParagraphBlockContent.d.ts +36 -1
  53. package/types/src/extensions/ImageToolbar/ImageToolbarPlugin.d.ts +36 -0
  54. package/types/src/extensions/SlashMenu/defaultSlashMenuItems.d.ts +1 -1
  55. package/types/src/index.d.ts +4 -0
  56. package/types/src/shared/plugins/suggestion/SuggestionPlugin.d.ts +1 -1
  57. package/types/src/extensions/Blocks/nodes/TableCell.d.ts +0 -5
  58. package/types/src/extensions/Blocks/nodes/TableRow.d.ts +0 -5
@@ -1,4 +1,16 @@
1
- export declare const ParagraphBlockContent: import("../../../api/blockTypes").TipTapNode<"paragraph", {
1
+ export declare const paragraphPropSchema: {
2
+ backgroundColor: {
3
+ default: "default";
4
+ };
5
+ textColor: {
6
+ default: "default";
7
+ };
8
+ textAlignment: {
9
+ default: "left";
10
+ values: readonly ["left", "center", "right", "justify"];
11
+ };
12
+ };
13
+ export declare const ParagraphBlockContent: import("../../../api/blockTypes").TipTapNode<"paragraph", true, {
2
14
  domAttributes?: Partial<{
3
15
  blockContainer: Record<string, string>;
4
16
  blockGroup: Record<string, string>;
@@ -7,3 +19,26 @@ export declare const ParagraphBlockContent: import("../../../api/blockTypes").Ti
7
19
  inlineContent: Record<string, string>;
8
20
  }> | undefined;
9
21
  }, any>;
22
+ export declare const Paragraph: {
23
+ node: import("../../../api/blockTypes").TipTapNode<"paragraph", true, {
24
+ domAttributes?: Partial<{
25
+ blockContainer: Record<string, string>;
26
+ blockGroup: Record<string, string>;
27
+ editor: Record<string, string>;
28
+ blockContent: Record<string, string>;
29
+ inlineContent: Record<string, string>;
30
+ }> | undefined;
31
+ }, any>;
32
+ propSchema: {
33
+ backgroundColor: {
34
+ default: "default";
35
+ };
36
+ textColor: {
37
+ default: "default";
38
+ };
39
+ textAlignment: {
40
+ default: "left";
41
+ values: readonly ["left", "center", "right", "justify"];
42
+ };
43
+ };
44
+ };
@@ -0,0 +1,36 @@
1
+ import { EditorState, Plugin, PluginKey } from "prosemirror-state";
2
+ import { EditorView } from "prosemirror-view";
3
+ import { BaseUiElementCallbacks, BaseUiElementState, BlockNoteEditor, BlockSchema, BlockSpec, SpecificBlock } from "../..";
4
+ import { EventEmitter } from "../../shared/EventEmitter";
5
+ export type ImageToolbarCallbacks = BaseUiElementCallbacks;
6
+ export type ImageToolbarState = BaseUiElementState & {
7
+ block: SpecificBlock<BlockSchema & {
8
+ image: BlockSpec<"image", {
9
+ src: {
10
+ default: string;
11
+ };
12
+ }, false>;
13
+ }, "image">;
14
+ };
15
+ export declare class ImageToolbarView {
16
+ private readonly pluginKey;
17
+ private readonly pmView;
18
+ private imageToolbarState?;
19
+ updateImageToolbar: () => void;
20
+ prevWasEditable: boolean | null;
21
+ shouldShow: (state: EditorState) => boolean;
22
+ constructor(pluginKey: PluginKey, pmView: EditorView, updateImageToolbar: (imageToolbarState: ImageToolbarState) => void);
23
+ mouseDownHandler: () => void;
24
+ dragstartHandler: () => void;
25
+ blurHandler: (event: FocusEvent) => void;
26
+ scrollHandler: () => void;
27
+ update(view: EditorView, prevState: EditorState): void;
28
+ destroy(): void;
29
+ }
30
+ export declare const imageToolbarPluginKey: PluginKey<any>;
31
+ export declare class ImageToolbarProsemirrorPlugin<BSchema extends BlockSchema> extends EventEmitter<any> {
32
+ private view;
33
+ readonly plugin: Plugin;
34
+ constructor(_editor: BlockNoteEditor<BSchema>);
35
+ onUpdate(callback: (state: ImageToolbarState) => void): () => void;
36
+ }
@@ -1,2 +1,2 @@
1
1
  import { BaseSlashMenuItem } from "./BaseSlashMenuItem";
2
- export declare const getDefaultSlashMenuItems: <BSchema extends Record<string, import("../Blocks/api/blockTypes").BlockSpec<string, import("../Blocks/api/blockTypes").PropSchema>>>(schema?: BSchema) => BaseSlashMenuItem<BSchema>[];
2
+ export declare const getDefaultSlashMenuItems: <BSchema extends Record<string, import("../Blocks/api/blockTypes").BlockSpec<string, import("../Blocks/api/blockTypes").PropSchema, boolean>>>(schema?: BSchema) => BaseSlashMenuItem<BSchema>[];
@@ -2,12 +2,16 @@ export * from "./BlockNoteEditor";
2
2
  export * from "./BlockNoteExtensions";
3
3
  export * from "./extensions/Blocks/api/block";
4
4
  export * from "./extensions/Blocks/api/blockTypes";
5
+ export * from "./extensions/Blocks/api/defaultProps";
5
6
  export * from "./extensions/Blocks/api/defaultBlocks";
6
7
  export * from "./extensions/Blocks/api/inlineContentTypes";
8
+ export * from "./extensions/Blocks/api/selectionTypes";
7
9
  export * from "./extensions/Blocks/api/serialization";
8
10
  export * as blockStyles from "./extensions/Blocks/nodes/Block.module.css";
11
+ export * from "./extensions/Blocks/nodes/BlockContent/ImageBlockContent/uploadToTmpFilesDotOrg_DEV_ONLY";
9
12
  export * from "./extensions/FormattingToolbar/FormattingToolbarPlugin";
10
13
  export * from "./extensions/HyperlinkToolbar/HyperlinkToolbarPlugin";
14
+ export * from "./extensions/ImageToolbar/ImageToolbarPlugin";
11
15
  export * from "./extensions/SideMenu/SideMenuPlugin";
12
16
  export * from "./extensions/SlashMenu/BaseSlashMenuItem";
13
17
  export * from "./extensions/SlashMenu/SlashMenuPlugin";
@@ -25,7 +25,7 @@ type SuggestionPluginState<T extends SuggestionItem> = {
25
25
  * - This version hides some unnecessary complexity from the user of the plugin.
26
26
  * - This version handles key events differently
27
27
  */
28
- export declare const setupSuggestionsMenu: <T extends SuggestionItem, BSchema extends Record<string, import("../../../extensions/Blocks/api/blockTypes").BlockSpec<string, import("../../../extensions/Blocks/api/blockTypes").PropSchema>>>(editor: BlockNoteEditor<BSchema>, updateSuggestionsMenu: (suggestionsMenuState: SuggestionsMenuState<T>) => void, pluginKey: PluginKey, defaultTriggerCharacter: string, items?: (query: string) => T[], onSelectItem?: (props: {
28
+ export declare const setupSuggestionsMenu: <T extends SuggestionItem, BSchema extends Record<string, import("../../../extensions/Blocks/api/blockTypes").BlockSpec<string, import("../../../extensions/Blocks/api/blockTypes").PropSchema, boolean>>>(editor: BlockNoteEditor<BSchema>, updateSuggestionsMenu: (suggestionsMenuState: SuggestionsMenuState<T>) => void, pluginKey: PluginKey, defaultTriggerCharacter: string, items?: (query: string) => T[], onSelectItem?: (props: {
29
29
  item: T;
30
30
  editor: BlockNoteEditor<BSchema>;
31
31
  }) => void) => {
@@ -1,5 +0,0 @@
1
- import { Node } from "@tiptap/core";
2
- export interface TableCellOptions {
3
- HTMLAttributes: Record<string, any>;
4
- }
5
- export declare const TableCell: Node<TableCellOptions, any>;
@@ -1,5 +0,0 @@
1
- import { Node } from "@tiptap/core";
2
- export interface TableRowOptions {
3
- HTMLAttributes: Record<string, any>;
4
- }
5
- export declare const TableRow: Node<TableRowOptions, any>;