@primeui/texteditor-core 0.0.1-alpha.1 → 1.0.0-rc.1

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/LICENSE.md +35 -0
  2. package/README.md +12 -0
  3. package/dist/{chunk-GG56GLXC.mjs → chunks/chunk-25Y5HLDY.mjs} +2 -2
  4. package/dist/chunks/chunk-25Y5HLDY.mjs.map +1 -0
  5. package/dist/{chunk-PT2O4RV7.mjs → chunks/chunk-4BI7WWVV.mjs} +6 -5
  6. package/dist/chunks/chunk-4BI7WWVV.mjs.map +1 -0
  7. package/dist/{chunk-72T5I4O4.mjs → chunks/chunk-4C4R23A3.mjs} +2 -2
  8. package/dist/chunks/chunk-4C4R23A3.mjs.map +1 -0
  9. package/dist/{chunk-PT5V6UYE.mjs → chunks/chunk-4NWX3EPS.mjs} +2 -2
  10. package/dist/chunks/chunk-4NWX3EPS.mjs.map +1 -0
  11. package/dist/{chunk-XKY2VYPW.mjs → chunks/chunk-75IVOL6Q.mjs} +2 -2
  12. package/dist/chunks/chunk-75IVOL6Q.mjs.map +1 -0
  13. package/dist/{chunk-7QCHSEN2.mjs → chunks/chunk-C2TRJCIH.mjs} +2 -2
  14. package/dist/chunks/chunk-C2TRJCIH.mjs.map +1 -0
  15. package/dist/{chunk-AJOKUIQD.mjs → chunks/chunk-C6CEVLOL.mjs} +2 -2
  16. package/dist/chunks/chunk-C6CEVLOL.mjs.map +1 -0
  17. package/dist/{chunk-H3RFOYCT.mjs → chunks/chunk-DAVC2Z22.mjs} +2 -2
  18. package/dist/chunks/chunk-DAVC2Z22.mjs.map +1 -0
  19. package/dist/{chunk-NWRVBNBW.mjs → chunks/chunk-F2THMQFM.mjs} +3 -3
  20. package/dist/chunks/chunk-F2THMQFM.mjs.map +1 -0
  21. package/dist/{chunk-TBQVZVKA.mjs → chunks/chunk-F4KBJIZJ.mjs} +43 -31
  22. package/dist/chunks/chunk-F4KBJIZJ.mjs.map +1 -0
  23. package/dist/{chunk-J5LGTIGS.mjs → chunks/chunk-FLGC65SR.mjs} +2 -2
  24. package/dist/{chunk-J5LGTIGS.mjs.map → chunks/chunk-FLGC65SR.mjs.map} +1 -1
  25. package/dist/{chunk-3RKMABZR.mjs → chunks/chunk-KA3KNPLZ.mjs} +4 -4
  26. package/dist/chunks/chunk-KA3KNPLZ.mjs.map +1 -0
  27. package/dist/{chunk-OGEMGWLR.mjs → chunks/chunk-LHZDU6AA.mjs} +5 -5
  28. package/dist/chunks/chunk-LHZDU6AA.mjs.map +1 -0
  29. package/dist/{chunk-PRFYR67X.mjs → chunks/chunk-LYB4TGKX.mjs} +2 -2
  30. package/dist/chunks/chunk-LYB4TGKX.mjs.map +1 -0
  31. package/dist/{chunk-MNKMKFLQ.mjs → chunks/chunk-MMU3VGMT.mjs} +3 -3
  32. package/dist/chunks/chunk-MMU3VGMT.mjs.map +1 -0
  33. package/dist/{chunk-6YDCG63C.mjs → chunks/chunk-MMY4F74E.mjs} +9 -9
  34. package/dist/chunks/chunk-MMY4F74E.mjs.map +1 -0
  35. package/dist/{chunk-6GY64GPU.mjs → chunks/chunk-MSPB65AH.mjs} +2 -2
  36. package/dist/chunks/chunk-MSPB65AH.mjs.map +1 -0
  37. package/dist/{chunk-KNZAMA6H.mjs → chunks/chunk-NZCWIEXE.mjs} +3 -3
  38. package/dist/chunks/chunk-NZCWIEXE.mjs.map +1 -0
  39. package/dist/{chunk-DXPG5XMX.mjs → chunks/chunk-P4N6CW2J.mjs} +2 -2
  40. package/dist/chunks/chunk-P4N6CW2J.mjs.map +1 -0
  41. package/dist/{chunk-FFCQLWS5.mjs → chunks/chunk-PRW2CBOO.mjs} +2 -2
  42. package/dist/chunks/chunk-PRW2CBOO.mjs.map +1 -0
  43. package/dist/{chunk-IUQKSDKG.mjs → chunks/chunk-PSOP5GNT.mjs} +3 -3
  44. package/dist/chunks/chunk-PSOP5GNT.mjs.map +1 -0
  45. package/dist/{chunk-RH45QRSV.mjs → chunks/chunk-Q7MBG5CT.mjs} +2 -2
  46. package/dist/chunks/chunk-Q7MBG5CT.mjs.map +1 -0
  47. package/dist/{chunk-AUTGNC2Q.mjs → chunks/chunk-QMEKZ64Z.mjs} +6 -6
  48. package/dist/chunks/chunk-QMEKZ64Z.mjs.map +1 -0
  49. package/dist/{chunk-YHMP6AN3.mjs → chunks/chunk-QZUFYVD5.mjs} +4 -4
  50. package/dist/chunks/chunk-QZUFYVD5.mjs.map +1 -0
  51. package/dist/{chunk-22B454VC.mjs → chunks/chunk-RE46J3VH.mjs} +2 -2
  52. package/dist/chunks/chunk-RE46J3VH.mjs.map +1 -0
  53. package/dist/{chunk-MWT5PK3Z.mjs → chunks/chunk-SFUE4QBU.mjs} +2 -2
  54. package/dist/chunks/chunk-SFUE4QBU.mjs.map +1 -0
  55. package/dist/{chunk-TB7ZSSR2.mjs → chunks/chunk-UHENKXGQ.mjs} +2 -2
  56. package/dist/chunks/chunk-UHENKXGQ.mjs.map +1 -0
  57. package/dist/{chunk-GGPBV4BM.mjs → chunks/chunk-UN74246B.mjs} +2 -2
  58. package/dist/chunks/chunk-UN74246B.mjs.map +1 -0
  59. package/dist/{chunk-6ZN5XRH2.mjs → chunks/chunk-UORFAHNO.mjs} +2 -2
  60. package/dist/chunks/chunk-UORFAHNO.mjs.map +1 -0
  61. package/dist/{chunk-E2KXUP3F.mjs → chunks/chunk-VXO6D7N5.mjs} +2 -2
  62. package/dist/chunks/chunk-VXO6D7N5.mjs.map +1 -0
  63. package/dist/{chunk-RQ2HHNI6.mjs → chunks/chunk-XO4UUELZ.mjs} +3 -3
  64. package/dist/chunks/chunk-XO4UUELZ.mjs.map +1 -0
  65. package/dist/{chunk-EA2YI7LA.mjs → chunks/chunk-XOMJOYJG.mjs} +2 -2
  66. package/dist/chunks/chunk-XOMJOYJG.mjs.map +1 -0
  67. package/dist/{chunk-VWGQMUPD.mjs → chunks/chunk-YXOJODMQ.mjs} +3 -3
  68. package/dist/chunks/chunk-YXOJODMQ.mjs.map +1 -0
  69. package/dist/{chunk-XSVIGDQR.mjs → chunks/chunk-Z7KBTB2P.mjs} +2 -2
  70. package/dist/chunks/chunk-Z7KBTB2P.mjs.map +1 -0
  71. package/dist/{chunk-F7BJWPT6.mjs → chunks/chunk-ZSXWDZMQ.mjs} +6 -6
  72. package/dist/chunks/chunk-ZSXWDZMQ.mjs.map +1 -0
  73. package/dist/{chunk-CRAB2MFE.mjs → chunks/chunk-ZUZABDZC.mjs} +2 -2
  74. package/dist/chunks/chunk-ZUZABDZC.mjs.map +1 -0
  75. package/dist/commands/index.mjs +11 -11
  76. package/dist/createTextEditor.mjs +29 -29
  77. package/dist/index.mjs +31 -31
  78. package/dist/plugins/columnWidthPin.mjs +2 -2
  79. package/dist/plugins/contextToolbar.mjs +3 -3
  80. package/dist/plugins/defineTextEditorPlugin.mjs +2 -2
  81. package/dist/plugins/inputRules.mjs +6 -6
  82. package/dist/plugins/keymap.mjs +4 -4
  83. package/dist/plugins/mention.mjs +4 -3
  84. package/dist/plugins/mentionController.mjs +2 -2
  85. package/dist/plugins/placeholder.mjs +3 -3
  86. package/dist/plugins/registry.mjs +2 -2
  87. package/dist/plugins/selectionHighlight.mjs +3 -3
  88. package/dist/plugins/slashCommands.mjs +3 -3
  89. package/dist/plugins/tableOverlay.mjs +4 -4
  90. package/dist/plugins/trailingNode.mjs +2 -2
  91. package/dist/schema/index.mjs +6 -6
  92. package/dist/serialization/index.mjs +3 -3
  93. package/dist/texteditor.classes.mjs +2 -2
  94. package/dist/texteditor.constants.mjs +2 -2
  95. package/dist/texteditor.props.mjs +2 -2
  96. package/dist/texteditor.refs.mjs +2 -2
  97. package/dist/texteditor.state.mjs +2 -2
  98. package/dist/ui/focus.mjs +2 -2
  99. package/dist/ui/index.mjs +7 -7
  100. package/dist/ui/keyboard.mjs +2 -2
  101. package/dist/ui/menu.mjs +2 -2
  102. package/dist/ui/positioning.mjs +3 -3
  103. package/dist/ui/scroll.mjs +2 -2
  104. package/dist/utils/index.mjs +4 -4
  105. package/package.json +6 -10
  106. package/LICENSE +0 -23
  107. package/dist/chunk-22B454VC.mjs.map +0 -1
  108. package/dist/chunk-3RKMABZR.mjs.map +0 -1
  109. package/dist/chunk-6GY64GPU.mjs.map +0 -1
  110. package/dist/chunk-6YDCG63C.mjs.map +0 -1
  111. package/dist/chunk-6ZN5XRH2.mjs.map +0 -1
  112. package/dist/chunk-72T5I4O4.mjs.map +0 -1
  113. package/dist/chunk-7QCHSEN2.mjs.map +0 -1
  114. package/dist/chunk-AJOKUIQD.mjs.map +0 -1
  115. package/dist/chunk-AUTGNC2Q.mjs.map +0 -1
  116. package/dist/chunk-CRAB2MFE.mjs.map +0 -1
  117. package/dist/chunk-DXPG5XMX.mjs.map +0 -1
  118. package/dist/chunk-E2KXUP3F.mjs.map +0 -1
  119. package/dist/chunk-EA2YI7LA.mjs.map +0 -1
  120. package/dist/chunk-F7BJWPT6.mjs.map +0 -1
  121. package/dist/chunk-FFCQLWS5.mjs.map +0 -1
  122. package/dist/chunk-GG56GLXC.mjs.map +0 -1
  123. package/dist/chunk-GGPBV4BM.mjs.map +0 -1
  124. package/dist/chunk-H3RFOYCT.mjs.map +0 -1
  125. package/dist/chunk-IUQKSDKG.mjs.map +0 -1
  126. package/dist/chunk-KNZAMA6H.mjs.map +0 -1
  127. package/dist/chunk-MNKMKFLQ.mjs.map +0 -1
  128. package/dist/chunk-MWT5PK3Z.mjs.map +0 -1
  129. package/dist/chunk-NWRVBNBW.mjs.map +0 -1
  130. package/dist/chunk-OGEMGWLR.mjs.map +0 -1
  131. package/dist/chunk-PRFYR67X.mjs.map +0 -1
  132. package/dist/chunk-PT2O4RV7.mjs.map +0 -1
  133. package/dist/chunk-PT5V6UYE.mjs.map +0 -1
  134. package/dist/chunk-RH45QRSV.mjs.map +0 -1
  135. package/dist/chunk-RQ2HHNI6.mjs.map +0 -1
  136. package/dist/chunk-TB7ZSSR2.mjs.map +0 -1
  137. package/dist/chunk-TBQVZVKA.mjs.map +0 -1
  138. package/dist/chunk-VWGQMUPD.mjs.map +0 -1
  139. package/dist/chunk-XKY2VYPW.mjs.map +0 -1
  140. package/dist/chunk-XSVIGDQR.mjs.map +0 -1
  141. package/dist/chunk-YHMP6AN3.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/plugins/keymap.ts"],"names":[],"mappings":"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","file":"chunk-YHMP6AN3.mjs","sourcesContent":["import { keymap } from 'prosemirror-keymap';\nimport { undo, redo } from 'prosemirror-history';\nimport { toggleMark, selectAll, baseKeymap, setBlockType, wrapIn, lift } from 'prosemirror-commands';\nimport type { Command } from 'prosemirror-state';\nimport { splitListItem, liftListItem, sinkListItem, wrapInList } from 'prosemirror-schema-list';\nimport { goToNextCell } from 'prosemirror-tables';\nimport { TextSelection, AllSelection } from 'prosemirror-state';\nimport type { Node as PMNode, NodeType, Schema } from 'prosemirror-model';\nimport { isNodeActive } from '../state/selection';\nimport { DEFAULT_HIGHLIGHT_COLOR } from '../commands/constants';\n\n// Heading <-> paragraph toggle by level (same level toggles off, different switches).\nfunction toggleHeadingCmd(schema: Schema, level: number): Command {\n return (state, dispatch) => {\n const active = isNodeActive(state, schema.nodes.heading, { level });\n\n return active ? setBlockType(schema.nodes.paragraph)(state, dispatch) : setBlockType(schema.nodes.heading, { level })(state, dispatch);\n };\n}\n\n// Toggle a list on/off: wrap when not active, lift when already in that list.\nfunction toggleListCmd(schema: Schema, listType: NodeType): Command {\n return (state, dispatch) => {\n if (isNodeActive(state, listType)) {\n return liftListItem(schema.nodes.list_item)(state, dispatch) || liftListItem(schema.nodes.check_list_item)(state, dispatch);\n }\n\n return wrapInList(listType)(state, dispatch);\n };\n}\n\nfunction toggleBlockquoteCmd(schema: Schema): Command {\n return (state, dispatch) => (isNodeActive(state, schema.nodes.blockquote) ? lift(state, dispatch) : wrapIn(schema.nodes.blockquote)(state, dispatch));\n}\n\nfunction toggleCodeBlockCmd(schema: Schema): Command {\n return (state, dispatch) => {\n const active = isNodeActive(state, schema.nodes.code_block);\n\n return setBlockType(active ? schema.nodes.paragraph : schema.nodes.code_block)(state, dispatch);\n };\n}\n\n// Toggle a default highlight (textStyle backgroundColor) over the selection.\nfunction toggleHighlightCmd(schema: Schema): Command {\n return (state, dispatch) => {\n const textStyle = schema.marks.textStyle;\n\n if (!textStyle || state.selection.empty) return false;\n\n const { from, to } = state.selection;\n let active = false;\n\n state.doc.nodesBetween(from, to, (node) => {\n const mark = textStyle.isInSet(node.marks);\n\n if (mark?.attrs.backgroundColor) active = true;\n });\n\n if (dispatch) {\n const tr = state.tr;\n\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (!node.isText) return;\n\n const mark = textStyle.isInSet(node.marks);\n const next = { ...(mark?.attrs ?? {}), backgroundColor: active ? null : DEFAULT_HIGHLIGHT_COLOR };\n const start = Math.max(pos, from);\n const end = Math.min(pos + node.nodeSize, to);\n\n tr.removeMark(start, end, textStyle);\n\n if (Object.values(next).some((v) => v != null)) tr.addMark(start, end, textStyle.create(next));\n });\n\n dispatch(tr);\n }\n\n return true;\n };\n}\n\nfunction setAlignCmd(alignment: string | null): Command {\n return (state, dispatch) => {\n const { from, to } = state.selection;\n const tr = state.tr;\n let changed = false;\n\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (node.type.spec.attrs?.textAlign !== undefined) {\n tr.setNodeMarkup(pos, null, { ...node.attrs, textAlign: alignment });\n changed = true;\n }\n });\n\n if (!changed) return false;\n if (dispatch) dispatch(tr);\n\n return true;\n };\n}\n\nfunction forAnyListItem(schema: Schema, fn: (nodeType: NodeType) => Command): Command {\n const listItemCmd = fn(schema.nodes.list_item);\n const checkListItemCmd = fn(schema.nodes.check_list_item);\n\n return (state, dispatch) => listItemCmd(state, dispatch) || checkListItemCmd(state, dispatch);\n}\n\nfunction isUploadPlaceholder(schema: Schema, node: PMNode | null): boolean {\n return !!node && (node.type === schema.nodes.image_upload_placeholder || node.type === schema.nodes.document_upload_placeholder);\n}\n\n// Upload placeholders are non-selectable atoms (they own a dismiss control), so\n// they can't be selected and deleted normally. Let Backspace/Delete remove the\n// placeholder adjacent to a collapsed caret, matching normal node deletion.\nfunction deleteAdjacentPlaceholder(schema: Schema, dir: -1 | 1): Command {\n return (state, dispatch) => {\n const { $from, empty } = state.selection;\n\n if (!empty) return false;\n\n const target = dir < 0 ? $from.nodeBefore : $from.nodeAfter;\n const atBoundary = dir < 0 ? $from.parentOffset === 0 : $from.parentOffset === $from.parent.content.size;\n\n // Same-block sibling (e.g. inline) — only act when truly adjacent.\n let pos = -1;\n\n if (isUploadPlaceholder(schema, target)) {\n pos = dir < 0 ? $from.pos - target!.nodeSize : $from.pos;\n } else if (atBoundary) {\n const side = dir < 0 ? $from.before() - 1 : $from.after();\n const node = side >= 0 ? state.doc.nodeAt(side) : null;\n\n if (isUploadPlaceholder(schema, node)) pos = side;\n }\n\n if (pos < 0) return false;\n\n if (dispatch) {\n const node = state.doc.nodeAt(pos)!;\n\n dispatch(state.tr.delete(pos, pos + node.nodeSize).scrollIntoView());\n }\n\n return true;\n };\n}\n\n/**\n * Backspace on an empty list item: delete it and move cursor to end of previous item.\n * If cursor is at start of first list item, lift it out of the list.\n */\nfunction listItemBackspace(schema: Schema): Command {\n const listItemTypes = [schema.nodes.list_item, schema.nodes.check_list_item];\n\n return (state, dispatch) => {\n const { $from, empty } = state.selection;\n\n if (!empty) return false;\n\n // Find the list item we're in\n let listItemDepth = -1;\n\n for (let depth = $from.depth; depth > 0; depth--) {\n if (listItemTypes.includes($from.node(depth).type)) {\n listItemDepth = depth;\n break;\n }\n }\n\n if (listItemDepth === -1) return false;\n\n // Check if cursor is at the very start of the list item's content.\n // Structure is <li><p>text</p></li>, so cursor at start of text\n // is at $from.start(listItemDepth) + 1 (inside the <p>).\n // We check: parentOffset is 0 (start of paragraph) AND\n // the paragraph is the first child of the list item.\n const listItem = $from.node(listItemDepth);\n\n if ($from.parentOffset !== 0) return false;\n\n // Ensure we're in the first child of the list item\n if ($from.index(listItemDepth) !== 0) return false;\n\n const listDepth = listItemDepth - 1;\n const list = $from.node(listDepth);\n const indexInList = $from.index(listDepth);\n const isItemEmpty = listItem.textContent.length === 0;\n\n if (indexInList > 0) {\n // Merge this item into the previous one, preserving all of its blocks.\n if (dispatch) {\n const itemStart = $from.before(listItemDepth);\n const itemEnd = $from.after(listItemDepth);\n\n const prevItem = list.child(indexInList - 1);\n const prevItemStart = itemStart - prevItem.nodeSize;\n let lastChildOffset = 0;\n\n prevItem.forEach((child, offset) => {\n lastChildOffset = offset + child.nodeSize;\n });\n\n const joinPos = prevItemStart + 1 + lastChildOffset - 1;\n\n const tr = state.tr;\n const firstBlock = listItem.firstChild;\n const firstInline = firstBlock?.content;\n const trailingBlocks: PMNode[] = [];\n\n listItem.forEach((child, _o, i) => {\n if (i > 0) trailingBlocks.push(child);\n });\n\n tr.delete(itemStart, itemEnd);\n\n if (trailingBlocks.length > 0) {\n let at = joinPos + 1;\n\n for (const block of trailingBlocks) {\n tr.insert(at, block);\n at += block.nodeSize;\n }\n }\n\n if (firstInline && firstInline.size > 0) {\n tr.insert(joinPos, firstInline);\n }\n\n dispatch(tr.scrollIntoView());\n }\n\n return true;\n }\n\n if (isItemEmpty && list.childCount === 1) {\n // Empty first and only item: replace entire list with empty paragraph\n if (dispatch) {\n const listStart = $from.before(listDepth);\n const listEnd = $from.after(listDepth);\n\n dispatch(state.tr.replaceWith(listStart, listEnd, schema.nodes.paragraph.create()).scrollIntoView());\n }\n\n return true;\n }\n\n // First item: lift out of list\n return forAnyListItem(schema, liftListItem)(state, dispatch);\n };\n}\n\n/**\n * Notion-like select: first Mod-a selects current block, second Mod-a selects all.\n */\nfunction blockSelectAll(): Command {\n return (state, dispatch) => {\n if (state.selection instanceof AllSelection) return false;\n\n const { $from } = state.selection;\n const depth = $from.depth; // the textblock the caret is in\n const blockStart = $from.start(depth);\n const blockEnd = $from.end(depth);\n const { from, to } = state.selection;\n\n if (from === blockStart && to === blockEnd) {\n return selectAll(state, dispatch);\n }\n\n if (dispatch) {\n dispatch(state.tr.setSelection(TextSelection.create(state.doc, blockStart, blockEnd)));\n }\n\n return true;\n };\n}\n\ninterface EditorKeymapOptions {\n blockMode?: boolean;\n}\n\nexport function createEditorKeymap(schema: Schema, options?: EditorKeymapOptions) {\n const bindings: Record<string, Command> = {\n 'Mod-b': toggleMark(schema.marks.bold),\n 'Mod-i': toggleMark(schema.marks.italic),\n 'Mod-u': toggleMark(schema.marks.underline),\n 'Mod-Shift-s': toggleMark(schema.marks.strikethrough),\n 'Mod-e': toggleMark(schema.marks.code),\n 'Mod-Shift-h': toggleHighlightCmd(schema),\n 'Mod-,': toggleMark(schema.marks.subscript),\n 'Mod-.': toggleMark(schema.marks.superscript),\n 'Mod-z': undo,\n 'Mod-y': redo,\n 'Mod-Shift-z': redo,\n 'Mod-Alt-0': setBlockType(schema.nodes.paragraph),\n 'Mod-Alt-1': toggleHeadingCmd(schema, 1),\n 'Mod-Alt-2': toggleHeadingCmd(schema, 2),\n 'Mod-Alt-3': toggleHeadingCmd(schema, 3),\n 'Mod-Alt-4': toggleHeadingCmd(schema, 4),\n 'Mod-Alt-5': toggleHeadingCmd(schema, 5),\n 'Mod-Alt-6': toggleHeadingCmd(schema, 6),\n 'Mod-Shift-7': toggleListCmd(schema, schema.nodes.ordered_list),\n 'Mod-Shift-8': toggleListCmd(schema, schema.nodes.bullet_list),\n 'Mod-Shift-9': toggleListCmd(schema, schema.nodes.check_list),\n 'Mod-Shift-b': toggleBlockquoteCmd(schema),\n 'Mod-Alt-c': toggleCodeBlockCmd(schema),\n 'Mod-Shift-l': setAlignCmd(null),\n 'Mod-Shift-e': setAlignCmd('center'),\n 'Mod-Shift-r': setAlignCmd('right'),\n 'Mod-Shift-j': setAlignCmd('justify'),\n Enter: forAnyListItem(schema, splitListItem),\n Backspace: (state, dispatch) => deleteAdjacentPlaceholder(schema, -1)(state, dispatch) || listItemBackspace(schema)(state, dispatch),\n Delete: deleteAdjacentPlaceholder(schema, 1),\n Tab: (state, dispatch) => goToNextCell(1)(state, dispatch) || forAnyListItem(schema, sinkListItem)(state, dispatch),\n 'Shift-Tab': (state, dispatch) => goToNextCell(-1)(state, dispatch) || forAnyListItem(schema, liftListItem)(state, dispatch)\n };\n\n if (options?.blockMode) {\n bindings['Mod-a'] = blockSelectAll();\n }\n\n return keymap(bindings);\n}\n\nexport { baseKeymap, keymap, blockSelectAll };\n"]}