{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-livelyenergy/src/components/demo/lively-digital-clock.js"],"names":["Morph","DigitalClock","initialize","style","backgroundColor","start","Date","now","attachedCallback","setup","attributeChangedCallback","attrName","oldValue","newValue","renderLoop","render","updateTime","setTimeout","bind","formatTime","dateTime","hours","getHours","substr","minutes","getMinutes","seconds","getSeconds","date","time","getTime","shadowRoot","querySelector","innerHTML","Math","round","livelyMigrate","oldInstance"],"mappings":";;;;;;AAAOA,W;;;;;;;;;;;;;;;;;;AAEQ,YAAMC,YAAN,SAA2BD,KAA3B,CAAiC;;AAE9CE,qBAAa;AACX,eAAKC,KAAL,CAAWC,eAAX,GAA6B,EAA7B;AACA,cAAI,CAAC,KAAKC,KAAV,EACE,KAAKA,KAAL,GAAaC,KAAKC,GAAL,EAAb;AACH;;AAEDC,2BAAmB;AACjB,eAAKC,KAAL;AACD;;AAEDC,iCAAyBC,QAAzB,EAAmCC,QAAnC,EAA6CC,QAA7C,EAAuD;AACrD,kBAAQF,QAAR;AACE;AACA;AACA;AACA;AACE;AALJ;AAOD;;AAEDF,gBAAQ;AACN,eAAKK,UAAL;AACD;;AAEDC,iBAAS;AACP,eAAKC,UAAL;AACD;;AAEDF,qBAAa;AACX,eAAKC,MAAL;;AAEAE,qBACE,KAAKH,UAAL,CAAgBI,IAAhB,CAAqB,IAArB,CADF,EAEE,IAFF;AAID;;AAEDC,mBAAWC,QAAX,EAAqB;AACnB,cAAIC,QAAQ,CAAC,MAAMD,SAASE,QAAT,EAAP,EAA4BC,MAA5B,CAAmC,CAAC,CAApC,CAAZ;AACA,cAAIC,UAAU,CAAC,MAAMJ,SAASK,UAAT,EAAP,EAA8BF,MAA9B,CAAqC,CAAC,CAAtC,CAAd;AACA,cAAIG,UAAU,CAAC,MAAMN,SAASO,UAAT,EAAP,EAA8BJ,MAA9B,CAAqC,CAAC,CAAtC,CAAd;;AAEA,iBAAOF,QAAQ,GAAR,GAAcG,OAAd,GAAwB,GAAxB,GAA8BE,OAArC;AACD;;AAEDV,qBAAa;AACX,cAAIY,OAAO,IAAItB,IAAJ,EAAX;AACA,cAAIuB,OAAOD,KAAKE,OAAL,KAAiB,KAAKzB,KAAjC;AACA,eAAK0B,UAAL,CAAgBC,aAAhB,CAA8B,OAA9B,EAAuCC,SAAvC,GACG,GAAE,KAAKd,UAAL,CAAgBS,IAAhB,CAAsB,YAAWM,KAAKC,KAAL,CAAWN,OAAO,IAAP,GAAc,EAAzB,CAA6B,KADnE;AAED;;AAEDO,sBAAcC,WAAd,EAA2B;AACzB,eAAKhC,KAAL,GAAagC,YAAYhC,KAAzB;AACD;;AAxD6C;;yBAA3BJ,Y","file":"lively-digital-clock.js","sourcesContent":["import Morph from 'src/components/widgets/lively-morph.js';\n\nexport default class DigitalClock extends Morph {\n\n  initialize() {\n    this.style.backgroundColor = ''\n    if (!this.start)\n      this.start = Date.now()\n  }\n\n  attachedCallback() {\n    this.setup();\n  }\n  \n  attributeChangedCallback(attrName, oldValue, newValue) {\n    switch (attrName) {\n      //case 'attribute':\n      //  this.render();\n      //  break;\n      default:\n        //\n    }\n  }\n\n  setup() {\n    this.renderLoop();\n  }\n\n  render() {\n    this.updateTime();\n  }\n  \n  renderLoop() {\n    this.render();\n    \n    setTimeout(\n      this.renderLoop.bind(this),\n      1000\n    );\n  }\n  \n  formatTime(dateTime) {\n    var hours = (\"0\" + dateTime.getHours()).substr(-2);\n    var minutes = (\"0\" + dateTime.getMinutes()).substr(-2);\n    var seconds = (\"0\" + dateTime.getSeconds()).substr(-2);\n\n    return hours + \":\" + minutes + \":\" + seconds;\n  }\n  \n  updateTime() {\n    var date = new Date()\n    var time = date.getTime() - this.start\n    this.shadowRoot.querySelector(\"#time\").innerHTML = \n      `${this.formatTime(date)}  timer: ${Math.round(time / 1000 / 60)}min`;\n  }\n  \n  livelyMigrate(oldInstance) {\n    this.start = oldInstance.start\n  }\n  \n}\n"]}