{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-livelyenergy/src/components/widgets/lively-penchooser.js"],"names":["Morph","PenChooser","initialize","drawPens","get","style","display","overflow","addEventListener","evt","onChoosePen","chooser","forEach","penSize","pen","document","createElement","innerHTML","penSvgShape","classList","add","appendChild","size","onPenChoosen","value","getAttribute","setAttribute","dispatchEvent","CustomEvent","detail"],"mappings":";;;;;;;;;AAAOA,W;;;;;;;;;;;;;;;;;;AAEQ,YAAMC,UAAN,SAAyBD,KAAzB,CAA+B;;AAE5CE,qBAAa;AACX,eAAKC,QAAL;AACA,eAAKC,GAAL,CAAS,aAAT,EAAwBC,KAAxB,CAA8BC,OAA9B,GAAwC,MAAxC;AACA,eAAKD,KAAL,CAAWE,QAAX,GAAsB,QAAtB;AACA,eAAKH,GAAL,CAAS,QAAT,EAAmBI,gBAAnB,CAAoC,OAApC,EAA6CC,OAAO,KAAKC,WAAL,CAAiBD,GAAjB,CAApD;AACD;;AAEDN,mBAAW;AACT,cAAIQ,UAAU,KAAKP,GAAL,CAAS,aAAT,CAAd;AACA,WAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,EAAT,EAAY,EAAZ,EAAe,EAAf,EAAmBQ,OAAnB,CAA2BC,WAAW;AACpC,gBAAIC,yBAAMC,SAASC,aAAT,CAAuB,KAAvB,CAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAAJ;AACAF,gBAAIG,SAAJ,GAAgB,KAAKC,WAAL,CAAiBL,OAAjB,CAAhB;AACAC,gBAAIK,SAAJ,CAAcC,GAAd,CAAkB,KAAlB;AACAT,oBAAQU,WAAR,CAAoBP,GAApB;AACAA,gBAAIQ,IAAJ,GAAWT,OAAX;AACAC,gBAAIN,gBAAJ,CAAqB,OAArB,EAA8BC,OAAO,KAAKc,YAAL,CAAkBT,GAAlB,CAArC;AACD,WAPD;AAQD;;AAEDI,oBAAYI,IAAZ,EAAkB;AAChB,iBAAO,+EAA8EA,IAA9E,GAAmF,0BAA1F;AACD;;AAEDZ,sBAAc;AACX,cAAG,KAAKN,GAAL,CAAS,aAAT,EAAwBC,KAAxB,CAA8BC,OAA9B,IAAyC,OAA5C,EACC,KAAKF,GAAL,CAAS,aAAT,EAAwBC,KAAxB,CAA8BC,OAA9B,GAAwC,MAAxC,CADD,KAGC,KAAKF,GAAL,CAAS,aAAT,EAAwBC,KAAxB,CAA8BC,OAA9B,GAAwC,OAAxC;AACH;;AAEDiB,qBAAaT,GAAb,EAAkB;AAChB,eAAKU,KAAL,GAAaV,IAAIQ,IAAjB;AACA,eAAKlB,GAAL,CAAS,aAAT,EAAwBC,KAAxB,CAA8BC,OAA9B,GAAwC,MAAxC;AACD;;AAED,YAAIkB,KAAJ,GAAY;AACV,iBAAO,KAAKC,YAAL,CAAkB,OAAlB,CAAP;AACD;;AAED,YAAID,KAAJ,CAAUA,KAAV,EAAiB;AACf,eAAKE,YAAL,CAAkB,OAAlB,EAA2BF,KAA3B;AACA,eAAKpB,GAAL,CAAS,QAAT,EAAmBa,SAAnB,GAA+B,KAAKC,WAAL,CAAiBM,KAAjB,CAA/B;AACA,eAAKG,aAAL,CAAmB,IAAIC,WAAJ,CAAgB,eAAhB,EAAiC,EAACC,QAAQ,EAACL,OAAOA,KAAR,EAAT,EAAjC,CAAnB;AACD;AA7C2C;;yBAAzBvB,U","file":"lively-penchooser.js","sourcesContent":["import Morph from 'src/components/widgets/lively-morph.js';\n\nexport default class PenChooser extends Morph {\n      \n  initialize() {\n    this.drawPens()\n    this.get(\"#penChooser\").style.display = \"none\"\n    this.style.overflow = \"hidden\"\n    this.get(\"#field\").addEventListener(\"click\", evt => this.onChoosePen(evt))\n  }\n\n  drawPens() { \n    var chooser = this.get(\"#penChooser\");\n    [1,2,4,8,12,16,20].forEach(penSize => {\n      var pen = document.createElement(\"div\")\n      pen.innerHTML = this.penSvgShape(penSize)\n      pen.classList.add(\"pen\")\n      chooser.appendChild(pen)\n      pen.size = penSize\n      pen.addEventListener(\"click\", evt => this.onPenChoosen(pen))\n    })\n  }\n  \n  penSvgShape(size) {\n    return '<svg><path d=\"M 3 15 l 15 -5 l 15 5 l 15 -5\" stroke=\"black\" stroke-width=\"' +size+'\" fill=none><path></svg>'\n  }\n  \n  onChoosePen() {\n     if(this.get(\"#penChooser\").style.display == \"block\")\n      this.get(\"#penChooser\").style.display = \"none\"\n    else\n      this.get(\"#penChooser\").style.display = \"block\"\n  }\n\n  onPenChoosen(pen) {\n    this.value = pen.size\n    this.get(\"#penChooser\").style.display = \"none\"\n  }\n  \n  get value() {\n    return this.getAttribute(\"value\")\n  }\n\n  set value(value) {\n    this.setAttribute(\"value\", value)\n    this.get(\"#field\").innerHTML = this.penSvgShape(value)\n    this.dispatchEvent(new CustomEvent(\"value-changed\", {detail: {value: value}}))\n  }\n}\n      \n\n     \n      "]}