@blocknote/core 0.13.0 → 0.13.3

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 (141) hide show
  1. package/README.md +6 -2
  2. package/dist/blocknote.js +5724 -2803
  3. package/dist/blocknote.js.map +1 -1
  4. package/dist/blocknote.umd.cjs +7 -7
  5. package/dist/blocknote.umd.cjs.map +1 -1
  6. package/dist/style.css +1 -1
  7. package/dist/webpack-stats.json +1 -1
  8. package/package.json +2 -2
  9. package/src/api/exporters/html/__snapshots__/file/basic/external.html +1 -0
  10. package/src/api/exporters/html/__snapshots__/file/basic/internal.html +1 -0
  11. package/src/api/exporters/html/__snapshots__/file/button/external.html +1 -0
  12. package/src/api/exporters/html/__snapshots__/file/button/internal.html +1 -0
  13. package/src/api/exporters/html/__snapshots__/file/nested/external.html +1 -0
  14. package/src/api/exporters/html/__snapshots__/file/nested/internal.html +1 -0
  15. package/src/api/exporters/html/__snapshots__/file/noCaption/external.html +1 -0
  16. package/src/api/exporters/html/__snapshots__/file/noCaption/internal.html +1 -0
  17. package/src/api/exporters/html/__snapshots__/file/noName/external.html +1 -0
  18. package/src/api/exporters/html/__snapshots__/file/noName/internal.html +1 -0
  19. package/src/api/exporters/html/__snapshots__/image/basic/external.html +1 -1
  20. package/src/api/exporters/html/__snapshots__/image/basic/internal.html +1 -1
  21. package/src/api/exporters/html/__snapshots__/image/button/external.html +1 -1
  22. package/src/api/exporters/html/__snapshots__/image/button/internal.html +1 -1
  23. package/src/api/exporters/html/__snapshots__/image/nested/external.html +1 -1
  24. package/src/api/exporters/html/__snapshots__/image/nested/internal.html +1 -1
  25. package/src/api/exporters/html/__snapshots__/image/noCaption/external.html +1 -0
  26. package/src/api/exporters/html/__snapshots__/image/noCaption/internal.html +1 -0
  27. package/src/api/exporters/html/__snapshots__/image/noName/external.html +1 -0
  28. package/src/api/exporters/html/__snapshots__/image/noName/internal.html +1 -0
  29. package/src/api/exporters/html/__snapshots__/image/noPreview/external.html +1 -0
  30. package/src/api/exporters/html/__snapshots__/image/noPreview/internal.html +1 -0
  31. package/src/api/exporters/html/__snapshots__/simpleFile/basic/external.html +1 -0
  32. package/src/api/exporters/html/__snapshots__/simpleFile/basic/internal.html +1 -0
  33. package/src/api/exporters/html/__snapshots__/simpleFile/button/external.html +1 -0
  34. package/src/api/exporters/html/__snapshots__/simpleFile/button/internal.html +1 -0
  35. package/src/api/exporters/html/__snapshots__/simpleFile/nested/external.html +1 -0
  36. package/src/api/exporters/html/__snapshots__/simpleFile/nested/internal.html +1 -0
  37. package/src/api/exporters/html/__snapshots__/simpleImage/basic/external.html +1 -1
  38. package/src/api/exporters/html/__snapshots__/simpleImage/basic/internal.html +1 -1
  39. package/src/api/exporters/html/__snapshots__/simpleImage/button/external.html +1 -1
  40. package/src/api/exporters/html/__snapshots__/simpleImage/button/internal.html +1 -1
  41. package/src/api/exporters/html/__snapshots__/simpleImage/nested/external.html +1 -1
  42. package/src/api/exporters/html/__snapshots__/simpleImage/nested/internal.html +1 -1
  43. package/src/api/exporters/html/__snapshots__/simpleImage/noCaption/external.html +1 -0
  44. package/src/api/exporters/html/__snapshots__/simpleImage/noCaption/internal.html +1 -0
  45. package/src/api/exporters/html/__snapshots__/simpleImage/noName/external.html +1 -0
  46. package/src/api/exporters/html/__snapshots__/simpleImage/noName/internal.html +1 -0
  47. package/src/api/exporters/html/__snapshots__/simpleImage/noPreview/external.html +1 -0
  48. package/src/api/exporters/html/__snapshots__/simpleImage/noPreview/internal.html +1 -0
  49. package/src/api/exporters/markdown/__snapshots__/file/basic/markdown.md +3 -0
  50. package/src/api/exporters/markdown/__snapshots__/file/button/markdown.md +1 -0
  51. package/src/api/exporters/markdown/__snapshots__/file/nested/markdown.md +7 -0
  52. package/src/api/exporters/markdown/__snapshots__/file/noCaption/markdown.md +1 -0
  53. package/src/api/exporters/markdown/__snapshots__/file/noName/markdown.md +3 -0
  54. package/src/api/exporters/markdown/__snapshots__/image/basic/markdown.md +1 -1
  55. package/src/api/exporters/markdown/__snapshots__/image/button/markdown.md +1 -1
  56. package/src/api/exporters/markdown/__snapshots__/image/nested/markdown.md +2 -2
  57. package/src/api/exporters/markdown/__snapshots__/image/noCaption/markdown.md +1 -0
  58. package/src/api/exporters/markdown/__snapshots__/image/noName/markdown.md +3 -0
  59. package/src/api/exporters/markdown/__snapshots__/image/noPreview/markdown.md +3 -0
  60. package/src/api/exporters/markdown/__snapshots__/simpleFile/basic/markdown.md +3 -0
  61. package/src/api/exporters/markdown/__snapshots__/simpleFile/button/markdown.md +1 -0
  62. package/src/api/exporters/markdown/__snapshots__/simpleFile/nested/markdown.md +7 -0
  63. package/src/api/exporters/markdown/__snapshots__/simpleImage/basic/markdown.md +3 -1
  64. package/src/api/exporters/markdown/__snapshots__/simpleImage/button/markdown.md +1 -0
  65. package/src/api/exporters/markdown/__snapshots__/simpleImage/nested/markdown.md +6 -2
  66. package/src/api/exporters/markdown/__snapshots__/simpleImage/noCaption/markdown.md +1 -0
  67. package/src/api/exporters/markdown/__snapshots__/simpleImage/noName/markdown.md +3 -0
  68. package/src/api/exporters/markdown/__snapshots__/simpleImage/noPreview/markdown.md +3 -0
  69. package/src/api/nodeConversions/__snapshots__/nodeConversions.test.ts.snap +212 -4
  70. package/src/api/parsers/html/__snapshots__/paste/parse-basic-block-types.json +3 -1
  71. package/src/api/parsers/html/__snapshots__/paste/parse-fake-image-caption.json +3 -1
  72. package/src/api/testUtil/cases/customBlocks.ts +79 -33
  73. package/src/api/testUtil/cases/customInlineContent.ts +1 -1
  74. package/src/api/testUtil/cases/customStyles.ts +1 -1
  75. package/src/api/testUtil/cases/defaultSchema.ts +114 -4
  76. package/src/blocks/AudioBlockContent/AudioBlockContent.ts +162 -0
  77. package/src/blocks/AudioBlockContent/audioBlockHelpers.ts +5 -0
  78. package/src/blocks/FileBlockContent/FileBlockContent.ts +121 -0
  79. package/src/blocks/FileBlockContent/fileBlockHelpers.ts +377 -0
  80. package/src/blocks/ImageBlockContent/ImageBlockContent.ts +135 -356
  81. package/src/blocks/ImageBlockContent/imageBlockHelpers.ts +6 -0
  82. package/src/blocks/VideoBlockContent/VideoBlockContent.ts +182 -0
  83. package/src/blocks/VideoBlockContent/videoBlockHelpers.ts +6 -0
  84. package/src/blocks/defaultBlockTypeGuards.ts +53 -1
  85. package/src/blocks/defaultBlocks.ts +8 -2
  86. package/src/editor/Block.css +67 -27
  87. package/src/editor/BlockNoteEditor.ts +14 -10
  88. package/src/editor/BlockNoteExtensions.ts +1 -1
  89. package/src/editor/BlockNoteSchema.ts +12 -3
  90. package/src/extensions/{ImagePanel/ImageToolbarPlugin.ts → FilePanel/FilePanelPlugin.ts} +22 -25
  91. package/src/extensions/FormattingToolbar/FormattingToolbarPlugin.ts +14 -2
  92. package/src/extensions/NonEditableBlocks/NonEditableBlockPlugin.ts +43 -12
  93. package/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts +59 -2
  94. package/src/i18n/locales/en.ts +102 -11
  95. package/src/i18n/locales/fr.ts +289 -0
  96. package/src/i18n/locales/index.ts +8 -0
  97. package/src/i18n/locales/is.ts +288 -0
  98. package/src/i18n/locales/ja.ts +300 -0
  99. package/src/i18n/locales/ko.ts +292 -0
  100. package/src/i18n/locales/nl.ts +101 -8
  101. package/src/i18n/locales/pl.ts +280 -0
  102. package/src/i18n/locales/pt.ts +281 -0
  103. package/src/i18n/locales/vi.ts +281 -0
  104. package/src/i18n/locales/zh.ts +312 -0
  105. package/src/index.ts +9 -2
  106. package/src/pm-nodes/BlockContainer.ts +5 -3
  107. package/src/schema/blocks/createSpec.ts +1 -0
  108. package/src/schema/blocks/internal.ts +10 -0
  109. package/src/schema/blocks/types.ts +41 -5
  110. package/src/util/string.ts +12 -0
  111. package/types/src/api/testUtil/cases/customBlocks.d.ts +228 -42
  112. package/types/src/api/testUtil/cases/customInlineContent.d.ts +178 -4
  113. package/types/src/api/testUtil/cases/customStyles.d.ts +178 -4
  114. package/types/src/blocks/AudioBlockContent/AudioBlockContent.d.ts +104 -0
  115. package/types/src/blocks/AudioBlockContent/audioBlockHelpers.d.ts +3 -0
  116. package/types/src/blocks/FileBlockContent/FileBlockContent.d.ts +96 -0
  117. package/types/src/blocks/FileBlockContent/fileBlockHelpers.d.ts +30 -0
  118. package/types/src/blocks/ImageBlockContent/ImageBlockContent.d.ts +53 -14
  119. package/types/src/blocks/ImageBlockContent/imageBlockHelpers.d.ts +4 -0
  120. package/types/src/blocks/VideoBlockContent/VideoBlockContent.d.ts +132 -0
  121. package/types/src/blocks/VideoBlockContent/videoBlockHelpers.d.ts +4 -0
  122. package/types/src/blocks/defaultBlockTypeGuards.d.ts +6 -1
  123. package/types/src/blocks/defaultBlocks.d.ts +356 -8
  124. package/types/src/editor/BlockNoteEditor.d.ts +5 -5
  125. package/types/src/extensions/{ImagePanel/ImageToolbarPlugin.d.ts → FilePanel/FilePanelPlugin.d.ts} +9 -12
  126. package/types/src/i18n/locales/en.d.ts +49 -7
  127. package/types/src/i18n/locales/fr.d.ts +2 -0
  128. package/types/src/i18n/locales/index.d.ts +8 -0
  129. package/types/src/i18n/locales/is.d.ts +2 -0
  130. package/types/src/i18n/locales/ja.d.ts +2 -0
  131. package/types/src/i18n/locales/ko.d.ts +2 -0
  132. package/types/src/i18n/locales/pl.d.ts +2 -0
  133. package/types/src/i18n/locales/pt.d.ts +2 -0
  134. package/types/src/i18n/locales/vi.d.ts +2 -0
  135. package/types/src/i18n/locales/zh.d.ts +2 -0
  136. package/types/src/index.d.ts +8 -2
  137. package/types/src/schema/blocks/internal.d.ts +1 -1
  138. package/types/src/schema/blocks/types.d.ts +26 -1
  139. package/types/src/util/string.d.ts +1 -0
  140. /package/src/blocks/{ImageBlockContent → FileBlockContent}/uploadToTmpFilesDotOrg_DEV_ONLY.ts +0 -0
  141. /package/types/src/blocks/{ImageBlockContent → FileBlockContent}/uploadToTmpFilesDotOrg_DEV_ONLY.d.ts +0 -0
@@ -10,7 +10,7 @@ export declare function wrapInBlockStructure<BType extends string, PSchema exten
10
10
  dom: HTMLElement;
11
11
  contentDOM?: HTMLElement;
12
12
  destroy?: () => void;
13
- }, blockType: BType, blockProps: Props<PSchema>, propSchema: PSchema, domAttributes?: Record<string, string>): {
13
+ }, blockType: BType, blockProps: Props<PSchema>, propSchema: PSchema, isFileBlock?: boolean, domAttributes?: Record<string, string>): {
14
14
  dom: HTMLElement;
15
15
  contentDOM?: HTMLElement;
16
16
  destroy?: () => void;
@@ -8,11 +8,36 @@ export type BlockNoteDOMElement = "editor" | "block" | "blockGroup" | "blockCont
8
8
  export type BlockNoteDOMAttributes = Partial<{
9
9
  [DOMElement in BlockNoteDOMElement]: Record<string, string>;
10
10
  }>;
11
+ export type FileBlockConfig = {
12
+ type: string;
13
+ readonly propSchema: PropSchema & {
14
+ caption: {
15
+ default: "";
16
+ };
17
+ name: {
18
+ default: "";
19
+ };
20
+ url?: {
21
+ default: "";
22
+ };
23
+ showPreview?: {
24
+ default: boolean;
25
+ };
26
+ previewWidth?: {
27
+ default: number;
28
+ };
29
+ };
30
+ content: "none";
31
+ isFileBlock: true;
32
+ isFileBlockPlaceholder: (block: any) => boolean;
33
+ fileBlockAcceptMimeTypes?: string[];
34
+ };
11
35
  export type BlockConfig = {
12
36
  type: string;
13
37
  readonly propSchema: PropSchema;
14
38
  content: "inline" | "none" | "table";
15
- };
39
+ isFileBlock?: false;
40
+ } | FileBlockConfig;
16
41
  export type TiptapBlockImplementation<T extends BlockConfig, B extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema> = {
17
42
  requiredExtensions?: Array<Extension | Node>;
18
43
  node: Node;
@@ -1 +1,2 @@
1
1
  export declare function camelToDataKebab(str: string): string;
2
+ export declare function filenameFromURL(url: string): string;