{"version":3,"sources":["jsdelivr-header.js","/npm/@cubejs-client/vue@1.5.10/src/QueryRenderer.js","/npm/@cubejs-client/vue@1.5.10/src/QueryBuilder.js","/npm/@cubejs-client/vue@1.5.10/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,goFCHA,IAAA,cAAe,CACb,MAAO,CACL,MAAO,CACL,KAAM,CAAC,OAAQ,OACf,QAAS,WAAF,MAAS,E,GAGlB,QAAS,CACP,KAAM,QAER,QAAS,CACP,UAAU,GAEZ,QAAS,CACP,KAAM,OACN,UAAU,GAEZ,aAAc,CACZ,KAAM,OACN,UAAU,EACV,QAAS,WAAF,MAAS,E,GAElB,UAAW,CACT,KAAM,OACN,UAAU,IAGd,KAAI,WACF,MAAO,CACL,SAAU,GACV,WAAO,EACP,eAAW,EACX,SAAS,EACT,cAAU,E,EAGR,QAAO,WAAG,IAAA,EAAA,KAAA,OAAA,mCAAA,qCAAA,MAAA,SAAA,IAAA,IAAA,EAAA,EAAA,OAAA,qCAAA,MAAA,SAAA,GAAA,cAAA,EAAA,KAAA,EAAA,MAAA,OACQ,GAAd,EAAmB,EAAnB,MAAO,EAAY,EAAZ,SAEX,oBAAe,GAAM,CAAA,EAAA,KAAA,O,CAAA,OAAA,EAAA,KAAA,EACjB,EAAK,OAAM,OAAA,EAAA,KAAA,mBACR,oBAAe,GAAQ,CAAA,EAAA,KAAA,O,CAAA,OAAA,EAAA,KAAA,EAC1B,EAAK,YAAY,GAAQ,wBAAA,EAAA,O,GAAA,E,IANnB,E,EAShB,OAAM,SAAC,GACL,IAAQ,EAAsD,KAAtD,aAAc,EAAwC,KAAxC,UAAW,EAA6B,KAA7B,MAAO,EAAsB,KAAtB,QAAS,EAAa,KAAb,SAC3C,EAAQ,EAAc,MAAO,IAC/B,EAAO,KAAK,OAAO,MAAQ,KAAK,OAAO,MAAQ,EAC/C,EAAW,EAAc,MAAO,IAC9B,IAAgB,UAAW,KAAK,WAAa,UAAW,KAAK,cAMnE,GAJI,EAAa,SAAW,KAAK,aAAa,WAC5C,EAAW,EAAa,QAAO,gBAAA,GAAM,KAAK,iBAGtC,GAAW,IAAc,GAAU,EAAa,CACpD,IAAI,EAAY,CACd,YACA,WACA,MAAO,KAAK,aAAa,OAAS,KAAK,OAGrC,IACF,EAAS,gCAAA,CACP,UACA,QACA,QAAS,KAAK,MACX,KAAK,cACL,IAIP,EAAO,EAAY,QAAW,EAAY,QAAS,GAAa,C,MACvD,IACT,EAAO,EAAa,MAAQ,EAAa,MAAM,CAAE,QAAO,aAAc,GAGxE,OAAO,EAAc,MAAO,GAAI,CAAC,EAAU,G,EAE7C,QAAS,CACD,KAAI,WAAG,IAAA,EAAA,KAAA,OAAA,mCAAA,qCAAA,MAAA,SAAA,IAAA,IAAA,EAAA,OAAA,qCAAA,MAAA,SAAA,GAAA,cAAA,EAAA,KAAA,EAAA,MAAA,OACE,GAAL,EAAU,EAAV,MAEH,oBAAe,GAAM,CAAA,EAAA,KAAA,O,CAAA,OAAA,EAAA,OAAA,iBAOF,GAPE,EAAA,KAAA,EAKxB,EAAK,SAAU,EACf,EAAK,MAAQ,KACb,EAAK,UAAY,KAEI,SAAjB,EAAK,QAAkB,CAAA,EAAA,KAAA,Q,CAAA,OAAA,EAAA,KAAA,GACH,EAAK,QAAQ,IAAI,EAAO,CAC5C,SAAU,EAAK,SACf,SAAU,QACV,QAHF,EAAK,SAAQ,EAAA,KAAA,EAAA,KAAA,qBAIJ,EAAK,QAAO,CAAA,EAAA,KAAA,Q,CAAA,OAAA,EAAA,KAAA,GACC,EAAK,QAAQ,IAAI,EAAO,CAC5C,SAAU,EAAK,SACf,SAAU,QACV,QAHW,OAAb,EAAK,SAAQ,EAAA,KAAA,EAAA,KAAA,GAIU,EAAK,QAAQ,KAAK,EAAO,CAC9C,SAAU,EAAK,SACf,SAAU,UACV,QAHF,EAAK,UAAS,EAAA,KAAA,EAAA,KAAA,wBAAA,EAAA,KAAA,GAKS,EAAK,QAAQ,KAAK,EAAO,CAC9C,SAAU,EAAK,SACf,SAAU,UACV,QAHF,EAAK,UAAS,EAAA,KAAA,QAMhB,EAAK,SAAU,EAAM,EAAA,KAAA,iBAAA,EAAA,KAAA,GAAA,EAAA,GAAA,EAAA,SAErB,EAAK,MAAK,EAAA,GACV,EAAK,eAAY,EACjB,EAAK,SAAU,EAAM,yBAAA,EAAA,O,GAAA,EAAA,c,IArCZ,E,EAwCP,YAAW,WAAG,IAAA,EAAA,KAAA,OAAA,mCAAA,qCAAA,MAAA,SAAA,IAAA,IAAA,EAAA,EAAA,OAAA,qCAAA,MAAA,SAAA,GAAA,cAAA,EAAA,KAAA,EAAA,MAAA,OAiBU,OAhBpB,EAAY,EAAZ,QAAO,EAAA,KAAA,EAEb,EAAK,WAAQ,EACb,EAAK,SAAU,EAET,EAAiB,QAAQ,IAC7B,cAAQ,GAAS,KAAI,SAAA,GAAA,IAAA,EAAA,gCAAA,EAAA,GAAE,EAAI,EAAA,GAAE,EAAK,EAAA,UAChC,EAAK,QACF,KAAK,EAAO,CACX,SAAU,EAAK,SACf,SAAU,IAEX,MAAK,SAAC,GAAC,MAAK,CAAC,EAAM,E,QAEzB,EAAA,GAEgB,gBAAS,EAAA,KAAA,EAAO,EAAc,OAAA,EAAA,GAAA,EAAA,KAA/C,EAAK,WAAS,EAAA,EAAA,IAAA,EAAA,IACd,EAAK,SAAU,EAAM,EAAA,KAAA,iBAAA,EAAA,KAAA,GAAA,EAAA,GAAA,EAAA,SAErB,EAAK,MAAK,EAAA,GACV,EAAK,SAAU,EAAM,yBAAA,EAAA,O,GAAA,EAAA,c,IArBL,E,GAyBtB,MAAO,CACL,QAAO,SAAC,IACU,IAAZ,EACF,KAAK,MAAM,cAAe,CACxB,WAAW,EACX,MAAO,KAAK,MACZ,UAAW,KAAK,YAGlB,KAAK,MAAM,cAAe,CAAE,WAAW,G,EAG3C,QAAO,WACL,KAAK,M,EAEP,UAAS,WACP,KAAK,M,EAEP,MAAO,CACL,MAAM,EACN,QAAO,SAAC,EAAO,GACR,qBAAgB,EAAO,IAC1B,KAAK,M,GAIX,QAAS,CACP,QAAO,SAAC,GACF,GACF,KAAK,a,EAGT,MAAM,K,4nBCtKZ,IAAM,eAAiB,CAAC,WAAY,aAAc,WAAY,iBAAkB,WAE1E,cAAgB,SAAC,GAAM,MAAM,CACjC,GAAI,EAAO,KACX,MAAO,EAAO,MACf,EAEK,mBAAqB,SAAC,GAAK,OAC/B,EAAM,QAAO,SAAC,EAAG,GAAA,IAAI,EAAE,EAAF,GAAI,EAAK,EAAL,MAAK,MAAkB,SAAV,EAAgB,GAAA,OAAA,oCAAO,GAAG,CAAE,CAAC,EAAI,KAAU,C,GAAM,GAAG,EAEtF,UAAY,CAAC,MAAO,MAEpB,iBAAkB,SAAC,GAAO,OAC9B,EAAQ,QAAO,SAAC,EAAK,GACnB,GAAI,EAAI,SACN,SAAA,OAAA,oCAAW,GAAG,CAAE,IAGlB,IAAM,EAAqB,UAAU,QAAO,SAAC,EAAK,GAChD,IAAM,EAAU,EAAI,GAEd,EAAiB,iBAAgB,GAAW,IAElD,OAAI,EAAe,OACjB,4BAAA,GAAY,GAAG,GAAA,iCAAA,GAAG,EAAW,IAGxB,C,GACN,IAEH,OAAI,UAAU,MAAK,SAAC,GAAQ,OAAK,EAAmB,E,IAClD,GAAA,OAAA,oCAAW,GAAG,CAAE,IAGX,C,GACN,GAAG,EAEF,sBAAwB,SAAC,EAAM,GACnC,IAAM,EAAa,EAAE,QAAU,EAAE,UACjC,OAAO,GAAc,EAAK,cAAc,EAAY,CAAC,aAAc,YACrE,EAEM,gBAAiB,SAAC,EAAM,GAAG,OAC/B,GACA,EAAI,KAAI,SAAC,EAAG,GACV,OAAA,4BAAA,GACK,GAAC,IACJ,OAAQ,sBAAsB,EAAM,GACpC,QACA,IAAK,gBAAe,EAAM,EAAE,KAC5B,GAAI,gBAAe,EAAM,EAAE,K,GAE7B,EAEJ,aAAe,CACb,WAAY,CACV,6BAEF,MAAO,CACL,MAAO,CACL,KAAM,OACN,QAAS,WAAF,MAAS,E,GAElB,QAAS,CACP,KAAM,OACN,UAAU,GAEZ,iBAAkB,CAChB,KAAM,OACN,QAAS,WAAF,MAAQ,M,GAEjB,kBAAmB,CACjB,KAAM,SAER,sBAAuB,CACrB,KAAM,UAER,gBAAiB,CACf,KAAM,OACN,QAAS,WAAF,MAAS,E,GAElB,sBAAuB,CACrB,KAAM,QACN,SAAS,IAGb,KAAI,WACF,IAAA,EAII,KAAK,gBAAe,EAAA,EAHtB,aAAK,IAAA,EAAG,KAAK,MAAK,EAAA,EAAA,EAClB,iBAAS,IAAA,EAAG,KAAK,iBAAgB,EACjC,EAAW,EAAX,YAGF,MAAO,CACL,aAAc,EACd,gBAAgB,EAChB,UAAM,EACN,MAAO,GACP,YACA,SAAU,GACV,WAAY,GACZ,SAAU,GACV,eAAgB,GAChB,QAAS,GACT,kBAAmB,GACnB,oBAAqB,GACrB,wBAAyB,GACzB,kBAAmB,GACnB,MAAO,KACP,OAAQ,KACR,YAAY,EACZ,MAAO,KACP,mBAAoB,KACpB,cAAe,mBACf,YAAa,eAAU,yBAAyB,GAAS,GAAI,G,EAIjE,OAAM,SAAC,GAAe,IAAA,EAAA,KAElB,EAwBE,KAxBF,UACA,EAuBE,KAvBF,QACA,EAsBE,KAtBF,WACA,EAqBE,KArBF,QACA,EAoBE,KApBF,SACA,EAmBE,KAnBF,KACA,EAkBE,KAlBF,MACA,EAiBE,KAjBF,SACA,EAgBE,KAhBF,eACA,EAeE,KAfF,eACA,EAcE,KAdF,eACA,EAaE,KAbF,kBACA,EAYE,KAZF,wBACA,EAWE,KAXF,oBACA,EAUE,KAVF,kBACA,EASE,KATF,MACA,EAQE,KARF,OACA,EAOE,KAPF,SACA,EAME,KANF,YACA,EAKE,KALF,UACA,EAIE,KAJF,aACA,EAGE,KAHF,WACA,EAEE,KAFF,MACA,EACE,KADF,aAGE,EAAe,GAwFnB,GAtFI,IACF,EAAe,CACb,QACA,iBACA,iBACA,YACA,WACA,aACA,WACA,iBACA,UACA,oBACA,0BACA,sBACA,oBACA,gBAAiB,KAAK,YACtB,QACA,SACA,WACA,cACA,YACA,eACA,aACA,QACA,eACA,SAAU,KAAK,SACf,SAAU,KAAK,SACf,YAAa,KAAK,YAClB,YAAa,CACX,IAAK,SAAC,EAAU,GACd,EAAK,MAAQ,mBACX,EAAa,KAAI,SAAC,GAAW,OAAA,4BAAA,GACxB,GAAW,IACd,MAAO,EAAY,KAAO,EAAW,EAAW,EAAY,O,MAIlE,OAAQ,SAAC,GACP,EAAK,MAAQ,C,EAEf,QAAS,SAAC,EAAa,GACrB,EAAK,MAAQ,mBACX,qBAAgB,EAAc,EAAa,G,GAIjD,kBAAmB,CACjB,SAAU,SAAF,GAAsE,IAAjE,EAAW,EAAX,YAAa,EAAgB,EAAhB,iBAAkB,EAAU,EAAV,WAAY,EAAe,EAAf,gBACtD,EAAK,YAAc,mBACjB,EAAK,YACL,EACA,EACA,EACA,E,EAGJ,OAAQ,SAAC,GACP,EAAK,YAAW,4BAAA,GACX,EAAK,aACL,E,IAMX,eAAe,SAAQ,SAAC,GACtB,IAAM,EAAO,EAAY,OAAO,GAAG,cAAgB,EAAY,MAAM,GAErE,EAAY,MAAA,OAAO,IAAU,SAAC,GAC5B,EAAK,UAAU,EAAa,E,EAG9B,EAAY,SAAA,OAAU,IAAU,SAAC,EAAQ,GACvC,EAAK,aAAa,EAAa,EAAQ,E,EAGzC,EAAY,SAAA,OAAU,IAAU,SAAC,GAC/B,EAAK,aAAa,EAAa,E,EAGjC,EAAY,MAAA,OAAO,IAAU,SAAC,GAC5B,EAAK,WAAW,EAAa,E,OAK9B,KAAK,uBAAyB,KAAK,aAAa,QACnD,OAAO,EAAc,MAAO,GAAI,CAAC,KAAK,aAAa,QAAQ,KAI7D,IAAM,EAAW,OAAO,KAAK,KAAK,QAAQ,KAAI,SAAC,GAAI,OACjD,EAAc,WAAY,CAAE,QAAQ,EAAK,OAAO,G,IAGlD,OAAO,EACL,cACA,CACE,MAAO,CACL,MAAO,KAAK,eACZ,UACA,gBAEF,YAAa,KAAK,aAClB,GAAI,CACF,YAAa,SAAC,GACZ,EAAK,MAAM,cAAe,E,IAIhC,E,EAGJ,SAAU,CACR,eAAc,WACZ,IAAQ,EAAmB,KAAnB,eAER,OAAO,oBAAe,E,EAExB,aAAY,WACV,OAAO,8BACL,GAAA,OAAA,oCACK,KAAK,UAAQ,oCACb,KAAK,YAAU,oCACf,KAAK,eAAe,QAAO,SAAC,EAAG,GAAiC,IAA7B,EAAS,EAAT,UAIpC,YAHoB,IADsC,EAAX,aAE7C,EAAI,KAAK,cAAc,IAElB,C,GACN,MAEF,KAAI,SAAC,EAAQ,GACZ,IAAM,EAAK,EAAO,MAAQ,EAAO,GAEjC,QAAK,GAIE,CACL,QACA,KACA,MAAO,EAAO,M,IAGjB,OAAO,SACV,KAAK,M,EAGT,SAAQ,WACN,MAAO,CACL,MAAO,KAAK,eACZ,UAAW,KAAK,UAChB,YAAa,KAAK,Y,EAGtB,eAAc,WAAG,IAAA,EAAA,KACX,EAAiB,GACjB,EAAU,SAAC,GAAM,OAAK,EAAO,I,EAG7B,GAAc,EAiDlB,GAhDA,eAAe,SAAQ,SAAC,GACN,mBAAZ,EACF,EAAU,SAAC,GAAM,MAAM,CACrB,UAAW,EAAO,UAAU,KAC5B,YAAa,EAAO,YACpB,UAAW,EAAO,U,EAEC,YAAZ,IACT,EAAU,SAAC,GAAM,MAAM,CACrB,OAAQ,EAAO,QAAU,EAAO,OAAO,KACvC,SAAU,EAAO,SACjB,OAAQ,EAAO,OACf,IAAK,EAAO,KAAO,EAAO,IAAI,IAAI,GAClC,GAAI,EAAO,IAAM,EAAO,GAAG,IAAI,G,GAI/B,EAAK,GAAS,OAAS,IACzB,EAAe,GAAW,EAAK,GAAS,KAAI,SAAC,GAAC,OAAK,EAAQ,E,IAE3D,GAAc,E,IAId,EAAe,UACjB,EAAe,QAAU,iBAAgB,EAAe,UAKtD,IACE,KAAK,QACP,EAAe,MAAQ,KAAK,OAG1B,KAAK,SACP,EAAe,OAAS,KAAK,QAG3B,KAAK,QACP,EAAe,MAAQ,KAAK,OAG1B,KAAK,aACP,EAAe,WAAa,KAAK,cAKlC,KAAK,iBACL,KAAK,mBACN,oBAAe,IACf,KAAK,KACL,KAAA,EAEA,GADqB,KAAK,uBAAyB,wBAEjD,CACE,MAAO,EACP,UAAW,KAAK,WAElB,KAAK,mBACL,CACE,KAAM,KAAK,KACX,mBAAkC,QAAhB,EAAE,SAAc,IAAA,GAAgB,QAAhB,EAAd,EAAgB,sBAAc,IAAA,GAAK,QAAL,EAA9B,EAAiC,UAAE,IAAA,OAAA,EAAnC,EAAqC,cARrD,EAAK,EAAL,MAAO,EAAS,EAAT,UAAW,EAAyB,EAAzB,0BAA2B,EAAW,EAAX,YAYrD,EAAc,0CAAA,GACT,GACA,GACC,EAA4B,CAAE,MAAO,kBAAa,IAAW,MAGnE,KAAK,UAAY,GAAa,KAAK,UACnC,KAAK,YAAc,eAAU,yBAC3B,OACgB,IAAhB,EAA4B,EAAc,KAAK,aAEjD,KAAK,mBAAmB,E,CAS1B,OALgC,OAA5B,KAAK,qBACP,KAAK,gBAAiB,GAGxB,KAAK,mBAAqB,EACnB,C,GAIL,QAAO,WAAG,IAAA,EAAA,KAAA,OAAA,mCAAA,qCAAA,MAAA,SAAA,IAAA,IAAA,EAAA,OAAA,qCAAA,MAAA,SAAA,GAAA,cAAA,EAAA,KAAA,EAAA,MAAA,cAAA,EAAA,KAAA,EACI,EAAK,QAAQ,OAAM,OAEX,GAF1B,EAAK,KAAI,EAAA,KAET,EAAK,sBAED,oBAAe,EAAK,cAAa,CAAA,EAAA,KAAA,Q,CAAA,OAAA,EAAA,KAAA,EAAA,EAAA,KAAA,EAEJ,EAAK,QAAQ,OAAO,EAAK,cAAa,OAA7D,EAAc,EAAA,KAEpB,EAAK,YAAc,eAAU,0BAC3B,aAAc,EAAd,EAAgB,aAAc,GAC9B,EAAK,aACL,EAAA,KAAA,iBAAA,EAAA,KAAA,GAAA,EAAA,GAAA,EAAA,SAEF,QAAQ,MAAK,EAAA,IAAQ,yBAAA,EAAA,O,GAAA,EAAA,c,IAdX,E,EAmBhB,QAAS,CACP,mBAAkB,SAAC,GAAO,IAAA,EAAA,KACxB,EAUI,GAAS,KAAK,aAAY,EAAA,EAT5B,gBAAQ,IAAA,EAAG,GAAE,EAAA,EAAA,EACb,kBAAU,IAAA,EAAG,GAAE,EAAA,EAAA,EACf,gBAAQ,IAAA,EAAG,GAAE,EAAA,EAAA,EACb,sBAAc,IAAA,EAAG,GAAE,EAAA,EAAA,EACnB,eAAO,IAAA,EAAG,GAAE,EACZ,EAAK,EAAL,MACA,EAAM,EAAN,OACA,EAAU,EAAV,WACA,EAAK,EAAL,MAGF,KAAK,SAAW,EAAS,KAAI,SAAC,EAAG,GAAK,OAAA,cAAA,CACpC,SACG,EAAK,KAAK,cAAc,EAAG,Y,IAEhC,KAAK,WAAa,EAAW,KAAI,SAAC,EAAG,GAAK,OAAA,cAAA,CACxC,SACG,EAAK,KAAK,cAAc,EAAG,c,IAEhC,KAAK,SAAW,EAAS,KAAI,SAAC,EAAG,GAAK,OAAA,cAAA,CACpC,SACG,EAAK,KAAK,cAAc,EAAG,Y,IAEhC,KAAK,eAAiB,EAAe,KAAI,SAAC,EAAG,GAAK,OAAA,4BAAA,GAC7C,GAAC,IACJ,UAAS,4BAAA,GACJ,EAAK,KAAK,cAAc,EAAE,UAAW,eAAa,IACrD,cAAe,EAAK,gBAEtB,S,IAEF,IAAM,EAAc,CAAC,aAAc,YACnC,KAAK,QAAU,EAAQ,KAAI,SAAC,EAAG,GAC7B,IAAM,EAAa,EAAE,QAAU,EAAE,UACjC,OAAA,4BAAA,GACK,GAAC,IACJ,OAAQ,GAAc,EAAK,KAAK,cAAc,EAAY,GAC1D,UAAW,GAAc,EAAK,KAAK,yBAAyB,EAAY,GACxE,IAAK,gBAAe,EAAK,KAAM,EAAE,KACjC,GAAI,gBAAe,EAAK,KAAM,EAAE,IAChC,S,IAIJ,KAAK,kBAAoB,KAAK,KAAK,gBAAgB,GAAI,aAAe,GACtE,KAAK,oBAAsB,KAAK,KAAK,gBAAgB,GAAI,eAAiB,GAC1E,KAAK,yBAA2B,KAAK,KAAK,gBAAgB,GAAI,eAAiB,IAAI,QACjF,SAAC,GAAC,MAAgB,SAAX,EAAE,I,IAEX,KAAK,kBAAoB,KAAK,KAAK,gBAAgB,GAAI,aAAe,GACtE,KAAK,MAAQ,GAAS,IACtB,KAAK,OAAS,GAAU,KACxB,KAAK,WAAa,IAAc,EAChC,KAAK,MAAQ,GAAS,I,EAExB,UAAS,SAAC,EAAS,GACjB,IACI,EADE,EAAO,EAAQ,OAAO,GAAG,cAAgB,EAAQ,MAAM,GAG7D,GAAgB,mBAAZ,GAEF,GADA,EAAM,KAAI,YAAA,OAAa,IAAQ,MAAK,SAAC,GAAC,OAAK,EAAE,OAAS,EAAO,S,IACpD,CACP,IAAM,EAAS,4BAAA,GACV,KAAK,KAAK,cAAc,EAAI,KAAM,eAAa,IAClD,cAAe,KAAK,gBAGtB,EAAG,4BAAA,GACE,GAAG,IACN,YAAa,EAAO,YACpB,UAAW,EAAO,UAClB,YACA,MAAO,KAAK,GAAS,Q,OAIzB,EADqB,YAAZ,EACN,4BAAA,GACE,GAAM,IACT,IAAK,gBAAe,KAAK,KAAM,EAAO,KACtC,GAAI,gBAAe,KAAK,KAAM,EAAO,IACrC,OAAQ,sBAAsB,KAAK,KAAM,KAGrC,KAAI,YAAA,OAAa,IAAQ,MAAK,SAAC,GAAC,OAAK,EAAE,OAAS,C,IAGpD,GACF,KAAK,GAAS,KAAK,E,EAGvB,aAAY,SAAC,EAAS,GACpB,IAAI,EAEF,EADc,mBAAZ,EACM,KAAK,GAAS,WAAU,SAAC,GAAC,OAAK,EAAE,OAAS,C,IAC7B,YAAZ,EACD,KAAK,GAAS,WAAU,SAAC,GAAC,OAAK,EAAE,OAAO,OAAS,C,IAEjD,KAAK,GAAS,WAAU,SAAC,GAAC,OAAK,EAAE,OAAS,C,IAEpD,KAAK,GAAS,OAAO,EAAO,E,EAE9B,aAAY,SAAC,EAAS,EAAK,GACzB,IACI,EACA,EAFE,EAAO,EAAQ,OAAO,GAAG,cAAgB,EAAQ,MAAM,GAI7D,GAAgB,mBAAZ,GAGF,GAFA,EAAQ,KAAK,GAAS,WAAU,SAAC,GAAC,OAAK,EAAE,UAAU,OAAS,EAAI,S,IAChE,EAAM,KAAI,YAAA,OAAa,IAAQ,MAAK,SAAC,GAAC,OAAK,EAAE,OAAS,EAAO,S,IACpD,CACP,IAAM,EAAS,4BAAA,GACV,KAAK,KAAK,cAAc,EAAI,KAAM,eAAa,IAClD,cAAe,KAAK,gBAGtB,EAAG,4BAAA,GACE,GAAG,IACN,YACA,YAAa,EAAO,YACpB,UAAW,EAAO,UAClB,S,MAGiB,YAAZ,GACT,EAAQ,KAAK,GAAS,WAAU,SAAC,GAAC,OAAK,EAAE,YAAc,C,IACvD,EAAG,4BAAA,GACE,GAAM,IACT,IAAK,gBAAe,KAAK,KAAM,EAAO,KACtC,GAAI,gBAAe,KAAK,KAAM,EAAO,IACrC,OAAQ,sBAAsB,KAAK,KAAM,OAG3C,EAAQ,KAAK,GAAS,WAAU,SAAC,GAAC,OAAK,EAAE,OAAS,C,IAClD,EAAM,KAAI,YAAA,OAAa,IAAQ,MAAK,SAAC,GAAC,OAAK,EAAE,OAAS,C,KAGpD,GACF,KAAK,GAAS,OAAO,EAAO,EAAG,E,EAGnC,WAAU,SAAC,EAAS,GAAS,IAEvB,EAFuB,EAAA,KACrB,EAAO,EAAQ,OAAO,GAAG,cAAgB,EAAQ,MAAM,GAEvD,EAAW,GAEjB,EAAQ,OAAO,SAAS,SAAQ,SAAC,GAC/B,GAAgB,mBAAZ,GAEF,GADA,EAAM,EAAI,YAAA,OAAa,IAAQ,MAAK,SAAC,GAAC,OAAK,EAAE,OAAS,EAAE,S,IAC/C,CACP,IAAM,EAAS,4BAAA,GACV,EAAK,KAAK,cAAc,EAAI,KAAM,eAAa,IAClD,cAAe,EAAK,gBAGtB,EAAG,4BAAA,GACE,GAAG,IACN,YAAa,EAAE,YACf,UAAW,EAAE,UACb,YACA,MAAO,EAAK,GAAS,Q,OAIzB,EADqB,YAAZ,EACN,4BAAA,GACE,GAAC,IACJ,IAAK,gBAAe,EAAK,KAAM,EAAE,KACjC,GAAI,gBAAe,EAAK,KAAM,EAAE,IAChC,OAAQ,sBAAsB,EAAK,KAAM,KAGrC,EAAI,YAAA,OAAa,IAAQ,MAAK,SAAC,GAAC,OAAK,EAAE,OAAS,C,IAGpD,GACF,EAAS,KAAK,E,IAIlB,KAAK,GAAW,C,EAElB,SAAQ,SAAC,GACP,KAAK,MAAQ,C,EAEf,YAAW,WACT,KAAK,MAAQ,I,EAEf,UAAS,SAAC,GACR,KAAK,OAAS,C,EAEhB,YAAW,SAAC,GACV,KAAK,UAAY,C,EAEnB,SAAQ,WAAa,IAAZ,EAAK,UAAA,OAAA,QAAA,IAAA,UAAA,GAAA,UAAA,GAAG,GACf,KAAK,MAAQ,C,EAEf,mBAAkB,SAAC,GACjB,KAAK,MACH,iBACA,YAAK,4BAAA,GACA,KAAK,UACL,I,GAMX,MAAO,CACL,eAAgB,CACd,MAAM,EACN,QAAO,SAAC,EAAO,GAAW,IAAA,EAAA,KAClB,GAAmB,qBAAgB,EAAO,GAE5C,GACF,KAAK,mBAAmB,CACtB,UAIA,oBAAe,IAAU,GAC3B,KAAK,QACF,OAAO,EAAO,CACb,SAAU,KAAK,QAEhB,MAAK,SAAC,GACL,IAAM,EAAc,eAAU,yBAAyB,aAAM,EAAN,EAAQ,WAAY,EAAK,aAE3E,aAAO,EAAa,EAAK,eAC5B,EAAK,YAAc,E,IAErB,OACK,SAAC,GAAK,OAAK,QAAQ,MAAM,E,MAIxC,MAAO,CACL,MAAM,EACN,QAAO,SAAC,GACD,KAAK,MAMV,KAAK,mBAAmB,E,GAG5B,YAAa,CACX,MAAM,EACN,QAAO,SAAC,EAAa,GACd,aAAO,EAAa,IACvB,KAAK,mBAAmB,CACtB,e,GAKR,UAAS,SAAC,GACR,KAAK,mBAAmB,CACtB,UAAW,G,IChrBnB,MAAe,G","file":"/npm/@cubejs-client/vue@1.5.10/dist/cubejs-client-vue.cjs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@cubejs-client/vue@1.5.10/dist/cubejs-client-vue.cjs.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\n\nexport default {\n  props: {\n    query: {\n      type: [Object, Array],\n      default: () => ({}),\n    },\n    // TODO: validate with current react implementation\n    queries: {\n      type: Object,\n    },\n    loadSql: {\n      required: false,\n    },\n    cubeApi: {\n      type: Object,\n      required: true,\n    },\n    builderProps: {\n      type: Object,\n      required: false,\n      default: () => ({}),\n    },\n    chartType: {\n      type: String,\n      required: false,\n    },\n  },\n  data() {\n    return {\n      mutexObj: {},\n      error: undefined,\n      resultSet: undefined,\n      loading: false,\n      sqlQuery: undefined,\n    };\n  },\n  async mounted() {\n    const { query, queries } = this;\n\n    if (isQueryPresent(query)) {\n      await this.load();\n    } else if (isQueryPresent(queries)) {\n      await this.loadQueries(queries);\n    }\n  },\n  render(createElement) {\n    const { $scopedSlots, resultSet, error, loading, sqlQuery } = this;\n    const empty = createElement('div', {});\n    let slot = this.$slots.empty ? this.$slots.empty : empty;\n    let controls = createElement('div', {});\n    const onlyDefault = !('empty' in this.$slots) && !('error' in this.$scopedSlots);\n\n    if ($scopedSlots.builder && this.builderProps.measures) {\n      controls = $scopedSlots.builder({ ...this.builderProps });\n    }\n\n    if ((!loading && resultSet && !error) || onlyDefault) {\n      let slotProps = {\n        resultSet,\n        sqlQuery,\n        query: this.builderProps.query || this.query,\n      };\n\n      if (onlyDefault) {\n        slotProps = {\n          loading,\n          error,\n          refetch: this.load,\n          ...this.builderProps,\n          ...slotProps,\n        };\n      }\n\n      slot = $scopedSlots.default ? $scopedSlots.default(slotProps) : slot;\n    } else if (error) {\n      slot = $scopedSlots.error ? $scopedSlots.error({ error, sqlQuery }) : slot;\n    }\n\n    return createElement('div', {}, [controls, slot]);\n  },\n  methods: {\n    async load() {\n      const { query } = this;\n\n      if (!isQueryPresent(query)) {\n        return;\n      }\n\n      try {\n        this.loading = true;\n        this.error = null;\n        this.resultSet = null;\n\n        if (this.loadSql === 'only') {\n          this.sqlQuery = await this.cubeApi.sql(query, {\n            mutexObj: this.mutexObj,\n            mutexKey: 'sql',\n          });\n        } else if (this.loadSql) {\n          this.sqlQuery = await this.cubeApi.sql(query, {\n            mutexObj: this.mutexObj,\n            mutexKey: 'sql',\n          });\n          this.resultSet = await this.cubeApi.load(query, {\n            mutexObj: this.mutexObj,\n            mutexKey: 'query',\n          });\n        } else {\n          this.resultSet = await this.cubeApi.load(query, {\n            mutexObj: this.mutexObj,\n            mutexKey: 'query',\n          });\n        }\n\n        this.loading = false;\n      } catch (error) {\n        this.error = error;\n        this.resultSet = undefined;\n        this.loading = false;\n      }\n    },\n    async loadQueries() {\n      const { queries } = this;\n      try {\n        this.error = undefined;\n        this.loading = true;\n\n        const resultPromises = Promise.all(\n          toPairs(queries).map(([name, query]) =>\n            this.cubeApi\n              .load(query, {\n                mutexObj: this.mutexObj,\n                mutexKey: name,\n              })\n              .then((r) => [name, r])\n          )\n        );\n\n        this.resultSet = fromPairs(await resultPromises);\n        this.loading = false;\n      } catch (error) {\n        this.error = error;\n        this.loading = false;\n      }\n    },\n  },\n  watch: {\n    loading(loading) {\n      if (loading === false) {\n        this.$emit('queryStatus', {\n          isLoading: false,\n          error: this.error,\n          resultSet: this.resultSet,\n        });\n      } else {\n        this.$emit('queryStatus', { isLoading: true });\n      }\n    },\n    cubeApi() {\n      this.load();\n    },\n    chartType() {\n      this.load();\n    },\n    query: {\n      deep: true,\n      handler(query, prevQuery) {\n        if (!areQueriesEqual(query, prevQuery)) {\n          this.load();\n        }\n      },\n    },\n    queries: {\n      handler(val) {\n        if (val) {\n          this.loadQueries();\n        }\n      },\n      deep: true,\n    },\n  },\n};\n","import {\n  isQueryPresent,\n  defaultOrder,\n  defaultHeuristics,\n  GRANULARITIES,\n  ResultSet,\n  getOrderMembersFromOrder,\n  moveItemInArray,\n  movePivotItem,\n  areQueriesEqual,\n} from '@cubejs-client/core';\nimport { clone, equals } from 'ramda';\n\nimport QueryRenderer from './QueryRenderer';\n\nconst QUERY_ELEMENTS = ['measures', 'dimensions', 'segments', 'timeDimensions', 'filters'];\n\nconst toOrderMember = (member) => ({\n  id: member.name,\n  title: member.title,\n});\n\nconst reduceOrderMembers = (array) =>\n  array.reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []);\n\nconst operators = ['and', 'or'];\n\nconst validateFilters = (filters) =>\n  filters.reduce((acc, raw) => {\n    if (raw.operator) {\n      return [...acc, raw];\n    }\n\n    const validBooleanFilter = operators.reduce((acc, operator) => {\n      const filters = raw[operator];\n\n      const booleanFilters = validateFilters(filters || []);\n\n      if (booleanFilters.length) {\n        return { ...acc, [operator]: booleanFilters };\n      }\n\n      return acc;\n    }, {});\n\n    if (operators.some((operator) => validBooleanFilter[operator])) {\n      return [...acc, validBooleanFilter];\n    }\n\n    return acc;\n  }, []);\n\nconst getDimensionOrMeasure = (meta, m) => {\n  const memberName = m.member || m.dimension;\n  return memberName && meta.resolveMember(memberName, ['dimensions', 'measures']);\n};\n\nconst resolveMembers = (meta, arr) =>\n  arr &&\n  arr.map((e, index) => {\n    return {\n      ...e,\n      member: getDimensionOrMeasure(meta, e),\n      index,\n      and: resolveMembers(meta, e.and),\n      or: resolveMembers(meta, e.or),\n    };\n  });\n\nexport default {\n  components: {\n    QueryRenderer,\n  },\n  props: {\n    query: {\n      type: Object,\n      default: () => ({}),\n    },\n    cubeApi: {\n      type: Object,\n      required: true,\n    },\n    initialChartType: {\n      type: String,\n      default: () => 'line',\n    },\n    disableHeuristics: {\n      type: Boolean,\n    },\n    stateChangeHeuristics: {\n      type: Function,\n    },\n    initialVizState: {\n      type: Object,\n      default: () => ({}),\n    },\n    wrapWithQueryRenderer: {\n      type: Boolean,\n      default: true,\n    },\n  },\n  data() {\n    const {\n      query = this.query,\n      chartType = this.initialChartType,\n      pivotConfig,\n    } = this.initialVizState;\n\n    return {\n      initialQuery: query,\n      skipHeuristics: true,\n      meta: undefined,\n      mutex: {},\n      chartType,\n      measures: [],\n      dimensions: [],\n      segments: [],\n      timeDimensions: [],\n      filters: [],\n      availableMeasures: [],\n      availableDimensions: [],\n      availableTimeDimensions: [],\n      availableSegments: [],\n      limit: null,\n      offset: null,\n      renewQuery: false,\n      order: null,\n      prevValidatedQuery: null,\n      granularities: GRANULARITIES,\n      pivotConfig: ResultSet.getNormalizedPivotConfig(query || {}, pivotConfig),\n    };\n  },\n\n  render(createElement) {\n    const {\n      chartType,\n      cubeApi,\n      dimensions,\n      filters,\n      measures,\n      meta,\n      query,\n      segments,\n      timeDimensions,\n      validatedQuery,\n      isQueryPresent,\n      availableSegments,\n      availableTimeDimensions,\n      availableDimensions,\n      availableMeasures,\n      limit,\n      offset,\n      setLimit,\n      removeLimit,\n      setOffset,\n      removeOffset,\n      renewQuery,\n      order,\n      orderMembers,\n    } = this;\n\n    let builderProps = {};\n\n    if (meta) {\n      builderProps = {\n        query,\n        validatedQuery,\n        isQueryPresent,\n        chartType,\n        measures,\n        dimensions,\n        segments,\n        timeDimensions,\n        filters,\n        availableSegments,\n        availableTimeDimensions,\n        availableDimensions,\n        availableMeasures,\n        updateChartType: this.updateChart,\n        limit,\n        offset,\n        setLimit,\n        removeLimit,\n        setOffset,\n        removeOffset,\n        renewQuery,\n        order,\n        orderMembers,\n        setOrder: this.setOrder,\n        setQuery: this.setQuery,\n        pivotConfig: this.pivotConfig,\n        updateOrder: {\n          set: (memberId, newOrder) => {\n            this.order = reduceOrderMembers(\n              orderMembers.map((orderMember) => ({\n                ...orderMember,\n                order: orderMember.id === memberId ? newOrder : orderMember.order,\n              }))\n            );\n          },\n          update: (newOrder) => {\n            this.order = newOrder;\n          },\n          reorder: (sourceIndex, destinationIndex) => {\n            this.order = reduceOrderMembers(\n              moveItemInArray(orderMembers, sourceIndex, destinationIndex)\n            );\n          },\n        },\n        updatePivotConfig: {\n          moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }) => {\n            this.pivotConfig = movePivotItem(\n              this.pivotConfig,\n              sourceIndex,\n              destinationIndex,\n              sourceAxis,\n              destinationAxis\n            );\n          },\n          update: (pivotConfig) => {\n            this.pivotConfig = {\n              ...this.pivotConfig,\n              ...pivotConfig,\n            };\n          },\n        },\n      };\n\n      QUERY_ELEMENTS.forEach((elementName) => {\n        const name = elementName.charAt(0).toUpperCase() + elementName.slice(1);\n\n        builderProps[`add${name}`] = (member) => {\n          this.addMember(elementName, member);\n        };\n\n        builderProps[`update${name}`] = (member, updateWith) => {\n          this.updateMember(elementName, member, updateWith);\n        };\n\n        builderProps[`remove${name}`] = (member) => {\n          this.removeMember(elementName, member);\n        };\n\n        builderProps[`set${name}`] = (members) => {\n          this.setMembers(elementName, members);\n        };\n      });\n    }\n\n    if (!this.wrapWithQueryRenderer && this.$scopedSlots.builder) {\n      return createElement('div', {}, [this.$scopedSlots.builder(builderProps)]);\n    }\n\n    // Pass parent slots to child QueryRenderer component\n    const children = Object.keys(this.$slots).map((slot) =>\n      createElement('template', { slot }, this.$slots[slot])\n    );\n\n    return createElement(\n      QueryRenderer,\n      {\n        props: {\n          query: this.validatedQuery,\n          cubeApi,\n          builderProps,\n        },\n        scopedSlots: this.$scopedSlots,\n        on: {\n          queryStatus: (event) => {\n            this.$emit('queryStatus', event);\n          },\n        },\n      },\n      children\n    );\n  },\n  computed: {\n    isQueryPresent() {\n      const { validatedQuery } = this;\n\n      return isQueryPresent(validatedQuery);\n    },\n    orderMembers() {\n      return getOrderMembersFromOrder(\n        [\n          ...this.measures,\n          ...this.dimensions,\n          ...this.timeDimensions.reduce((acc, { dimension, granularity }) => {\n            if (granularity !== undefined) {\n              acc.push(toOrderMember(dimension));\n            }\n            return acc;\n          }, []),\n        ]\n          .map((member, index) => {\n            const id = member.name || member.id;\n\n            if (!id) {\n              return false;\n            }\n\n            return {\n              index,\n              id,\n              title: member.title,\n            };\n          })\n          .filter(Boolean),\n        this.order\n      );\n    },\n    vizState() {\n      return {\n        query: this.validatedQuery,\n        chartType: this.chartType,\n        pivotConfig: this.pivotConfig,\n      };\n    },\n    validatedQuery() {\n      let validatedQuery = {};\n      let toQuery = (member) => member.name;\n      // TODO: implement timezone\n\n      let hasElements = false;\n      QUERY_ELEMENTS.forEach((element) => {\n        if (element === 'timeDimensions') {\n          toQuery = (member) => ({\n            dimension: member.dimension.name,\n            granularity: member.granularity,\n            dateRange: member.dateRange,\n          });\n        } else if (element === 'filters') {\n          toQuery = (member) => ({\n            member: member.member && member.member.name,\n            operator: member.operator,\n            values: member.values,\n            and: member.and && member.and.map(toQuery),\n            or: member.or && member.or.map(toQuery),\n          });\n        }\n\n        if (this[element].length > 0) {\n          validatedQuery[element] = this[element].map((x) => toQuery(x));\n\n          hasElements = true;\n        }\n      });\n\n      if (validatedQuery.filters) {\n        validatedQuery.filters = validateFilters(validatedQuery.filters);\n      }\n\n      // only set limit and offset if there are elements otherwise an invalid request with just limit/offset\n      // gets sent when the component is first mounted, but before the actual query is constructed.\n      if (hasElements) {\n        if (this.limit) {\n          validatedQuery.limit = this.limit;\n        }\n\n        if (this.offset) {\n          validatedQuery.offset = this.offset;\n        }\n\n        if (this.order) {\n          validatedQuery.order = this.order;\n        }\n\n        if (this.renewQuery) {\n          validatedQuery.renewQuery = this.renewQuery;\n        }\n      }\n\n      if (\n        !this.skipHeuristics &&\n        !this.disableHeuristics &&\n        isQueryPresent(validatedQuery) &&\n        this.meta\n      ) {\n        const heuristicsFn = this.stateChangeHeuristics || defaultHeuristics;\n        const { query, chartType, shouldApplyHeuristicOrder, pivotConfig } = heuristicsFn(\n          {\n            query: validatedQuery,\n            chartType: this.chartType,\n          },\n          this.prevValidatedQuery,\n          {\n            meta: this.meta,\n            sessionGranularity: validatedQuery?.timeDimensions?.[0]?.granularity,\n          }\n        );\n\n        validatedQuery = {\n          ...validatedQuery,\n          ...query,\n          ...(shouldApplyHeuristicOrder ? { order: defaultOrder(query) } : null),\n        };\n\n        this.chartType = chartType || this.chartType;\n        this.pivotConfig = ResultSet.getNormalizedPivotConfig(\n          validatedQuery,\n          pivotConfig !== undefined ? pivotConfig : this.pivotConfig\n        );\n        this.copyQueryFromProps(validatedQuery);\n      }\n\n      // query heuristics should only apply on query change (not applied to the initial query)\n      if (this.prevValidatedQuery !== null) {\n        this.skipHeuristics = false;\n      }\n\n      this.prevValidatedQuery = validatedQuery;\n      return validatedQuery;\n    },\n  },\n\n  async mounted() {\n    this.meta = await this.cubeApi.meta();\n\n    this.copyQueryFromProps();\n\n    if (isQueryPresent(this.initialQuery)) {\n      try {\n        const dryRunResponse = await this.cubeApi.dryRun(this.initialQuery);\n\n        this.pivotConfig = ResultSet.getNormalizedPivotConfig(\n          dryRunResponse?.pivotQuery || {},\n          this.pivotConfig\n        );\n      } catch (error) {\n        console.error(error);\n      }\n    }\n  },\n\n  methods: {\n    copyQueryFromProps(query) {\n      const {\n        measures = [],\n        dimensions = [],\n        segments = [],\n        timeDimensions = [],\n        filters = [],\n        limit,\n        offset,\n        renewQuery,\n        order,\n      } = query || this.initialQuery;\n\n      this.measures = measures.map((m, index) => ({\n        index,\n        ...this.meta.resolveMember(m, 'measures'),\n      }));\n      this.dimensions = dimensions.map((m, index) => ({\n        index,\n        ...this.meta.resolveMember(m, 'dimensions'),\n      }));\n      this.segments = segments.map((m, index) => ({\n        index,\n        ...this.meta.resolveMember(m, 'segments'),\n      }));\n      this.timeDimensions = timeDimensions.map((m, index) => ({\n        ...m,\n        dimension: {\n          ...this.meta.resolveMember(m.dimension, 'dimensions'),\n          granularities: this.granularities,\n        },\n        index,\n      }));\n      const memberTypes = ['dimensions', 'measures'];\n      this.filters = filters.map((m, index) => {\n        const memberName = m.member || m.dimension;\n        return {\n          ...m,\n          member: memberName && this.meta.resolveMember(memberName, memberTypes),\n          operators: memberName && this.meta.filterOperatorsForMember(memberName, memberTypes),\n          and: resolveMembers(this.meta, m.and),\n          or: resolveMembers(this.meta, m.or),\n          index,\n        };\n      });\n\n      this.availableMeasures = this.meta.membersForQuery({}, 'measures') || [];\n      this.availableDimensions = this.meta.membersForQuery({}, 'dimensions') || [];\n      this.availableTimeDimensions = (this.meta.membersForQuery({}, 'dimensions') || []).filter(\n        (m) => m.type === 'time'\n      );\n      this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];\n      this.limit = limit || 10000;\n      this.offset = offset || null;\n      this.renewQuery = renewQuery || false;\n      this.order = order || null;\n    },\n    addMember(element, member) {\n      const name = element.charAt(0).toUpperCase() + element.slice(1);\n      let mem;\n\n      if (element === 'timeDimensions') {\n        mem = this[`available${name}`].find((m) => m.name === member.dimension);\n        if (mem) {\n          const dimension = {\n            ...this.meta.resolveMember(mem.name, 'dimensions'),\n            granularities: this.granularities,\n          };\n\n          mem = {\n            ...mem,\n            granularity: member.granularity,\n            dateRange: member.dateRange,\n            dimension,\n            index: this[element].length,\n          };\n        }\n      } else if (element === 'filters') {\n        mem = {\n          ...member,\n          and: resolveMembers(this.meta, member.and),\n          or: resolveMembers(this.meta, member.or),\n          member: getDimensionOrMeasure(this.meta, member),\n        };\n      } else {\n        mem = this[`available${name}`].find((m) => m.name === member);\n      }\n\n      if (mem) {\n        this[element].push(mem);\n      }\n    },\n    removeMember(element, member) {\n      let index;\n      if (element === 'timeDimensions') {\n        index = this[element].findIndex((x) => x.name === member);\n      } else if (element === 'filters') {\n        index = this[element].findIndex((x) => x.member.name === member);\n      } else {\n        index = this[element].findIndex((x) => x.name === member);\n      }\n      this[element].splice(index, 1);\n    },\n    updateMember(element, old, member) {\n      const name = element.charAt(0).toUpperCase() + element.slice(1);\n      let mem;\n      let index;\n\n      if (element === 'timeDimensions') {\n        index = this[element].findIndex((x) => x.dimension.name === old.dimension);\n        mem = this[`available${name}`].find((m) => m.name === member.dimension);\n        if (mem) {\n          const dimension = {\n            ...this.meta.resolveMember(mem.name, 'dimensions'),\n            granularities: this.granularities,\n          };\n\n          mem = {\n            ...mem,\n            dimension,\n            granularity: member.granularity,\n            dateRange: member.dateRange,\n            index,\n          };\n        }\n      } else if (element === 'filters') {\n        index = this[element].findIndex((x) => x.dimension === old);\n        mem = {\n          ...member,\n          and: resolveMembers(this.meta, member.and),\n          or: resolveMembers(this.meta, member.or),\n          member: getDimensionOrMeasure(this.meta, member),\n        };\n      } else {\n        index = this[element].findIndex((x) => x.name === old);\n        mem = this[`available${name}`].find((m) => m.name === member);\n      }\n\n      if (mem) {\n        this[element].splice(index, 1, mem);\n      }\n    },\n    setMembers(element, members) {\n      const name = element.charAt(0).toUpperCase() + element.slice(1);\n      let mem;\n      const elements = [];\n\n      members.filter(Boolean).forEach((m) => {\n        if (element === 'timeDimensions') {\n          mem = this[`available${name}`].find((x) => x.name === m.dimension);\n          if (mem) {\n            const dimension = {\n              ...this.meta.resolveMember(mem.name, 'dimensions'),\n              granularities: this.granularities,\n            };\n\n            mem = {\n              ...mem,\n              granularity: m.granularity,\n              dateRange: m.dateRange,\n              dimension,\n              index: this[element].length,\n            };\n          }\n        } else if (element === 'filters') {\n          mem = {\n            ...m,\n            and: resolveMembers(this.meta, m.and),\n            or: resolveMembers(this.meta, m.or),\n            member: getDimensionOrMeasure(this.meta, m),\n          };\n        } else {\n          mem = this[`available${name}`].find((x) => x.name === m);\n        }\n\n        if (mem) {\n          elements.push(mem);\n        }\n      });\n\n      this[element] = elements;\n    },\n    setLimit(limit) {\n      this.limit = limit;\n    },\n    removeLimit() {\n      this.limit = null;\n    },\n    setOffset(offset) {\n      this.offset = offset;\n    },\n    updateChart(chartType) {\n      this.chartType = chartType;\n    },\n    setOrder(order = {}) {\n      this.order = order;\n    },\n    emitVizStateChange(partialVizState) {\n      this.$emit(\n        'vizStateChange',\n        clone({\n          ...this.vizState,\n          ...partialVizState,\n        })\n      );\n    },\n  },\n\n  watch: {\n    validatedQuery: {\n      deep: true,\n      handler(query, prevQuery) {\n        const hasQueryChanged = !areQueriesEqual(query, prevQuery);\n\n        if (hasQueryChanged) {\n          this.emitVizStateChange({\n            query,\n          });\n        }\n\n        if (isQueryPresent(query) && hasQueryChanged) {\n          this.cubeApi\n            .dryRun(query, {\n              mutexObj: this.mutex,\n            })\n            .then((result) => {\n              const pivotConfig = ResultSet.getNormalizedPivotConfig(result?.pivotQuery, this.pivotConfig);\n\n              if (!equals(pivotConfig, this.pivotConfig)) {\n                this.pivotConfig = pivotConfig;\n              }\n            })\n            .catch((error) => console.error(error));\n        }\n      },\n    },\n    query: {\n      deep: true,\n      handler(query) {\n        if (!this.meta) {\n          // this is ok as if meta has not been loaded by the time query prop has changed,\n          // then the promise for loading meta (found in mounted()) will call\n          // copyQueryFromProps and will therefore update anyway.\n          return;\n        }\n        this.copyQueryFromProps(query);\n      },\n    },\n    pivotConfig: {\n      deep: true,\n      handler(pivotConfig, prevPivotConfig) {\n        if (!equals(pivotConfig, prevPivotConfig)) {\n          this.emitVizStateChange({\n            pivotConfig,\n          });\n        }\n      },\n    },\n    chartType(value) {\n      this.emitVizStateChange({\n        chartType: value,\n      });\n    },\n  },\n};\n","import { GRANULARITIES } from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport QueryBuilder from './QueryBuilder';\n\nexport { QueryRenderer, QueryBuilder, GRANULARITIES };\n\nexport default {};\n"]}