{"version":3,"names":["Dialog","__SystemJSRewritingHack","_export","setters","_reactiveJsx","_addSourceLocation","addSourceLocation","_srcComponentsWidgetsLivelyMorphJs","Morph","default","_srcClientGraphicsJs","pt","execute","_recorder_","_src_components_widgets_lively_dialog_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","initialize","registerButtons","addEventListener","evt","keyCode","onPromptEntered","onClose","onCancel","onOk","resolve","remove","confirm","msgOrElement","HTMLElement","innerHTML","appendChild","Promise","reject","dialog","customizeCB","w","lively","findWindow","document","activeElement","getAddOnRoot","createElement","file","end","column","line","start","scope","body","components","openIn","bounds","getBoundingClientRect","setPosition","window","innerWidth","width","innerHeight","height","style","position","ext","getExtent","x","y","prompt","msg","value","undefined","focus","result","display"],"sources":["lively-dialog.js"],"sourcesContent":["\nimport Morph from \"src/components/widgets/lively-morph.js\"\nimport {pt} from 'src/client/graphics.js'\n\nexport default class Dialog extends Morph {\n\n  initialize() {\n    this.registerButtons();\n    this.get(\"#prompt\").addEventListener(\"keyup\", (evt) => {\n      if (evt.keyCode == 13) { // ENTER\n        this.onPromptEntered(evt);\n      }\n    })\n  }\n  \n  onClose() {\n    this.onCancel()\n  }\n  onOk() {\n    this.resolve && this.resolve(true)\n    this.remove()\n  }\n  \n  onCancel() {\n    this.resolve && this.resolve(false)\n    this.remove()\n  }\n  \n  onPromptEntered(evt) {\n    this.resolve && this.resolve(true)\n    this.remove()\n  }\n  \n  async confirm(msgOrElement) {\n    if (msgOrElement instanceof HTMLElement) {\n      this.get(\"#message\").innerHTML = \"\"\n      this.get(\"#message\").appendChild(msgOrElement)\n    } else {\n      this.get(\"#message\").innerHTML = msgOrElement\n    }\n    return new Promise((resolve, reject) => {\n      this.resolve = resolve\n    })\n  }\n\n  static async dialog(customizeCB) {\n    var w  = lively.findWindow(document.activeElement) \n    if (w && !w.getAddOnRoot) w = null; // we did not find a window...\n    \n    var dialog = document.createElement(\"lively-dialog\")\n    \n    var scope = w ? w.getAddOnRoot() : document.body\n    await lively.components.openIn(scope, dialog)\n    \n    var bounds = dialog.getBoundingClientRect()\n    if (!w) {\n      // center in fixed \n      lively.setPosition(dialog, \n        pt(window.innerWidth / 2 - bounds.width / 2, \n          window.innerHeight / 2 - bounds.height / 2))\n      dialog.style.position = \"fixed\"      \n    } else {\n      var ext = lively.getExtent(w);\n      w.getAddOnRoot().appendChild(dialog)\n      lively.setPosition(dialog, \n        pt(ext.x / 2 - bounds.width / 2, \n           ext.y / 2 - bounds.height / 2))\n\n    }\n    if (customizeCB) customizeCB(dialog)\n    \n    return dialog\n  }\n  \n  static async prompt(msg, value, customizeCB) {\n    var dialog = await this.dialog(customizeCB)\n    if (value !== undefined)\n      dialog.get(\"#prompt\").value = value\n    \n    dialog.get(\"#prompt\").focus()\n    var result = await dialog.confirm(msg)\n    if (result == false) return undefined\n    return  dialog.get(\"#prompt\").value\n  }\n\n  \n  static async confirm(msg, customizeCB) {\n    var dialog = await this.dialog(customizeCB)\n    dialog.get(\"#prompt\").style.display = \"none\"\n    dialog.get(\"#ok\").focus()\n    return dialog.confirm(msg)  \n  }\n}"],"mappings":";;;qCAIqBA,MAAM,EAAAC,uBAAA;EAAAC,OAAA;EAAA;IAAAC,OAAA,aAAAC,YAAA;MAAAC,kBAAA,GAAAD,YAAA,CAAAE,iBAAA;IAAA,aAAAC,kCAAA;MAHpBC,KAAK,GAAAD,kCAAA,CAAAE,OAAA;IAAA,aAAAC,oBAAA;MACJC,EAAE,GAAAD,oBAAA,CAAFC,EAAE;IAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAX,uBAAA;MAAAY,UAAA,CAAAC,wCAAA,GAAAD,UAAA,CAAAC,wCAAA;MAAAC,MAAA,CAAAC,cAAA,CAAAH,UAAA,CAAAC,wCAAA;QAAAG,IAAA;UAAA,OAAAT,KAAA;QAAA;QAAAU,IAAAC,8BAAA;UADHX,KAAA,CAAAA,CAAA,CAAAA,8BAAK;UAAA;QAAA;QAAAY,UAAA;QAAAC,YAAA;MAAA;MAAAN,MAAA,CAAAC,cAAA,CAAAH,UAAA,CAAAC,wCAAA;QAAAG,IAAA;UAAA,OAAAN,EAAA;QAAA;QAAAO,IAAAC,8BAAA;UACJR,EAAA,CAAAA,CAAA,CAAAA,8BAAE;UAAA;QAAA;QAAAS,UAAA;QAAAC,YAAA;MAAA;MAAAnB,OAAA,YAEWF,MAAM,GAAZ,MAAMA,MAAM,SAASQ,KAAK,CAAC;QAExCc,UAAUA,CAAA,EAAG;UACX,IAAI,CAACC,eAAe,CAAC,CAAC;UACtB,IAAI,CAACN,GAAG,CAAC,SAAS,CAAC,CAACO,gBAAgB,CAAC,OAAO,EAAGC,GAAG,IAAK;YACrD,IAAIA,GAAG,CAACC,OAAO,IAAI,EAAE,EAAE;cAAE;cACvB,IAAI,CAACC,eAAe,CAACF,GAAG,CAAC;YAC3B;UACF,CAAC,CAAC;QACJ;QAEAG,OAAOA,CAAA,EAAG;UACR,IAAI,CAACC,QAAQ,CAAC,CAAC;QACjB;QACAC,IAAIA,CAAA,EAAG;UACL,IAAI,CAACC,OAAO,IAAI,IAAI,CAACA,OAAO,CAAC,IAAI,CAAC;UAClC,IAAI,CAACC,MAAM,CAAC,CAAC;QACf;QAEAH,QAAQA,CAAA,EAAG;UACT,IAAI,CAACE,OAAO,IAAI,IAAI,CAACA,OAAO,CAAC,KAAK,CAAC;UACnC,IAAI,CAACC,MAAM,CAAC,CAAC;QACf;QAEAL,eAAeA,CAACF,GAAG,EAAE;UACnB,IAAI,CAACM,OAAO,IAAI,IAAI,CAACA,OAAO,CAAC,IAAI,CAAC;UAClC,IAAI,CAACC,MAAM,CAAC,CAAC;QACf;QAEA,MAAMC,OAAOA,CAACC,YAAY,EAAE;UAC1B,IAAIA,YAAY,YAAYC,WAAW,EAAE;YACvC,IAAI,CAAClB,GAAG,CAAC,UAAU,CAAC,CAACmB,SAAS,GAAG,EAAE;YACnC,IAAI,CAACnB,GAAG,CAAC,UAAU,CAAC,CAACoB,WAAW,CAACH,YAAY,CAAC;UAChD,CAAC,MAAM;YACL,IAAI,CAACjB,GAAG,CAAC,UAAU,CAAC,CAACmB,SAAS,GAAGF,YAAY;UAC/C;UACA,OAAO,IAAII,OAAO,CAAC,CAACP,OAAO,EAAEQ,MAAM,KAAK;YACtC,IAAI,CAACR,OAAO,GAAGA,OAAO;UACxB,CAAC,CAAC;QACJ;QAEA,aAAaS,MAAMA,CAACC,WAAW,EAAE;UAC/B,IAAIC,CAAC,GAAIC,MAAM,CAACC,UAAU,CAACC,QAAQ,CAACC,aAAa,CAAC;UAClD,IAAIJ,CAAC,IAAI,CAACA,CAAC,CAACK,YAAY,EAAEL,CAAC,GAAG,IAAI,CAAC,CAAC;;UAEpC,IAAIF,MAAM,GAAAnC,kBAAA,CAAGwC,QAAQ,CAACG,aAAa,CAAC,eAAe,CAAC;YAAAC,IAAA;YAAAC,GAAA;cAAAC,MAAA;cAAAC,IAAA;YAAA;YAAAC,KAAA;cAAAF,MAAA;cAAAC,IAAA;YAAA;UAAA;UAEpD,IAAIE,KAAK,GAAGZ,CAAC,GAAGA,CAAC,CAACK,YAAY,CAAC,CAAC,GAAGF,QAAQ,CAACU,IAAI;UAChD,MAAMZ,MAAM,CAACa,UAAU,CAACC,MAAM,CAACH,KAAK,EAAEd,MAAM,CAAC;UAE7C,IAAIkB,MAAM,GAAGlB,MAAM,CAACmB,qBAAqB,CAAC,CAAC;UAC3C,IAAI,CAACjB,CAAC,EAAE;YACN;YACAC,MAAM,CAACiB,WAAW,CAACpB,MAAM,EACvB7B,EAAE,CAACkD,MAAM,CAACC,UAAU,GAAG,CAAC,GAAGJ,MAAM,CAACK,KAAK,GAAG,CAAC,EACzCF,MAAM,CAACG,WAAW,GAAG,CAAC,GAAGN,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC,CAAC;YAChDzB,MAAM,CAAC0B,KAAK,CAACC,QAAQ,GAAG,OAAO;UACjC,CAAC,MAAM;YACL,IAAIC,GAAG,GAAGzB,MAAM,CAAC0B,SAAS,CAAC3B,CAAC,CAAC;YAC7BA,CAAC,CAACK,YAAY,CAAC,CAAC,CAACV,WAAW,CAACG,MAAM,CAAC;YACpCG,MAAM,CAACiB,WAAW,CAACpB,MAAM,EACvB7B,EAAE,CAACyD,GAAG,CAACE,CAAC,GAAG,CAAC,GAAGZ,MAAM,CAACK,KAAK,GAAG,CAAC,EAC5BK,GAAG,CAACG,CAAC,GAAG,CAAC,GAAGb,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC,CAAC;UAEtC;UACA,IAAIxB,WAAW,EAAEA,WAAW,CAACD,MAAM,CAAC;UAEpC,OAAOA,MAAM;QACf;QAEA,aAAagC,MAAMA,CAACC,GAAG,EAAEC,KAAK,EAAEjC,WAAW,EAAE;UAC3C,IAAID,MAAM,GAAG,MAAM,IAAI,CAACA,MAAM,CAACC,WAAW,CAAC;UAC3C,IAAIiC,KAAK,KAAKC,SAAS,EACrBnC,MAAM,CAACvB,GAAG,CAAC,SAAS,CAAC,CAACyD,KAAK,GAAGA,KAAK;UAErClC,MAAM,CAACvB,GAAG,CAAC,SAAS,CAAC,CAAC2D,KAAK,CAAC,CAAC;UAC7B,IAAIC,MAAM,GAAG,MAAMrC,MAAM,CAACP,OAAO,CAACwC,GAAG,CAAC;UACtC,IAAII,MAAM,IAAI,KAAK,EAAE,OAAOF,SAAS;UACrC,OAAQnC,MAAM,CAACvB,GAAG,CAAC,SAAS,CAAC,CAACyD,KAAK;QACrC;QAGA,aAAazC,OAAOA,CAACwC,GAAG,EAAEhC,WAAW,EAAE;UACrC,IAAID,MAAM,GAAG,MAAM,IAAI,CAACA,MAAM,CAACC,WAAW,CAAC;UAC3CD,MAAM,CAACvB,GAAG,CAAC,SAAS,CAAC,CAACiD,KAAK,CAACY,OAAO,GAAG,MAAM;UAC5CtC,MAAM,CAACvB,GAAG,CAAC,KAAK,CAAC,CAAC2D,KAAK,CAAC,CAAC;UACzB,OAAOpC,MAAM,CAACP,OAAO,CAACwC,GAAG,CAAC;QAC5B;MACF,CAAC;MAAA1D,MAAA,CAAAC,cAAA,CAAAH,UAAA,CAAAC,wCAAA;QAAAG,IAAA;UAAA,OAAAjB,MAAA;QAAA;QAAAkB,IAAAC,8BAAA;UAAAjB,OAAA,YAxFoBF,MAAA,CAAAA,CAAA,CAAAA,8BAAM;UAAA;QAAA;QAAAoB,UAAA;QAAAC,YAAA;MAAA;IAAA;EAAA;AAAA"}