{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-stable/src/babylonian-programming-editor/ui/buttons.js"],"names":["TextButton","MinusButton","AddButton","InstanceButton","PrePostscriptButton","ErrorButton","ExpandButton","SwitchButton","DeleteButton","Button","callback","additionalClasses","hoverText","button","addEventListener","cls","classList","add","isOn","Function","classes","push","text","length"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;gCA6CgBA,2C;;;;;;;;;;;;;;iCAJAC,4C;;;;;;;;;;;;;;+BAJAC,0C;;;;;;;;;;;;;;oCAJAC,+C;;;;;;;;;;;;;;yCARAC,oD;;;;;;;;;;;;;;iCAJAC,4C;;;;;;;;;;;;;;kCAJAC,6C;;;;;;;;;;;;;;kCAJAC,6C;;;;;;;;;;;;;;kCAJAC,6C;;;;;;;;;;;;;;4BATAC,uC;;;;;;;;AAAT,eAASA,MAAT,CAAgBC,QAAhB,EAA0BC,oBAAoB,EAA9C,EAAkDC,YAAY,EAA9D,EAAkE;AACvE,YAAIC,uEAAqB,MAArB,iCAAmCD,SAAnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAAJ;AACAC,eAAOC,gBAAP,CAAwB,OAAxB,EAAiCJ,QAAjC;AACA,aAAI,IAAIK,GAAR,IAAeJ,iBAAf,EAAkC;AAChCE,iBAAOG,SAAP,CAAiBC,GAAjB,CAAqBF,GAArB;AACD;AACD,eAAOF,MAAP;AACD;;;;AAEM,eAASL,YAAT,CAAsBE,QAAtB,EAAgC;AACrC,eAAOD,OAAOC,QAAP,EAAiB,CAAC,eAAD,CAAjB,EAAoC,QAApC,CAAP;AACD;;;;AAEM,eAASH,YAAT,CAAsBG,QAAtB,EAAgCQ,IAAhC,EAAsC;AAC3C,eAAOT,OAAOC,QAAP,EAAiB,CAAC,eAAD,EAAkB,cAAlB,EAAkCQ,OAAO,IAAP,GAAc,KAAhD,CAAjB,CAAP;AACD;;;;AAEM,eAASZ,YAAT,CAAsBI,QAAtB,EAAgC;AACrC,eAAOD,OAAOC,QAAP,EAAiB,CAAC,QAAD,EAAW,cAAX,CAAjB,EAA6C,oBAA7C,CAAP;AACD;;;;AAEM,eAASL,WAAT,CAAqBO,SAArB,EAAgC;AACrC,eAAOH,OAAOU,UAAP,EAAmB,CAAC,MAAD,EAAS,cAAT,CAAnB,EAA6CP,SAA7C,CAAP;AACD;;;;AAEM,eAASR,mBAAT,CAA6BM,QAA7B,EAAuCQ,IAAvC,EAA6C;AAClD,cAAME,UAAU,CAAC,UAAD,EAAa,cAAb,CAAhB;AACA,YAAGF,IAAH,EAAS;AACPE,kBAAQC,IAAR,CAAa,IAAb;AACD;AACD,eAAOZ,OAAOC,QAAP,EAAiBU,OAAjB,EAA0B,qBAA1B,CAAP;AACD;;;;AAEM,eAASjB,cAAT,CAAwBO,QAAxB,EAAkC;AACvC,eAAOD,OAAOC,QAAP,EAAiB,CAAC,cAAD,EAAiB,cAAjB,CAAjB,EAAmD,gBAAnD,CAAP;AACD;;;;AAEM,eAASR,SAAT,CAAmBQ,QAAnB,EAA6B;AAClC,eAAOD,OAAOC,QAAP,EAAiB,CAAC,MAAD,CAAjB,EAA2B,KAA3B,CAAP;AACD;;;;AAEM,eAAST,WAAT,CAAqBS,QAArB,EAA+B;AACpC,eAAOD,OAAOC,QAAP,EAAiB,CAAC,OAAD,CAAjB,EAA4B,QAA5B,CAAP;AACD;;;;AAEM,eAASV,UAAT,CAAoBsB,IAApB,EAA0BP,GAA1B,EAA+BL,QAA/B,EAAyC;AAC9C,YAAIG,wJACe,UAAUE,GADzB,iCACqCO,IADrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wDAEGA,KAAKC,MAAL,iEAA0B,MAA1B,+BAAkCD,IAAlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAiD,EAFpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAAJ;AAIAT,eAAOC,gBAAP,CAAwB,OAAxB,EAAiCJ,QAAjC;AACA,eAAOG,MAAP;AACD","file":"buttons.js","sourcesContent":["export function Button(callback, additionalClasses = [], hoverText = \"\") {\n  let button = <span class=\"icon\" title={hoverText}></span>\n  button.addEventListener(\"click\", callback);\n  for(let cls of additionalClasses) {\n    button.classList.add(cls);\n  }\n  return button;\n}\n\nexport function DeleteButton(callback) {\n  return Button(callback, [\"delete-button\"], \"Delete\");\n}\n\nexport function SwitchButton(callback, isOn) {\n  return Button(callback, [\"switch-button\", \"space-before\", isOn ? \"on\" : \"off\"]);\n}\n\nexport function ExpandButton(callback) {\n  return Button(callback, [\"expand\", \"space-before\"], \"Switch form layout\");\n}\n\nexport function ErrorButton(hoverText) {\n  return Button(Function(), [\"warn\", \"space-before\"], hoverText);\n}\n\nexport function PrePostscriptButton(callback, isOn) {\n  const classes = [\"exchange\", \"space-before\"];\n  if(isOn) {\n    classes.push(\"on\");\n  }\n  return Button(callback, classes, \"Edit Pre/Postscript\");\n}\n\nexport function InstanceButton(callback) {\n  return Button(callback, [\"object-group\", \"space-before\"], \"Edit Instances\");\n}\n\nexport function AddButton(callback) {\n  return Button(callback, [\"plus\"], \"Add\");\n}\n\nexport function MinusButton(callback) {\n  return Button(callback, [\"minus\"], \"Delete\");\n}\n\nexport function TextButton(text, cls, callback) {\n  let button = <button>\n        <span class={\"icon \" + cls} title={text}></span>\n        {text.length ? <span class=\"text\">{text}</span> : \"\"}\n      </button>;\n  button.addEventListener(\"click\", callback);\n  return button;\n}"]}