{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-tom/src/client/bindings.js"],"names":["Bindings","connect","object","name","element","elementPropertyName","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;;AACjE,mCAAM;AAAM,sOAAQA,mBAAR;AAAN,WAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAmDC;AAAA;AAAK,qMAAOH,IAAP,2EAAeG,CAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAL,WAAnD;AACA,mCAAM;AAAO,qMAAOH,IAAP;AAAP,WAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAoCG;AAAA;AAAK,sOAAQD,mBAAR,2EAA+BC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAL,WAApC;AACA,6NAAQD,mBAAR,+FAA+BH,MAA/B,gFAAsCC,IAAtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAHiE,CAGrB;AAC7C;;AAN2B;;yBAATH,Q;;;;;;;;;;6BAAAA,4K","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}"]}