{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-markus/src/babylonian-programming-editor/ui/status-bar.js"],"names":["VALID_STATUSES","StatusBar","constructor","element","_element","_status","_className","setStatus","status","message","includes","_update","className","textContent"],"mappings":";;;;;;;;AAAA,YAAMA,iBAAiB,CAAC,OAAD,EAAU,SAAV,EAAqB,YAArB,EAAmC,OAAnC,EAA4C,SAA5C,CAAvB;;;;;;;;;;;;;;;AAEe,YAAMC,SAAN,CAAgB;AAC7BC,oBAAYC,OAAZ,EAAqB;AACnB,eAAKC,QAAL,GAAgBD,OAAhB;AACA,eAAKE,OAAL,GAAe,IAAf;AACA,eAAKC,UAAL,GAAkB,IAAlB;AACA,eAAKC,SAAL,CAAe,OAAf;AACD;;AAEDA,kBAAUC,MAAV,EAAkBC,OAAlB,EAA2B;AACzB,cAAGT,eAAeU,QAAf,CAAwBF,MAAxB,CAAH,EAAoC;AAClC,iBAAKH,OAAL,GAAeG,MAAf;AACA,iBAAKG,OAAL,CAAaF,OAAb;AACD,WAHD,MAGO;AACL,iBAAKF,SAAL,CAAe,OAAf;AACD;AACF;;AAEDI,gBAAQF,OAAR,EAAiB;AACf,eAAKL,QAAL,CAAcQ,SAAd,GAA0B,KAAKP,OAA/B;AACA,kBAAO,KAAKA,OAAZ;AACE,iBAAK,OAAL;AACE,mBAAKD,QAAL,CAAcS,WAAd,GAA4B,OAA5B;AACA;AACF,iBAAK,SAAL;AACE,mBAAKT,QAAL,CAAcS,WAAd,GAA4B,iBAA5B;AACA;AACF,iBAAK,YAAL;AACE,mBAAKT,QAAL,CAAcS,WAAd,GAA4B,wBAA5B;AACA;AACF,iBAAK,SAAL;AACE,mBAAKT,QAAL,CAAcS,WAAd,GAA6B,YAAWJ,OAAQ,EAAhD;AACA;AACF,iBAAK,OAAL;AACE,mBAAKL,QAAL,CAAcS,WAAd,GAA6B,UAASJ,OAAQ,EAA9C;AACA;AAfJ;AAiBD;AApC4B;;yBAAVR,S","file":"status-bar.js","sourcesContent":["const VALID_STATUSES = [\"ready\", \"parsing\", \"evaluating\", \"error\", \"warning\"];\n\nexport default class StatusBar {\n  constructor(element) {\n    this._element = element;\n    this._status = null;\n    this._className = null\n    this.setStatus(\"ready\");\n  }\n  \n  setStatus(status, message) {\n    if(VALID_STATUSES.includes(status)) {\n      this._status = status;\n      this._update(message);\n    } else {\n      this.setStatus(\"ready\");\n    }\n  }\n  \n  _update(message) {\n    this._element.className = this._status;\n    switch(this._status) {\n      case \"ready\":\n        this._element.textContent = \"Ready\";\n        break;\n      case \"parsing\":\n        this._element.textContent = \"Parsing code...\";\n        break;\n      case \"evaluating\":\n        this._element.textContent = \"Evaluating examples...\";\n        break;\n      case \"warning\":\n        this._element.textContent = `Warning: ${message}`;\n        break;\n      case \"error\":\n        this._element.textContent = `Error: ${message}`;\n        break;\n    }\n  }\n}\n\n"]}