{"version":3,"file":"newline.cjs","sources":["../../../src/slate-plugins/newline.ts"],"sourcesContent":["import { Plugin } from 'slate-react';\n\nfunction getIndent(text: string) {\n  let offset = text.length - text.trimLeft().length;\n  if (offset) {\n    let indent = text[0];\n    while (--offset) {\n      indent += text[0];\n    }\n    return indent;\n  }\n  return '';\n}\n\nexport function NewlinePlugin(): Plugin {\n  return {\n    onKeyDown(event, editor, next) {\n      const value = editor.value;\n\n      if (value.selection.isExpanded) {\n        return next();\n      }\n\n      if (event.key === 'Enter') {\n        event.preventDefault();\n\n        const { startBlock } = value;\n        const currentLineText = startBlock.text;\n        const indent = getIndent(currentLineText);\n\n        return editor.splitBlock().insertText(indent).focus();\n      }\n\n      return next();\n    },\n  };\n}\n"],"names":[],"mappings":";;;;;AAEA,SAAS,UAAU,IAAA,EAAc;AAC/B,EAAA,IAAI,MAAA,GAAS,IAAA,CAAK,MAAA,GAAS,IAAA,CAAK,UAAS,CAAE,MAAA;AAC3C,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,IAAI,MAAA,GAAS,KAAK,CAAC,CAAA;AACnB,IAAA,OAAO,EAAE,MAAA,EAAQ;AACf,MAAA,MAAA,IAAU,KAAK,CAAC,CAAA;AAAA,IAClB;AACA,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO,EAAA;AACT;AAEO,SAAS,aAAA,GAAwB;AACtC,EAAA,OAAO;AAAA,IACL,SAAA,CAAU,KAAA,EAAO,MAAA,EAAQ,IAAA,EAAM;AAC7B,MAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AAErB,MAAA,IAAI,KAAA,CAAM,UAAU,UAAA,EAAY;AAC9B,QAAA,OAAO,IAAA,EAAK;AAAA,MACd;AAEA,MAAA,IAAI,KAAA,CAAM,QAAQ,OAAA,EAAS;AACzB,QAAA,KAAA,CAAM,cAAA,EAAe;AAErB,QAAA,MAAM,EAAE,YAAW,GAAI,KAAA;AACvB,QAAA,MAAM,kBAAkB,UAAA,CAAW,IAAA;AACnC,QAAA,MAAM,MAAA,GAAS,UAAU,eAAe,CAAA;AAExC,QAAA,OAAO,OAAO,UAAA,EAAW,CAAE,UAAA,CAAW,MAAM,EAAE,KAAA,EAAM;AAAA,MACtD;AAEA,MAAA,OAAO,IAAA,EAAK;AAAA,IACd;AAAA,GACF;AACF;;;;"}