@grafana/ui
Version:
Grafana Components Library
1 lines • 1.51 kB
Source Map (JSON)
{"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,wBAAA,GAAmC;AACjD,EAAA,OAAO;AAAA,IACL,SAAA,CAAU,KAAA,EAAO,MAAA,EAAQ,IAAA,EAAM;AAC7B,MAAA,IAAI,kBAAA,CAAmB,KAAK,CAAA,EAAG;AAC7B,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,MAAM,EAAE,UAAA,EAAY,QAAA,EAAS,GAAI,MAAA,CAAO,KAAA;AAExC,QAAA,MAAA,CAAO,wBAAA,EAAyB;AAEhC,QAAA,MAAM,SAAA,GAAY,QAAA,CAAS,YAAA,CAAa,UAAA,CAAW,GAAG,CAAA;AACtD,QAAA,IAAI,SAAA,EAAW;AACb,UAAA,MAAA,CAAO,2BAAA,EAA4B;AAAA,QACrC,CAAA,MAAO;AACL,UAAA,MAAA,CAAO,oBAAA,EAAqB;AAAA,QAC9B;AAAA,MACF,CAAA,MAAO;AACL,QAAA,OAAO,IAAA,EAAK;AAAA,MACd;AAEA,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,GACF;AACF;;;;"}