@blocknote/core 0.19.0 → 0.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +2 -0
  2. package/dist/blocknote.js +2990 -2898
  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/src/api/blockManipulation/commands/moveBlock/moveBlock.test.js +5 -1
  7. package/dist/src/api/blockManipulation/commands/moveBlock/moveBlock.test.js.map +1 -1
  8. package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.js +2 -40
  9. package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.js.map +1 -1
  10. package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.js +4 -0
  11. package/dist/src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.js.map +1 -1
  12. package/dist/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.js +51 -9
  13. package/dist/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.js.map +1 -1
  14. package/dist/src/api/blockManipulation/commands/splitBlock/splitBlock.js +2 -2
  15. package/dist/src/api/blockManipulation/commands/splitBlock/splitBlock.js.map +1 -1
  16. package/dist/src/api/clipboard/fromClipboard/acceptedMIMETypes.js +1 -1
  17. package/dist/src/api/clipboard/fromClipboard/acceptedMIMETypes.js.map +1 -1
  18. package/dist/src/api/clipboard/fromClipboard/handleFileInsertion.js +4 -2
  19. package/dist/src/api/clipboard/fromClipboard/handleFileInsertion.js.map +1 -1
  20. package/dist/src/api/clipboard/fromClipboard/handleVSCodePaste.js +3 -3
  21. package/dist/src/api/clipboard/fromClipboard/handleVSCodePaste.js.map +1 -1
  22. package/dist/src/api/getBlockInfoFromPos.js +19 -25
  23. package/dist/src/api/getBlockInfoFromPos.js.map +1 -1
  24. package/dist/src/blocks/CodeBlockContent/CodeBlockContent.js +15 -7
  25. package/dist/src/blocks/CodeBlockContent/CodeBlockContent.js.map +1 -1
  26. package/dist/src/blocks/CodeBlockContent/defaultSupportedLanguages.js +38 -18
  27. package/dist/src/blocks/CodeBlockContent/defaultSupportedLanguages.js.map +1 -1
  28. package/dist/src/blocks/HeadingBlockContent/HeadingBlockContent.js +8 -4
  29. package/dist/src/blocks/HeadingBlockContent/HeadingBlockContent.js.map +1 -1
  30. package/dist/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.js +5 -3
  31. package/dist/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.js.map +1 -1
  32. package/dist/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.js +12 -6
  33. package/dist/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.js.map +1 -1
  34. package/dist/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.js +5 -1
  35. package/dist/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.js.map +1 -1
  36. package/dist/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.js +4 -2
  37. package/dist/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.js.map +1 -1
  38. package/dist/src/blocks/ParagraphBlockContent/ParagraphBlockContent.js +2 -1
  39. package/dist/src/blocks/ParagraphBlockContent/ParagraphBlockContent.js.map +1 -1
  40. package/dist/src/blocks/TableBlockContent/TableBlockContent.js +0 -1
  41. package/dist/src/blocks/TableBlockContent/TableBlockContent.js.map +1 -1
  42. package/dist/src/editor/BlockNoteEditor.js +42 -43
  43. package/dist/src/editor/BlockNoteEditor.js.map +1 -1
  44. package/dist/src/editor/BlockNoteEditor.test.js +2 -2
  45. package/dist/src/editor/BlockNoteEditor.test.js.map +1 -1
  46. package/dist/src/editor/BlockNoteExtensions.js +52 -6
  47. package/dist/src/editor/BlockNoteExtensions.js.map +1 -1
  48. package/dist/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.js +36 -6
  49. package/dist/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.js.map +1 -1
  50. package/dist/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.js +35 -32
  51. package/dist/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.js.map +1 -1
  52. package/dist/src/extensions/Placeholder/PlaceholderPlugin.js +74 -71
  53. package/dist/src/extensions/Placeholder/PlaceholderPlugin.js.map +1 -1
  54. package/dist/src/extensions/PreviousBlockType/PreviousBlockTypePlugin.js +153 -149
  55. package/dist/src/extensions/PreviousBlockType/PreviousBlockTypePlugin.js.map +1 -1
  56. package/dist/src/extensions/SideMenu/SideMenuPlugin.js +5 -1
  57. package/dist/src/extensions/SideMenu/SideMenuPlugin.js.map +1 -1
  58. package/dist/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.js +0 -3
  59. package/dist/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.js.map +1 -1
  60. package/dist/src/index.js +1 -0
  61. package/dist/src/index.js.map +1 -1
  62. package/dist/style.css +1 -1
  63. package/dist/tsconfig.tsbuildinfo +1 -1
  64. package/dist/webpack-stats.json +1 -1
  65. package/package.json +2 -2
  66. package/src/api/blockManipulation/commands/insertBlocks/__snapshots__/insertBlocks.test.ts.snap +0 -6
  67. package/src/api/blockManipulation/commands/mergeBlocks/__snapshots__/mergeBlocks.test.ts.snap +0 -5
  68. package/src/api/blockManipulation/commands/moveBlock/__snapshots__/moveBlock.test.ts.snap +0 -8
  69. package/src/api/blockManipulation/commands/moveBlock/moveBlock.test.ts +7 -3
  70. package/src/api/blockManipulation/commands/removeBlocks/__snapshots__/removeBlocks.test.ts.snap +439 -2
  71. package/src/api/blockManipulation/commands/removeBlocks/removeBlocks.test.ts +6 -0
  72. package/src/api/blockManipulation/commands/removeBlocks/removeBlocks.ts +2 -82
  73. package/src/api/blockManipulation/commands/replaceBlocks/__snapshots__/replaceBlocks.test.ts.snap +0 -8
  74. package/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts +96 -20
  75. package/src/api/blockManipulation/commands/splitBlock/__snapshots__/splitBlock.test.ts.snap +0 -6
  76. package/src/api/blockManipulation/commands/splitBlock/splitBlock.ts +2 -5
  77. package/src/api/blockManipulation/commands/updateBlock/__snapshots__/updateBlock.test.ts.snap +0 -490
  78. package/src/api/clipboard/fromClipboard/acceptedMIMETypes.ts +1 -1
  79. package/src/api/clipboard/fromClipboard/handleFileInsertion.ts +6 -5
  80. package/src/api/clipboard/fromClipboard/handleVSCodePaste.ts +4 -4
  81. package/src/api/getBlockInfoFromPos.ts +20 -30
  82. package/src/api/parsers/html/__snapshots__/parse-notion-html.json +1 -2
  83. package/src/blocks/CodeBlockContent/CodeBlockContent.ts +18 -8
  84. package/src/blocks/CodeBlockContent/defaultSupportedLanguages.ts +38 -18
  85. package/src/blocks/HeadingBlockContent/HeadingBlockContent.ts +16 -4
  86. package/src/blocks/ListItemBlockContent/BulletListItemBlockContent/BulletListItemBlockContent.ts +9 -3
  87. package/src/blocks/ListItemBlockContent/CheckListItemBlockContent/CheckListItemBlockContent.ts +22 -6
  88. package/src/blocks/ListItemBlockContent/ListItemKeyboardShortcuts.ts +5 -3
  89. package/src/blocks/ListItemBlockContent/NumberedListItemBlockContent/NumberedListItemBlockContent.ts +8 -2
  90. package/src/blocks/ParagraphBlockContent/ParagraphBlockContent.ts +4 -1
  91. package/src/blocks/TableBlockContent/TableBlockContent.ts +0 -1
  92. package/src/editor/Block.css +3 -0
  93. package/src/editor/BlockNoteEditor.test.ts +2 -5
  94. package/src/editor/BlockNoteEditor.ts +77 -42
  95. package/src/editor/BlockNoteExtensions.ts +90 -14
  96. package/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts +36 -9
  97. package/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.ts +45 -42
  98. package/src/extensions/Placeholder/PlaceholderPlugin.ts +94 -90
  99. package/src/extensions/PreviousBlockType/PreviousBlockTypePlugin.ts +173 -169
  100. package/src/extensions/SideMenu/SideMenuPlugin.ts +5 -1
  101. package/src/extensions/SuggestionMenu/getDefaultSlashMenuItems.ts +0 -5
  102. package/src/index.ts +1 -0
  103. package/types/src/api/blockManipulation/commands/removeBlocks/removeBlocks.d.ts +0 -3
  104. package/types/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.d.ts +4 -0
  105. package/types/src/api/blockManipulation/setupTestEnv.d.ts +0 -6
  106. package/types/src/api/clipboard/fromClipboard/acceptedMIMETypes.d.ts +1 -1
  107. package/types/src/api/getBlockInfoFromPos.d.ts +9 -34
  108. package/types/src/api/testUtil/cases/customBlocks.d.ts +0 -6
  109. package/types/src/api/testUtil/cases/customInlineContent.d.ts +0 -6
  110. package/types/src/api/testUtil/cases/customStyles.d.ts +0 -6
  111. package/types/src/blocks/TableBlockContent/TableBlockContent.d.ts +0 -9
  112. package/types/src/blocks/defaultBlocks.d.ts +0 -12
  113. package/types/src/editor/BlockNoteEditor.d.ts +19 -2
  114. package/types/src/editor/BlockNoteExtensions.d.ts +14 -7
  115. package/types/src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.d.ts +4 -1
  116. package/types/src/extensions/Placeholder/PlaceholderPlugin.d.ts +4 -1
  117. package/types/src/extensions/PreviousBlockType/PreviousBlockTypePlugin.d.ts +4 -5
  118. package/types/src/extensions/SideMenu/SideMenuPlugin.d.ts +1 -1
  119. package/types/src/index.d.ts +1 -0
@@ -10,7 +10,16 @@ import { createDropFileExtension } from "../api/clipboard/fromClipboard/fileDrop
10
10
  import { createPasteFromClipboardExtension } from "../api/clipboard/fromClipboard/pasteExtension.js";
11
11
  import { createCopyToClipboardExtension } from "../api/clipboard/toClipboard/copyExtension.js";
12
12
  import { BackgroundColorExtension } from "../extensions/BackgroundColor/BackgroundColorExtension.js";
13
+ import { FilePanelProsemirrorPlugin } from "../extensions/FilePanel/FilePanelPlugin.js";
14
+ import { FormattingToolbarProsemirrorPlugin } from "../extensions/FormattingToolbar/FormattingToolbarPlugin.js";
13
15
  import { KeyboardShortcutsExtension } from "../extensions/KeyboardShortcuts/KeyboardShortcutsExtension.js";
16
+ import { LinkToolbarProsemirrorPlugin } from "../extensions/LinkToolbar/LinkToolbarPlugin.js";
17
+ import { NodeSelectionKeyboardPlugin } from "../extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.js";
18
+ import { PlaceholderPlugin } from "../extensions/Placeholder/PlaceholderPlugin.js";
19
+ import { PreviousBlockTypePlugin } from "../extensions/PreviousBlockType/PreviousBlockTypePlugin.js";
20
+ import { SideMenuProsemirrorPlugin } from "../extensions/SideMenu/SideMenuPlugin.js";
21
+ import { SuggestionMenuProseMirrorPlugin } from "../extensions/SuggestionMenu/SuggestionPlugin.js";
22
+ import { TableHandlesProsemirrorPlugin } from "../extensions/TableHandles/TableHandlesPlugin.js";
14
23
  import { TextAlignmentExtension } from "../extensions/TextAlignment/TextAlignmentExtension.js";
15
24
  import { TextColorExtension } from "../extensions/TextColor/TextColorExtension.js";
16
25
  import { TrailingNode } from "../extensions/TrailingNode/TrailingNodeExtension.js";
@@ -20,7 +29,44 @@ import { BlockContainer, BlockGroup, Doc } from "../pm-nodes/index.js";
20
29
  * Get all the Tiptap extensions BlockNote is configured with by default
21
30
  */
22
31
  export const getBlockNoteExtensions = (opts) => {
23
- const ret = [
32
+ const ret = {};
33
+ const tiptapExtensions = getTipTapExtensions(opts);
34
+ for (const ext of tiptapExtensions) {
35
+ ret[ext.name] = ext;
36
+ }
37
+ // Note: this is pretty hardcoded and will break when user provides plugins with same keys.
38
+ // Define name on plugins instead and not make this a map?
39
+ ret["formattingToolbar"] = new FormattingToolbarProsemirrorPlugin(opts.editor);
40
+ ret["linkToolbar"] = new LinkToolbarProsemirrorPlugin(opts.editor);
41
+ ret["sideMenu"] = new SideMenuProsemirrorPlugin(opts.editor);
42
+ ret["suggestionMenus"] = new SuggestionMenuProseMirrorPlugin(opts.editor);
43
+ ret["filePanel"] = new FilePanelProsemirrorPlugin(opts.editor);
44
+ ret["placeholder"] = new PlaceholderPlugin(opts.editor, opts.placeholders);
45
+ if (opts.animations ?? true) {
46
+ ret["animations"] = new PreviousBlockTypePlugin();
47
+ }
48
+ if (opts.tableHandles) {
49
+ ret["tableHandles"] = new TableHandlesProsemirrorPlugin(opts.editor);
50
+ }
51
+ ret["dropCursor"] = {
52
+ plugin: opts.dropCursor({
53
+ width: 5,
54
+ color: "#ddeeff",
55
+ editor: opts.editor,
56
+ }),
57
+ };
58
+ ret["nodeSelectionKeyboard"] = new NodeSelectionKeyboardPlugin();
59
+ const disableExtensions = opts.disableExtensions || [];
60
+ for (const ext of disableExtensions) {
61
+ delete ret[ext];
62
+ }
63
+ return ret;
64
+ };
65
+ /**
66
+ * Get all the Tiptap extensions BlockNote is configured with by default
67
+ */
68
+ const getTipTapExtensions = (opts) => {
69
+ const tiptapExtensions = [
24
70
  extensions.ClipboardTextSerializer,
25
71
  extensions.Commands,
26
72
  extensions.Editable,
@@ -40,6 +86,7 @@ export const getBlockNoteExtensions = (opts) => {
40
86
  Text,
41
87
  // marks:
42
88
  Link.extend({
89
+ inclusive: false,
43
90
  addKeyboardShortcuts() {
44
91
  return {
45
92
  "Mod-k": () => {
@@ -113,7 +160,7 @@ export const getBlockNoteExtensions = (opts) => {
113
160
  : []),
114
161
  ];
115
162
  if (opts.collaboration) {
116
- ret.push(Collaboration.configure({
163
+ tiptapExtensions.push(Collaboration.configure({
117
164
  fragment: opts.collaboration.fragment,
118
165
  }));
119
166
  if (opts.collaboration.provider?.awareness) {
@@ -132,7 +179,7 @@ export const getBlockNoteExtensions = (opts) => {
132
179
  cursor.insertBefore(nonbreakingSpace2, null);
133
180
  return cursor;
134
181
  };
135
- ret.push(CollaborationCursor.configure({
182
+ tiptapExtensions.push(CollaborationCursor.configure({
136
183
  user: opts.collaboration.user,
137
184
  render: opts.collaboration.renderCursor || defaultRender,
138
185
  provider: opts.collaboration.provider,
@@ -141,9 +188,8 @@ export const getBlockNoteExtensions = (opts) => {
141
188
  }
142
189
  else {
143
190
  // disable history extension when collaboration is enabled as Yjs takes care of undo / redo
144
- ret.push(History);
191
+ tiptapExtensions.push(History);
145
192
  }
146
- const disableExtensions = opts.disableExtensions || [];
147
- return ret.filter((ex) => !disableExtensions.includes(ex.name));
193
+ return tiptapExtensions;
148
194
  };
149
195
  //# sourceMappingURL=BlockNoteExtensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockNoteExtensions.js","sourceRoot":"","sources":["../../../src/editor/BlockNoteExtensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlockNoteExtensions.js","sourceRoot":"","sources":["../../../src/editor/BlockNoteExtensions.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,9 @@ export const KeyboardShortcutsExtension = Extension.create({
20
20
  // Reverts block content type to a paragraph if the selection is at the start of the block.
21
21
  () => commands.command(({ state }) => {
22
22
  const blockInfo = getBlockInfoFromSelection(state);
23
+ if (!blockInfo.isBlockContainer) {
24
+ return false;
25
+ }
23
26
  const selectionAtBlockStart = state.selection.from === blockInfo.blockContent.beforePos + 1;
24
27
  const isParagraph = blockInfo.blockContent.node.type.name === "paragraph";
25
28
  if (selectionAtBlockStart && !isParagraph) {
@@ -32,7 +35,11 @@ export const KeyboardShortcutsExtension = Extension.create({
32
35
  }),
33
36
  // Removes a level of nesting if the block is indented if the selection is at the start of the block.
34
37
  () => commands.command(({ state }) => {
35
- const { blockContent } = getBlockInfoFromSelection(state);
38
+ const blockInfo = getBlockInfoFromSelection(state);
39
+ if (!blockInfo.isBlockContainer) {
40
+ return false;
41
+ }
42
+ const { blockContent } = blockInfo;
36
43
  const selectionAtBlockStart = state.selection.from === blockContent.beforePos + 1;
37
44
  if (selectionAtBlockStart) {
38
45
  return commands.liftListItem("blockContainer");
@@ -42,7 +49,11 @@ export const KeyboardShortcutsExtension = Extension.create({
42
49
  // Merges block with the previous one if it isn't indented, and the selection is at the start of the
43
50
  // block. The target block for merging must contain inline content.
44
51
  () => commands.command(({ state }) => {
45
- const { bnBlock: blockContainer, blockContent } = getBlockInfoFromSelection(state);
52
+ const blockInfo = getBlockInfoFromSelection(state);
53
+ if (!blockInfo.isBlockContainer) {
54
+ return false;
55
+ }
56
+ const { bnBlock: blockContainer, blockContent } = blockInfo;
46
57
  const selectionAtBlockStart = state.selection.from === blockContent.beforePos + 1;
47
58
  const selectionEmpty = state.selection.empty;
48
59
  const posBetweenBlocks = blockContainer.beforePos;
@@ -57,6 +68,9 @@ export const KeyboardShortcutsExtension = Extension.create({
57
68
  () => commands.command(({ state, dispatch }) => {
58
69
  // when at the start of a first block in a column
59
70
  const blockInfo = getBlockInfoFromSelection(state);
71
+ if (!blockInfo.isBlockContainer) {
72
+ return false;
73
+ }
60
74
  const selectionAtBlockStart = state.selection.from === blockInfo.blockContent.beforePos + 1;
61
75
  if (!selectionAtBlockStart) {
62
76
  return false;
@@ -191,7 +205,11 @@ export const KeyboardShortcutsExtension = Extension.create({
191
205
  // end of the block.
192
206
  () => commands.command(({ state }) => {
193
207
  // TODO: Change this to not rely on offsets & schema assumptions
194
- const { bnBlock: blockContainer, blockContent, childContainer, } = getBlockInfoFromSelection(state);
208
+ const blockInfo = getBlockInfoFromSelection(state);
209
+ if (!blockInfo.isBlockContainer) {
210
+ return false;
211
+ }
212
+ const { bnBlock: blockContainer, blockContent, childContainer, } = blockInfo;
195
213
  const { depth } = state.doc.resolve(blockContainer.beforePos);
196
214
  const blockAtDocEnd = blockContainer.afterPos === state.doc.nodeSize - 3;
197
215
  const selectionAtBlockEnd = state.selection.from === blockContent.afterPos - 1;
@@ -218,7 +236,11 @@ export const KeyboardShortcutsExtension = Extension.create({
218
236
  // Removes a level of nesting if the block is empty & indented, while the selection is also empty & at the start
219
237
  // of the block.
220
238
  () => commands.command(({ state }) => {
221
- const { blockContent, bnBlock: blockContainer } = getBlockInfoFromSelection(state);
239
+ const blockInfo = getBlockInfoFromSelection(state);
240
+ if (!blockInfo.isBlockContainer) {
241
+ return false;
242
+ }
243
+ const { bnBlock: blockContainer, blockContent } = blockInfo;
222
244
  const { depth } = state.doc.resolve(blockContainer.beforePos);
223
245
  const selectionAtBlockStart = state.selection.$anchor.parentOffset === 0;
224
246
  const selectionEmpty = state.selection.anchor === state.selection.head;
@@ -235,7 +257,11 @@ export const KeyboardShortcutsExtension = Extension.create({
235
257
  // Creates a new block and moves the selection to it if the current one is empty, while the selection is also
236
258
  // empty & at the start of the block.
237
259
  () => commands.command(({ state, dispatch }) => {
238
- const { bnBlock: blockContainer, blockContent } = getBlockInfoFromSelection(state);
260
+ const blockInfo = getBlockInfoFromSelection(state);
261
+ if (!blockInfo.isBlockContainer) {
262
+ return false;
263
+ }
264
+ const { bnBlock: blockContainer, blockContent } = blockInfo;
239
265
  const selectionAtBlockStart = state.selection.$anchor.parentOffset === 0;
240
266
  const selectionEmpty = state.selection.anchor === state.selection.head;
241
267
  const blockEmpty = blockContent.node.childCount === 0;
@@ -256,7 +282,11 @@ export const KeyboardShortcutsExtension = Extension.create({
256
282
  // Splits the current block, moving content inside that's after the cursor to a new text block below. Also
257
283
  // deletes the selection beforehand, if it's not empty.
258
284
  () => commands.command(({ state, chain }) => {
259
- const { blockContent } = getBlockInfoFromSelection(state);
285
+ const blockInfo = getBlockInfoFromSelection(state);
286
+ if (!blockInfo.isBlockContainer) {
287
+ return false;
288
+ }
289
+ const { blockContent } = blockInfo;
260
290
  const selectionAtBlockStart = state.selection.$anchor.parentOffset === 0;
261
291
  const blockEmpty = blockContent.node.childCount === 0;
262
292
  if (!blockEmpty) {
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardShortcutsExtension.js","sourceRoot":"","sources":["../../../../src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeyboardShortcutsExtension.js","sourceRoot":"","sources":["../../../../src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts"],"names":[],"mappings":"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"}
@@ -14,38 +14,41 @@ const PLUGIN_KEY = new PluginKey("node-selection-keyboard");
14
14
  // While a more elegant solution would probably process transactions instead of
15
15
  // keystrokes, this brings us most of the way to Notion's UX without much added
16
16
  // complexity.
17
- export const NodeSelectionKeyboardPlugin = () => {
18
- return new Plugin({
19
- key: PLUGIN_KEY,
20
- props: {
21
- handleKeyDown: (view, event) => {
22
- // Checks for node selection
23
- if ("node" in view.state.selection) {
24
- // Checks if key press uses ctrl/meta modifier
25
- if (event.ctrlKey || event.metaKey) {
26
- return false;
17
+ export class NodeSelectionKeyboardPlugin {
18
+ plugin;
19
+ constructor() {
20
+ this.plugin = new Plugin({
21
+ key: PLUGIN_KEY,
22
+ props: {
23
+ handleKeyDown: (view, event) => {
24
+ // Checks for node selection
25
+ if ("node" in view.state.selection) {
26
+ // Checks if key press uses ctrl/meta modifier
27
+ if (event.ctrlKey || event.metaKey) {
28
+ return false;
29
+ }
30
+ // Checks if key press is alphanumeric
31
+ if (event.key.length === 1) {
32
+ event.preventDefault();
33
+ return true;
34
+ }
35
+ // Checks if key press is Enter
36
+ if (event.key === "Enter" &&
37
+ !event.shiftKey &&
38
+ !event.altKey &&
39
+ !event.ctrlKey &&
40
+ !event.metaKey) {
41
+ const tr = view.state.tr;
42
+ view.dispatch(tr
43
+ .insert(view.state.tr.selection.$to.after(), view.state.schema.nodes["paragraph"].createChecked())
44
+ .setSelection(new TextSelection(tr.doc.resolve(view.state.tr.selection.$to.after() + 1))));
45
+ return true;
46
+ }
27
47
  }
28
- // Checks if key press is alphanumeric
29
- if (event.key.length === 1) {
30
- event.preventDefault();
31
- return true;
32
- }
33
- // Checks if key press is Enter
34
- if (event.key === "Enter" &&
35
- !event.shiftKey &&
36
- !event.altKey &&
37
- !event.ctrlKey &&
38
- !event.metaKey) {
39
- const tr = view.state.tr;
40
- view.dispatch(tr
41
- .insert(view.state.tr.selection.$to.after(), view.state.schema.nodes["paragraph"].createChecked())
42
- .setSelection(new TextSelection(tr.doc.resolve(view.state.tr.selection.$to.after() + 1))));
43
- return true;
44
- }
45
- }
46
- return false;
48
+ return false;
49
+ },
47
50
  },
48
- },
49
- });
50
- };
51
+ });
52
+ }
53
+ }
51
54
  //# sourceMappingURL=NodeSelectionKeyboardPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSelectionKeyboardPlugin.js","sourceRoot":"","sources":["../../../../src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAC;AAC5D,4EAA4E;AAC5E,+EAA+E;AAC/E,uEAAuE;AACvE,EAAE;AACF,+EAA+E;AAC/E,sDAAsD;AACtD,4EAA4E;AAC5E,4CAA4C;AAC5C,6EAA6E;AAC7E,0EAA0E;AAC1E,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,cAAc;AACd,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,OAAO,IAAI,MAAM,CAAC;QAChB,GAAG,EAAE,UAAU;QACf,KAAK,EAAE;YACL,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC7B,4BAA4B;gBAC5B,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACnC,8CAA8C;oBAC9C,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBACnC,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,sCAAsC;oBACtC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;wBAEvB,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,+BAA+B;oBAC/B,IACE,KAAK,CAAC,GAAG,KAAK,OAAO;wBACrB,CAAC,KAAK,CAAC,QAAQ;wBACf,CAAC,KAAK,CAAC,MAAM;wBACb,CAAC,KAAK,CAAC,OAAO;wBACd,CAAC,KAAK,CAAC,OAAO,EACd,CAAC;wBACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,IAAI,CAAC,QAAQ,CACX,EAAE;6BACC,MAAM,CACL,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CACrD;6BACA,YAAY,CACX,IAAI,aAAa,CACf,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CACxD,CACF,CACJ,CAAC;wBAEF,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"NodeSelectionKeyboardPlugin.js","sourceRoot":"","sources":["../../../../src/extensions/NodeSelectionKeyboard/NodeSelectionKeyboardPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAC;AAC5D,4EAA4E;AAC5E,+EAA+E;AAC/E,uEAAuE;AACvE,EAAE;AACF,+EAA+E;AAC/E,sDAAsD;AACtD,4EAA4E;AAC5E,4CAA4C;AAC5C,6EAA6E;AAC7E,0EAA0E;AAC1E,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,cAAc;AACd,MAAM,OAAO,2BAA2B;IACtB,MAAM,CAAS;IAC/B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,GAAG,EAAE,UAAU;YACf,KAAK,EAAE;gBACL,aAAa,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAC7B,4BAA4B;oBAC5B,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBACnC,8CAA8C;wBAC9C,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;4BACnC,OAAO,KAAK,CAAC;wBACf,CAAC;wBACD,sCAAsC;wBACtC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;4BAEvB,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,+BAA+B;wBAC/B,IACE,KAAK,CAAC,GAAG,KAAK,OAAO;4BACrB,CAAC,KAAK,CAAC,QAAQ;4BACf,CAAC,KAAK,CAAC,MAAM;4BACb,CAAC,KAAK,CAAC,OAAO;4BACd,CAAC,KAAK,CAAC,OAAO,EACd,CAAC;4BACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACzB,IAAI,CAAC,QAAQ,CACX,EAAE;iCACC,MAAM,CACL,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CACrD;iCACA,YAAY,CACX,IAAI,aAAa,CACf,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CACxD,CACF,CACJ,CAAC;4BAEF,OAAO,IAAI,CAAC;wBACd,CAAC;oBACH,CAAC;oBAED,OAAO,KAAK,CAAC;gBACf,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,81 +1,84 @@
1
1
  import { Plugin, PluginKey } from "prosemirror-state";
2
2
  import { Decoration, DecorationSet } from "prosemirror-view";
3
3
  const PLUGIN_KEY = new PluginKey(`blocknote-placeholder`);
4
- export const PlaceholderPlugin = (editor, placeholders) => {
5
- return new Plugin({
6
- key: PLUGIN_KEY,
7
- view: () => {
8
- const styleEl = document.createElement("style");
9
- const nonce = editor._tiptapEditor.options.injectNonce;
10
- if (nonce) {
11
- styleEl.setAttribute("nonce", nonce);
12
- }
13
- if (editor._tiptapEditor.view.root instanceof ShadowRoot) {
14
- editor._tiptapEditor.view.root.append(styleEl);
15
- }
16
- else {
17
- editor._tiptapEditor.view.root.head.appendChild(styleEl);
18
- }
19
- const styleSheet = styleEl.sheet;
20
- const getBaseSelector = (additionalSelectors = "") => `.bn-block-content${additionalSelectors} .bn-inline-content:has(> .ProseMirror-trailingBreak:only-child):before`;
21
- const getSelector = (blockType, mustBeFocused = true) => {
22
- const mustBeFocusedSelector = mustBeFocused
23
- ? `[data-is-empty-and-focused]`
24
- : ``;
25
- if (blockType === "default") {
26
- return getBaseSelector(mustBeFocusedSelector);
4
+ export class PlaceholderPlugin {
5
+ plugin;
6
+ constructor(editor, placeholders) {
7
+ this.plugin = new Plugin({
8
+ key: PLUGIN_KEY,
9
+ view: () => {
10
+ const styleEl = document.createElement("style");
11
+ const nonce = editor._tiptapEditor.options.injectNonce;
12
+ if (nonce) {
13
+ styleEl.setAttribute("nonce", nonce);
27
14
  }
28
- const blockTypeSelector = `[data-content-type="${blockType}"]`;
29
- return getBaseSelector(mustBeFocusedSelector + blockTypeSelector);
30
- };
31
- for (const [blockType, placeholder] of Object.entries(placeholders)) {
32
- const mustBeFocused = blockType === "default";
33
- styleSheet.insertRule(`${getSelector(blockType, mustBeFocused)}{ content: ${JSON.stringify(placeholder)}; }`);
34
- // For some reason, the placeholders which show when the block is focused
35
- // take priority over ones which show depending on block type, so we need
36
- // to make sure the block specific ones are also used when the block is
37
- // focused.
38
- if (!mustBeFocused) {
39
- styleSheet.insertRule(`${getSelector(blockType, true)}{ content: ${JSON.stringify(placeholder)}; }`);
15
+ if (editor._tiptapEditor.view.root instanceof ShadowRoot) {
16
+ editor._tiptapEditor.view.root.append(styleEl);
40
17
  }
41
- }
42
- return {
43
- destroy: () => {
44
- if (editor._tiptapEditor.view.root instanceof ShadowRoot) {
45
- editor._tiptapEditor.view.root.removeChild(styleEl);
18
+ else {
19
+ editor._tiptapEditor.view.root.head.appendChild(styleEl);
20
+ }
21
+ const styleSheet = styleEl.sheet;
22
+ const getBaseSelector = (additionalSelectors = "") => `.bn-block-content${additionalSelectors} .bn-inline-content:has(> .ProseMirror-trailingBreak:only-child):before`;
23
+ const getSelector = (blockType, mustBeFocused = true) => {
24
+ const mustBeFocusedSelector = mustBeFocused
25
+ ? `[data-is-empty-and-focused]`
26
+ : ``;
27
+ if (blockType === "default") {
28
+ return getBaseSelector(mustBeFocusedSelector);
46
29
  }
47
- else {
48
- editor._tiptapEditor.view.root.head.removeChild(styleEl);
30
+ const blockTypeSelector = `[data-content-type="${blockType}"]`;
31
+ return getBaseSelector(mustBeFocusedSelector + blockTypeSelector);
32
+ };
33
+ for (const [blockType, placeholder] of Object.entries(placeholders)) {
34
+ const mustBeFocused = blockType === "default";
35
+ styleSheet.insertRule(`${getSelector(blockType, mustBeFocused)}{ content: ${JSON.stringify(placeholder)}; }`);
36
+ // For some reason, the placeholders which show when the block is focused
37
+ // take priority over ones which show depending on block type, so we need
38
+ // to make sure the block specific ones are also used when the block is
39
+ // focused.
40
+ if (!mustBeFocused) {
41
+ styleSheet.insertRule(`${getSelector(blockType, true)}{ content: ${JSON.stringify(placeholder)}; }`);
49
42
  }
50
- },
51
- };
52
- },
53
- props: {
54
- // TODO: maybe also add placeholder for empty document ("e.g.: start writing..")
55
- decorations: (state) => {
56
- const { doc, selection } = state;
57
- if (!editor.isEditable) {
58
- return;
59
- }
60
- if (!selection.empty) {
61
- return;
62
43
  }
63
- // Don't show placeholder when the cursor is inside a code block
64
- if (selection.$from.parent.type.spec.code) {
65
- return;
66
- }
67
- const $pos = selection.$anchor;
68
- const node = $pos.parent;
69
- if (node.content.size > 0) {
70
- return null;
71
- }
72
- const before = $pos.before();
73
- const dec = Decoration.node(before, before + node.nodeSize, {
74
- "data-is-empty-and-focused": "true",
75
- });
76
- return DecorationSet.create(doc, [dec]);
44
+ return {
45
+ destroy: () => {
46
+ if (editor._tiptapEditor.view.root instanceof ShadowRoot) {
47
+ editor._tiptapEditor.view.root.removeChild(styleEl);
48
+ }
49
+ else {
50
+ editor._tiptapEditor.view.root.head.removeChild(styleEl);
51
+ }
52
+ },
53
+ };
54
+ },
55
+ props: {
56
+ // TODO: maybe also add placeholder for empty document ("e.g.: start writing..")
57
+ decorations: (state) => {
58
+ const { doc, selection } = state;
59
+ if (!editor.isEditable) {
60
+ return;
61
+ }
62
+ if (!selection.empty) {
63
+ return;
64
+ }
65
+ // Don't show placeholder when the cursor is inside a code block
66
+ if (selection.$from.parent.type.spec.code) {
67
+ return;
68
+ }
69
+ const $pos = selection.$anchor;
70
+ const node = $pos.parent;
71
+ if (node.content.size > 0) {
72
+ return null;
73
+ }
74
+ const before = $pos.before();
75
+ const dec = Decoration.node(before, before + node.nodeSize, {
76
+ "data-is-empty-and-focused": "true",
77
+ });
78
+ return DecorationSet.create(doc, [dec]);
79
+ },
77
80
  },
78
- },
79
- });
80
- };
81
+ });
82
+ }
83
+ }
81
84
  //# sourceMappingURL=PlaceholderPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlaceholderPlugin.js","sourceRoot":"","sources":["../../../../src/extensions/Placeholder/PlaceholderPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlaceholderPlugin.js","sourceRoot":"","sources":["../../../../src/extensions/Placeholder/PlaceholderPlugin.ts"],"names":[],"mappings":"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"}