{"version":3,"sources":["https://lively-kernel.org/lively4/BP2019RH1/components/new-tab-widget.js"],"names":["Morph","TabWidget","initialize","contents","contentDivs","get","children","contentDiv","getAttribute","buttons","button","addEventListener","_showContent","_contentsExist","_showFirstContent","getContents","Object","keys","forEach","contentKey","push","length","keyOfFirstContent","content","_resetDisplay","style","display","key"],"mappings":";;;;;;AAAOA,W;;;;;;;;;;;;;;;;;;AAEQ,YAAMC,SAAN,SAAwBD,KAAxB,CAA8B;;AAE3C,cAAME,UAAN,GAAmB;AACjB,eAAKC,QAAL,GAAgB,EAAhB;AACA,cAAIC,cAAc,KAAKC,GAAL,CAAS,eAAT,EAA0BC,QAA5C;AACA,eAAK,IAAIC,UAAT,IAAuBH,WAAvB,EAAoC;AAClC;AACA,iBAAKD,QAAL,CAAcI,WAAWC,YAAX,CAAwB,IAAxB,CAAd,IAA+CD,UAA/C;AACD;;AAED,cAAIE,UAAU,KAAKJ,GAAL,CAAS,cAAT,EAAyBC,QAAvC;AACA,eAAK,IAAII,MAAT,IAAmBD,OAAnB,EAA4B;AAC1BC,mBAAOC,gBAAP,CAAwB,OAAxB,EAAiC,MAAM;AACrC,mBAAKC,YAAL,CAAkB,KAAKT,QAAL,CAAcO,OAAOF,YAAP,CAAoB,iBAApB,CAAd,CAAlB;AACD,aAFD;AAGD;;AAED,cAAI,KAAKK,cAAL,EAAJ,EAA2B;AACzB,iBAAKC,iBAAL;AACD;AACF;;AAEDC,sBAAc;AACZ,cAAIZ,WAAW,EAAf;AACAa,iBAAOC,IAAP,CAAY,KAAKd,QAAjB,EAA2Be,OAA3B,CAAqCC,UAAD,IAAgB;AAClDhB,qBAASiB,IAAT,CAAc,KAAKjB,QAAL,CAAcgB,UAAd,CAAd;AACD,WAFD;AAGA,iBAAOhB,QAAP;AACD;;AAEDU,yBAAiB;AACf,iBAAOG,OAAOC,IAAP,CAAY,KAAKd,QAAjB,EAA2BkB,MAA3B,GAAoC,CAA3C;AACD;;AAEDP,4BAAoB;AAClB,cAAIQ,oBAAoBN,OAAOC,IAAP,CAAY,KAAKd,QAAjB,EAA2B,CAA3B,CAAxB;AACA,eAAKS,YAAL,CAAkB,KAAKT,QAAL,CAAcmB,iBAAd,CAAlB;AACD;;AAEDV,qBAAaW,OAAb,EAAsB;AACpB,eAAKC,aAAL;AACAD,kBAAQE,KAAR,CAAcC,OAAd,GAAwB,OAAxB;AACD;;AAEDF,wBAAgB;AACdR,iBAAOC,IAAP,CAAY,KAAKd,QAAjB,EAA2Be,OAA3B,CAAmCS,OAAO;AACxC,gBAAIJ,UAAU,KAAKpB,QAAL,CAAcwB,GAAd,CAAd;AACAJ,oBAAQE,KAAR,CAAcC,OAAd,GAAwB,MAAxB;AACD,WAHD;AAID;;AAjD0C;;yBAAxBzB,S","file":"new-tab-widget.js","sourcesContent":["import Morph from 'src/components/widgets/lively-morph.js'\n\nexport default class TabWidget extends Morph {\n  \n  async initialize() {\n    this.contents = {}\n    let contentDivs = this.get(\"#tab-contents\").children\n    for (let contentDiv of contentDivs) {\n      debugger;\n      this.contents[contentDiv.getAttribute(\"id\")] = contentDiv\n    }\n    \n    let buttons = this.get(\"#tab-buttons\").children\n    for (let button of buttons) {\n      button.addEventListener(\"click\", () => {\n        this._showContent(this.contents[button.getAttribute(\"data-content-id\")])\n      })\n    }\n    \n    if (this._contentsExist()) {\n      this._showFirstContent()\n    }\n  }\n  \n  getContents() {\n    let contents = [];\n    Object.keys(this.contents).forEach( (contentKey) => {\n      contents.push(this.contents[contentKey]);\n    })\n    return contents;\n  }\n  \n  _contentsExist() {\n    return Object.keys(this.contents).length > 0\n  }\n  \n  _showFirstContent() {\n    let keyOfFirstContent = Object.keys(this.contents)[0]\n    this._showContent(this.contents[keyOfFirstContent])\n  }\n\n  _showContent(content) {\n    this._resetDisplay()\n    content.style.display = \"block\"\n  }\n  \n  _resetDisplay() {\n    Object.keys(this.contents).forEach(key => {\n      let content = this.contents[key]\n      content.style.display = \"none\"\n    })\n  }\n  \n}\n"]}