aboutsummaryrefslogtreecommitdiffstats
path: root/dist/weather_status-weather-status.js.map
diff options
context:
space:
mode:
Diffstat (limited to 'dist/weather_status-weather-status.js.map')
-rw-r--r--dist/weather_status-weather-status.js.map2
1 files changed, 1 insertions, 1 deletions
diff --git a/dist/weather_status-weather-status.js.map b/dist/weather_status-weather-status.js.map
index 1aed1bb6f41..b29e43d8de3 100644
--- a/dist/weather_status-weather-status.js.map
+++ b/dist/weather_status-weather-status.js.map
@@ -1 +1 @@
-{"version":3,"file":"weather_status-weather-status.js?v=c53819fe0c99e096a54a","mappings":";uBAAIA,ECAAC,EACAC,gFCmBJ,MCpBuG,EDoBvG,CACEC,KAAM,WACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,qBEff,SAXgB,OACd,GCRW,WAAkB,IAAIG,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,OAAOF,EAAII,GAAG,CAACC,YAAY,iCAAiCC,MAAM,CAAC,eAAcN,EAAIP,OAAQ,KAAY,aAAaO,EAAIP,MAAM,KAAO,OAAOc,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIS,MAAM,QAASD,EAAO,IAAI,OAAOR,EAAIU,QAAO,GAAO,CAACR,EAAG,MAAM,CAACG,YAAY,4BAA4BC,MAAM,CAAC,KAAON,EAAIJ,UAAU,MAAQI,EAAIF,KAAK,OAASE,EAAIF,KAAK,QAAU,cAAc,CAACI,EAAG,OAAO,CAACI,MAAM,CAAC,EAAI,yGAAyG,CAAEN,EAAS,MAAEE,EAAG,QAAQ,CAACF,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIP,UAAUO,EAAIa,UAClnB,GACsB,IDSpB,EACA,KACA,KACA,MAI8B,QElB8E,ECoB9G,CACEvB,KAAM,kBACNC,MAAO,CAAC,SACRC,MAAO,CACLC,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,MCff,GAXgB,OACd,GCRW,WAAkB,IAAIG,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,OAAOF,EAAII,GAAG,CAACC,YAAY,yCAAyCC,MAAM,CAAC,eAAcN,EAAIP,OAAQ,KAAY,aAAaO,EAAIP,MAAM,KAAO,OAAOc,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIS,MAAM,QAASD,EAAO,IAAI,OAAOR,EAAIU,QAAO,GAAO,CAACR,EAAG,MAAM,CAACG,YAAY,4BAA4BC,MAAM,CAAC,KAAON,EAAIJ,UAAU,MAAQI,EAAIF,KAAK,OAASE,EAAIF,KAAK,QAAU,cAAc,CAACI,EAAG,OAAO,CAACI,MAAM,CAAC,EAAI,oNAAoN,CAAEN,EAAS,MAAEE,EAAG,QAAQ,CAACF,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIP,UAAUO,EAAIa,UACruB,GACsB,IDSpB,EACA,KACA,KACA,MAI8B,+GEchC,MA6FMC,EAAgBC,UACrB,MAAMC,GAAMC,EAAAA,EAAAA,IAAe,wCAK3B,aAJuBC,EAAAA,EAAWC,IAAIH,EAAK,CAC1CI,eAGeC,KAAKC,IAAID,IAAI,iBCpC9B,MAEAE,EAAA,CACAC,aAAA,CACAC,KAAA,oBACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,+DAAAL,cAAAC,SACAI,EAAA,mDAAAL,cAAAC,QAAA,GAEAK,eAAA,CACAR,KAAA,sBACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,+DAAAL,cAAAC,SACAI,EAAA,mDAAAL,cAAAC,QAAA,GAEAM,OAAA,CACAT,KAAA,cACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,4DAAAL,cAAAC,SACAI,EAAA,gDAAAL,cAAAC,QAAA,GAEAO,SAAA,CACAV,KAAA,gBACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,kEAAAL,cAAAC,SACAI,EAAA,sDAAAL,cAAAC,QAAA,GAEAQ,WAAA,CACAX,KAAA,kBACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,kEAAAL,cAAAC,SACAI,EAAA,sDAAAL,cAAAC,QAAA,GAEAS,iBAAA,CACAZ,KAAA,wBACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,mEAAAL,cAAAC,SACAI,EAAA,uDAAAL,cAAAC,QAAA,GAEAU,mBAAA,CACAb,KAAA,0BACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,mEAAAL,cAAAC,SACAI,EAAA,uDAAAL,cAAAC,QAAA,GAEAW,IAAA,CACAd,KAAA,WACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,2DAAAL,cAAAC,SACAI,EAAA,+CAAAL,cAAAC,QAAA,GAEAY,UAAA,CACAf,KAAA,iBACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,oEAAAL,cAAAC,SACAI,EAAA,wDAAAL,cAAAC,QAAA,GAEAa,KAAA,CACAhB,KAAA,YACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,8DAAAL,cAAAC,SACAI,EAAA,kDAAAL,cAAAC,QAAA,GAEAc,UAAA,CACAjB,KAAA,iBACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,oEAAAL,cAAAC,SACAI,EAAA,wDAAAL,cAAAC,QAAA,GAEAe,gBAAA,CACAlB,KAAA,uBACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,sEAAAL,cAAAC,SACAI,EAAA,0DAAAL,cAAAC,QAAA,GAEAgB,kBAAA,CACAnB,KAAA,yBACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,sEAAAL,cAAAC,SACAI,EAAA,0DAAAL,cAAAC,QAAA,GAEAiB,qBAAA,CACApB,KAAA,6BACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,4EAAAL,cAAAC,SACAI,EAAA,gEAAAL,cAAAC,QAAA,GAEAkB,uBAAA,CACArB,KAAA,+BACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,4EAAAL,cAAAC,SACAI,EAAA,gEAAAL,cAAAC,QAAA,GAEAmB,qBAAA,CACAtB,KAAA,6BACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,4EAAAL,cAAAC,SACAI,EAAA,gEAAAL,cAAAC,QAAA,GAEAoB,uBAAA,CACAvB,KAAA,+BACAC,KAAA,SAAAC,EAAAC,GAAA,OAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACAG,EAAA,4EAAAL,cAAAC,SACAI,EAAA,gEAAAL,cAAAC,QAAA,ICtMyK,ED0MzK,CACAtC,KAAA,MACA2D,WAAA,CACAC,SAAA,EACAC,UAAA,IACAC,eAAA,IACAC,gBAAA,IACAC,cAAA,IACAC,aAAA,IACAC,kBAAA,IACAC,aAAAA,EAAAA,GAEApC,KAAAA,KACA,CACAqC,QAAAC,EAAAA,EAAAA,MACAC,SAAA,EACAC,aAAA,GACAC,KA5HA,EA6HAC,QAAA,KACAC,IAAA,KACAC,IAAA,KAEAC,OAAA,EACAC,UAAA,GACAC,KAAA,KACAhD,UAAA,KAGAiD,SAAA,CACAC,mBAAAA,GACA,wDAAAC,SAAA,KAAAb,OACA,EACAc,eAAAA,GACA,YAAAF,oBAAA,SACA,EACAG,YAAAA,GACA,OAAAzC,EAAA,2CAAA0C,IAAA,KAAAX,SACA,EACApC,WAAAA,GACA,YAAAgD,eAAA,KAAAR,UAAA,EACA,EACAS,iBAAAA,GACA,YAAAD,eAAA,KAAAR,UAAA,KAAAD,OACA,EACAW,WAAAA,GACA,YAAAC,eAAA,KAAAX,UAAA,EACA,EACAY,iBAAAA,GACA,YAAAD,eAAA,KAAAX,UAAA,KAAAD,OACA,EACAc,WAAAA,GACA,YAAAC,eAAA,KAAAJ,YAAA,KAAAjB,QACA,EACAsB,iBAAAA,GACA,YAAAD,eAAA,KAAAF,kBAAA,KAAAnB,QACA,EAMAuB,qBAAAA,GACA,YAAAvB,QACA5B,EAAA,oCACA,KAAA6B,aACA,KAAAA,aAEA,KAAAuB,kBAAA,KAAAP,YAAA,KAAAlD,YAEA,EACA0D,eAAAA,GACA,YAAAzB,QACA5B,EAAA,oCAEA,KAAAoD,kBAAA,KAAAL,kBAAA,KAAAH,mBAAA,EAEA,EACAU,iBAAAA,GACA,4DAAAtB,IAAA,SAAAC,IAAA,KACA,EACAsB,UAAAA,GACA,YAAAxB,UAAA,KAAAF,YACA,EACA2B,qBAAAA,GACA,YAAAC,yBACAvC,EACAwC,CACA,EACAC,qBAAAA,GACA,YAAAF,yBACAzD,EAAA,0CACAA,EAAA,mCACA,EACAyD,wBAAAA,GACA,YAAArE,UAAAwE,MAAAC,GACAA,IAAA,KAAA9B,SAEA,GAEA+B,OAAAA,GACA,KAAAC,mBACA,EACAC,QAAA,CACA,uBAAAD,GACA,IACA,MAAAE,OD1NoBlF,WACnB,MAAMC,GAAMC,EAAAA,EAAAA,IAAe,uCAG3B,aAFuBC,EAAAA,EAAWgF,IAAIlF,IAEtBK,KAAKC,IAAID,IAAI,ECsN9B8E,GACA,KAAAnC,IAAAiC,EAAAjC,IACA,KAAAC,IAAAgC,EAAAhC,IACA,KAAAF,QAAAkC,EAAAlC,QACA,KAAAD,KAAAmC,EAAAnC,KAxNA,IA0NA,KAAAA,KACA,KAAAsC,qBA1NA,IA2NA,KAAAtC,MACA,KAAAuC,YAEA,MAAAC,OD7MqBvF,WACpB,MAAMC,GAAMC,EAAAA,EAAAA,IAAe,wCAG3B,aAFuBC,EAAAA,EAAWgF,IAAIlF,IAEtBK,KAAKC,IAAID,IAAI,ECyM9B8E,GACA,KAAA/E,UAAAkF,CACA,OAAAC,GACA,qBAAAA,aAAA,EAAAA,EAAAC,MAEA,YADAC,EAAAC,KAAA,wEAGAH,EAAAI,UAAA,MAAAJ,EAAAI,SAAAC,QACAC,EAAAA,EAAAA,IAAA7E,EAAA,6CAEA6E,EAAAA,EAAAA,IAAA7E,EAAA,gFAEAyE,EAAAK,MAAAP,EACA,CACA,EACAF,SAAAA,GACAU,cAAA,KAAA3C,MACA,KAAAJ,KAAA,KAAAC,KACA,KAAAG,KAAA4C,aAAA,SAAAC,eAAA,MACA,KAAAA,eAEA,KAAArD,SAAA,CAEA,EACAwC,kBAAAA,GACA,KAAAxC,SAAA,EACA,KAAAC,aAAA,GACAqD,UAAAC,aAAAC,OAAAC,gBACAH,UAAAC,YAAAG,oBAAAC,IACAd,EAAAe,MAAA,4BACA,KAAAxD,IAAAuD,EAAAE,OAAAC,SACA,KAAAzD,IAAAsD,EAAAE,OAAAE,UACA,KAAAC,SA/PA,GAgQA,KAAA9D,KAhQA,EAiQA,KAAA+D,aAAA,KAAA7D,IAAA,KAAAC,IAAA,IAEA6C,IACAL,EAAAe,MAAA,+BACAf,EAAAe,MAAAV,GACA,KAAAc,SArQA,GAsQA,KAAA9D,KAtQA,EAwQA,KAAAE,KAAA,KAAAC,IACA,KAAAoC,YAEA,KAAAyB,oBACA,KAGArB,EAAAe,MAAA,sBACA,KAAAI,SAhRA,GAiRA,KAAA9D,KAjRA,EAkRA,KAAAuC,YAEA,EACA,iBAAAY,GACA,IACA,KAAA9C,eDlRsBpD,WACrB,MAAMC,GAAMC,EAAAA,EAAAA,IAAe,uCAG3B,aAFuBC,EAAAA,EAAWgF,IAAIlF,IAEtBK,KAAKC,IAAID,IAAI,EC8Q9B8E,EACA,OAAAI,GACA,KAAA1C,aAAA7B,EAAA,iDACAyE,EAAAe,MAAAjB,EACA,CACA,KAAA3C,SAAA,CACA,EACA,gBAAAmE,CAAAhE,GACA,KAAAH,SAAA,EACA,KAAAC,aAAA,GACA,IACA,MAAAoC,ODlVmBlF,WAClB,MAAMC,GAAMC,EAAAA,EAAAA,IAAe,uCAO3B,aANuBC,EAAAA,EAAWC,IAAIH,EAAK,CAC1C+C,UACAC,IAAK,KACLC,IAAK,QAGU5C,KAAKC,IAAID,IAAI,EC0U9B8E,CAAApC,GACAkC,EAAA+B,SACA,KAAAhE,IAAAiC,EAAAjC,IACA,KAAAC,IAAAgC,EAAAhC,IACA,KAAAF,QAAAkC,EAAAlC,QACA,KAAAD,KAvSA,EAwSA,KAAAuC,cAEA,KAAAxC,aAAA7B,EAAA,uCACA,KAAA4B,SAAA,EAEA,OAAA2C,GACAA,EAAAI,UAAA,MAAAJ,EAAAI,SAAAC,QACAC,EAAAA,EAAAA,IAAA7E,EAAA,6CAEA6E,EAAAA,EAAAA,IAAA7E,EAAA,sEAEA,KAAA4B,SAAA,CACA,CACA,EACA,kBAAAiE,CAAA7D,EAAAC,GACA,IACA,MAAAgC,ODxXoBlF,OAAOiD,EAAKC,KAC/B,MAAMjD,GAAMC,EAAAA,EAAAA,IAAe,uCAO3B,aANuBC,EAAAA,EAAWC,IAAIH,EAAK,CAC1C+C,QAAS,GACTC,MACAC,SAGe5C,KAAKC,IAAID,IAAI,ECgX9B8E,CAAAnC,EAAAC,GACA,KAAAF,QAAAkC,EAAAlC,QACA,KAAAsC,WACA,OAAAE,GACAA,EAAAI,UAAA,MAAAJ,EAAAI,SAAAC,QACAC,EAAAA,EAAAA,IAAA7E,EAAA,6CAEA6E,EAAAA,EAAAA,IAAA7E,EAAA,8DAEAyE,EAAAe,MAAAjB,EACA,CACA,EACA,cAAAqB,CAAA9D,GACA,SDrWgB/C,WACf,MAAMC,GAAMC,EAAAA,EAAAA,IAAe,mCAK3B,aAJuBC,EAAAA,EAAWC,IAAIH,EAAK,CAC1C8C,UAGezC,KAAKC,IAAID,IAAI,ECgW9B8E,CAAArC,EACA,OAAAyC,GACAA,EAAAI,UAAA,MAAAJ,EAAAI,SAAAC,QACAC,EAAAA,EAAAA,IAAA7E,EAAA,6CAEA6E,EAAAA,EAAAA,IAAA7E,EAAA,yDAEAyE,EAAAe,MAAAjB,EACA,CACA,EACA0B,sBAAAA,GACA,KAAA7B,oBACA,EACA,wBAAA0B,GACA,KAAAlE,SAAA,EACA,IACA,MAAAqC,ODzW2BlF,WAC1B,MAAMC,GAAMC,EAAAA,EAAAA,IAAe,2CAG3B,aAFuBC,EAAAA,EAAWC,IAAIH,IAEtBK,KAAKC,IAAID,IAAI,ECqW9B8E,GACA,KAAAnC,IAAAiC,EAAAjC,IACA,KAAAC,IAAAgC,EAAAhC,IACA,KAAAF,QAAAkC,EAAAlC,QACA,KAAAD,KA1VA,EA2VA,KAAAuC,WACA,OAAAE,GACAA,EAAAI,UAAA,MAAAJ,EAAAI,SAAAC,QACAC,EAAAA,EAAAA,IAAA7E,EAAA,6CAEA6E,EAAAA,EAAAA,IAAA7E,EAAA,gEAEAyE,EAAAe,MAAAjB,GACA,KAAA3C,SAAA,CACA,CACA,EACAsE,eAAAA,GACA,MAAAC,EAAA,KAAAC,MAAAC,aAAAC,IAAAC,cAAA,sBAAAC,MACA,KAAAT,WAAAI,EACA,EACAM,uBAAAA,CAAAC,GACA,YAAApE,oBACA,IAAAoE,EAAA,GACAA,CACA,EACAC,wBAAAA,GACA,MAAAC,EAAA,KAAAnD,yBACA,GAAAmD,EAAA,CACA,MAAAC,EAAA,KAAAzH,UAAA0H,QAAAF,IACA,IAAAC,GACA,KAAAzH,UAAA2H,OAAAF,EAAA,EAEA,MACA,KAAAzH,UAAA4H,KAAA,KAAAjF,SAEAoC,EAAA,KAAA/E,UACA,EACA6H,eAAAA,CAAAC,EAAAC,GAEA,GAAAD,EAAAE,OAAAC,UAAAC,SAAA,wBACA,MAAAT,EAAA,KAAAzH,UAAA0H,QAAAK,IACA,IAAAN,GACA,KAAAzH,UAAA2H,OAAAF,EAAA,GAEA1C,EAAA,KAAA/E,UACA,MAAA+H,IAAA,KAAApF,SAEA,KAAAgE,WAAAoB,EAEA,EACAI,WAAAC,IACAC,EAAAA,EAAAA,GAAAD,GAAAE,OAAA,MAEA/E,cAAAA,CAAAR,GAAA,IAAAD,EAAArC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,KACA,OAAAsC,EAAArC,OAAAoC,EAAAC,EAAAD,GAAA7C,KAAAsI,QAAAC,QAAAC,gBAAA,EACA,EACA/E,cAAAA,CAAAX,GAAA,IAAAD,EAAArC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,KACA,OAAAsC,EAAArC,OAAAoC,EAAAC,EAAAD,GAAA7C,KAAAyI,aAAAC,QAAAC,YAAA,EACA,EACA/E,eAAAA,CAAAJ,EAAAjB,IACAA,EACA,qBAEA,iBAAAiB,GAAAA,KAAAtD,EACAA,EAAAsD,GAAApD,KACA,iBAGA2D,iBAAAA,CAAAP,EAAAlD,GAAA,IAAAsI,EAAApI,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACA,OAAAgD,GAAAA,KAAAtD,EACAA,EAAAsD,GAAAnD,KACAwI,KAAAC,MAAA,KAAA1B,wBAAA9G,IACA,KAAA6C,gBACAyF,GAEAjI,EAAA,4CACA,2IEvfIoI,EAAU,CAAC,EAEfA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKJ,KAAW,IAAQM,QAAS,IAAQA,OCP1D,SAXgB,OACd,GCTW,WAAkB,IAAI1K,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACI,MAAM,CAAC,GAAK,6BAA6B,CAACJ,EAAG,YAAY,CAACG,YAAY,sCAAsCC,MAAM,CAAC,eAAeN,EAAIgF,YAAY,eAAc,EAAK,aAAahF,EAAImF,sBAAsB,YAAYnF,EAAImF,wBAAwB,CAAEnF,EAAIuF,WAAYrF,EAAG,eAAe,CAACI,MAAM,CAAC,eAAc,EAAK,KAAON,EAAIkF,oBAAoB,CAAClF,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAIqF,iBAAiB,YAAYrF,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIuF,WAAYrF,EAAG,eAAe,CAACI,MAAM,CAAC,KAAO,eAAe,OAAS,SAAS,eAAc,EAAK,KAAON,EAAIsF,kBAAkB,qBAAoB,IAAO,CAACtF,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAIyE,cAAc,YAAYzE,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAIuF,WAAYrF,EAAG,iBAAiB,CAACI,MAAM,CAAC,eAAc,GAAMC,GAAG,CAAC,MAAQP,EAAI2I,0BAA0BgC,YAAY3K,EAAI4K,GAAG,CAAC,CAACC,IAAI,OAAOC,GAAG,WAAW,MAAO,CAAC5K,EAAGF,EAAIwF,sBAAsB,CAACuF,IAAI,YAAY1K,YAAY,iBAAiBC,MAAM,CAAC,KAAO,MAAM,EAAE0K,OAAM,IAAO,MAAK,EAAM,aAAa,CAAChL,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAI2F,uBAAuB,YAAY3F,EAAIa,KAAKb,EAAIW,GAAG,KAAMX,EAAI+D,UAAY/D,EAAI6D,aAAc3D,EAAG,qBAAqBF,EAAIa,KAAKb,EAAIW,GAAG,KAAKT,EAAG,iBAAiB,CAACI,MAAM,CAAC,KAAO,iBAAiB,qBAAoB,EAAK,eAAc,GAAMC,GAAG,CAAC,MAAQP,EAAIiI,yBAAyB,CAACjI,EAAIW,GAAG,WAAWX,EAAIY,GAAGZ,EAAIgC,EAAE,iBAAkB,oBAAoB,YAAYhC,EAAIW,GAAG,KAAKT,EAAG,gBAAgB,CAAC+K,IAAI,eAAe3K,MAAM,CAAC,MAAQN,EAAIgC,EAAE,iBAAkB,sBAAsB,UAAW,EAAM,KAAO,cAAc,eAAc,EAAK,KAAO,OAAO,MAAQ,IAAIzB,GAAG,CAAC,OAASP,EAAIkI,mBAAmBlI,EAAIW,GAAG,KAAMX,EAAIoB,UAAUU,OAAS,EAAG,CAAC5B,EAAG,kBAAkB,CAACI,MAAM,CAAC,KAAON,EAAIgC,EAAE,iBAAkB,gBAAgBhC,EAAIW,GAAG,KAAKX,EAAIkL,GAAIlL,EAAIoB,WAAW,SAAS+J,GAAU,OAAOjL,EAAG,iBAAiB,CAAC2K,IAAIM,EAAS7K,MAAM,CAAC,eAAc,GAAMC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIiJ,gBAAgBzI,EAAQ2K,EAAS,GAAGR,YAAY3K,EAAI4K,GAAG,CAAC,CAACC,IAAI,OAAOC,GAAG,WAAW,MAAO,CAAC5K,EAAG,WAAW,CAACkL,MAAM,CAAC,iBAAkBpL,EAAI+D,UAAYoH,GAAU7K,MAAM,CAAC,KAAO,MAAM,EAAE0K,OAAM,IAAO,MAAK,IAAO,CAAChL,EAAIW,GAAG,aAAaX,EAAIY,GAAGuK,GAAU,aAAa,KAAInL,EAAIa,MAAM,IAAI,EAChpE,GACsB,IDUpB,EACA,KACA,KACA,MAI8B,QEQhCwK,EAAAA,GAAoBC,MAAKC,EAAAA,EAAAA,OAEzBC,EAAAA,GAAIC,UAAUzJ,EAAIA,EAElB0J,SAASC,iBAAiB,oBAAoB,WACxCC,IAAIC,WAITD,IAAIC,UAAUC,eAAe,WAAYC,IAEjC,IADWP,EAAAA,GAAIQ,OAAOC,KACNC,OAAOH,IAEhC,qGCpCII,EAAgC,IAAIC,IAAI,aACxCC,EAAgC,IAAID,IAAI,cACxCE,EAAgC,IAAIF,IAAI,cACxCG,EAAgC,IAAIH,IAAI,cACxCI,EAAgC,IAAIJ,IAAI,cACxCK,EAAgC,IAAIL,IAAI,cACxCM,EAAgC,IAAIN,IAAI,cACxCO,EAAgC,IAAIP,IAAI,cACxCQ,EAAgC,IAAIR,IAAI,cACxCS,EAAgC,IAAIT,IAAI,cACxCU,EAAiC,IAAIV,IAAI,cACzCW,EAAiC,IAAIX,IAAI,cACzCY,EAAiC,IAAIZ,IAAI,cACzCa,EAAiC,IAAIb,IAAI,cACzCc,EAAiC,IAAId,IAAI,aACzCe,EAAiC,IAAIf,IAAI,cACzCgB,EAAiC,IAAIhB,IAAI,cACzCiB,EAAiC,IAAIjB,IAAI,cACzCkB,EAAiC,IAAIlB,IAAI,cACzCmB,EAA0B,IAA4B,KACtDC,EAAqC,IAAgCrB,GACrEsB,EAAqC,IAAgCpB,GACrEqB,EAAqC,IAAgCpB,GACrEqB,EAAqC,IAAgCpB,GACrEqB,EAAqC,IAAgCpB,GACrEqB,EAAqC,IAAgCpB,GACrEqB,EAAqC,IAAgCpB,GACrEqB,EAAqC,IAAgCpB,GACrEqB,EAAqC,IAAgCpB,GACrEqB,EAAqC,IAAgCpB,GACrEqB,EAAsC,IAAgCpB,GACtEqB,EAAsC,IAAgCpB,GACtEqB,EAAsC,IAAgCpB,GACtEqB,EAAsC,IAAgCpB,GACtEqB,EAAsC,IAAgCpB,GACtEqB,EAAsC,IAAgCpB,GACtEqB,EAAsC,IAAgCpB,GACtEqB,EAAsC,IAAgCpB,GACtEqB,EAAsC,IAAgCpB,GAE1EC,EAAwBvE,KAAK,CAAC2F,EAAOC,GAAI,gFAAgFpB,8CAA+EC,gDAAiFC,wCAAyEC,0CAA2EC,4CAA6EC,kDAAmFC,oDAAqFC,qCAAsEC,2CAA4EC,sCAAuEC,2CAA6EC,uDAAyFC,yDAA2FC,iDAAmFC,mDAAqFC,uDAAyFC,yDAA2FC,4FAA8HC,0EAA4GA,idAAof,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+CAA+C,MAAQ,GAAG,SAAW,iiBAAiiB,eAAiB,CAAC,gzEAAgzE,WAAa,MAEtoK,8shCC7CIG,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBhN,IAAjBiN,EACH,OAAOA,EAAaC,QAGrB,IAAIN,EAASE,EAAyBE,GAAY,CACjDH,GAAIG,EACJG,QAAQ,EACRD,QAAS,CAAC,GAUX,OANAE,EAAoBJ,GAAUK,KAAKT,EAAOM,QAASN,EAAQA,EAAOM,QAASH,GAG3EH,EAAOO,QAAS,EAGTP,EAAOM,OACf,CAGAH,EAAoBO,EAAIF,ElB5BpBhQ,EAAW,GACf2P,EAAoBQ,EAAI,CAACC,EAAQC,EAAU1E,EAAI2E,KAC9C,IAAGD,EAAH,CAMA,IAAIE,EAAeC,IACnB,IAAS9G,EAAI,EAAGA,EAAI1J,EAAS2C,OAAQ+G,IAAK,CACrC2G,EAAWrQ,EAAS0J,GAAG,GACvBiC,EAAK3L,EAAS0J,GAAG,GACjB4G,EAAWtQ,EAAS0J,GAAG,GAE3B,IAJA,IAGI+G,GAAY,EACPC,EAAI,EAAGA,EAAIL,EAAS1N,OAAQ+N,MACpB,EAAXJ,GAAsBC,GAAgBD,IAAaK,OAAOC,KAAKjB,EAAoBQ,GAAGU,OAAOnF,GAASiE,EAAoBQ,EAAEzE,GAAK2E,EAASK,MAC9IL,EAASzG,OAAO8G,IAAK,IAErBD,GAAY,EACTH,EAAWC,IAAcA,EAAeD,IAG7C,GAAGG,EAAW,CACbzQ,EAAS4J,OAAOF,IAAK,GACrB,IAAIoH,EAAInF,SACE/I,IAANkO,IAAiBV,EAASU,EAC/B,CACD,CACA,OAAOV,CArBP,CAJCE,EAAWA,GAAY,EACvB,IAAI,IAAI5G,EAAI1J,EAAS2C,OAAQ+G,EAAI,GAAK1J,EAAS0J,EAAI,GAAG,GAAK4G,EAAU5G,IAAK1J,EAAS0J,GAAK1J,EAAS0J,EAAI,GACrG1J,EAAS0J,GAAK,CAAC2G,EAAU1E,EAAI2E,EAuBjB,EmB3BdX,EAAoBoB,EAAKvB,IACxB,IAAIwB,EAASxB,GAAUA,EAAOyB,WAC7B,IAAOzB,EAAiB,QACxB,IAAM,EAEP,OADAG,EAAoBuB,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdrB,EAAoBuB,EAAI,CAACpB,EAASsB,KACjC,IAAI,IAAI1F,KAAO0F,EACXzB,EAAoB0B,EAAED,EAAY1F,KAASiE,EAAoB0B,EAAEvB,EAASpE,IAC5EiF,OAAOW,eAAexB,EAASpE,EAAK,CAAE6F,YAAY,EAAMxK,IAAKqK,EAAW1F,IAE1E,ECNDiE,EAAoBjJ,EAAI,CAAC,EAGzBiJ,EAAoB5F,EAAKyH,GACjBC,QAAQC,IAAIf,OAAOC,KAAKjB,EAAoBjJ,GAAGiL,QAAO,CAACC,EAAUlG,KACvEiE,EAAoBjJ,EAAEgF,GAAK8F,EAASI,GAC7BA,IACL,KCNJjC,EAAoBkC,EAAKL,GAEZA,EAAU,IAAMA,EAAU,SAAW,CAAC,KAAO,uBAAuB,KAAO,wBAAwBA,GCHhH7B,EAAoBmC,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOjR,MAAQ,IAAIkR,SAAS,cAAb,EAChB,CAAE,MAAOjI,GACR,GAAsB,iBAAX9B,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxB0H,EAAoB0B,EAAI,CAACY,EAAKC,IAAUvB,OAAOrE,UAAU6F,eAAelC,KAAKgC,EAAKC,GvBA9EjS,EAAa,CAAC,EACdC,EAAoB,aAExByP,EAAoByC,EAAI,CAACvQ,EAAKwQ,EAAM3G,EAAK8F,KACxC,GAAGvR,EAAW4B,GAAQ5B,EAAW4B,GAAKgI,KAAKwI,OAA3C,CACA,IAAIC,EAAQC,EACZ,QAAW3P,IAAR8I,EAEF,IADA,IAAI8G,EAAUjG,SAASkG,qBAAqB,UACpC/I,EAAI,EAAGA,EAAI8I,EAAQ7P,OAAQ+G,IAAK,CACvC,IAAIgJ,EAAIF,EAAQ9I,GAChB,GAAGgJ,EAAEC,aAAa,QAAU9Q,GAAO6Q,EAAEC,aAAa,iBAAmBzS,EAAoBwL,EAAK,CAAE4G,EAASI,EAAG,KAAO,CACpH,CAEGJ,IACHC,GAAa,GACbD,EAAS/F,SAASqG,cAAc,WAEzBC,QAAU,QACjBP,EAAOQ,QAAU,IACbnD,EAAoBoD,IACvBT,EAAOU,aAAa,QAASrD,EAAoBoD,IAElDT,EAAOU,aAAa,eAAgB9S,EAAoBwL,GAExD4G,EAAOW,IAAMpR,GAEd5B,EAAW4B,GAAO,CAACwQ,GACnB,IAAIa,EAAmB,CAACC,EAAMC,KAE7Bd,EAAOe,QAAUf,EAAOgB,OAAS,KACjCC,aAAaT,GACb,IAAIU,EAAUvT,EAAW4B,GAIzB,UAHO5B,EAAW4B,GAClByQ,EAAOmB,YAAcnB,EAAOmB,WAAWC,YAAYpB,GACnDkB,GAAWA,EAAQG,SAAShI,GAAQA,EAAGyH,KACpCD,EAAM,OAAOA,EAAKC,EAAM,EAExBN,EAAUc,WAAWV,EAAiBW,KAAK,UAAMjR,EAAW,CAAErC,KAAM,UAAW0J,OAAQqI,IAAW,MACtGA,EAAOe,QAAUH,EAAiBW,KAAK,KAAMvB,EAAOe,SACpDf,EAAOgB,OAASJ,EAAiBW,KAAK,KAAMvB,EAAOgB,QACnDf,GAAchG,SAASuH,KAAKC,YAAYzB,EApCkB,CAoCX,EwBvChD3C,EAAoBmB,EAAKhB,IACH,oBAAXkE,QAA0BA,OAAOC,aAC1CtD,OAAOW,eAAexB,EAASkE,OAAOC,YAAa,CAAE5K,MAAO,WAE7DsH,OAAOW,eAAexB,EAAS,aAAc,CAAEzG,OAAO,GAAO,ECL9DsG,EAAoBuE,IAAO1E,IAC1BA,EAAO2E,MAAQ,GACV3E,EAAO4E,WAAU5E,EAAO4E,SAAW,IACjC5E,GCHRG,EAAoBe,EAAI,WCAxB,IAAI2D,EACA1E,EAAoBmC,EAAEwC,gBAAeD,EAAY1E,EAAoBmC,EAAEyC,SAAW,IACtF,IAAIhI,EAAWoD,EAAoBmC,EAAEvF,SACrC,IAAK8H,GAAa9H,IACbA,EAASiI,gBACZH,EAAY9H,EAASiI,cAAcvB,MAC/BoB,GAAW,CACf,IAAI7B,EAAUjG,EAASkG,qBAAqB,UAC5C,GAAGD,EAAQ7P,OAEV,IADA,IAAI+G,EAAI8I,EAAQ7P,OAAS,EAClB+G,GAAK,KAAO2K,IAAc,aAAaI,KAAKJ,KAAaA,EAAY7B,EAAQ9I,KAAKuJ,GAE3F,CAID,IAAKoB,EAAW,MAAM,IAAIK,MAAM,yDAChCL,EAAYA,EAAUM,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KACpFhF,EAAoBiF,EAAIP,YClBxB1E,EAAoBkF,EAAItI,SAASuI,SAAWC,KAAKR,SAASS,KAK1D,IAAIC,EAAkB,CACrB,KAAM,GAGPtF,EAAoBjJ,EAAEgK,EAAI,CAACc,EAASI,KAElC,IAAIsD,EAAqBvF,EAAoB0B,EAAE4D,EAAiBzD,GAAWyD,EAAgBzD,QAAW5O,EACtG,GAA0B,IAAvBsS,EAGF,GAAGA,EACFtD,EAAS/H,KAAKqL,EAAmB,QAC3B,CAGL,IAAIC,EAAU,IAAI1D,SAAQ,CAAC2D,EAASC,IAAYH,EAAqBD,EAAgBzD,GAAW,CAAC4D,EAASC,KAC1GzD,EAAS/H,KAAKqL,EAAmB,GAAKC,GAGtC,IAAItT,EAAM8N,EAAoBiF,EAAIjF,EAAoBkC,EAAEL,GAEpD7J,EAAQ,IAAI+M,MAgBhB/E,EAAoByC,EAAEvQ,GAfFuR,IACnB,GAAGzD,EAAoB0B,EAAE4D,EAAiBzD,KAEf,KAD1B0D,EAAqBD,EAAgBzD,MACRyD,EAAgBzD,QAAW5O,GACrDsS,GAAoB,CACtB,IAAII,EAAYlC,IAAyB,SAAfA,EAAM7S,KAAkB,UAAY6S,EAAM7S,MAChEgV,EAAUnC,GAASA,EAAMnJ,QAAUmJ,EAAMnJ,OAAOgJ,IACpDtL,EAAM6N,QAAU,iBAAmBhE,EAAU,cAAgB8D,EAAY,KAAOC,EAAU,IAC1F5N,EAAMxH,KAAO,iBACbwH,EAAMpH,KAAO+U,EACb3N,EAAM8N,QAAUF,EAChBL,EAAmB,GAAGvN,EACvB,CACD,GAEwC,SAAW6J,EAASA,EAE/D,CACD,EAWF7B,EAAoBQ,EAAEO,EAAKc,GAA0C,IAA7ByD,EAAgBzD,GAGxD,IAAIkE,EAAuB,CAACC,EAA4BzT,KACvD,IAKI0N,EAAU4B,EALVnB,EAAWnO,EAAK,GAChB0T,EAAc1T,EAAK,GACnB2T,EAAU3T,EAAK,GAGIwH,EAAI,EAC3B,GAAG2G,EAASyF,MAAMrG,GAAgC,IAAxBwF,EAAgBxF,KAAa,CACtD,IAAIG,KAAYgG,EACZjG,EAAoB0B,EAAEuE,EAAahG,KACrCD,EAAoBO,EAAEN,GAAYgG,EAAYhG,IAGhD,GAAGiG,EAAS,IAAIzF,EAASyF,EAAQlG,EAClC,CAEA,IADGgG,GAA4BA,EAA2BzT,GACrDwH,EAAI2G,EAAS1N,OAAQ+G,IACzB8H,EAAUnB,EAAS3G,GAChBiG,EAAoB0B,EAAE4D,EAAiBzD,IAAYyD,EAAgBzD,IACrEyD,EAAgBzD,GAAS,KAE1ByD,EAAgBzD,GAAW,EAE5B,OAAO7B,EAAoBQ,EAAEC,EAAO,EAGjC2F,EAAqBhB,KAA4B,sBAAIA,KAA4B,uBAAK,GAC1FgB,EAAmBpC,QAAQ+B,EAAqB7B,KAAK,KAAM,IAC3DkC,EAAmBlM,KAAO6L,EAAqB7B,KAAK,KAAMkC,EAAmBlM,KAAKgK,KAAKkC,QCvFvFpG,EAAoBoD,QAAKnQ,ECGzB,IAAIoT,EAAsBrG,EAAoBQ,OAAEvN,EAAW,CAAC,OAAO,IAAO+M,EAAoB,SAC9FqG,EAAsBrG,EAAoBQ,EAAE6F","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Star.vue?35ed","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue?vue&type=template&id=d5ace39e","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/StarOutline.vue?9e0e","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue?vue&type=template&id=b66aa068","webpack:///nextcloud/apps/weather_status/src/services/weatherStatusService.js","webpack:///nextcloud/apps/weather_status/src/App.vue","webpack:///nextcloud/apps/weather_status/src/App.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/weather_status/src/App.vue?60f1","webpack://nextcloud/./apps/weather_status/src/App.vue?02d4","webpack://nextcloud/./apps/weather_status/src/App.vue?2990","webpack:///nextcloud/apps/weather_status/src/weather-status.js","webpack:///nextcloud/apps/weather_status/src/App.vue?vue&type=style&index=0&id=bacd1042&prod&lang=scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon star-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"StarIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Star.vue?vue&type=template&id=d5ace39e\"\nimport script from \"./Star.vue?vue&type=script&lang=js\"\nexport * from \"./Star.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon star-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarOutline.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon star-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"StarOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./StarOutline.vue?vue&type=template&id=b66aa068\"\nimport script from \"./StarOutline.vue?vue&type=script&lang=js\"\nexport * from \"./StarOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon star-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020, Julien Veyssier\n *\n * @author Julien Veyssier <eneiluj@posteo.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n *\n *\n * @param {string} lat the latitude\n * @param {string} lon the longitude\n * @return {Promise<object>}\n */\nconst setLocation = async (lat, lon) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.put(url, {\n\t\taddress: '',\n\t\tlat,\n\t\tlon,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {string} address The location\n * @return {Promise<object>}\n */\nconst setAddress = async (address) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.put(url, {\n\t\taddress,\n\t\tlat: null,\n\t\tlon: null,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {string} mode can be 1 browser or 2 custom\n * @return {Promise<object>}\n */\nconst setMode = async (mode) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/mode')\n\tconst response = await HttpClient.put(url, {\n\t\tmode,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @return {Promise<object>}\n */\nconst usePersonalAddress = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/use-personal')\n\tconst response = await HttpClient.put(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the location information for current user\n *\n * @return {Promise<object>}\n */\nconst getLocation = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the weather forecast\n *\n * @return {Promise<object>}\n */\nconst fetchForecast = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/forecast')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the location favorites\n *\n * @return {Promise<object>}\n */\nconst getFavorites = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/favorites')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {Array} favorites List of favorite addresses\n * @return {Promise<object>}\n */\nconst saveFavorites = async (favorites) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/favorites')\n\tconst response = await HttpClient.put(url, {\n\t\tfavorites,\n\t})\n\n\treturn response.data.ocs.data\n}\n\nexport {\n\tusePersonalAddress,\n\tsetMode,\n\tgetLocation,\n\tsetLocation,\n\tsetAddress,\n\tfetchForecast,\n\tgetFavorites,\n\tsaveFavorites,\n}\n","<!--\n - @copyright Copyright (c) 2020 Julien Veyssier <eneiluj@posteo.net>\n - @author Julien Veyssier <eneiluj@posteo.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"weather-status-menu-item\">\n\t\t<NcActions class=\"weather-status-menu-item__subheader\"\n\t\t\t:default-icon=\"weatherIcon\"\n\t\t\t:aria-hidden=\"true\"\n\t\t\t:aria-label=\"currentWeatherMessage\"\n\t\t\t:menu-name=\"currentWeatherMessage\">\n\t\t\t<NcActionText v-if=\"gotWeather\"\n\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\t:icon=\"futureWeatherIcon\">\n\t\t\t\t{{ forecastMessage }}\n\t\t\t</NcActionText>\n\t\t\t<NcActionLink v-if=\"gotWeather\"\n\t\t\t\ticon=\"icon-address\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\t:href=\"weatherLinkTarget\"\n\t\t\t\t:close-after-click=\"true\">\n\t\t\t\t{{ locationText }}\n\t\t\t</NcActionLink>\n\t\t\t<NcActionButton v-if=\"gotWeather\"\n\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\t@click=\"onAddRemoveFavoriteClick\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<component :is=\"addRemoveFavoriteIcon\" :size=\"20\" class=\"favorite-color\" />\n\t\t\t\t</template>\n\t\t\t\t{{ addRemoveFavoriteText }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionSeparator v-if=\"address && !errorMessage\" />\n\t\t\t<NcActionButton icon=\"icon-crosshair\"\n\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\t@click=\"onBrowserLocationClick\">\n\t\t\t\t{{ t('weather_status', 'Detect location') }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionInput ref=\"addressInput\"\n\t\t\t\t:label=\"t('weather_status', 'Set custom address')\"\n\t\t\t\t:disabled=\"false\"\n\t\t\t\ticon=\"icon-rename\"\n\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tvalue=\"\"\n\t\t\t\t@submit=\"onAddressSubmit\" />\n\t\t\t<template v-if=\"favorites.length > 0\">\n\t\t\t\t<NcActionCaption :name=\"t('weather_status', 'Favorites')\" />\n\t\t\t\t<NcActionButton v-for=\"favorite in favorites\"\n\t\t\t\t\t:key=\"favorite\"\n\t\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\t\t@click=\"onFavoriteClick($event, favorite)\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconStar :size=\"20\" :class=\"{'favorite-color': address === favorite}\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ favorite }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcActions>\n\t</div>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\nimport moment from '@nextcloud/moment'\nimport { getLocale } from '@nextcloud/l10n'\nimport IconStar from 'vue-material-design-icons/Star.vue'\nimport IconStarOutline from 'vue-material-design-icons/StarOutline.vue'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcActionCaption from '@nextcloud/vue/dist/Components/NcActionCaption.js'\nimport NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'\nimport NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'\nimport NcActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator.js'\nimport NcActionText from '@nextcloud/vue/dist/Components/NcActionText.js'\nimport * as network from './services/weatherStatusService.js'\n\nconst MODE_BROWSER_LOCATION = 1\nconst MODE_MANUAL_LOCATION = 2\nconst weatherOptions = {\n\tclearsky_day: {\n\t\ticon: 'icon-clearsky-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} clear sky later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} clear sky', { temperature, unit }),\n\t},\n\tclearsky_night: {\n\t\ticon: 'icon-clearsky-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} clear sky later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} clear sky', { temperature, unit }),\n\t},\n\tcloudy: {\n\t\ticon: 'icon-cloudy',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} cloudy later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} cloudy', { temperature, unit }),\n\t},\n\tfair_day: {\n\t\ticon: 'icon-fair-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} fair weather later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} fair weather', { temperature, unit }),\n\t},\n\tfair_night: {\n\t\ticon: 'icon-fair-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} fair weather later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} fair weather', { temperature, unit }),\n\t},\n\tpartlycloudy_day: {\n\t\ticon: 'icon-partlycloudy-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} partly cloudy later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} partly cloudy', { temperature, unit }),\n\t},\n\tpartlycloudy_night: {\n\t\ticon: 'icon-partlycloudy-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} partly cloudy later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} partly cloudy', { temperature, unit }),\n\t},\n\tfog: {\n\t\ticon: 'icon-fog',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} foggy later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} foggy', { temperature, unit }),\n\t},\n\tlightrain: {\n\t\ticon: 'icon-lightrain',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} light rainfall later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} light rainfall', { temperature, unit }),\n\t},\n\train: {\n\t\ticon: 'icon-rain',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} rainfall later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} rainfall', { temperature, unit }),\n\t},\n\theavyrain: {\n\t\ticon: 'icon-heavyrain',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} heavy rainfall later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} heavy rainfall', { temperature, unit }),\n\t},\n\trainshowers_day: {\n\t\ticon: 'icon-rainshowers-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} rainfall showers', { temperature, unit }),\n\t},\n\trainshowers_night: {\n\t\ticon: 'icon-rainshowers-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} rainfall showers', { temperature, unit }),\n\t},\n\tlightrainshowers_day: {\n\t\ticon: 'icon-light-rainshowers-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} light rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} light rainfall showers', { temperature, unit }),\n\t},\n\tlightrainshowers_night: {\n\t\ticon: 'icon-light-rainshowers-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} light rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} light rainfall showers', { temperature, unit }),\n\t},\n\theavyrainshowers_day: {\n\t\ticon: 'icon-heavy-rainshowers-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} heavy rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} heavy rainfall showers', { temperature, unit }),\n\t},\n\theavyrainshowers_night: {\n\t\ticon: 'icon-heavy-rainshowers-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} heavy rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} heavy rainfall showers', { temperature, unit }),\n\t},\n}\n\nexport default {\n\tname: 'App',\n\tcomponents: {\n\t\tIconStar,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcActionCaption,\n\t\tNcActionInput,\n\t\tNcActionLink,\n\t\tNcActionSeparator,\n\t\tNcActionText,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tlocale: getLocale(),\n\t\t\tloading: true,\n\t\t\terrorMessage: '',\n\t\t\tmode: MODE_BROWSER_LOCATION,\n\t\t\taddress: null,\n\t\t\tlat: null,\n\t\t\tlon: null,\n\t\t\t// how many hours ahead do we want to see the forecast?\n\t\t\toffset: 5,\n\t\t\tforecasts: [],\n\t\t\tloop: null,\n\t\t\tfavorites: [],\n\t\t}\n\t},\n\tcomputed: {\n\t\tuseFahrenheitLocale() {\n\t\t\treturn ['en_US', 'en_MH', 'en_FM', 'en_PW', 'en_KY', 'en_LR'].includes(this.locale)\n\t\t},\n\t\ttemperatureUnit() {\n\t\t\treturn this.useFahrenheitLocale ? '°F' : '°C'\n\t\t},\n\t\tlocationText() {\n\t\t\treturn t('weather_status', 'More weather for {adr}', { adr: this.address })\n\t\t},\n\t\ttemperature() {\n\t\t\treturn this.getTemperature(this.forecasts, 0)\n\t\t},\n\t\tfutureTemperature() {\n\t\t\treturn this.getTemperature(this.forecasts, this.offset)\n\t\t},\n\t\tweatherCode() {\n\t\t\treturn this.getWeatherCode(this.forecasts, 0)\n\t\t},\n\t\tfutureWeatherCode() {\n\t\t\treturn this.getWeatherCode(this.forecasts, this.offset)\n\t\t},\n\t\tweatherIcon() {\n\t\t\treturn this.getWeatherIcon(this.weatherCode, this.loading)\n\t\t},\n\t\tfutureWeatherIcon() {\n\t\t\treturn this.getWeatherIcon(this.futureWeatherCode, this.loading)\n\t\t},\n\t\t/**\n\t\t * The message displayed in the top right corner\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tcurrentWeatherMessage() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('weather_status', 'Loading weather')\n\t\t\t} else if (this.errorMessage) {\n\t\t\t\treturn this.errorMessage\n\t\t\t} else {\n\t\t\t\treturn this.getWeatherMessage(this.weatherCode, this.temperature)\n\t\t\t}\n\t\t},\n\t\tforecastMessage() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('weather_status', 'Loading weather')\n\t\t\t} else {\n\t\t\t\treturn this.getWeatherMessage(this.futureWeatherCode, this.futureTemperature, true)\n\t\t\t}\n\t\t},\n\t\tweatherLinkTarget() {\n\t\t\treturn 'https://www.windy.com/-Rain-thunder-rain?rain,' + this.lat + ',' + this.lon + ',11'\n\t\t},\n\t\tgotWeather() {\n\t\t\treturn this.address && !this.errorMessage\n\t\t},\n\t\taddRemoveFavoriteIcon() {\n\t\t\treturn this.currentAddressIsFavorite\n\t\t\t\t? IconStar\n\t\t\t\t: IconStarOutline\n\t\t},\n\t\taddRemoveFavoriteText() {\n\t\t\treturn this.currentAddressIsFavorite\n\t\t\t\t? t('weather_status', 'Remove from favorites')\n\t\t\t\t: t('weather_status', 'Add as favorite')\n\t\t},\n\t\tcurrentAddressIsFavorite() {\n\t\t\treturn this.favorites.find((f) => {\n\t\t\t\treturn f === this.address\n\t\t\t})\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.initWeatherStatus()\n\t},\n\tmethods: {\n\t\tasync initWeatherStatus() {\n\t\t\ttry {\n\t\t\t\tconst loc = await network.getLocation()\n\t\t\t\tthis.lat = loc.lat\n\t\t\t\tthis.lon = loc.lon\n\t\t\t\tthis.address = loc.address\n\t\t\t\tthis.mode = loc.mode\n\n\t\t\t\tif (this.mode === MODE_BROWSER_LOCATION) {\n\t\t\t\t\tthis.askBrowserLocation()\n\t\t\t\t} else if (this.mode === MODE_MANUAL_LOCATION) {\n\t\t\t\t\tthis.startLoop()\n\t\t\t\t}\n\t\t\t\tconst favs = await network.getFavorites()\n\t\t\t\tthis.favorites = favs\n\t\t\t} catch (err) {\n\t\t\t\tif (err?.code === 'ECONNABORTED') {\n\t\t\t\t\tconsole.info('The weather status request was cancelled because the user navigates.')\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif (err.response && err.response.status === 401) {\n\t\t\t\t\tshowError(t('weather_status', 'You are not logged in.'))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(t('weather_status', 'There was an error getting the weather status information.'))\n\t\t\t\t}\n\t\t\t\tconsole.error(err)\n\t\t\t}\n\t\t},\n\t\tstartLoop() {\n\t\t\tclearInterval(this.loop)\n\t\t\tif (this.lat && this.lon) {\n\t\t\t\tthis.loop = setInterval(() => this.getForecast(), 60 * 1000 * 60)\n\t\t\t\tthis.getForecast()\n\t\t\t} else {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\taskBrowserLocation() {\n\t\t\tthis.loading = true\n\t\t\tthis.errorMessage = ''\n\t\t\tif (navigator.geolocation && window.isSecureContext) {\n\t\t\t\tnavigator.geolocation.getCurrentPosition((position) => {\n\t\t\t\t\tconsole.debug('browser location success')\n\t\t\t\t\tthis.lat = position.coords.latitude\n\t\t\t\t\tthis.lon = position.coords.longitude\n\t\t\t\t\tthis.saveMode(MODE_BROWSER_LOCATION)\n\t\t\t\t\tthis.mode = MODE_BROWSER_LOCATION\n\t\t\t\t\tthis.saveLocation(this.lat, this.lon)\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tconsole.debug('location permission refused')\n\t\t\t\t\tconsole.debug(error)\n\t\t\t\t\tthis.saveMode(MODE_MANUAL_LOCATION)\n\t\t\t\t\tthis.mode = MODE_MANUAL_LOCATION\n\t\t\t\t\t// fallback on what we have if possible\n\t\t\t\t\tif (this.lat && this.lon) {\n\t\t\t\t\t\tthis.startLoop()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.usePersonalAddress()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tconsole.debug('no secure context!')\n\t\t\t\tthis.saveMode(MODE_MANUAL_LOCATION)\n\t\t\t\tthis.mode = MODE_MANUAL_LOCATION\n\t\t\t\tthis.startLoop()\n\t\t\t}\n\t\t},\n\t\tasync getForecast() {\n\t\t\ttry {\n\t\t\t\tthis.forecasts = await network.fetchForecast()\n\t\t\t} catch (err) {\n\t\t\t\tthis.errorMessage = t('weather_status', 'No weather information found')\n\t\t\t\tconsole.debug(err)\n\t\t\t}\n\t\t\tthis.loading = false\n\t\t},\n\t\tasync setAddress(address) {\n\t\t\tthis.loading = true\n\t\t\tthis.errorMessage = ''\n\t\t\ttry {\n\t\t\t\tconst loc = await network.setAddress(address)\n\t\t\t\tif (loc.success) {\n\t\t\t\t\tthis.lat = loc.lat\n\t\t\t\t\tthis.lon = loc.lon\n\t\t\t\t\tthis.address = loc.address\n\t\t\t\t\tthis.mode = MODE_MANUAL_LOCATION\n\t\t\t\t\tthis.startLoop()\n\t\t\t\t} else {\n\t\t\t\t\tthis.errorMessage = t('weather_status', 'Location not found')\n\t\t\t\t\tthis.loading = false\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tif (err.response && err.response.status === 401) {\n\t\t\t\t\tshowError(t('weather_status', 'You are not logged in.'))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(t('weather_status', 'There was an error setting the location address.'))\n\t\t\t\t}\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\tasync saveLocation(lat, lon) {\n\t\t\ttry {\n\t\t\t\tconst loc = await network.setLocation(lat, lon)\n\t\t\t\tthis.address = loc.address\n\t\t\t\tthis.startLoop()\n\t\t\t} catch (err) {\n\t\t\t\tif (err.response && err.response.status === 401) {\n\t\t\t\t\tshowError(t('weather_status', 'You are not logged in.'))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(t('weather_status', 'There was an error setting the location.'))\n\t\t\t\t}\n\t\t\t\tconsole.debug(err)\n\t\t\t}\n\t\t},\n\t\tasync saveMode(mode) {\n\t\t\ttry {\n\t\t\t\tawait network.setMode(mode)\n\t\t\t} catch (err) {\n\t\t\t\tif (err.response && err.response.status === 401) {\n\t\t\t\t\tshowError(t('weather_status', 'You are not logged in.'))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(t('weather_status', 'There was an error saving the mode.'))\n\t\t\t\t}\n\t\t\t\tconsole.debug(err)\n\t\t\t}\n\t\t},\n\t\tonBrowserLocationClick() {\n\t\t\tthis.askBrowserLocation()\n\t\t},\n\t\tasync usePersonalAddress() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst loc = await network.usePersonalAddress()\n\t\t\t\tthis.lat = loc.lat\n\t\t\t\tthis.lon = loc.lon\n\t\t\t\tthis.address = loc.address\n\t\t\t\tthis.mode = MODE_MANUAL_LOCATION\n\t\t\t\tthis.startLoop()\n\t\t\t} catch (err) {\n\t\t\t\tif (err.response && err.response.status === 401) {\n\t\t\t\t\tshowError(t('weather_status', 'You are not logged in.'))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(t('weather_status', 'There was an error using personal address.'))\n\t\t\t\t}\n\t\t\t\tconsole.debug(err)\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\tonAddressSubmit() {\n\t\t\tconst newAddress = this.$refs.addressInput.$el.querySelector('input[type=\"text\"]').value\n\t\t\tthis.setAddress(newAddress)\n\t\t},\n\t\tgetLocalizedTemperature(celcius) {\n\t\t\treturn this.useFahrenheitLocale\n\t\t\t\t? (celcius * (9 / 5)) + 32\n\t\t\t\t: celcius\n\t\t},\n\t\tonAddRemoveFavoriteClick() {\n\t\t\tconst currentIsFavorite = this.currentAddressIsFavorite\n\t\t\tif (currentIsFavorite) {\n\t\t\t\tconst i = this.favorites.indexOf(currentIsFavorite)\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tthis.favorites.splice(i, 1)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.favorites.push(this.address)\n\t\t\t}\n\t\t\tnetwork.saveFavorites(this.favorites)\n\t\t},\n\t\tonFavoriteClick(e, favAddress) {\n\t\t\t// clicked on the icon\n\t\t\tif (e.target.classList.contains('action-button__icon')) {\n\t\t\t\tconst i = this.favorites.indexOf(favAddress)\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tthis.favorites.splice(i, 1)\n\t\t\t\t}\n\t\t\t\tnetwork.saveFavorites(this.favorites)\n\t\t\t} else if (favAddress !== this.address) {\n\t\t\t\t// clicked on the text\n\t\t\t\tthis.setAddress(favAddress)\n\t\t\t}\n\t\t},\n\t\tformatTime(time) {\n\t\t\treturn moment(time).format('LT')\n\t\t},\n\t\tgetTemperature(forecasts, offset = 0) {\n\t\t\treturn forecasts.length > offset ? forecasts[offset].data.instant.details.air_temperature : ''\n\t\t},\n\t\tgetWeatherCode(forecasts, offset = 0) {\n\t\t\treturn forecasts.length > offset ? forecasts[offset].data.next_1_hours.summary.symbol_code : ''\n\t\t},\n\t\tgetWeatherIcon(weatherCode, loading) {\n\t\t\tif (loading) {\n\t\t\t\treturn 'icon-loading-small'\n\t\t\t} else {\n\t\t\t\treturn 'icon-weather ' + (weatherCode && weatherCode in weatherOptions\n\t\t\t\t\t? weatherOptions[weatherCode].icon\n\t\t\t\t\t: 'icon-fair-day')\n\t\t\t}\n\t\t},\n\t\tgetWeatherMessage(weatherCode, temperature, later = false) {\n\t\t\treturn weatherCode && weatherCode in weatherOptions\n\t\t\t\t? weatherOptions[weatherCode].text(\n\t\t\t\t\tMath.round(this.getLocalizedTemperature(temperature)),\n\t\t\t\t\tthis.temperatureUnit,\n\t\t\t\t\tlater,\n\t\t\t\t)\n\t\t\t\t: t('weather_status', 'Set location for weather')\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n.icon-weather {\n\tbackground-size: 16px;\n}\n.icon-weather-status {\n\tbackground-image: url('./../img/app-dark.svg');\n}\n.icon-clearsky-day {\n\tbackground-image: url('./../img/sun.svg');\n}\n.icon-clearsky-night {\n\tbackground-image: url('./../img/moon.svg');\n}\n.icon-cloudy {\n\tbackground-image: url('./../img/cloud-cloud.svg');\n}\n.icon-fair-day {\n\tbackground-image: url('./../img/sun-small-cloud.svg');\n}\n.icon-fair-night {\n\tbackground-image: url('./../img/moon-small-cloud.svg');\n}\n.icon-partlycloudy-day {\n\tbackground-image: url('./../img/sun-cloud.svg');\n}\n.icon-partlycloudy-night {\n\tbackground-image: url('./../img/moon-cloud.svg');\n}\n.icon-fog {\n\tbackground-image: url('./../img/fog.svg');\n}\n.icon-lightrain {\n\tbackground-image: url('./../img/light-rain.svg');\n}\n.icon-rain {\n\tbackground-image: url('./../img/rain.svg');\n}\n.icon-heavyrain {\n\tbackground-image: url('./../img/heavy-rain.svg');\n}\n.icon-light-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-light-rain.svg');\n}\n.icon-light-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-light-rain.svg');\n}\n.icon-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-rain.svg');\n}\n.icon-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-rain.svg');\n}\n.icon-heavy-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-heavy-rain.svg');\n}\n.icon-heavy-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-heavy-rain.svg');\n}\n.icon-crosshair {\n background-color: var(--color-main-text);\n padding: 0 !important;\n mask: url(./../img/cross.svg) no-repeat;\n mask-size: 18px 18px;\n mask-position: center;\n -webkit-mask: url(./../img/cross.svg) no-repeat;\n -webkit-mask-size: 18px 18px;\n -webkit-mask-position: center;\n min-width: 44px !important;\n min-height: 44px !important;\n}\n\n// Set color to primary element for current / active favorite address\n.favorite-color {\n\tcolor: var(--color-favorite);\n}\n\n.weather-status-menu-item__subheader {\n\twidth: 100%;\n\n\t.trigger > .icon {\n\t\tbackground-size: 16px;\n\t\tborder: 0;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tfont-weight: normal;\n\t\tpadding-left: 40px;\n\n\t\t&.icon-loading-small {\n\t\t\t&::after {\n\t\t\t\tleft: 21px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=bacd1042&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=bacd1042&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=bacd1042\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=bacd1042&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"weather-status-menu-item\"}},[_c('NcActions',{staticClass:\"weather-status-menu-item__subheader\",attrs:{\"default-icon\":_vm.weatherIcon,\"aria-hidden\":true,\"aria-label\":_vm.currentWeatherMessage,\"menu-name\":_vm.currentWeatherMessage}},[(_vm.gotWeather)?_c('NcActionText',{attrs:{\"aria-hidden\":true,\"icon\":_vm.futureWeatherIcon}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forecastMessage)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.gotWeather)?_c('NcActionLink',{attrs:{\"icon\":\"icon-address\",\"target\":\"_blank\",\"aria-hidden\":true,\"href\":_vm.weatherLinkTarget,\"close-after-click\":true}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.locationText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.gotWeather)?_c('NcActionButton',{attrs:{\"aria-hidden\":true},on:{\"click\":_vm.onAddRemoveFavoriteClick},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.addRemoveFavoriteIcon,{tag:\"component\",staticClass:\"favorite-color\",attrs:{\"size\":20}})]},proxy:true}],null,false,1785206719)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.addRemoveFavoriteText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.address && !_vm.errorMessage)?_c('NcActionSeparator'):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":\"icon-crosshair\",\"close-after-click\":true,\"aria-hidden\":true},on:{\"click\":_vm.onBrowserLocationClick}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('weather_status', 'Detect location'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionInput',{ref:\"addressInput\",attrs:{\"label\":_vm.t('weather_status', 'Set custom address'),\"disabled\":false,\"icon\":\"icon-rename\",\"aria-hidden\":true,\"type\":\"text\",\"value\":\"\"},on:{\"submit\":_vm.onAddressSubmit}}),_vm._v(\" \"),(_vm.favorites.length > 0)?[_c('NcActionCaption',{attrs:{\"name\":_vm.t('weather_status', 'Favorites')}}),_vm._v(\" \"),_vm._l((_vm.favorites),function(favorite){return _c('NcActionButton',{key:favorite,attrs:{\"aria-hidden\":true},on:{\"click\":function($event){return _vm.onFavoriteClick($event, favorite)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconStar',{class:{'favorite-color': _vm.address === favorite},attrs:{\"size\":20}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(favorite)+\"\\n\\t\\t\\t\")])})]:_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2016 Julien Veyssier <eneiluj@posteo.net>\n *\n * @author Julien Veyssier <eneiluj@posteo.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport App from './App.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.t = t\n\ndocument.addEventListener('DOMContentLoaded', function() {\n\tif (!OCA.Dashboard) {\n\t\treturn\n\t}\n\n\tOCA.Dashboard.registerStatus('weather', (el) => {\n\t\tconst Dashboard = Vue.extend(App)\n\t\treturn new Dashboard().$mount(el)\n\t})\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./../img/app-dark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./../img/sun.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"./../img/moon.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"./../img/cloud-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"./../img/sun-small-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"./../img/moon-small-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"./../img/sun-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"./../img/moon-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"./../img/fog.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"./../img/light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"./../img/rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"./../img/heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"./../img/sun-cloud-light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"./../img/moon-cloud-light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"./../img/sun-cloud-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"./../img/moon-cloud-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"./../img/sun-cloud-heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"./../img/moon-cloud-heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"./../img/cross.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.icon-weather{background-size:16px}.icon-weather-status{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.icon-clearsky-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}.icon-clearsky-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___})}.icon-cloudy{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___})}.icon-fair-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_4___})}.icon-fair-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___})}.icon-partlycloudy-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_6___})}.icon-partlycloudy-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_7___})}.icon-fog{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_8___})}.icon-lightrain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_9___})}.icon-rain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_10___})}.icon-heavyrain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_11___})}.icon-light-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_12___})}.icon-light-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_13___})}.icon-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_14___})}.icon-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_15___})}.icon-heavy-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___})}.icon-heavy-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_17___})}.icon-crosshair{background-color:var(--color-main-text);padding:0 !important;mask:url(${___CSS_LOADER_URL_REPLACEMENT_18___}) no-repeat;mask-size:18px 18px;mask-position:center;-webkit-mask:url(${___CSS_LOADER_URL_REPLACEMENT_18___}) no-repeat;-webkit-mask-size:18px 18px;-webkit-mask-position:center;min-width:44px !important;min-height:44px !important}.favorite-color{color:var(--color-favorite)}.weather-status-menu-item__subheader{width:100%}.weather-status-menu-item__subheader .trigger>.icon{background-size:16px;border:0;border-radius:var(--border-radius-pill);font-weight:normal;padding-left:40px}.weather-status-menu-item__subheader .trigger>.icon.icon-loading-small::after{left:21px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/weather_status/src/App.vue\"],\"names\":[],\"mappings\":\"AACA,cACC,oBAAA,CAED,qBACC,wDAAA,CAED,mBACC,wDAAA,CAED,qBACC,wDAAA,CAED,aACC,wDAAA,CAED,eACC,wDAAA,CAED,iBACC,wDAAA,CAED,uBACC,wDAAA,CAED,yBACC,wDAAA,CAED,UACC,wDAAA,CAED,gBACC,wDAAA,CAED,WACC,yDAAA,CAED,gBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,sBACC,yDAAA,CAED,wBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,gBACI,uCAAA,CACA,oBAAA,CACA,uDAAA,CACA,mBAAA,CACA,oBAAA,CACA,+DAAA,CACA,2BAAA,CACA,4BAAA,CACA,yBAAA,CACA,0BAAA,CAIJ,gBACC,2BAAA,CAGD,qCACC,UAAA,CAEA,oDACC,oBAAA,CACA,QAAA,CACA,uCAAA,CACA,kBAAA,CACA,iBAAA,CAGC,8EACC,SAAA\",\"sourcesContent\":[\"\\n.icon-weather {\\n\\tbackground-size: 16px;\\n}\\n.icon-weather-status {\\n\\tbackground-image: url('./../img/app-dark.svg');\\n}\\n.icon-clearsky-day {\\n\\tbackground-image: url('./../img/sun.svg');\\n}\\n.icon-clearsky-night {\\n\\tbackground-image: url('./../img/moon.svg');\\n}\\n.icon-cloudy {\\n\\tbackground-image: url('./../img/cloud-cloud.svg');\\n}\\n.icon-fair-day {\\n\\tbackground-image: url('./../img/sun-small-cloud.svg');\\n}\\n.icon-fair-night {\\n\\tbackground-image: url('./../img/moon-small-cloud.svg');\\n}\\n.icon-partlycloudy-day {\\n\\tbackground-image: url('./../img/sun-cloud.svg');\\n}\\n.icon-partlycloudy-night {\\n\\tbackground-image: url('./../img/moon-cloud.svg');\\n}\\n.icon-fog {\\n\\tbackground-image: url('./../img/fog.svg');\\n}\\n.icon-lightrain {\\n\\tbackground-image: url('./../img/light-rain.svg');\\n}\\n.icon-rain {\\n\\tbackground-image: url('./../img/rain.svg');\\n}\\n.icon-heavyrain {\\n\\tbackground-image: url('./../img/heavy-rain.svg');\\n}\\n.icon-light-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-light-rain.svg');\\n}\\n.icon-light-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-light-rain.svg');\\n}\\n.icon-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-rain.svg');\\n}\\n.icon-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-rain.svg');\\n}\\n.icon-heavy-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-heavy-rain.svg');\\n}\\n.icon-heavy-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-heavy-rain.svg');\\n}\\n.icon-crosshair {\\n background-color: var(--color-main-text);\\n padding: 0 !important;\\n mask: url(./../img/cross.svg) no-repeat;\\n mask-size: 18px 18px;\\n mask-position: center;\\n -webkit-mask: url(./../img/cross.svg) no-repeat;\\n -webkit-mask-size: 18px 18px;\\n -webkit-mask-position: center;\\n min-width: 44px !important;\\n min-height: 44px !important;\\n}\\n\\n// Set color to primary element for current / active favorite address\\n.favorite-color {\\n\\tcolor: var(--color-favorite);\\n}\\n\\n.weather-status-menu-item__subheader {\\n\\twidth: 100%;\\n\\n\\t.trigger > .icon {\\n\\t\\tbackground-size: 16px;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\tfont-weight: normal;\\n\\t\\tpadding-left: 40px;\\n\\n\\t\\t&.icon-loading-small {\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tleft: 21px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"1110\":\"a5d6e6f59aa058840a1e\",\"5455\":\"70389af1c0aeb085252a\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1848;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1848: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(92570)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","saveFavorites","async","url","generateOcsUrl","HttpClient","put","favorites","data","ocs","weatherOptions","clearsky_day","icon","text","temperature","unit","arguments","length","undefined","t","clearsky_night","cloudy","fair_day","fair_night","partlycloudy_day","partlycloudy_night","fog","lightrain","rain","heavyrain","rainshowers_day","rainshowers_night","lightrainshowers_day","lightrainshowers_night","heavyrainshowers_day","heavyrainshowers_night","components","IconStar","NcActions","NcActionButton","NcActionCaption","NcActionInput","NcActionLink","NcActionSeparator","NcActionText","locale","getLocale","loading","errorMessage","mode","address","lat","lon","offset","forecasts","loop","computed","useFahrenheitLocale","includes","temperatureUnit","locationText","adr","getTemperature","futureTemperature","weatherCode","getWeatherCode","futureWeatherCode","weatherIcon","getWeatherIcon","futureWeatherIcon","currentWeatherMessage","getWeatherMessage","forecastMessage","weatherLinkTarget","gotWeather","addRemoveFavoriteIcon","currentAddressIsFavorite","IconStarOutline","addRemoveFavoriteText","find","f","mounted","initWeatherStatus","methods","loc","get","network","askBrowserLocation","startLoop","favs","err","code","console","info","response","status","showError","error","clearInterval","setInterval","getForecast","navigator","geolocation","window","isSecureContext","getCurrentPosition","position","debug","coords","latitude","longitude","saveMode","saveLocation","usePersonalAddress","setAddress","success","onBrowserLocationClick","onAddressSubmit","newAddress","$refs","addressInput","$el","querySelector","value","getLocalizedTemperature","celcius","onAddRemoveFavoriteClick","currentIsFavorite","i","indexOf","splice","push","onFavoriteClick","e","favAddress","target","classList","contains","formatTime","time","moment","format","instant","details","air_temperature","next_1_hours","summary","symbol_code","later","Math","round","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","scopedSlots","_u","key","fn","tag","proxy","ref","_l","favorite","class","__webpack_nonce__","btoa","getRequestToken","Vue","prototype","document","addEventListener","OCA","Dashboard","registerStatus","el","extend","App","$mount","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"weather_status-weather-status.js?v=d3adae63c20f745e2c3d","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue?vue&type=script&lang=js","webpack://nextcloud/./node_modules/vue-material-design-icons/Star.vue?35ed","webpack:///nextcloud/node_modules/vue-material-design-icons/Star.vue?vue&type=template&id=d5ace39e","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue?vue&type=script&lang=js","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue","webpack://nextcloud/./node_modules/vue-material-design-icons/StarOutline.vue?9e0e","webpack:///nextcloud/node_modules/vue-material-design-icons/StarOutline.vue?vue&type=template&id=b66aa068","webpack:///nextcloud/apps/weather_status/src/services/weatherStatusService.js","webpack:///nextcloud/apps/weather_status/src/App.vue","webpack:///nextcloud/apps/weather_status/src/App.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/weather_status/src/App.vue?98fa","webpack://nextcloud/./apps/weather_status/src/App.vue?02d4","webpack://nextcloud/./apps/weather_status/src/App.vue?2990","webpack:///nextcloud/apps/weather_status/src/weather-status.js","webpack:///nextcloud/apps/weather_status/src/App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon star-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"StarIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Star.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Star.vue?vue&type=template&id=d5ace39e\"\nimport script from \"./Star.vue?vue&type=script&lang=js\"\nexport * from \"./Star.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon star-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarOutline.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./StarOutline.vue?vue&type=script&lang=js\"","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon star-outline-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"StarOutlineIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import { render, staticRenderFns } from \"./StarOutline.vue?vue&type=template&id=b66aa068\"\nimport script from \"./StarOutline.vue?vue&type=script&lang=js\"\nexport * from \"./StarOutline.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',_vm._b({staticClass:\"material-design-icon star-outline-icon\",attrs:{\"aria-hidden\":_vm.title ? null : true,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n *\n *\n * @param {string} lat the latitude\n * @param {string} lon the longitude\n * @return {Promise<object>}\n */\nconst setLocation = async (lat, lon) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.put(url, {\n\t\taddress: '',\n\t\tlat,\n\t\tlon,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {string} address The location\n * @return {Promise<object>}\n */\nconst setAddress = async (address) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.put(url, {\n\t\taddress,\n\t\tlat: null,\n\t\tlon: null,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {string} mode can be 1 browser or 2 custom\n * @return {Promise<object>}\n */\nconst setMode = async (mode) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/mode')\n\tconst response = await HttpClient.put(url, {\n\t\tmode,\n\t})\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @return {Promise<object>}\n */\nconst usePersonalAddress = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/use-personal')\n\tconst response = await HttpClient.put(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the location information for current user\n *\n * @return {Promise<object>}\n */\nconst getLocation = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/location')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the weather forecast\n *\n * @return {Promise<object>}\n */\nconst fetchForecast = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/forecast')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Fetches the location favorites\n *\n * @return {Promise<object>}\n */\nconst getFavorites = async () => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/favorites')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n *\n * @param {Array} favorites List of favorite addresses\n * @return {Promise<object>}\n */\nconst saveFavorites = async (favorites) => {\n\tconst url = generateOcsUrl('apps/weather_status/api/v1/favorites')\n\tconst response = await HttpClient.put(url, {\n\t\tfavorites,\n\t})\n\n\treturn response.data.ocs.data\n}\n\nexport {\n\tusePersonalAddress,\n\tsetMode,\n\tgetLocation,\n\tsetLocation,\n\tsetAddress,\n\tfetchForecast,\n\tgetFavorites,\n\tsaveFavorites,\n}\n","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div id=\"weather-status-menu-item\">\n\t\t<NcActions class=\"weather-status-menu-item__subheader\"\n\t\t\t:default-icon=\"weatherIcon\"\n\t\t\t:aria-hidden=\"true\"\n\t\t\t:aria-label=\"currentWeatherMessage\"\n\t\t\t:menu-name=\"currentWeatherMessage\">\n\t\t\t<NcActionText v-if=\"gotWeather\"\n\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\t:icon=\"futureWeatherIcon\">\n\t\t\t\t{{ forecastMessage }}\n\t\t\t</NcActionText>\n\t\t\t<NcActionLink v-if=\"gotWeather\"\n\t\t\t\ticon=\"icon-address\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\t:href=\"weatherLinkTarget\"\n\t\t\t\t:close-after-click=\"true\">\n\t\t\t\t{{ locationText }}\n\t\t\t</NcActionLink>\n\t\t\t<NcActionButton v-if=\"gotWeather\"\n\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\t@click=\"onAddRemoveFavoriteClick\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<component :is=\"addRemoveFavoriteIcon\" :size=\"20\" class=\"favorite-color\" />\n\t\t\t\t</template>\n\t\t\t\t{{ addRemoveFavoriteText }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionSeparator v-if=\"address && !errorMessage\" />\n\t\t\t<NcActionButton icon=\"icon-crosshair\"\n\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\t@click=\"onBrowserLocationClick\">\n\t\t\t\t{{ t('weather_status', 'Detect location') }}\n\t\t\t</NcActionButton>\n\t\t\t<NcActionInput ref=\"addressInput\"\n\t\t\t\t:label=\"t('weather_status', 'Set custom address')\"\n\t\t\t\t:disabled=\"false\"\n\t\t\t\ticon=\"icon-rename\"\n\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tvalue=\"\"\n\t\t\t\t@submit=\"onAddressSubmit\" />\n\t\t\t<template v-if=\"favorites.length > 0\">\n\t\t\t\t<NcActionCaption :name=\"t('weather_status', 'Favorites')\" />\n\t\t\t\t<NcActionButton v-for=\"favorite in favorites\"\n\t\t\t\t\t:key=\"favorite\"\n\t\t\t\t\t:aria-hidden=\"true\"\n\t\t\t\t\t@click=\"onFavoriteClick($event, favorite)\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconStar :size=\"20\" :class=\"{'favorite-color': address === favorite}\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ favorite }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcActions>\n\t</div>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\nimport moment from '@nextcloud/moment'\nimport { getLocale } from '@nextcloud/l10n'\nimport IconStar from 'vue-material-design-icons/Star.vue'\nimport IconStarOutline from 'vue-material-design-icons/StarOutline.vue'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcActionCaption from '@nextcloud/vue/dist/Components/NcActionCaption.js'\nimport NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'\nimport NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'\nimport NcActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator.js'\nimport NcActionText from '@nextcloud/vue/dist/Components/NcActionText.js'\nimport * as network from './services/weatherStatusService.js'\n\nconst MODE_BROWSER_LOCATION = 1\nconst MODE_MANUAL_LOCATION = 2\nconst weatherOptions = {\n\tclearsky_day: {\n\t\ticon: 'icon-clearsky-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} clear sky later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} clear sky', { temperature, unit }),\n\t},\n\tclearsky_night: {\n\t\ticon: 'icon-clearsky-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} clear sky later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} clear sky', { temperature, unit }),\n\t},\n\tcloudy: {\n\t\ticon: 'icon-cloudy',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} cloudy later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} cloudy', { temperature, unit }),\n\t},\n\tfair_day: {\n\t\ticon: 'icon-fair-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} fair weather later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} fair weather', { temperature, unit }),\n\t},\n\tfair_night: {\n\t\ticon: 'icon-fair-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} fair weather later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} fair weather', { temperature, unit }),\n\t},\n\tpartlycloudy_day: {\n\t\ticon: 'icon-partlycloudy-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} partly cloudy later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} partly cloudy', { temperature, unit }),\n\t},\n\tpartlycloudy_night: {\n\t\ticon: 'icon-partlycloudy-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} partly cloudy later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} partly cloudy', { temperature, unit }),\n\t},\n\tfog: {\n\t\ticon: 'icon-fog',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} foggy later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} foggy', { temperature, unit }),\n\t},\n\tlightrain: {\n\t\ticon: 'icon-lightrain',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} light rainfall later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} light rainfall', { temperature, unit }),\n\t},\n\train: {\n\t\ticon: 'icon-rain',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} rainfall later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} rainfall', { temperature, unit }),\n\t},\n\theavyrain: {\n\t\ticon: 'icon-heavyrain',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} heavy rainfall later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} heavy rainfall', { temperature, unit }),\n\t},\n\trainshowers_day: {\n\t\ticon: 'icon-rainshowers-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} rainfall showers', { temperature, unit }),\n\t},\n\trainshowers_night: {\n\t\ticon: 'icon-rainshowers-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} rainfall showers', { temperature, unit }),\n\t},\n\tlightrainshowers_day: {\n\t\ticon: 'icon-light-rainshowers-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} light rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} light rainfall showers', { temperature, unit }),\n\t},\n\tlightrainshowers_night: {\n\t\ticon: 'icon-light-rainshowers-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} light rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} light rainfall showers', { temperature, unit }),\n\t},\n\theavyrainshowers_day: {\n\t\ticon: 'icon-heavy-rainshowers-day',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} heavy rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} heavy rainfall showers', { temperature, unit }),\n\t},\n\theavyrainshowers_night: {\n\t\ticon: 'icon-heavy-rainshowers-night',\n\t\ttext: (temperature, unit, later = false) => later\n\t\t\t? t('weather_status', '{temperature} {unit} heavy rainfall showers later today', { temperature, unit })\n\t\t\t: t('weather_status', '{temperature} {unit} heavy rainfall showers', { temperature, unit }),\n\t},\n}\n\nexport default {\n\tname: 'App',\n\tcomponents: {\n\t\tIconStar,\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tNcActionCaption,\n\t\tNcActionInput,\n\t\tNcActionLink,\n\t\tNcActionSeparator,\n\t\tNcActionText,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tlocale: getLocale(),\n\t\t\tloading: true,\n\t\t\terrorMessage: '',\n\t\t\tmode: MODE_BROWSER_LOCATION,\n\t\t\taddress: null,\n\t\t\tlat: null,\n\t\t\tlon: null,\n\t\t\t// how many hours ahead do we want to see the forecast?\n\t\t\toffset: 5,\n\t\t\tforecasts: [],\n\t\t\tloop: null,\n\t\t\tfavorites: [],\n\t\t}\n\t},\n\tcomputed: {\n\t\tuseFahrenheitLocale() {\n\t\t\treturn ['en_US', 'en_MH', 'en_FM', 'en_PW', 'en_KY', 'en_LR'].includes(this.locale)\n\t\t},\n\t\ttemperatureUnit() {\n\t\t\treturn this.useFahrenheitLocale ? '°F' : '°C'\n\t\t},\n\t\tlocationText() {\n\t\t\treturn t('weather_status', 'More weather for {adr}', { adr: this.address })\n\t\t},\n\t\ttemperature() {\n\t\t\treturn this.getTemperature(this.forecasts, 0)\n\t\t},\n\t\tfutureTemperature() {\n\t\t\treturn this.getTemperature(this.forecasts, this.offset)\n\t\t},\n\t\tweatherCode() {\n\t\t\treturn this.getWeatherCode(this.forecasts, 0)\n\t\t},\n\t\tfutureWeatherCode() {\n\t\t\treturn this.getWeatherCode(this.forecasts, this.offset)\n\t\t},\n\t\tweatherIcon() {\n\t\t\treturn this.getWeatherIcon(this.weatherCode, this.loading)\n\t\t},\n\t\tfutureWeatherIcon() {\n\t\t\treturn this.getWeatherIcon(this.futureWeatherCode, this.loading)\n\t\t},\n\t\t/**\n\t\t * The message displayed in the top right corner\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tcurrentWeatherMessage() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('weather_status', 'Loading weather')\n\t\t\t} else if (this.errorMessage) {\n\t\t\t\treturn this.errorMessage\n\t\t\t} else {\n\t\t\t\treturn this.getWeatherMessage(this.weatherCode, this.temperature)\n\t\t\t}\n\t\t},\n\t\tforecastMessage() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('weather_status', 'Loading weather')\n\t\t\t} else {\n\t\t\t\treturn this.getWeatherMessage(this.futureWeatherCode, this.futureTemperature, true)\n\t\t\t}\n\t\t},\n\t\tweatherLinkTarget() {\n\t\t\treturn 'https://www.windy.com/-Rain-thunder-rain?rain,' + this.lat + ',' + this.lon + ',11'\n\t\t},\n\t\tgotWeather() {\n\t\t\treturn this.address && !this.errorMessage\n\t\t},\n\t\taddRemoveFavoriteIcon() {\n\t\t\treturn this.currentAddressIsFavorite\n\t\t\t\t? IconStar\n\t\t\t\t: IconStarOutline\n\t\t},\n\t\taddRemoveFavoriteText() {\n\t\t\treturn this.currentAddressIsFavorite\n\t\t\t\t? t('weather_status', 'Remove from favorites')\n\t\t\t\t: t('weather_status', 'Add as favorite')\n\t\t},\n\t\tcurrentAddressIsFavorite() {\n\t\t\treturn this.favorites.find((f) => {\n\t\t\t\treturn f === this.address\n\t\t\t})\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.initWeatherStatus()\n\t},\n\tmethods: {\n\t\tasync initWeatherStatus() {\n\t\t\ttry {\n\t\t\t\tconst loc = await network.getLocation()\n\t\t\t\tthis.lat = loc.lat\n\t\t\t\tthis.lon = loc.lon\n\t\t\t\tthis.address = loc.address\n\t\t\t\tthis.mode = loc.mode\n\n\t\t\t\tif (this.mode === MODE_BROWSER_LOCATION) {\n\t\t\t\t\tthis.askBrowserLocation()\n\t\t\t\t} else if (this.mode === MODE_MANUAL_LOCATION) {\n\t\t\t\t\tthis.startLoop()\n\t\t\t\t}\n\t\t\t\tconst favs = await network.getFavorites()\n\t\t\t\tthis.favorites = favs\n\t\t\t} catch (err) {\n\t\t\t\tif (err?.code === 'ECONNABORTED') {\n\t\t\t\t\tconsole.info('The weather status request was cancelled because the user navigates.')\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif (err.response && err.response.status === 401) {\n\t\t\t\t\tshowError(t('weather_status', 'You are not logged in.'))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(t('weather_status', 'There was an error getting the weather status information.'))\n\t\t\t\t}\n\t\t\t\tconsole.error(err)\n\t\t\t}\n\t\t},\n\t\tstartLoop() {\n\t\t\tclearInterval(this.loop)\n\t\t\tif (this.lat && this.lon) {\n\t\t\t\tthis.loop = setInterval(() => this.getForecast(), 60 * 1000 * 60)\n\t\t\t\tthis.getForecast()\n\t\t\t} else {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\taskBrowserLocation() {\n\t\t\tthis.loading = true\n\t\t\tthis.errorMessage = ''\n\t\t\tif (navigator.geolocation && window.isSecureContext) {\n\t\t\t\tnavigator.geolocation.getCurrentPosition((position) => {\n\t\t\t\t\tconsole.debug('browser location success')\n\t\t\t\t\tthis.lat = position.coords.latitude\n\t\t\t\t\tthis.lon = position.coords.longitude\n\t\t\t\t\tthis.saveMode(MODE_BROWSER_LOCATION)\n\t\t\t\t\tthis.mode = MODE_BROWSER_LOCATION\n\t\t\t\t\tthis.saveLocation(this.lat, this.lon)\n\t\t\t\t},\n\t\t\t\t(error) => {\n\t\t\t\t\tconsole.debug('location permission refused')\n\t\t\t\t\tconsole.debug(error)\n\t\t\t\t\tthis.saveMode(MODE_MANUAL_LOCATION)\n\t\t\t\t\tthis.mode = MODE_MANUAL_LOCATION\n\t\t\t\t\t// fallback on what we have if possible\n\t\t\t\t\tif (this.lat && this.lon) {\n\t\t\t\t\t\tthis.startLoop()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.usePersonalAddress()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tconsole.debug('no secure context!')\n\t\t\t\tthis.saveMode(MODE_MANUAL_LOCATION)\n\t\t\t\tthis.mode = MODE_MANUAL_LOCATION\n\t\t\t\tthis.startLoop()\n\t\t\t}\n\t\t},\n\t\tasync getForecast() {\n\t\t\ttry {\n\t\t\t\tthis.forecasts = await network.fetchForecast()\n\t\t\t} catch (err) {\n\t\t\t\tthis.errorMessage = t('weather_status', 'No weather information found')\n\t\t\t\tconsole.debug(err)\n\t\t\t}\n\t\t\tthis.loading = false\n\t\t},\n\t\tasync setAddress(address) {\n\t\t\tthis.loading = true\n\t\t\tthis.errorMessage = ''\n\t\t\ttry {\n\t\t\t\tconst loc = await network.setAddress(address)\n\t\t\t\tif (loc.success) {\n\t\t\t\t\tthis.lat = loc.lat\n\t\t\t\t\tthis.lon = loc.lon\n\t\t\t\t\tthis.address = loc.address\n\t\t\t\t\tthis.mode = MODE_MANUAL_LOCATION\n\t\t\t\t\tthis.startLoop()\n\t\t\t\t} else {\n\t\t\t\t\tthis.errorMessage = t('weather_status', 'Location not found')\n\t\t\t\t\tthis.loading = false\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tif (err.response && err.response.status === 401) {\n\t\t\t\t\tshowError(t('weather_status', 'You are not logged in.'))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(t('weather_status', 'There was an error setting the location address.'))\n\t\t\t\t}\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\tasync saveLocation(lat, lon) {\n\t\t\ttry {\n\t\t\t\tconst loc = await network.setLocation(lat, lon)\n\t\t\t\tthis.address = loc.address\n\t\t\t\tthis.startLoop()\n\t\t\t} catch (err) {\n\t\t\t\tif (err.response && err.response.status === 401) {\n\t\t\t\t\tshowError(t('weather_status', 'You are not logged in.'))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(t('weather_status', 'There was an error setting the location.'))\n\t\t\t\t}\n\t\t\t\tconsole.debug(err)\n\t\t\t}\n\t\t},\n\t\tasync saveMode(mode) {\n\t\t\ttry {\n\t\t\t\tawait network.setMode(mode)\n\t\t\t} catch (err) {\n\t\t\t\tif (err.response && err.response.status === 401) {\n\t\t\t\t\tshowError(t('weather_status', 'You are not logged in.'))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(t('weather_status', 'There was an error saving the mode.'))\n\t\t\t\t}\n\t\t\t\tconsole.debug(err)\n\t\t\t}\n\t\t},\n\t\tonBrowserLocationClick() {\n\t\t\tthis.askBrowserLocation()\n\t\t},\n\t\tasync usePersonalAddress() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst loc = await network.usePersonalAddress()\n\t\t\t\tthis.lat = loc.lat\n\t\t\t\tthis.lon = loc.lon\n\t\t\t\tthis.address = loc.address\n\t\t\t\tthis.mode = MODE_MANUAL_LOCATION\n\t\t\t\tthis.startLoop()\n\t\t\t} catch (err) {\n\t\t\t\tif (err.response && err.response.status === 401) {\n\t\t\t\t\tshowError(t('weather_status', 'You are not logged in.'))\n\t\t\t\t} else {\n\t\t\t\t\tshowError(t('weather_status', 'There was an error using personal address.'))\n\t\t\t\t}\n\t\t\t\tconsole.debug(err)\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\tonAddressSubmit() {\n\t\t\tconst newAddress = this.$refs.addressInput.$el.querySelector('input[type=\"text\"]').value\n\t\t\tthis.setAddress(newAddress)\n\t\t},\n\t\tgetLocalizedTemperature(celcius) {\n\t\t\treturn this.useFahrenheitLocale\n\t\t\t\t? (celcius * (9 / 5)) + 32\n\t\t\t\t: celcius\n\t\t},\n\t\tonAddRemoveFavoriteClick() {\n\t\t\tconst currentIsFavorite = this.currentAddressIsFavorite\n\t\t\tif (currentIsFavorite) {\n\t\t\t\tconst i = this.favorites.indexOf(currentIsFavorite)\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tthis.favorites.splice(i, 1)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.favorites.push(this.address)\n\t\t\t}\n\t\t\tnetwork.saveFavorites(this.favorites)\n\t\t},\n\t\tonFavoriteClick(e, favAddress) {\n\t\t\t// clicked on the icon\n\t\t\tif (e.target.classList.contains('action-button__icon')) {\n\t\t\t\tconst i = this.favorites.indexOf(favAddress)\n\t\t\t\tif (i !== -1) {\n\t\t\t\t\tthis.favorites.splice(i, 1)\n\t\t\t\t}\n\t\t\t\tnetwork.saveFavorites(this.favorites)\n\t\t\t} else if (favAddress !== this.address) {\n\t\t\t\t// clicked on the text\n\t\t\t\tthis.setAddress(favAddress)\n\t\t\t}\n\t\t},\n\t\tformatTime(time) {\n\t\t\treturn moment(time).format('LT')\n\t\t},\n\t\tgetTemperature(forecasts, offset = 0) {\n\t\t\treturn forecasts.length > offset ? forecasts[offset].data.instant.details.air_temperature : ''\n\t\t},\n\t\tgetWeatherCode(forecasts, offset = 0) {\n\t\t\treturn forecasts.length > offset ? forecasts[offset].data.next_1_hours.summary.symbol_code : ''\n\t\t},\n\t\tgetWeatherIcon(weatherCode, loading) {\n\t\t\tif (loading) {\n\t\t\t\treturn 'icon-loading-small'\n\t\t\t} else {\n\t\t\t\treturn 'icon-weather ' + (weatherCode && weatherCode in weatherOptions\n\t\t\t\t\t? weatherOptions[weatherCode].icon\n\t\t\t\t\t: 'icon-fair-day')\n\t\t\t}\n\t\t},\n\t\tgetWeatherMessage(weatherCode, temperature, later = false) {\n\t\t\treturn weatherCode && weatherCode in weatherOptions\n\t\t\t\t? weatherOptions[weatherCode].text(\n\t\t\t\t\tMath.round(this.getLocalizedTemperature(temperature)),\n\t\t\t\t\tthis.temperatureUnit,\n\t\t\t\t\tlater,\n\t\t\t\t)\n\t\t\t\t: t('weather_status', 'Set location for weather')\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n.icon-weather {\n\tbackground-size: 16px;\n}\n.icon-weather-status {\n\tbackground-image: url('./../img/app-dark.svg');\n}\n.icon-clearsky-day {\n\tbackground-image: url('./../img/sun.svg');\n}\n.icon-clearsky-night {\n\tbackground-image: url('./../img/moon.svg');\n}\n.icon-cloudy {\n\tbackground-image: url('./../img/cloud-cloud.svg');\n}\n.icon-fair-day {\n\tbackground-image: url('./../img/sun-small-cloud.svg');\n}\n.icon-fair-night {\n\tbackground-image: url('./../img/moon-small-cloud.svg');\n}\n.icon-partlycloudy-day {\n\tbackground-image: url('./../img/sun-cloud.svg');\n}\n.icon-partlycloudy-night {\n\tbackground-image: url('./../img/moon-cloud.svg');\n}\n.icon-fog {\n\tbackground-image: url('./../img/fog.svg');\n}\n.icon-lightrain {\n\tbackground-image: url('./../img/light-rain.svg');\n}\n.icon-rain {\n\tbackground-image: url('./../img/rain.svg');\n}\n.icon-heavyrain {\n\tbackground-image: url('./../img/heavy-rain.svg');\n}\n.icon-light-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-light-rain.svg');\n}\n.icon-light-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-light-rain.svg');\n}\n.icon-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-rain.svg');\n}\n.icon-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-rain.svg');\n}\n.icon-heavy-rainshowers-day {\n\tbackground-image: url('./../img/sun-cloud-heavy-rain.svg');\n}\n.icon-heavy-rainshowers-night {\n\tbackground-image: url('./../img/moon-cloud-heavy-rain.svg');\n}\n.icon-crosshair {\n background-color: var(--color-main-text);\n padding: 0 !important;\n mask: url(./../img/cross.svg) no-repeat;\n mask-size: 18px 18px;\n mask-position: center;\n -webkit-mask: url(./../img/cross.svg) no-repeat;\n -webkit-mask-size: 18px 18px;\n -webkit-mask-position: center;\n min-width: 44px !important;\n min-height: 44px !important;\n}\n\n// Set color to primary element for current / active favorite address\n.favorite-color {\n\tcolor: var(--color-favorite);\n}\n\n.weather-status-menu-item__subheader {\n\twidth: 100%;\n\n\t.trigger > .icon {\n\t\tbackground-size: 16px;\n\t\tborder: 0;\n\t\tborder-radius: var(--border-radius-pill);\n\t\tfont-weight: normal;\n\t\tpadding-left: 40px;\n\n\t\t&.icon-loading-small {\n\t\t\t&::after {\n\t\t\t\tleft: 21px;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=f18181c4\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=f18181c4&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"weather-status-menu-item\"}},[_c('NcActions',{staticClass:\"weather-status-menu-item__subheader\",attrs:{\"default-icon\":_vm.weatherIcon,\"aria-hidden\":true,\"aria-label\":_vm.currentWeatherMessage,\"menu-name\":_vm.currentWeatherMessage}},[(_vm.gotWeather)?_c('NcActionText',{attrs:{\"aria-hidden\":true,\"icon\":_vm.futureWeatherIcon}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.forecastMessage)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.gotWeather)?_c('NcActionLink',{attrs:{\"icon\":\"icon-address\",\"target\":\"_blank\",\"aria-hidden\":true,\"href\":_vm.weatherLinkTarget,\"close-after-click\":true}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.locationText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.gotWeather)?_c('NcActionButton',{attrs:{\"aria-hidden\":true},on:{\"click\":_vm.onAddRemoveFavoriteClick},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_vm.addRemoveFavoriteIcon,{tag:\"component\",staticClass:\"favorite-color\",attrs:{\"size\":20}})]},proxy:true}],null,false,1785206719)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.addRemoveFavoriteText)+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.address && !_vm.errorMessage)?_c('NcActionSeparator'):_vm._e(),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":\"icon-crosshair\",\"close-after-click\":true,\"aria-hidden\":true},on:{\"click\":_vm.onBrowserLocationClick}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('weather_status', 'Detect location'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcActionInput',{ref:\"addressInput\",attrs:{\"label\":_vm.t('weather_status', 'Set custom address'),\"disabled\":false,\"icon\":\"icon-rename\",\"aria-hidden\":true,\"type\":\"text\",\"value\":\"\"},on:{\"submit\":_vm.onAddressSubmit}}),_vm._v(\" \"),(_vm.favorites.length > 0)?[_c('NcActionCaption',{attrs:{\"name\":_vm.t('weather_status', 'Favorites')}}),_vm._v(\" \"),_vm._l((_vm.favorites),function(favorite){return _c('NcActionButton',{key:favorite,attrs:{\"aria-hidden\":true},on:{\"click\":function($event){return _vm.onFavoriteClick($event, favorite)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('IconStar',{class:{'favorite-color': _vm.address === favorite},attrs:{\"size\":20}})]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(favorite)+\"\\n\\t\\t\\t\")])})]:_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport App from './App.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.t = t\n\ndocument.addEventListener('DOMContentLoaded', function() {\n\tif (!OCA.Dashboard) {\n\t\treturn\n\t}\n\n\tOCA.Dashboard.registerStatus('weather', (el) => {\n\t\tconst Dashboard = Vue.extend(App)\n\t\treturn new Dashboard().$mount(el)\n\t})\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./../img/app-dark.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./../img/sun.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(\"./../img/moon.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(\"./../img/cloud-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(\"./../img/sun-small-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(\"./../img/moon-small-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(\"./../img/sun-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(\"./../img/moon-cloud.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(\"./../img/fog.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(\"./../img/light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(\"./../img/rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(\"./../img/heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(\"./../img/sun-cloud-light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(\"./../img/moon-cloud-light-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(\"./../img/sun-cloud-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(\"./../img/moon-cloud-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_16___ = new URL(\"./../img/sun-cloud-heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_17___ = new URL(\"./../img/moon-cloud-heavy-rain.svg\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_18___ = new URL(\"./../img/cross.svg\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.icon-weather{background-size:16px}.icon-weather-status{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.icon-clearsky-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}.icon-clearsky-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_2___})}.icon-cloudy{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_3___})}.icon-fair-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_4___})}.icon-fair-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_5___})}.icon-partlycloudy-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_6___})}.icon-partlycloudy-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_7___})}.icon-fog{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_8___})}.icon-lightrain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_9___})}.icon-rain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_10___})}.icon-heavyrain{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_11___})}.icon-light-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_12___})}.icon-light-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_13___})}.icon-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_14___})}.icon-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_15___})}.icon-heavy-rainshowers-day{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_16___})}.icon-heavy-rainshowers-night{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_17___})}.icon-crosshair{background-color:var(--color-main-text);padding:0 !important;mask:url(${___CSS_LOADER_URL_REPLACEMENT_18___}) no-repeat;mask-size:18px 18px;mask-position:center;-webkit-mask:url(${___CSS_LOADER_URL_REPLACEMENT_18___}) no-repeat;-webkit-mask-size:18px 18px;-webkit-mask-position:center;min-width:44px !important;min-height:44px !important}.favorite-color{color:var(--color-favorite)}.weather-status-menu-item__subheader{width:100%}.weather-status-menu-item__subheader .trigger>.icon{background-size:16px;border:0;border-radius:var(--border-radius-pill);font-weight:normal;padding-left:40px}.weather-status-menu-item__subheader .trigger>.icon.icon-loading-small::after{left:21px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/weather_status/src/App.vue\"],\"names\":[],\"mappings\":\"AACA,cACC,oBAAA,CAED,qBACC,wDAAA,CAED,mBACC,wDAAA,CAED,qBACC,wDAAA,CAED,aACC,wDAAA,CAED,eACC,wDAAA,CAED,iBACC,wDAAA,CAED,uBACC,wDAAA,CAED,yBACC,wDAAA,CAED,UACC,wDAAA,CAED,gBACC,wDAAA,CAED,WACC,yDAAA,CAED,gBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,sBACC,yDAAA,CAED,wBACC,yDAAA,CAED,4BACC,yDAAA,CAED,8BACC,yDAAA,CAED,gBACI,uCAAA,CACA,oBAAA,CACA,uDAAA,CACA,mBAAA,CACA,oBAAA,CACA,+DAAA,CACA,2BAAA,CACA,4BAAA,CACA,yBAAA,CACA,0BAAA,CAIJ,gBACC,2BAAA,CAGD,qCACC,UAAA,CAEA,oDACC,oBAAA,CACA,QAAA,CACA,uCAAA,CACA,kBAAA,CACA,iBAAA,CAGC,8EACC,SAAA\",\"sourcesContent\":[\"\\n.icon-weather {\\n\\tbackground-size: 16px;\\n}\\n.icon-weather-status {\\n\\tbackground-image: url('./../img/app-dark.svg');\\n}\\n.icon-clearsky-day {\\n\\tbackground-image: url('./../img/sun.svg');\\n}\\n.icon-clearsky-night {\\n\\tbackground-image: url('./../img/moon.svg');\\n}\\n.icon-cloudy {\\n\\tbackground-image: url('./../img/cloud-cloud.svg');\\n}\\n.icon-fair-day {\\n\\tbackground-image: url('./../img/sun-small-cloud.svg');\\n}\\n.icon-fair-night {\\n\\tbackground-image: url('./../img/moon-small-cloud.svg');\\n}\\n.icon-partlycloudy-day {\\n\\tbackground-image: url('./../img/sun-cloud.svg');\\n}\\n.icon-partlycloudy-night {\\n\\tbackground-image: url('./../img/moon-cloud.svg');\\n}\\n.icon-fog {\\n\\tbackground-image: url('./../img/fog.svg');\\n}\\n.icon-lightrain {\\n\\tbackground-image: url('./../img/light-rain.svg');\\n}\\n.icon-rain {\\n\\tbackground-image: url('./../img/rain.svg');\\n}\\n.icon-heavyrain {\\n\\tbackground-image: url('./../img/heavy-rain.svg');\\n}\\n.icon-light-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-light-rain.svg');\\n}\\n.icon-light-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-light-rain.svg');\\n}\\n.icon-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-rain.svg');\\n}\\n.icon-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-rain.svg');\\n}\\n.icon-heavy-rainshowers-day {\\n\\tbackground-image: url('./../img/sun-cloud-heavy-rain.svg');\\n}\\n.icon-heavy-rainshowers-night {\\n\\tbackground-image: url('./../img/moon-cloud-heavy-rain.svg');\\n}\\n.icon-crosshair {\\n background-color: var(--color-main-text);\\n padding: 0 !important;\\n mask: url(./../img/cross.svg) no-repeat;\\n mask-size: 18px 18px;\\n mask-position: center;\\n -webkit-mask: url(./../img/cross.svg) no-repeat;\\n -webkit-mask-size: 18px 18px;\\n -webkit-mask-position: center;\\n min-width: 44px !important;\\n min-height: 44px !important;\\n}\\n\\n// Set color to primary element for current / active favorite address\\n.favorite-color {\\n\\tcolor: var(--color-favorite);\\n}\\n\\n.weather-status-menu-item__subheader {\\n\\twidth: 100%;\\n\\n\\t.trigger > .icon {\\n\\t\\tbackground-size: 16px;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\tfont-weight: normal;\\n\\t\\tpadding-left: 40px;\\n\\n\\t\\t&.icon-loading-small {\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tleft: 21px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"1110\":\"a5d6e6f59aa058840a1e\",\"5455\":\"70389af1c0aeb085252a\"}[chunkId] + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1848;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1848: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(55924)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","emits","props","title","type","String","fillColor","default","size","Number","_vm","this","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","saveFavorites","async","url","generateOcsUrl","HttpClient","put","favorites","data","ocs","weatherOptions","clearsky_day","icon","text","temperature","unit","arguments","length","undefined","t","clearsky_night","cloudy","fair_day","fair_night","partlycloudy_day","partlycloudy_night","fog","lightrain","rain","heavyrain","rainshowers_day","rainshowers_night","lightrainshowers_day","lightrainshowers_night","heavyrainshowers_day","heavyrainshowers_night","components","IconStar","NcActions","NcActionButton","NcActionCaption","NcActionInput","NcActionLink","NcActionSeparator","NcActionText","locale","getLocale","loading","errorMessage","mode","address","lat","lon","offset","forecasts","loop","computed","useFahrenheitLocale","includes","temperatureUnit","locationText","adr","getTemperature","futureTemperature","weatherCode","getWeatherCode","futureWeatherCode","weatherIcon","getWeatherIcon","futureWeatherIcon","currentWeatherMessage","getWeatherMessage","forecastMessage","weatherLinkTarget","gotWeather","addRemoveFavoriteIcon","currentAddressIsFavorite","IconStarOutline","addRemoveFavoriteText","find","f","mounted","initWeatherStatus","methods","loc","get","network","askBrowserLocation","startLoop","favs","err","code","console","info","response","status","showError","error","clearInterval","setInterval","getForecast","navigator","geolocation","window","isSecureContext","getCurrentPosition","position","debug","coords","latitude","longitude","saveMode","saveLocation","usePersonalAddress","setAddress","success","onBrowserLocationClick","onAddressSubmit","newAddress","$refs","addressInput","$el","querySelector","value","getLocalizedTemperature","celcius","onAddRemoveFavoriteClick","currentIsFavorite","i","indexOf","splice","push","onFavoriteClick","e","favAddress","target","classList","contains","formatTime","time","moment","format","instant","details","air_temperature","next_1_hours","summary","symbol_code","later","Math","round","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","scopedSlots","_u","key","fn","tag","proxy","ref","_l","favorite","class","__webpack_nonce__","btoa","getRequestToken","Vue","prototype","document","addEventListener","OCA","Dashboard","registerStatus","el","extend","App","$mount","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_IMPORT_16___","___CSS_LOADER_URL_IMPORT_17___","___CSS_LOADER_URL_IMPORT_18___","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","___CSS_LOADER_URL_REPLACEMENT_16___","___CSS_LOADER_URL_REPLACEMENT_17___","___CSS_LOADER_URL_REPLACEMENT_18___","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file