{"version":3,"names":["createCodeMirrorFakeEvent","type","code","modifiers","charCode","e","_handled","keyCode","preventDefault","stopPropagation","i","length","fakeCMKeyEvent","editor","eventType","triggerOnKeyDown","triggerOnKeyPress","triggerOnKeyUp","Error","fakeCMInput","char","replaceSelection","fake","originalCode","charCodeAt","push","prettyCodeNames","_export","setters","execute","__SystemJSRewritingHack","_recorder_","_src_components_widgets_lively_code_mirror_fake_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","enter","home","leftArrow","upArrow","rightArrow","downArrow"],"sources":["lively-code-mirror-fake.js"],"sourcesContent":["// pretty names to use for codes, e.g. `fake(\"leftArrow\")` \nvar prettyCodeNames = {\n    enter: 13,\n    home: 36,\n    leftArrow: 37, \n    upArrow: 38, \n    rightArrow: 39, \n    downArrow: 40\n};\n \nfunction createCodeMirrorFakeEvent(type, code, modifiers, charCode)\n{\n    var e = { \n        _handled: false,\n        type: type,\n        charCode: charCode,\n        keyCode: code,\n        preventDefault: function(){ this._handled = true; },\n        stopPropagation: function(){},\n    };  \n    if (modifiers) {\n        for (var i = 0; i < modifiers.length; ++i)\n            e[modifiers[i]] = true;\n    }\n    return e;\n}\n \nfunction fakeCMKeyEvent(editor, eventType, code, modifiers, charCode)\n{\n    var e = createCodeMirrorFakeEvent(eventType, code, modifiers, charCode);\n    switch(eventType) {\n    case \"keydown\": editor.triggerOnKeyDown(e); break;\n    case \"keypress\": editor.triggerOnKeyPress(e); break;\n    case \"keyup\": editor.triggerOnKeyUp(e); break;\n    default: throw new Error(\"Unknown event type\");\n    }\n    return e._handled;\n}\n \nfunction fakeCMInput(editor, char)\n{\n    if (typeof char === \"string\") {\n       // editor.display.input.value += char;\n       editor.replaceSelection(char)\n    }\n}\n \nexport default function fake(editor, originalCode, modifiers)\n{\n    modifiers = modifiers || [];\n    var code;\n    var charCode;\n    if (originalCode === \"(\") {\n        code = \"9\".charCodeAt(0);\n        modifiers.push(\"shiftKey\");\n        charCode = \"(\".charCodeAt(0);\n    }\n    code = code || prettyCodeNames[originalCode] || originalCode;\n    if (typeof code === \"string\")\n        code = code.charCodeAt(0);\n  \n    // simple character strokes like \"r\" should always be input?\n    // workaround: \"r\" bug that invoked search instead of beeing input\n    if (!(originalCode.length == 1 && modifiers.length ==0)) {\n      if (fakeCMKeyEvent(editor, \"keydown\", code, modifiers, charCode)) {\n        return \n      }  \n      if (fakeCMKeyEvent(editor, \"keypress\", code, modifiers, charCode)) {\n        return;\n      }      \n    } \n    fakeCMInput(editor, originalCode);\n    fakeCMKeyEvent(editor, \"keyup\", code, modifiers, charCode);\n}\n"],"mappings":"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"}