{"version":3,"file":"selection_shortcuts.mjs","sources":["../../../src/slate-plugins/selection_shortcuts.ts"],"sourcesContent":["import { isKeyHotkey } from 'is-hotkey';\nimport { Plugin } from 'slate-react';\n\nconst isSelectLineHotkey = isKeyHotkey('mod+l');\n\n// Clears the rest of the line after the caret\nexport function SelectionShortcutsPlugin(): Plugin {\n  return {\n    onKeyDown(event, editor, next) {\n      if (isSelectLineHotkey(event)) {\n        event.preventDefault();\n        const { focusBlock, document } = editor.value;\n\n        editor.moveAnchorToStartOfBlock();\n\n        const nextBlock = document.getNextBlock(focusBlock.key);\n        if (nextBlock) {\n          editor.moveFocusToStartOfNextBlock();\n        } else {\n          editor.moveFocusToEndOfText();\n        }\n      } else {\n        return next();\n      }\n\n      return true;\n    },\n  };\n}\n"],"names":[],"mappings":";;AAGA,MAAM,kBAAA,GAAqB,YAAY,OAAO,CAAA;AAGvC,SAAS,wBAAmC,GAAA;AACjD,EAAO,OAAA;AAAA,IACL,SAAA,CAAU,KAAO,EAAA,MAAA,EAAQ,IAAM,EAAA;AAC7B,MAAI,IAAA,kBAAA,CAAmB,KAAK,CAAG,EAAA;AAC7B,QAAA,KAAA,CAAM,cAAe,EAAA;AACrB,QAAA,MAAM,EAAE,UAAA,EAAY,QAAS,EAAA,GAAI,MAAO,CAAA,KAAA;AAExC,QAAA,MAAA,CAAO,wBAAyB,EAAA;AAEhC,QAAA,MAAM,SAAY,GAAA,QAAA,CAAS,YAAa,CAAA,UAAA,CAAW,GAAG,CAAA;AACtD,QAAA,IAAI,SAAW,EAAA;AACb,UAAA,MAAA,CAAO,2BAA4B,EAAA;AAAA,SAC9B,MAAA;AACL,UAAA,MAAA,CAAO,oBAAqB,EAAA;AAAA;AAC9B,OACK,MAAA;AACL,QAAA,OAAO,IAAK,EAAA;AAAA;AAGd,MAAO,OAAA,IAAA;AAAA;AACT,GACF;AACF;;;;"}