{"version":3,"file":"7838.chunk.9939c.js","mappings":"s/FAKA,IAAAA,EAAyCC,OAAjCC,EAAYF,EAAZE,aAAcC,EAAcH,EAAdG,eAEDC,EAAK,WAoDxB,O,EAnDD,SAAAA,IAAqF,IAMhFC,EANgFC,EAAA,KAAzEC,EAAYC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAACG,EAAAH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAoD,CAAC,EAACI,EAAAD,EAAlDE,gBAAAA,OAAe,IAAAD,EAAG,QAAOA,EAAAE,EAAAH,EAAEI,YAAAA,OAAW,IAAAD,EAAG,GAAEA,G,4FAAAE,CAAA,KAAAZ,GAC3Ea,OAAOC,OAAOC,MAAMC,EAAAA,EAAAA,MAEpBD,KAAKN,gBAAkBA,EACvBM,KAAKJ,YAAcA,EAInB,IACCV,EAAcgB,KAAKC,MAAMpB,EAAaqB,QAAQJ,KAAKN,iBACpD,CAAE,MAAOW,GACRnB,EAAc,CAAC,CAChB,CAAE,QACDA,EAAqC,WAAvBoB,EAAOpB,GAA2BA,EAAc,CAAC,CAChE,CAEAc,KAAKO,OAAMC,EAAAA,EAAA,GAAQpB,GAAiBF,GAEpCJ,OAAO2B,iBAAiB,WAAW,SAACJ,GAEnC,GAAIA,EAAEK,MAAQvB,EAAKO,gBAAnB,CAIA,IAAKW,EAAEM,SAEN,OAAOC,SAASC,SAGjB,IAAM3B,EAAcgB,KAAKC,MAAME,EAAEM,UACjCxB,EAAK2B,eAAe5B,GACpBC,EAAK4B,KAAK,gBATV,CAUD,IAEAjC,OAAO2B,iBAAiB,QAAQ,WAC/B,IAAMO,GAAYC,EAAAA,EAAAA,MAClBjC,EAAekC,QAAQ,YAAaF,GACpC,IAAAG,EAAgChC,EAAKoB,OAA7Ba,eAAAA,OAAc,IAAAD,EAAG,GAAEA,EAC3BhC,EAAKkC,SAAS,CAAED,eAAgB,CAACJ,GAASM,OAAAC,EAAKH,KAChD,IAEAtC,OAAO2B,iBAAiB,oBAAoB,YAC1CtB,EAAKoB,OAAOiB,YAAcrC,EAAKoB,OAAOkB,YAAaC,EAAAA,EAAAA,GAAW,cAC/DvC,EAAKoB,OAAOoB,OAAOC,SAAUF,EAAAA,EAAAA,GAAW,eAAgBA,EAAAA,EAAAA,GAAW,aACpE,IAEA5C,OAAO2B,iBAAiB,gBAAgB,WACvC,IAAMO,EAAYhC,EAAeoB,QAAQ,aACzCyB,EAAgC1C,EAAKoB,OAA7Ba,eAAAA,OAAc,IAAAS,EAAG,GAAEA,EAC3B1C,EAAKkC,SAAS,CAAED,eAAgBA,EAAeU,QAAO,SAACC,GAAO,OAAKA,IAAYf,CAAS,KACzF,GACD,G,EAAC,EAAAN,IAAA,QAAAsB,IAED,WACC,OAAOhC,KAAKO,MACb,GAAC,CAAAG,IAAA,UAAAuB,MAED,WACC,IACyCC,EADnCC,EAAW3B,EAAA,GAAQR,KAAKO,QAAS6B,EAAAC,EACdrC,KAAKJ,aAAW,IAAzC,IAAAwC,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,aACQL,EADaD,EAAAD,MAEpB,OAAAQ,GAAAL,EAAA/B,EAAAoC,EAAA,SAAAL,EAAAM,GAAA,CACD3D,EAAamC,QAAQlB,KAAKN,gBAAiBQ,KAAKyC,UAAUR,GAC3D,GAAC,CAAAzB,IAAA,WAAAuB,MAED,SAASW,GACR,IAAMC,EAAY7C,KAAKO,OACvBP,KAAKO,OAAMC,EAAAA,EAAA,GAAQqC,GAAcD,GACjC5C,KAAK8C,UACL9C,KAAKe,KAAK,SAAU,CAACf,KAAKO,OAAQsC,EAAWD,GAC9C,GAAC,CAAAlC,IAAA,+BAAAuB,MAED,SAA6Bc,GAC5B,IAAMF,EAAY7C,KAAKO,cAChBsC,EAAUE,GACjB/C,KAAKO,OAAMC,EAAA,GAAQqC,GACnB7C,KAAK8C,UACL9C,KAAKe,KAAK,SAAU,CAACf,KAAKO,OAAQsC,GACnC,GAAC,CAAAnC,IAAA,iBAAAuB,MAED,SAAe/C,GACd,IAGyC8D,EAHnCH,EAAY7C,KAAKO,OAEjB0C,EAAgB,CAAC,EAAEC,EAAAb,EACArC,KAAKJ,aAAW,IAAzC,IAAAsD,EAAAZ,MAAAU,EAAAE,EAAAX,KAAAC,MAA2C,KAAhCW,EAAUH,EAAAf,MACpBgB,EAAcE,GAAcN,EAAUM,EACvC,CAAC,OAAAV,GAAAS,EAAA7C,EAAAoC,EAAA,SAAAS,EAAAR,GAAA,CACD1C,KAAKO,OAAMC,EAAAA,EAAA,GAAQtB,GAAgB+D,GACnCjD,KAAKe,KAAK,SAAU,CAACf,KAAKO,OAAQsC,GACnC,M,6EAAC,CA1FwB,G,ivDCFnB,IAAMzD,EAAe,WAAH,MAAU,CAClCgE,OAAOnC,EAAAA,EAAAA,MACPoC,OAAQ,GACRC,OAAQ,CACPC,SAAU,CAAC,EACXC,SAAU,CAAC,EACXC,MAAO,CAAC,EACRC,SAAU,GACVC,YAAa,GACbC,UAAW,CAAC,GAEbL,SAAU,GACVM,KAAM,KACNC,MAAO,CACNC,IAAK,GACLC,SAAS,EACTC,MAAM,GAEPtC,OAAQ,CACPuC,MAAO,CAAC,EACRT,MAAO,CAAC,EACR7B,SAAS,GAEVuC,KAAM,CACLC,UAAU,GAEXC,OAAQ,GACRzC,SAAS,EACTJ,WAAW,EACX8C,OAAQ,KACRC,kBAAmB,KACnBC,YAAa,KACbC,aAAc,KACd,EAGYC,EAAQ,IAAIzF,EAAMG,IAAgB,CAAEQ,YAD7B,CAAC,WAAY,SAAU,UAAW,SAAU,SAAU,iBAAkB,QAAS,oBAAqB,iBAWpH+E,GAAeC,EAAAA,EAAAA,iBAERC,EAAQ,SAAAC,GAAA,SAAAD,IAAA,IAAA1F,G,4FAAAU,CAAA,KAAAgF,GAAA,QAAAE,EAAA1F,UAAAC,OAAA0F,EAAA,IAAAC,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAAF,EAAAE,GAAA7F,UAAA6F,GAqBnB,OArBmB/F,E,qYAAAgG,CAAA,KAAAN,EAAA,GAAAvD,OAAA0D,KAGpBI,MAAK5E,EAAAA,EAAA,GAAQkE,EAAMU,OAAK,IAAEC,SAAUX,EAAMrD,SAASiE,KAAKZ,KAAMvF,EAE9DoG,kBAAoB,WACnBpG,EAAKkC,SAAQb,EAAC,CAAC,EAAIkE,EAAMU,OAC1B,EAACjG,EAUDqG,OAAS,SAAAC,GAAA,IAAGC,EAAQD,EAARC,SAAQ,OACnBC,EAAAA,EAAAA,GAAChB,EAAaE,SAAQ,CAAC5C,MAAO9C,EAAKiG,OACjCM,EACsB,EACxBvG,CAAA,Q,qRAAAyG,CAAAf,EAAAC,G,EAAAD,G,EAAA,EAAAnE,IAAA,oBAAAuB,MAZD,WACCyC,EAAMmB,GAAG,SAAU7F,KAAKuF,kBACzB,GAAC,CAAA7E,IAAA,uBAAAuB,MAED,WACCyC,EAAMoB,IAAI,SAAU9F,KAAKuF,kBAC1B,M,6EAAC,CAfmB,CAASQ,EAAAA,WAAjBlB,EACLmB,YAAc,gBAuBf,IAAQC,EAAatB,EAAbsB,SAEf,G,gaC5EA,IAAMC,EAEH,WAAO,EAUVpH,OAAOqH,SAAWrH,OAAOqH,UAAY,CAAEC,EAAG,IAC1C,IACIC,EACA1E,EAIA2E,EACAC,EAPEjD,EAAS,CAAC,EAGZkD,EAAY,GACZC,GAAQ,EACRC,GAAc,EAILC,EAAiB,CAC7B,iBACA,iBACA,eACA,aACA,uBACA,sBACA,cACA,cACA,eACA,sBACA,wBACA,mBAGKC,GAAY3G,EAAAA,EAAAA,KAElB,SAAS4G,EAAiBC,EAAWC,GACpC,OAA2C,IAAvCJ,EAAeK,QAAQF,IAIpBF,EAAUf,GAAGiB,EAAWC,EAChC,CAEA,SAASE,EAAaH,EAAWI,QACZ,IAATA,EACVN,EAAU7F,KAAK+F,EAAWI,GAE1BN,EAAU7F,KAAK+F,EAEjB,CAGA,SAASK,EAASC,EAAQC,GACzB,IAAKZ,EACJ,OAAOD,EAAUc,KAAK,CAACF,EAAQC,IAEhC,IAAMH,EAAO,CACZnD,IAAK,WACLgD,GAAIK,EACJpC,KAAMqC,GAEP1F,EAAO4F,cAAcC,YAAYN,EAAM,IACxC,CAEA,IAAMO,EAAoB,SAACC,GACtBhB,GAAegB,GAClBpB,EAAiBqB,SAASC,gBAAgBC,UAC1CF,SAASG,KAAKC,UAAUC,IAAI,oCAE5BL,SAASG,KAAKC,UAAUE,OAAO,kCAC3BvB,IACHiB,SAASC,gBAAgBC,UAAYvB,IAInCoB,GACHrB,EAAO6B,MAAMC,KAAOzB,EAAc,IAAM,OAUxCL,EAAO6B,MAAME,OAAS1B,EAAc,OAAS,GAAHpF,OAjFtB,GAiF6CiF,EAjF7C,GADU,GAkF0F,MACxHF,EAAO6B,MAAMG,MAAQ3B,EAAc,OAAS,GAAHpF,OAAOgH,IAAiD,QAEjGjC,EAAO6B,MAAMC,KAAO,OACpB9B,EAAO6B,MAAMG,MAAQ,GAAH/G,OAAOgH,GAAsD,MAC/EjC,EAAO6B,MAAME,OAAS,GAAH9G,OAAOgH,GAAuD,MAEnF,EA+CMC,EAAa,WACW,WAAzBlC,EAAOmC,QAAQpD,QAInBmB,EA/I0B,IAgJ1BkB,GAAkB,GAClBpB,EAAOmC,QAAQpD,MAAQ,SACvBzD,EAAO8G,QACPxB,EAAa,kBACd,EAQA,SAASyB,IACqB,WAAzBrC,EAAOmC,QAAQpD,QAInBqC,GAAkB,GAClBpB,EAAOmC,QAAQpD,MAAQ,SACvB6B,EAAa,kBACd,CAEA,IAAM0B,EAAM,CACXC,MAAO,KAEPnC,MAAK,WACJA,GAAQ,EACJD,EAAUlH,OAAS,IACtBkH,EAAUqC,SAAQ,SAASC,GAC1B3B,EAAS4B,MAAM/I,KAAM8I,EACtB,IACAtC,EAAY,GAEd,EAEAwC,eAAc,WACbN,GACD,EAEAO,cAAa,WACRN,EAAIC,QAA8B,IAArBD,EAAIC,MAAMM,SAC1BP,EAAIC,MAAMO,QACVR,EAAIC,MAAQ,MAEbL,GACD,EAEAa,WAAU,WACTV,IACAC,EAAIC,MAAQ9J,OAAOuK,KAAK,GAAD/H,OAAKgC,EAAOgG,KAAGhI,OAAKgC,EAAOgG,IAAIC,YAAY,MAAQ,EAAI,IAAM,IAAG,eACtF,kBAAmB,SAAFjI,OAnMM,IAmMuB,aAAAA,OAAciF,EAAa,kBAC1EoC,EAAIC,MAAMH,OACX,EAEAF,WAAU,WACTA,GACD,EAEAiB,aAAY,SAACpB,IApDO,SAACA,GACrB7B,EAAgB6B,EAChBX,GAAkB,GAClBpB,EAAOmC,QAAQpD,MAAQ,WACxB,CAiDEoE,CAAapB,EACd,EAEAqB,aAAY,WACX9B,SAASG,KAAK4B,YAAYrD,EAC3B,EAEAsD,SAAQ,SAAC7C,EAAWI,GACnBD,EAAaH,EAAWI,EACzB,EAEA0C,WAAU,WACTjI,EAAOuG,MAAM2B,QAAU,UACvB5C,EAAa,cACd,EAEA6C,WAAU,WACTnI,EAAOuG,MAAM2B,QAAU,OACvB5C,EAAa,cACd,EAEA8C,mBAAkB,WACjBpC,SAASG,KAAKC,UAAUE,OAAO,iCAChC,EAEA+B,4BAA2B,WAC1BtD,GAAeiB,SAASG,KAAKC,UAAUC,IAAI,iCAC5C,GAGD,SAASiC,EAAYC,GACpB/C,EAAS,cAAe,CACvB+C,OAAAA,EACAtJ,SAAUV,KAAKC,MAAMD,KAAKyC,UAAUgF,SAAS/G,WAC7CuJ,MAAOxC,SAASwC,OAElB,CAEA,SAASC,EAAe1J,EAAKuB,EAAOoI,QACV,IAAdA,IACVA,GAAY,GAEblD,EAAS,iBAAkB,CAACzG,EAAKuB,EAAOoI,GACzC,CAEA,SAASC,EAAS7G,GACjB0D,EAAS,WAAY1D,EACtB,CAEA,SAAS8G,EAAcC,GACtBrD,EAAS,gBAAiBqD,EAC3B,CAEA,SAASC,EAAgBhG,GACxB0C,EAAS,kBAAmB1C,EAC7B,CAMA,SAASiG,EAActH,GACtB+D,EAAS,gBAAiB/D,EAC3B,CAEA,SAASuH,EAAaC,GACrBzD,EAAS,eAAgByD,EAC1B,CAEA,SAASC,EAAcC,GACtB3D,EAAS,gBAAiB2D,EAC3B,CAEA,SAASC,EAAc7G,GACtBiD,EAAS,gBAAiBjD,EAC3B,CAMA,SAAS8G,EAASC,GACjB9D,EAAS,WAAY8D,EACtB,CAEA,SAASC,EAAYC,GACpBhE,EAAS,cAAegE,EACzB,CAyEA,IAAMC,EAAc,CACnBC,KAAM,KACNlB,MAAO,MA6BFmB,EAAO,SAAChC,GACRA,IAILhG,EAAOgG,IAAMA,EAlTO,SAACA,IACrBjD,EAASsB,SAAS4D,cAAc,QACzBC,UAAY,kBACnBnF,EAAO6B,MAAMuD,SAAW,QACxBpF,EAAO6B,MAAMG,MAAQ,GAAH/G,OAAOgH,GAAsD,MAC/EjC,EAAO6B,MAAME,OAAS,GAAH9G,OAAOgH,GAAuD,MACjFjC,EAAO6B,MAAMwD,UAAY,QACzBrF,EAAO6B,MAAMyD,OAAS,IACtBtF,EAAO6B,MAAM0D,MAAQ,IACrBvF,EAAO6B,MAAM2D,OAAS,QACtBxF,EAAOmC,QAAQpD,MAAQ,SAEvB,IAAM0G,EAAYnE,SAAS4D,cAAc,OACzCO,EAAUN,UAAY,qBACtBM,EAAU5D,MAAMG,MAAQ,OACxByD,EAAU5D,MAAME,OAAS,QAEzBzG,EAASgG,SAAS4D,cAAc,WACzBQ,GAAK,kBACZpK,EAAOqK,kBAAoB,OAC3BrK,EAAOoC,IAAMuF,EACb3H,EAAOuG,MAAMG,MAAQ,OACrB1G,EAAOuG,MAAME,OAAS,OACtBzG,EAAOuG,MAAM+D,OAAS,OACtBtK,EAAOuG,MAAMgE,gBAAkB,cAE/BJ,EAAUK,YAAYxK,GACtB0E,EAAO8F,YAAYL,GACnBnE,SAASG,KAAKqE,YAAY9F,GAE1B,IAAM+F,EAAuB,SAAH5M,GAAoB,IAAd6M,EAAO7M,EAAP6M,QAC1BhG,IAILK,EAAc2F,EACd5E,EAA2C,WAAzBpB,EAAOmC,QAAQpD,OACjC+B,EAAS,cAAeT,GACzB,EAEM4F,EAAiBxN,OAAOyN,WAAW,wCACzCD,EAAeE,YAAYJ,GAC3BA,EAAqBE,EACtB,CAyQCG,CAAanD,GAhCbxK,OAAO2B,iBAAiB,WAAW,SAACiM,GACnC,GAAwB,WAApBpM,EAAOoM,EAAIxF,YAAsC3H,IAAjBmN,EAAIxF,KAAKnD,KAAsC,aAAjB2I,EAAIxF,KAAKnD,UACjDxE,IAArBoJ,EAAI+D,EAAIxF,KAAKH,KAAiD,mBAArB4B,EAAI+D,EAAIxF,KAAKH,IAAoB,CAC7E,IAAM/B,EAAO,GAAG1D,OAAOoL,EAAIxF,KAAKlC,MAAQ,IACxCkB,EAAG6C,WAAC,EAAD,QAAAzH,OAASoL,EAAIxF,KAAKH,KAAEzF,O,+CAAQ0D,I,ojBAC/B2D,EAAI+D,EAAIxF,KAAKH,IAAIgC,MAAM,KAAM/D,EAC9B,C,KAEF,IAAG,GAIH2H,aAAY,WACPhF,SAAS/G,SAASyK,OAASD,EAAYC,OAC1CpB,EAAY,OACZmB,EAAYC,KAAO1D,SAAS/G,SAASyK,MAGlC1D,SAASwC,QAAUiB,EAAYjB,QAClCF,EAAY,SACZmB,EAAYjB,MAAQxC,SAASwC,MAE/B,GAAG,KAaJ,OAEiC,IAAtBrL,OAAO8N,aACjBC,QAAQC,KAAK,kEACbxB,EAAKxM,OAAO8N,WAAW,UAGW,IAAxB9N,OAAOqH,SAASmD,KAC1BgC,EAAKxM,OAAOqH,SAASmD,KAGtB,IAAMyD,EAAQjO,OAAOqH,SAASC,EAE9BtH,OAAOqH,SAASC,EAAEkB,KAAO,SAAS0F,GACjCA,EAAEC,KAAKnO,OAAOqH,SAAS+G,SACxB,EACApO,OAAOqH,SAAWrH,OAAOqH,SAASC,EAAEkB,KAGpCxI,OAAOqH,SAAS+G,SAAW,CAE1BjD,YAAAA,EACAG,eAAAA,EACA+C,WAvHD,SAAoB9F,GACnB,IAAK,IAAM+F,KAAU/F,EACpB,GAAKA,EAAOgG,eAAeD,GAI3B,OAAQA,GACP,IAAK,cACJ,IAAAE,EAAkCjG,EAAO+F,GACzChD,EADWkD,EAAH5M,IAAU4M,EAALrL,MAAgBqL,EAATjD,WAEpB,SACD,IAAK,kBACJ,IAAKpF,MAAMsI,QAAQlG,EAAO+F,IAAU,CACnCP,QAAQ3G,IAAI,gEACZ,QACD,CACAmB,EAAO+F,GAAQvE,SAAQ,SAAC3B,GAEvBkD,EADkClD,EAA1BxG,IAA0BwG,EAArBjF,MAAqBiF,EAAdmD,UAErB,IACA,SACD,IAAK,QACJC,EAASjD,EAAO+F,IAChB,SACD,IAAK,aACJ7C,EAAclD,EAAO+F,IACrB,SACD,IAAK,eACJ3C,EAAgBpD,EAAO+F,IACvB,SAED,IAAK,aACJ1C,EAAcrD,EAAO+F,IACrB,SACD,IAAK,YACJzC,EAAatD,EAAO+F,IACpB,SACD,IAAK,aACJvC,EAAcxD,EAAO+F,IACrB,SACD,IAAK,gBACJrC,EAAc1D,EAAO+F,IACrB,SACD,IAAK,WACJlC,EAAY7D,EAAO+F,IACnB,SACD,IAAK,QACJpC,EAAS3D,EAAO+F,IAChB,SACD,QACC,SAGJ,EAmEC9C,SAAAA,EACAC,cAAAA,EACAiD,gBAtJD,WACCrG,EAAS,kBACV,EAqJCuD,cAAAA,EACAC,aAAAA,EACAE,cAAAA,EACAG,SAAAA,EACAD,cAAAA,EACAG,YAAAA,EACAtB,WAjJD,WACCzC,EAAS,aACV,EAgJC2C,WA9ID,WACC3C,EAAS,aACV,EA6ICsG,eA3ID,WACCtG,EAAS,iBACV,EA0ICuG,eAxID,WACCvG,EAAS,iBACV,EAuICsD,gBAAAA,EACAkD,kBAtLD,WACCxG,EAAS,oBACV,EAuLCyG,gBAAe,SAAC7G,GAAMF,EAAiB,iBAAkBE,EAAK,EAC9D8G,gBAAe,SAAC9G,GAAMF,EAAiB,iBAAkBE,EAAK,EAC9D+G,cAAa,SAAC/G,GAAMF,EAAiB,eAAgBE,EAAK,EAC1DgH,YAAW,SAAChH,GAAMF,EAAiB,aAAcE,EAAK,EACtDiH,oBAAmB,SAACjH,GAAMF,EAAiB,uBAAwBE,EAAK,EACxEkH,oBAAmB,SAAClH,GAAMF,EAAiB,sBAAuBE,EAAK,EACvEmH,cAAa,SAACnH,GAAMF,EAAiB,cAAeE,EAAK,EACzDoH,eAAc,SAACpH,GAAMF,EAAiB,cAAeE,EAAK,EAC1DqH,cAAa,SAACrH,GAAMF,EAAiB,eAAgBE,EAAK,EAC1DsH,oBAAmB,SAACtH,GAAMF,EAAiB,sBAAuBE,EAAK,EACvEuH,sBAAqB,SAACvH,GAAMF,EAAiB,wBAAyBE,EAAK,EAC3EwH,iBAAgB,SAACxH,GAAMF,EAAiB,kBAAmBE,EAAK,GAIjEgG,EAAMlE,SAAQ,SAACmE,GACdA,EAAEC,KAAKnO,OAAOqH,SAAS+G,SACxB,G","sources":["webpack://@rocket.chat/livechat/./src/store/Store.js","webpack://@rocket.chat/livechat/./src/store/index.js","webpack://@rocket.chat/livechat/./src/widget.js"],"sourcesContent":["import mitt from 'mitt';\n\nimport { parentCall } from '../lib/parentCall';\nimport { createToken } from '../lib/random';\n\nconst { localStorage, sessionStorage } = window;\n\nexport default class Store {\n\tconstructor(initialState = {}, { localStorageKey = 'store', dontPersist = [] } = {}) {\n\t\tObject.assign(this, mitt());\n\n\t\tthis.localStorageKey = localStorageKey;\n\t\tthis.dontPersist = dontPersist;\n\n\t\tlet storedState;\n\n\t\ttry {\n\t\t\tstoredState = JSON.parse(localStorage.getItem(this.localStorageKey));\n\t\t} catch (e) {\n\t\t\tstoredState = {};\n\t\t} finally {\n\t\t\tstoredState = typeof storedState === 'object' ? storedState : {};\n\t\t}\n\n\t\tthis._state = { ...initialState, ...storedState };\n\n\t\twindow.addEventListener('storage', (e) => {\n\t\t\t// Cross-tab communication\n\t\t\tif (e.key !== this.localStorageKey) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!e.newValue) {\n\t\t\t\t// The localStorage has been removed\n\t\t\t\treturn location.reload();\n\t\t\t}\n\n\t\t\tconst storedState = JSON.parse(e.newValue);\n\t\t\tthis.setStoredState(storedState);\n\t\t\tthis.emit('storageSynced');\n\t\t});\n\n\t\twindow.addEventListener('load', () => {\n\t\t\tconst sessionId = createToken();\n\t\t\tsessionStorage.setItem('sessionId', sessionId);\n\t\t\tconst { openSessionIds = [] } = this._state;\n\t\t\tthis.setState({ openSessionIds: [sessionId, ...openSessionIds] });\n\t\t});\n\n\t\twindow.addEventListener('visibilitychange', () => {\n\t\t\t!this._state.minimized && !this._state.triggered && parentCall('openWidget');\n\t\t\tthis._state.iframe.visible ? parentCall('showWidget') : parentCall('hideWidget');\n\t\t});\n\n\t\twindow.addEventListener('beforeunload', () => {\n\t\t\tconst sessionId = sessionStorage.getItem('sessionId');\n\t\t\tconst { openSessionIds = [] } = this._state;\n\t\t\tthis.setState({ openSessionIds: openSessionIds.filter((session) => session !== sessionId) });\n\t\t});\n\t}\n\n\tget state() {\n\t\treturn this._state;\n\t}\n\n\tpersist() {\n\t\tconst persistable = { ...this._state };\n\t\tfor (const ignoredKey of this.dontPersist) {\n\t\t\tdelete persistable[ignoredKey];\n\t\t}\n\t\tlocalStorage.setItem(this.localStorageKey, JSON.stringify(persistable));\n\t}\n\n\tsetState(partialState) {\n\t\tconst prevState = this._state;\n\t\tthis._state = { ...prevState, ...partialState };\n\t\tthis.persist();\n\t\tthis.emit('change', [this._state, prevState, partialState]);\n\t}\n\n\tunsetSinglePropInStateByName(propName) {\n\t\tconst prevState = this._state;\n\t\tdelete prevState[propName];\n\t\tthis._state = { ...prevState };\n\t\tthis.persist();\n\t\tthis.emit('change', [this._state, prevState]);\n\t}\n\n\tsetStoredState(storedState) {\n\t\tconst prevState = this._state;\n\n\t\tconst nonPeristable = {};\n\t\tfor (const ignoredKey of this.dontPersist) {\n\t\t\tnonPeristable[ignoredKey] = prevState[ignoredKey];\n\t\t}\n\t\tthis._state = { ...storedState, ...nonPeristable };\n\t\tthis.emit('change', [this._state, prevState]);\n\t}\n}\n","import { h, Component, createContext } from 'preact';\n\nimport { createToken } from '../lib/random';\nimport Store from './Store';\n\nexport const initialState = () => ({\n\ttoken: createToken(),\n\ttyping: [],\n\tconfig: {\n\t\tmessages: {},\n\t\tsettings: {},\n\t\ttheme: {},\n\t\ttriggers: [],\n\t\tdepartments: [],\n\t\tresources: {},\n\t},\n\tmessages: [],\n\tuser: null,\n\tsound: {\n\t\tsrc: '',\n\t\tenabled: true,\n\t\tplay: false,\n\t},\n\tiframe: {\n\t\tguest: {},\n\t\ttheme: {},\n\t\tvisible: true,\n\t},\n\tgdpr: {\n\t\taccepted: false,\n\t},\n\talerts: [],\n\tvisible: true,\n\tminimized: true,\n\tunread: null,\n\tincomingCallAlert: null,\n\tongoingCall: null,\t// TODO: store call info like url, startTime, timeout, etc here\n\tbusinessUnit: null,\n});\n\nconst dontPersist = ['messages', 'typing', 'loading', 'alerts', 'unread', 'noMoreMessages', 'modal', 'incomingCallAlert', 'ongoingCall'];\nexport const store = new Store(initialState(), { dontPersist });\n\nif (process.env.NODE_ENV === 'development') {\n\tstore.on('change', ([, , partialState]) => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log('%cstore.setState %c%o', 'color: blue', 'color: initial', partialState);\n\t});\n}\n\n\nconst StoreContext = createContext();\n\nexport class Provider extends Component {\n\tstatic displayName = 'StoreProvider'\n\n\tstate = { ...store.state, dispatch: store.setState.bind(store) }\n\n\thandleStoreChange = () => {\n\t\tthis.setState({ ...store.state });\n\t}\n\n\tcomponentDidMount() {\n\t\tstore.on('change', this.handleStoreChange);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tstore.off('change', this.handleStoreChange);\n\t}\n\n\trender = ({ children }) => (\n\t\t\n\t\t\t{children}\n\t\t\n\t)\n}\n\nexport const { Consumer } = StoreContext;\n\nexport default store;\n","import mitt from 'mitt';\n\n\nconst log = process.env.NODE_ENV === 'development'\n\t? (...args) => window.console.log('%cwidget%c', 'color: red', 'color: initial', ...args)\n\t: () => {};\n\n\nconst WIDGET_OPEN_WIDTH = 365;\nconst WIDGET_OPEN_HEIGHT = 525;\nconst WIDGET_MINIMIZED_WIDTH = 54;\nconst WIDGET_MINIMIZED_HEIGHT = 54;\nconst WIDGET_MARGIN = 16;\n\n\nwindow.UhuuChat = window.UhuuChat || { _: [] };\nconst config = {};\nlet widget;\nlet iframe;\nlet hookQueue = [];\nlet ready = false;\nlet smallScreen = false;\nlet scrollPosition;\nlet widget_height;\n\nexport const validCallbacks = [\n\t'chat-maximized',\n\t'chat-minimized',\n\t'chat-started',\n\t'chat-ended',\n\t'pre-chat-form-submit',\n\t'offline-form-submit',\n\t'show-widget',\n\t'hide-widget',\n\t'assign-agent',\n\t'agent-status-change',\n\t'queue-position-change',\n\t'no-agent-online',\n];\n\nconst callbacks = mitt();\n\nfunction registerCallback(eventName, fn) {\n\tif (validCallbacks.indexOf(eventName) === -1) {\n\t\treturn false;\n\t}\n\n\treturn callbacks.on(eventName, fn);\n}\n\nfunction emitCallback(eventName, data) {\n\tif (typeof data !== 'undefined') {\n\t\tcallbacks.emit(eventName, data);\n\t} else {\n\t\tcallbacks.emit(eventName);\n\t}\n}\n\n// hooks\nfunction callHook(action, params) {\n\tif (!ready) {\n\t\treturn hookQueue.push([action, params]);\n\t}\n\tconst data = {\n\t\tsrc: 'uhuuchat',\n\t\tfn: action,\n\t\targs: params,\n\t};\n\tiframe.contentWindow.postMessage(data, '*');\n}\n\nconst updateWidgetStyle = (isOpened) => {\n\tif (smallScreen && isOpened) {\n\t\tscrollPosition = document.documentElement.scrollTop;\n\t\tdocument.body.classList.add('rc-livechat-mobile-full-screen');\n\t} else {\n\t\tdocument.body.classList.remove('rc-livechat-mobile-full-screen');\n\t\tif (smallScreen) {\n\t\t\tdocument.documentElement.scrollTop = scrollPosition;\n\t\t}\n\t}\n\n\tif (isOpened) {\n\t\twidget.style.left = smallScreen ? '0' : 'auto';\n\n\t\t/**\n\t\t * If we use widget.style.height = smallScreen ? '100vh' : ...\n\t\t * In above case some browser's viewport height is not rendered correctly\n\t\t * so, as 100vh will resolve to 100% of the current viewport height,\n\t\t * so fixed it to 100% avoiding problem for some browsers. Similar resolution\n\t\t * for widget.style.width\n\t\t */\n\n\t\twidget.style.height = smallScreen ? '100%' : `${ WIDGET_MARGIN + widget_height + WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT }px`;\n\t\twidget.style.width = smallScreen ? '100%' : `${ WIDGET_MARGIN + WIDGET_OPEN_WIDTH + WIDGET_MARGIN }px`;\n\t} else {\n\t\twidget.style.left = 'auto';\n\t\twidget.style.width = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_WIDTH + WIDGET_MARGIN }px`;\n\t\twidget.style.height = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT + WIDGET_MARGIN }px`;\n\t}\n};\n\nconst createWidget = (url) => {\n\twidget = document.createElement('div');\n\twidget.className = 'uhuuchat-widget';\n\twidget.style.position = 'fixed';\n\twidget.style.width = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_WIDTH + WIDGET_MARGIN }px`;\n\twidget.style.height = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT + WIDGET_MARGIN }px`;\n\twidget.style.maxHeight = '100vh';\n\twidget.style.bottom = '0';\n\twidget.style.right = '0';\n\twidget.style.zIndex = '12345';\n\twidget.dataset.state = 'closed';\n\n\tconst container = document.createElement('div');\n\tcontainer.className = 'uhuuchat-container';\n\tcontainer.style.width = '100%';\n\tcontainer.style.height = '100%';\n\n\tiframe = document.createElement('iframe');\n\tiframe.id = 'uhuuchat-iframe';\n\tiframe.allowTransparency = 'true';\n\tiframe.src = url;\n\tiframe.style.width = '100%';\n\tiframe.style.height = '100%';\n\tiframe.style.border = 'none';\n\tiframe.style.backgroundColor = 'transparent';\n\n\tcontainer.appendChild(iframe);\n\twidget.appendChild(container);\n\tdocument.body.appendChild(widget);\n\n\tconst handleMediaQueryTest = ({ matches }) => {\n\t\tif (!widget) {\n\t\t\treturn;\n\t\t}\n\n\t\tsmallScreen = matches;\n\t\tupdateWidgetStyle(widget.dataset.state === 'opened');\n\t\tcallHook('setExpanded', smallScreen);\n\t};\n\n\tconst mediaQueryList = window.matchMedia('screen and (max-device-width: 480px)');\n\tmediaQueryList.addListener(handleMediaQueryTest);\n\thandleMediaQueryTest(mediaQueryList);\n};\n\nconst openWidget = () => {\n\tif (widget.dataset.state === 'opened') {\n\t\treturn;\n\t}\n\n\twidget_height = WIDGET_OPEN_HEIGHT;\n\tupdateWidgetStyle(true);\n\twidget.dataset.state = 'opened';\n\tiframe.focus();\n\temitCallback('chat-maximized');\n};\n\nconst resizeWidget = (height) => {\n\twidget_height = height;\n\tupdateWidgetStyle(true);\n\twidget.dataset.state = 'triggered';\n};\n\nfunction closeWidget() {\n\tif (widget.dataset.state === 'closed') {\n\t\treturn;\n\t}\n\n\tupdateWidgetStyle(false);\n\twidget.dataset.state = 'closed';\n\temitCallback('chat-minimized');\n}\n\nconst api = {\n\tpopup: null,\n\n\tready() {\n\t\tready = true;\n\t\tif (hookQueue.length > 0) {\n\t\t\thookQueue.forEach(function(hookParams) {\n\t\t\t\tcallHook.apply(this, hookParams);\n\t\t\t});\n\t\t\thookQueue = [];\n\t\t}\n\t},\n\n\tminimizeWindow() {\n\t\tcloseWidget();\n\t},\n\n\trestoreWindow() {\n\t\tif (api.popup && api.popup.closed !== true) {\n\t\t\tapi.popup.close();\n\t\t\tapi.popup = null;\n\t\t}\n\t\topenWidget();\n\t},\n\n\topenPopout() {\n\t\tcloseWidget();\n\t\tapi.popup = window.open(`${ config.url }${ config.url.lastIndexOf('?') > -1 ? '&' : '?' }mode=popout`,\n\t\t\t'livechat-popout', `width=${ WIDGET_OPEN_WIDTH }, height=${ widget_height }, toolbars=no`);\n\t\tapi.popup.focus();\n\t},\n\n\topenWidget() {\n\t\topenWidget();\n\t},\n\n\tresizeWidget(height) {\n\t\tresizeWidget(height);\n\t},\n\n\tremoveWidget() {\n\t\tdocument.body.removeChild(widget);\n\t},\n\n\tcallback(eventName, data) {\n\t\temitCallback(eventName, data);\n\t},\n\n\tshowWidget() {\n\t\tiframe.style.display = 'initial';\n\t\temitCallback('show-widget');\n\t},\n\n\thideWidget() {\n\t\tiframe.style.display = 'none';\n\t\temitCallback('hide-widget');\n\t},\n\n\tresetDocumentStyle() {\n\t\tdocument.body.classList.remove('rc-livechat-mobile-full-screen');\n\t},\n\n\tsetFullScreenDocumentMobile() {\n\t\tsmallScreen && document.body.classList.add('rc-livechat-mobile-full-screen');\n\t},\n};\n\nfunction pageVisited(change) {\n\tcallHook('pageVisited', {\n\t\tchange,\n\t\tlocation: JSON.parse(JSON.stringify(document.location)),\n\t\ttitle: document.title,\n\t});\n}\n\nfunction setCustomField(key, value, overwrite) {\n\tif (typeof overwrite === 'undefined') {\n\t\toverwrite = true;\n\t}\n\tcallHook('setCustomField', [key, value, overwrite]);\n}\n\nfunction setTheme(theme) {\n\tcallHook('setTheme', theme);\n}\n\nfunction setDepartment(department) {\n\tcallHook('setDepartment', department);\n}\n\nfunction setBusinessUnit(businessUnit) {\n\tcallHook('setBusinessUnit', businessUnit);\n}\n\nfunction clearBusinessUnit() {\n\tcallHook('clearBusinessUnit');\n}\n\nfunction setGuestToken(token) {\n\tcallHook('setGuestToken', token);\n}\n\nfunction setGuestName(name) {\n\tcallHook('setGuestName', name);\n}\n\nfunction setGuestEmail(email) {\n\tcallHook('setGuestEmail', email);\n}\n\nfunction registerGuest(guest) {\n\tcallHook('registerGuest', guest);\n}\n\nfunction clearDepartment() {\n\tcallHook('clearDepartment');\n}\n\nfunction setAgent(agent) {\n\tcallHook('setAgent', agent);\n}\n\nfunction setLanguage(language) {\n\tcallHook('setLanguage', language);\n}\n\nfunction showWidget() {\n\tcallHook('showWidget');\n}\n\nfunction hideWidget() {\n\tcallHook('hideWidget');\n}\n\nfunction maximizeWidget() {\n\tcallHook('maximizeWidget');\n}\n\nfunction minimizeWidget() {\n\tcallHook('minimizeWidget');\n}\n\nfunction initialize(params) {\n\tfor (const method in params) {\n\t\tif (!params.hasOwnProperty(method)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tswitch (method) {\n\t\t\tcase 'customField':\n\t\t\t\tconst { key, value, overwrite } = params[method];\n\t\t\t\tsetCustomField(key, value, overwrite);\n\t\t\t\tcontinue;\n\t\t\tcase 'setCustomFields':\n\t\t\t\tif (!Array.isArray(params[method])) {\n\t\t\t\t\tconsole.log('Error: Invalid parameters. Value must be an array of objects');\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tparams[method].forEach((data) => {\n\t\t\t\t\tconst { key, value, overwrite } = data;\n\t\t\t\t\tsetCustomField(key, value, overwrite);\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\tcase 'theme':\n\t\t\t\tsetTheme(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'department':\n\t\t\t\tsetDepartment(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'businessUnit': {\n\t\t\t\tsetBusinessUnit(params[method]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcase 'guestToken':\n\t\t\t\tsetGuestToken(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'guestName':\n\t\t\t\tsetGuestName(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'guestEmail':\n\t\t\t\tsetGuestEmail(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'registerGuest':\n\t\t\t\tregisterGuest(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'language':\n\t\t\t\tsetLanguage(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'agent':\n\t\t\t\tsetAgent(params[method]);\n\t\t\t\tcontinue;\n\t\t\tdefault:\n\t\t\t\tcontinue;\n\t\t}\n\t}\n}\n\nconst currentPage = {\n\thref: null,\n\ttitle: null,\n};\n\nconst attachMessageListener = () => {\n\twindow.addEventListener('message', (msg) => {\n\t\tif (typeof msg.data === 'object' && msg.data.src !== undefined && msg.data.src === 'uhuuchat') {\n\t\t\tif (api[msg.data.fn] !== undefined && typeof api[msg.data.fn] === 'function') {\n\t\t\t\tconst args = [].concat(msg.data.args || []);\n\t\t\t\tlog(`api.${ msg.data.fn }`, ...args);\n\t\t\t\tapi[msg.data.fn].apply(null, args);\n\t\t\t}\n\t\t}\n\t}, false);\n};\n\nconst trackNavigation = () => {\n\tsetInterval(() => {\n\t\tif (document.location.href !== currentPage.href) {\n\t\t\tpageVisited('url');\n\t\t\tcurrentPage.href = document.location.href;\n\t\t}\n\n\t\tif (document.title !== currentPage.title) {\n\t\t\tpageVisited('title');\n\t\t\tcurrentPage.title = document.title;\n\t\t}\n\t}, 800);\n};\n\nconst init = (url) => {\n\tif (!url) {\n\t\treturn;\n\t}\n\n\tconfig.url = url;\n\n\tcreateWidget(url);\n\tattachMessageListener();\n\ttrackNavigation();\n};\n\nif (typeof window.initRocket !== 'undefined') {\n\tconsole.warn('initRocket is now deprecated. Please update the livechat code.');\n\tinit(window.initRocket[0]);\n}\n\nif (typeof window.UhuuChat.url !== 'undefined') {\n\tinit(window.UhuuChat.url);\n}\n\nconst queue = window.UhuuChat._;\n\nwindow.UhuuChat._.push = function(c) {\n\tc.call(window.UhuuChat.livechat);\n};\nwindow.UhuuChat = window.UhuuChat._.push;\n\n// exports\nwindow.UhuuChat.livechat = {\n\t// methods\n\tpageVisited,\n\tsetCustomField,\n\tinitialize,\n\tsetTheme,\n\tsetDepartment,\n\tclearDepartment,\n\tsetGuestToken,\n\tsetGuestName,\n\tsetGuestEmail,\n\tsetAgent,\n\tregisterGuest,\n\tsetLanguage,\n\tshowWidget,\n\thideWidget,\n\tmaximizeWidget,\n\tminimizeWidget,\n\tsetBusinessUnit,\n\tclearBusinessUnit,\n\n\t// callbacks\n\tonChatMaximized(fn) { registerCallback('chat-maximized', fn); },\n\tonChatMinimized(fn) { registerCallback('chat-minimized', fn); },\n\tonChatStarted(fn) { registerCallback('chat-started', fn); },\n\tonChatEnded(fn) { registerCallback('chat-ended', fn); },\n\tonPrechatFormSubmit(fn) { registerCallback('pre-chat-form-submit', fn); },\n\tonOfflineFormSubmit(fn) { registerCallback('offline-form-submit', fn); },\n\tonWidgetShown(fn) { registerCallback('show-widget', fn); },\n\tonWidgetHidden(fn) { registerCallback('hide-widget', fn); },\n\tonAssignAgent(fn) { registerCallback('assign-agent', fn); },\n\tonAgentStatusChange(fn) { registerCallback('agent-status-change', fn); },\n\tonQueuePositionChange(fn) { registerCallback('queue-position-change', fn); },\n\tonServiceOffline(fn) { registerCallback('no-agent-online', fn); },\n};\n\n// proccess queue\nqueue.forEach((c) => {\n\tc.call(window.UhuuChat.livechat);\n});\n"],"names":["_window","window","localStorage","sessionStorage","Store","storedState","_this","initialState","arguments","length","undefined","_ref","_ref$localStorageKey","localStorageKey","_ref$dontPersist","dontPersist","_classCallCheck","Object","assign","this","mitt","JSON","parse","getItem","e","_typeof","_state","_objectSpread","addEventListener","key","newValue","location","reload","setStoredState","emit","sessionId","createToken","setItem","_this$_state$openSess","openSessionIds","setState","concat","_toConsumableArray","minimized","triggered","parentCall","iframe","visible","_this$_state$openSess2","filter","session","get","value","_step","persistable","_iterator","_createForOfIteratorHelper","s","n","done","err","f","stringify","partialState","prevState","persist","propName","_step2","nonPeristable","_iterator2","ignoredKey","token","typing","config","messages","settings","theme","triggers","departments","resources","user","sound","src","enabled","play","guest","gdpr","accepted","alerts","unread","incomingCallAlert","ongoingCall","businessUnit","store","StoreContext","createContext","Provider","_Component","_len","args","Array","_key","_callSuper","state","dispatch","bind","handleStoreChange","render","_ref3","children","h","_inherits","on","off","Component","displayName","Consumer","log","UhuuChat","_","widget","scrollPosition","widget_height","hookQueue","ready","smallScreen","validCallbacks","callbacks","registerCallback","eventName","fn","indexOf","emitCallback","data","callHook","action","params","push","contentWindow","postMessage","updateWidgetStyle","isOpened","document","documentElement","scrollTop","body","classList","add","remove","style","left","height","width","WIDGET_MARGIN","openWidget","dataset","focus","closeWidget","api","popup","forEach","hookParams","apply","minimizeWindow","restoreWindow","closed","close","openPopout","open","url","lastIndexOf","resizeWidget","removeWidget","removeChild","callback","showWidget","display","hideWidget","resetDocumentStyle","setFullScreenDocumentMobile","pageVisited","change","title","setCustomField","overwrite","setTheme","setDepartment","department","setBusinessUnit","setGuestToken","setGuestName","name","setGuestEmail","email","registerGuest","setAgent","agent","setLanguage","language","currentPage","href","init","createElement","className","position","maxHeight","bottom","right","zIndex","container","id","allowTransparency","border","backgroundColor","appendChild","handleMediaQueryTest","matches","mediaQueryList","matchMedia","addListener","createWidget","msg","setInterval","initRocket","console","warn","queue","c","call","livechat","initialize","method","hasOwnProperty","_params$method","isArray","clearDepartment","maximizeWidget","minimizeWidget","clearBusinessUnit","onChatMaximized","onChatMinimized","onChatStarted","onChatEnded","onPrechatFormSubmit","onOfflineFormSubmit","onWidgetShown","onWidgetHidden","onAssignAgent","onAgentStatusChange","onQueuePositionChange","onServiceOffline"],"sourceRoot":""}