{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-xray/src/client/bindings.js"],"names":["Bindings","connect","object","name","element","elementPropertyName","onChange","v"],"mappings":"AAAA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOe,YAAMA,QAAN,CAAe;AAAA;AAAA;AAAA;;AAE5B,eAAOC,OAAP,CAAeC,MAAf,EAAuBC,IAAvB,EAA6BC,OAA7B,EAAsCC,sBAAoB,OAA1D,EAAmE;AAAA;AAAA;AAAA;;AACjE,iBAAM;AAAM,oKAAQA,mBAAR,YAAQA,mBAAR,+GAAQA,mBAAR,EAAQA,mBAAR;AAAN,WAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAA0CC,QAA1C,CAAmDC;AAAA;AAAA;AAAA;AAAK,8JAAOJ,IAAP,YAAOA,IAAP,iFAAOA,IAAP,EAAOA,IAAP,IAAeI,CAAf,YAAeA,CAAf,4EAAeA,CAAf,EAAeA,CAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAL,WAAnD;AAAA;AAAA;AACA,iBAAM;AAAO,8JAAOJ,IAAP,YAAOA,IAAP,iFAAOA,IAAP,EAAOA,IAAP;AAAP,WAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAA2BG,QAA3B,CAAoCC;AAAA;AAAA;AAAA;AAAK,oKAAQF,mBAAR,YAAQA,mBAAR,+GAAQA,mBAAR,EAAQA,mBAAR,IAA+BE,CAA/B,YAA+BA,CAA/B,4EAA+BA,CAA/B,EAA+BA,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAL,WAApC;AAAA;AAAA;AACA,2JAAQF,mBAAR,YAAQA,mBAAR,+GAAQA,mBAAR,EAAQA,mBAAR,eAA+BH,MAA/B,YAA+BA,MAA/B,qFAA+BA,MAA/B,EAA+BA,MAA/B,IAAsCC,IAAtC,YAAsCA,IAAtC,iFAAsCA,IAAtC,EAAsCA,IAAtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAHiE,CAGrB;AAC7C;;AAN2B;;yBAATH,Q;;;;;;;;;;;;6BAAAA,yR","file":"bindings.js","sourcesContent":["\"enable aexpr\";\n\n/*MD ## ActiveExpressions based Bidirectional Connectors\n\n**WARNING** activate active expressions in client code is needed!\n\n  - has nothing to do yet with the connection in the Halo\n  - is also completely differently implemented from old lively-kernel connections\nMD*/\nexport default class Bindings {\n  \n  static connect(object, name, element, elementPropertyName=\"value\") {\n    aexpr(() => element[elementPropertyName]).onChange(v => object[name] = v);\n    aexpr(() =>  object[name]).onChange(v => element[elementPropertyName] = v);\n    element[elementPropertyName] = object[name] // force first update\n  }\n  \n}"]}