{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-core/src/components/widgets/lively-list.js"],"names":["Morph","LivelyList","initialize","addEventListener","evt","onClick","livelyExample","appendChild","onItemClick","item","deselectItem","selectItem","itemValue","querySelectorAll","ea"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;AAEOA,W;;;;;;;;;;;;;;AAAAA,gS;;;;;;;;;;;;;;;;;;AAEQ,YAAMC,UAAN,SAAyBD,KAAzB,CAA+B;AAC5C,cAAME,UAAN,GAAmB;AACjB,4IAAyB,IAAzB,GADiB,CACe;AADf;AAEjB,eAAKC,gBAAL,CAAsB,OAAtB,EAA+BC;AAAA;AAAO,kGAAKC,OAAL,EAAaD,GAAb,YAAaA,GAAb,gFAAaA,GAAb,EAAaA,GAAb;AAAP,WAA/B;;AAFiB;AAGlB;;AAED,cAAME,aAAN,GAAsB;AAAA;;AACpB,eAAKC,WAAL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADoB;AAEpB,eAAKA,WAAL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAFoB;AAGpB,eAAKA,WAAL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAHoB;AAIpB,eAAKA,WAAL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACD;;AAEDC,oBAAYC,IAAZ,EAAkBL,GAAlB,EAAuB;AAAA;;AACrB,4CAAIK,IAAJ,YAAIA,IAAJ,kFAAIA,IAAJ,EAAIA,IAAJ,8BAA4B,UAA5B,IAAyC;AAAA;;AACvC,iBAAKC,YAAL,EAAkBD,IAAlB,YAAkBA,IAAlB,kFAAkBA,IAAlB,EAAkBA,IAAlB;AACD,WAFD,MAEO;AAAA;;AACL,iBAAKE,UAAL,EAAgBF,IAAhB,YAAgBA,IAAhB,kFAAgBA,IAAhB,EAAgBA,IAAhB;AACD;AACF;;AAEDC,qBAAaD,IAAb,EAAmB;AAAA;;AACjB,oLAAsB,UAAtB;AACA,cAAI,sCAAsBA,IAAtB,YAAsBA,IAAtB,kFAAsBA,IAAtB,EAAsBA,IAAtB,CAAJ,EAAgC;AAC9B,6CAAoB,IAApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACD;AACF;;AAEDG,kBAAUH,IAAV,EAAgB;AAAA;;AACd,iBAAO,uJAAcA,IAAd,YAAcA,IAAd,kFAAcA,IAAd,EAAcA,IAAd,iBAAP;AACD;;AAEDE,mBAAWF,IAAX,EAAiB;AAAA;;AACf,qHAAKI,gBAAL,CAAsB,QAAtB,gBAAwCC;AAAA;AAAM,uGAAKJ,YAAL,EAAkBI,EAAlB,YAAkBA,EAAlB,8EAAkBA,EAAlB,EAAkBA,EAAlB;AAAN,WAAxC;AACA,iLAAmB,UAAnB;AACA,4CAAoBL,IAApB,YAAoBA,IAApB,kFAAoBA,IAApB,EAAoBA,IAApB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oHAAgB,KAAKG,SAAL,EAAeH,IAAf,YAAeA,IAAf,kFAAeA,IAAf,EAAeA,IAAf,EAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACD;;AAEDJ,gBAAQD,GAAR,EAAa;AAAA;;AACX,cAAI,+JAAwB,IAA5B,EAAkC;AAAA;;AAChC,iBAAKI,WAAL,aAAiBJ,GAAjB,YAAiBA,GAAjB,gFAAiBA,GAAjB,EAAiBA,GAAjB,eAA6BA,GAA7B,YAA6BA,GAA7B,gFAA6BA,GAA7B,EAA6BA,GAA7B;AACD;AACF;AA3C2C;;yBAAzBH,U;;;;;;;;;;6BAAAA,4R","file":"lively-list.js","sourcesContent":["\"enable aexpr\";\n\nimport Morph from 'src/components/widgets/lively-morph.js';\n\nexport default class LivelyList extends Morph {\n  async initialize() {\n    lively.html.registerKeys(this); // automatically installs handler for some methods\n    this.addEventListener(\"click\", evt => this.onClick(evt))\n  }\n  \n  async livelyExample() {\n    this.appendChild(<li>Eins</li>)\n    this.appendChild(<li>Zwei</li>)\n    this.appendChild(<li>Drei</li>)\n    this.appendChild(<li>Vier</li>)\n  }\n  \n  onItemClick(item, evt) {\n    if (item.classList.contains(\"selected\")) {\n      this.deselectItem(item)\n    } else {\n      this.selectItem(item)\n    }\n  }\n\n  deselectItem(item) {\n    item.classList.remove(\"selected\")\n    if (this.selectedItem === item) {\n      this.selectedItem = null\n    }\n  }\n  \n  itemValue(item) {\n    return item.value || item.textContent\n  }\n  \n  selectItem(item) {\n    this.querySelectorAll(\"* > li\").forEach(ea => this.deselectItem(ea)) \n    item.classList.add(\"selected\")\n    this.selectedItem = item\n    this.selected = this.itemValue(item)\n  }\n  \n  onClick(evt) {\n    if (evt.target.localName == \"li\") {\n      this.onItemClick(evt.target, evt)\n    }\n  }\n}"]}