/
photos-node_modules_vue-material-design-icons_PackageVariant_vue-node_modules_vue-material-design-ic-2ca5cc.js.map
1 lines (1 loc) · 68 KB
/
photos-node_modules_vue-material-design-icons_PackageVariant_vue-node_modules_vue-material-design-ic-2ca5cc.js.map
1
{"version":3,"file":"photos-node_modules_vue-material-design-icons_PackageVariant_vue-node_modules_vue-material-design-ic-2ca5cc.js?v=35fd8d2e46246ec3db50","mappings":";iVA2BA,SACCA,KAAM,kBAENC,OAAQ,CACPC,EAAAA,GAGDC,KAAIA,KACI,CACNC,mBAAoB,KACpBC,cAAc,EACdC,mBAAmB,EACnBC,eAAgB,IAAIC,EAAAA,EAAsB,GAC1CC,eAAgB,KAIlBC,MAAO,CACNC,SACCC,KAAKC,sBACN,GAGDC,QAAS,CAQRC,mBAAyE,IAAxDC,EAAIC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAIG,EAAOH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGI,EAASJ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAIK,EAAKL,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAC9D,GAAKL,KAAKN,oBAAsBgB,GAAUV,KAAKP,aAC9C,MAAO,GAGR,MAAMkB,QAA6BX,KAAKL,eAAeiB,UAEvD,IACCZ,KAAKR,mBAAqB,KAC1BQ,KAAKP,cAAe,EAEpB,MAAMoB,EAAyB,IAGzBC,QC9BKX,iBAAwC,IAAzBC,EAAIC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAIG,EAAOH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEnDG,EAAU,CACTO,YAAa,EACbC,UAAW,IACXC,UAAWC,EAAAA,GACXC,WAAW,EACXC,eAAe,KACZZ,GAGJ,MAAMa,EAAa,UAAHC,QAAaC,EAAAA,EAAAA,MAAiBC,KAIxCC,EAASjB,EAAQS,UAAUS,QAAO,CAACC,EAAKC,IAAS,GAALN,OAAQK,EAAG,iGAAAL,OAK9CM,EAAI,kCAEhB,IAEGC,EAAcrB,EAAQY,cAAa,yHAOtC,GAEGD,EAAYX,EAAQW,UAAS,SAAAG,OACvBQ,MAAM,IAAIC,KAAK,GACxBC,KAAI,CAACC,EAAGC,KACR,MAAMC,EAAQC,IAAOC,KAAKC,OAAOC,QAAQ,OAAOC,SAAS,EAAG,KAAKA,SAASN,EAAQ,EAAG,KAC/EO,EAAML,IAAOC,KAAKC,OAAOI,MAAM,OAAOC,IAAI,EAAG,KAAKH,SAASN,EAAQ,EAAG,KAC5E,MAAO,6HAAPZ,OAKca,EAAMS,OAAOR,IAAAA,kBAAwB,oJAAAd,OAMrCmB,EAAIG,OAAOR,IAAAA,kBAAwB,oDAG/CS,KAAK,MAAK,WACZ,GAoDH,OAlDArC,EAAUsC,OAAOC,OAAO,CACvBC,OAAQ,SACRC,QAAS,CACR,eAAgB,YAEjB1D,KAAM,4XAAF+B,OASG4B,EAAAA,EAAK,qHAAA5B,OAKGD,EAAU,KAAAC,OAAIlB,EAAI,uLAAAkB,OAOzBG,EAAM,2CAAAH,OAEPO,EAAW,oBAAAP,OACXH,EAAS,iRAAAG,OAUEd,EAAQQ,UAAS,+CAAAM,OACbd,EAAQO,YAAW,+FAIzCoC,MAAM,EACNC,SAAS,GACP5C,UAEoB6C,EAAAA,GAAAA,qBAA4B,GAAI7C,IAEvCjB,KAAKyC,KAAIzC,IAAQ+D,EAAAA,EAAAA,IAAY/D,IAC9C,CD5E+BgE,CAAUnD,EAAM,CAC1CW,YAAaf,KAAKH,eAAeS,OACjCU,UAAWH,KACRL,EACHgD,OAAQxD,KAAKyD,gBAAgBD,SAI1B1C,EAAaR,SAAWO,IAC3Bb,KAAKN,mBAAoB,GAG1B,MAAMgE,EAAU5C,EACdkB,KAAI2B,GAAQA,EAAKC,SACjBC,QAAOC,IAAW9D,KAAKH,eAAekE,SAASD,KAYjD,OAVA9D,KAAKH,eAAemE,QAChBN,EACD1B,KAAK8B,GAAWA,EAAOG,aACvBJ,QAAQC,IAAYrD,EAAUsD,SAASD,MAG1C9D,KAAKkE,OAAOC,SAAS,cAAerD,GAEpCsD,EAAAA,EAAAA,MAAa,6BAAD9C,OAA8BoC,EAAQpD,OAAM,gBAAgBoD,GAEjEA,CACR,CAAE,MAAOW,GAAO,IAAAC,EACf,GAA+B,OAAb,QAAdA,EAAAD,EAAME,gBAAQ,IAAAD,OAAA,EAAdA,EAAgBE,QACnBxE,KAAKR,mBAAqB,QACpB,IAAmB,iBAAf6E,EAAMI,KAChB,MAAO,GAEPzE,KAAKR,mBAAqB6E,CAC3B,CAGAD,EAAAA,EAAAA,MAAa,uBAAwB,CAAEC,UACvCK,EAAQL,MAAMA,EACf,CAAE,QACDrE,KAAKP,cAAe,EACpBO,KAAKL,eAAegF,QAAQhE,EAC7B,CAEA,MAAO,EACR,EAEAV,uBACCD,KAAKN,mBAAoB,EACzBM,KAAKR,mBAAqB,KAC1BQ,KAAKP,cAAe,EACpBO,KAAKH,eAAiB,EACvB,yEEzHE+E,QAA0B,GAA4B,KAE1DA,EAAwBZ,KAAK,CAACa,EAAOC,GAAI,oNAAqN,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+DAA+D,MAAQ,GAAG,SAAW,wEAAwE,eAAiB,CAAC,quBAAqzB,WAAa,MAE1wC,+ECJIF,QAA0B,GAA4B,KAE1DA,EAAwBZ,KAAK,CAACa,EAAOC,GAAI,gSAAiS,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gDAAgD,MAAQ,GAAG,SAAW,yHAAyH,eAAiB,CAAC,w1BAAw6B,WAAa,MAE3+C,4CCaA,MCpB+G,EDoB/G,CACE1F,KAAM,kBACN2F,MAAO,CAAC,SACR7B,MAAO,CACL8B,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,MEff,SAXgB,cACd,GCRW,WAAkB,IAAIG,EAAIvF,KAAKwF,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,OAAOD,EAAIG,GAAG,CAACC,YAAY,yCAAyCC,MAAM,CAAC,eAAeL,EAAIP,MAAM,aAAaO,EAAIP,MAAM,KAAO,OAAOa,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOP,EAAIQ,MAAM,QAASD,EAAO,IAAI,OAAOP,EAAIS,QAAO,GAAO,CAACR,EAAG,MAAM,CAACG,YAAY,4BAA4BC,MAAM,CAAC,KAAOL,EAAIJ,UAAU,MAAQI,EAAIF,KAAK,OAASE,EAAIF,KAAK,QAAU,cAAc,CAACG,EAAG,OAAO,CAACI,MAAM,CAAC,EAAI,8GAA8G,CAAEL,EAAS,MAAEC,EAAG,QAAQ,CAACD,EAAIU,GAAGV,EAAIW,GAAGX,EAAIP,UAAUO,EAAIY,UAClnB,GACsB,IDSpB,EACA,KACA,KACA,MAI8B,0CEEhC,MCpBuH,EDoBvH,CACE/G,KAAM,0BACN2F,MAAO,CAAC,SACR7B,MAAO,CACL8B,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,MEff,SAXgB,cACd,GCRW,WAAkB,IAAIG,EAAIvF,KAAKwF,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,OAAOD,EAAIG,GAAG,CAACC,YAAY,kDAAkDC,MAAM,CAAC,eAAeL,EAAIP,MAAM,aAAaO,EAAIP,MAAM,KAAO,OAAOa,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOP,EAAIQ,MAAM,QAASD,EAAO,IAAI,OAAOP,EAAIS,QAAO,GAAO,CAACR,EAAG,MAAM,CAACG,YAAY,4BAA4BC,MAAM,CAAC,KAAOL,EAAIJ,UAAU,MAAQI,EAAIF,KAAK,OAASE,EAAIF,KAAK,QAAU,cAAc,CAACG,EAAG,OAAO,CAACI,MAAM,CAAC,EAAI,oKAAoK,CAAEL,EAAS,MAAEC,EAAG,QAAQ,CAACD,EAAIU,GAAGV,EAAIW,GAAGX,EAAIP,UAAUO,EAAIY,UACjrB,GACsB,IDSpB,EACA,KACA,KACA,MAI8B,0CEEhC,MCpB6G,EDoB7G,CACE/G,KAAM,gBACN2F,MAAO,CAAC,SACR7B,MAAO,CACL8B,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,MEff,SAXgB,cACd,GCRW,WAAkB,IAAIG,EAAIvF,KAAKwF,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,OAAOD,EAAIG,GAAG,CAACC,YAAY,uCAAuCC,MAAM,CAAC,eAAeL,EAAIP,MAAM,aAAaO,EAAIP,MAAM,KAAO,OAAOa,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOP,EAAIQ,MAAM,QAASD,EAAO,IAAI,OAAOP,EAAIS,QAAO,GAAO,CAACR,EAAG,MAAM,CAACG,YAAY,4BAA4BC,MAAM,CAAC,KAAOL,EAAIJ,UAAU,MAAQI,EAAIF,KAAK,OAASE,EAAIF,KAAK,QAAU,cAAc,CAACG,EAAG,OAAO,CAACI,MAAM,CAAC,EAAI,4KAA4K,CAAEL,EAAS,MAAEC,EAAG,QAAQ,CAACD,EAAIU,GAAGV,EAAIW,GAAGX,EAAIP,UAAUO,EAAIY,UAC9qB,GACsB,IDSpB,EACA,KACA,KACA,MAI8B,0CEEhC,MCpBkH,EDoBlH,CACE/G,KAAM,qBACN2F,MAAO,CAAC,SACR7B,MAAO,CACL8B,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,MEff,SAXgB,cACd,GCRW,WAAkB,IAAIG,EAAIvF,KAAKwF,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,OAAOD,EAAIG,GAAG,CAACC,YAAY,4CAA4CC,MAAM,CAAC,eAAeL,EAAIP,MAAM,aAAaO,EAAIP,MAAM,KAAO,OAAOa,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOP,EAAIQ,MAAM,QAASD,EAAO,IAAI,OAAOP,EAAIS,QAAO,GAAO,CAACR,EAAG,MAAM,CAACG,YAAY,4BAA4BC,MAAM,CAAC,KAAOL,EAAIJ,UAAU,MAAQI,EAAIF,KAAK,OAASE,EAAIF,KAAK,QAAU,cAAc,CAACG,EAAG,OAAO,CAACI,MAAM,CAAC,EAAI,ynBAAynB,CAAEL,EAAS,MAAEC,EAAG,QAAQ,CAACD,EAAIU,GAAGV,EAAIW,GAAGX,EAAIP,UAAUO,EAAIY,UAChoC,GACsB,IDSpB,EACA,KACA,KACA,MAI8B,0CEEhC,MCpByG,EDoBzG,CACE/G,KAAM,YACN2F,MAAO,CAAC,SACR7B,MAAO,CACL8B,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,MEff,SAXgB,cACd,GCRW,WAAkB,IAAIG,EAAIvF,KAAKwF,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,OAAOD,EAAIG,GAAG,CAACC,YAAY,kCAAkCC,MAAM,CAAC,eAAeL,EAAIP,MAAM,aAAaO,EAAIP,MAAM,KAAO,OAAOa,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOP,EAAIQ,MAAM,QAASD,EAAO,IAAI,OAAOP,EAAIS,QAAO,GAAO,CAACR,EAAG,MAAM,CAACG,YAAY,4BAA4BC,MAAM,CAAC,KAAOL,EAAIJ,UAAU,MAAQI,EAAIF,KAAK,OAASE,EAAIF,KAAK,QAAU,cAAc,CAACG,EAAG,OAAO,CAACI,MAAM,CAAC,EAAI,6GAA6G,CAAEL,EAAS,MAAEC,EAAG,QAAQ,CAACD,EAAIU,GAAGV,EAAIW,GAAGX,EAAIP,UAAUO,EAAIY,UAC1mB,GACsB,IDSpB,EACA,KACA,KACA,MAI8B,0CElBhC,uFCAwL,ECqExL,CACA/G,KAAA,oBAEAgH,WAAA,CACAC,YAAA,IACAC,oBAAA,IACAC,eAAA,KACAC,gBAAA,IACAC,KAAAA,EAAAA,GAGApH,OAAA,CACAqH,EAAAA,EACAC,EAAAA,IAGAzD,MAAA,CACA0D,WAAA,CACA3B,KAAAnC,OACAsC,QAAAA,KACA,GAEAyB,kBAAA,CACA5B,KAAAnD,MACAgF,UAAA,GAGAC,QAAA,CACA9B,KAAA+B,QACA5B,SAAA,GAGAf,MAAA,CACAY,KAAA,CAAAgC,MAAA3B,QACAF,QAAA,OAIA7F,KAAAA,KACA,CACA2H,ghMACAC,WAAAC,SAAAC,eAAA,qBAIAC,SAAA,KACAC,EAAAA,EAAAA,IAAA,CACA,WAIArH,QAAA,CACAsH,WAAA1D,GACA,MAAAH,EAAA,KAAA8D,MAAA3D,GACA4D,IAAAC,OAAAC,KAAA,CACAC,SAAAlE,EACAmE,KAAA,KAAAjB,kBAAA7E,KAAA8B,GAAA,KAAA2D,MAAA3D,KAAAD,QAAAF,IAAAA,EAAAoE,gBACAC,SAAArE,EAAAqE,SAAA,eAAArE,EAAAqE,UAAA,UACAC,QAAAtE,EAAAsE,SAEA,yICtHIzH,EAAU,CAAC,EAEfA,EAAQ0H,kBAAoB,IAC5B1H,EAAQ2H,cAAgB,IAElB3H,EAAQ4H,OAAS,SAAc,KAAM,QAE3C5H,EAAQ6H,OAAS,IACjB7H,EAAQ8H,mBAAqB,IAEhB,IAAI,IAAS9H,GAKJ,KAAW,YAAiB,WCPlD,SAXgB,cACd,GJTW,WAAkB,IAAI+E,EAAIvF,KAAKwF,EAAGD,EAAIE,MAAMD,GAAG,YAA4BjF,IAAnBgF,EAAIqB,aAA6BrB,EAAIwB,SAA0B,MAAdxB,EAAIlB,MAAemB,EAAG,iBAAiB,CAACG,YAAY,kCAAkCC,MAAM,CAAC,MAAQL,EAAIgD,EAAE,SAAU,oCAAoC,CAAC/C,EAAG,sBAAsB,CAACI,MAAM,CAAC,KAAO,QAAQ4C,KAAK,UAAU,GAAIjD,EAAIlB,MAAOmB,EAAG,iBAAiB,CAACI,MAAM,CAAC,MAAQL,EAAIgD,EAAE,SAAU,uBAAuB,CAAC/C,EAAG,cAAc,CAACI,MAAM,CAAC,KAAO,QAAQ4C,KAAK,UAAU,GAAGhD,EAAG,MAAM,CAACG,YAAY,cAAc,CAACJ,EAAIkD,GAAG,SAAS,KAAK,CAAC,gBAAkBlD,EAAImD,kBAAkBnD,EAAIU,GAAG,KAAuC,IAAjCV,EAAIsB,kBAAkBvG,QAAiBiF,EAAIwB,QAAiCxB,EAAIY,KAA5BZ,EAAIkD,GAAG,iBAA0BlD,EAAIU,GAAG,UAAyB1F,IAAnBgF,EAAIqB,WAA0BpB,EAAG,kBAAkB,CAACG,YAAY,oBAAoBC,MAAM,CAAC,oBAAoBL,EAAI4B,WAAW,WAAW5B,EAAIsB,kBAAkB,cAActB,EAAIoB,SAAW,IAAM,IAAI,QAAUpB,EAAIwB,SAAS4B,YAAYpD,EAAIqD,GAAG,CAAC,CAACC,IAAI,UAAUC,GAAG,SAAAC,GAA0B,IAAjB,KAACpF,EAAI,SAAEqF,GAASD,EAAE,OAAOvD,EAAG,OAAO,CAACI,MAAM,CAAC,KAAOL,EAAIkC,MAAM9D,EAAKmB,IAAI,mBAAkB,EAAK,UAAsC,IAA3BS,EAAI0D,UAAUtF,EAAKmB,IAAa,SAAWkE,GAAUnD,GAAG,CAAC,MAAQN,EAAIiC,WAAW,iBAAiBjC,EAAI2D,qBAAqB,IAAI,MAAK,EAAM,cAAc3D,EAAIY,MAAM,EAC1sC,GACsB,IIUpB,EACA,KACA,WACA,MAI8B,uDCnBhC,qCCoBA,MCpB4G,EDoB5G,CACE/G,KAAM,eACN2F,MAAO,CAAC,SACR7B,MAAO,CACL8B,MAAO,CACLC,KAAMC,QAERC,UAAW,CACTF,KAAMC,OACNE,QAAS,gBAEXC,KAAM,CACJJ,KAAMK,OACNF,QAAS,qBEff,SAXgB,OACd,GCRW,WAAkB,IAAIG,EAAIvF,KAAKwF,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,OAAOD,EAAIG,GAAG,CAACC,YAAY,sCAAsCC,MAAM,CAAC,eAAeL,EAAIP,MAAM,aAAaO,EAAIP,MAAM,KAAO,OAAOa,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOP,EAAIQ,MAAM,QAASD,EAAO,IAAI,OAAOP,EAAIS,QAAO,GAAO,CAACR,EAAG,MAAM,CAACG,YAAY,4BAA4BC,MAAM,CAAC,KAAOL,EAAIJ,UAAU,MAAQI,EAAIF,KAAK,OAASE,EAAIF,KAAK,QAAU,cAAc,CAACG,EAAG,OAAO,CAACI,MAAM,CAAC,EAAI,iKAAiK,CAAEL,EAAS,MAAEC,EAAG,QAAQ,CAACD,EAAIU,GAAGV,EAAIW,GAAGX,EAAIP,UAAUO,EAAIY,UAClqB,GACsB,IDSpB,EACA,KACA,KACA,MAI8B,2HEmGhCgD,EAAAA,EAAAA,cACAC,MAAA,UAAAC,EAAAA,GAGA,MACAC,GADAC,EAAAA,EAAAA,mBAPA,OClHmL,ED4HnL,CACAnK,KAAA,qBACAgH,WAAA,CACAoD,UAAA,IAKAC,SAAA,EACAlD,eAAA,KACAmD,UAAA,KAGAC,kBAAA,IAEAC,iBAAAA,EAAAA,GAGAvK,OAAA,CACAwK,EAAAA,EACAvK,EAAAA,EACAqH,EAAAA,IAGAzD,MAAA,CACA4G,MAAA,CACA7E,KAAAC,OACA4B,UAAA,IAIAvH,OACA,OACAwK,oBAAA,EACAC,cAAA,EACAC,mBAAA,KACAC,aAAA,EACAC,wBAAA,EACAC,kBAAA,GACAC,cAAAC,EAAAA,EAAAA,cAAAhB,EAAA,CACAiB,SAAA,KAAAT,MACAU,SAAA,OAGA,EAEAlD,SAAA,KACAC,EAAAA,EAAAA,IAAA,CACA,QACA,eACA,sBAMAkD,QACA,YAAAC,aAAA,KAAAC,YAAA,EACA,EAKAA,YACA,YAAAb,KACA,EAKAc,eACA,YAAAC,kBAAA,KAAAF,YAAA,EACA,GAGA,0BACA,KAAAG,uBACA,KAAAC,mBACA,EAEA7K,QAAA,KACA8K,EAAAA,EAAAA,IAAA,CACA,cACA,kBACA,wBACA,+BAGA,uBACA,SAAAhB,aAIA,IACA,KAAAA,cAAA,EACA,KAAAC,mBAAA,KAEA,MAAAQ,QAAAQ,EAAAA,EAAAA,IAAA,iBAAA3J,OACA,KAAAwI,OACA,KAAArG,gBAAAD,OACA,uBACA,KAAA6G,cAEA,KAAAa,gBAAA,CAAAC,YAAA,CAAAV,KACA,KAAAL,kBAAAK,EAAAW,YACA,OAAA/G,GAAA,IAAAC,EACA,kBAAAA,EAAAD,EAAAE,gBAAA,IAAAD,OAAA,EAAAA,EAAAE,QAEA,YADA,KAAAyF,mBAAA,KAIA,KAAAA,mBAAA5F,EACAD,EAAAA,EAAAA,MAAA,6CAAAC,WACAgH,EAAAA,EAAAA,IAAA,KAAA9C,EAAA,mCACA,SACA,KAAAyB,cAAA,CACA,CACA,EAEA,0BACA,QAAAvK,cAAA,KAAA6L,kBACA,SAGA,MAAA3K,QAAA,KAAAhB,eAAAiB,UAEA,IACA,KAAApB,mBAAA,KACA,KAAAC,cAAA,EAEA,MAAAqB,QAAAiK,EAAAA,EAAAA,IAAA,iBAAAzJ,OACA,KAAAwI,OACA,KAAArG,gBAAAD,OACA,KAAA6G,cAGA3G,EAAA5C,EACAkB,KAAA2B,GAAAA,EAAAC,OAAAK,aAeA,OAbAnD,EAAAyK,SAAA5H,IAEAA,EAAA6H,YAAAC,EAAAA,EAAAA,aAAA,qCAAAnK,OAAAqC,EAAAC,OAAA,yBAAAtC,OAAA,KAAAwI,QAEAnG,EAAA+H,YAAA,KAGA,KAAAC,YAAA7K,GAEAA,EAAAR,OAAA,SACA,KAAA4D,OAAA0H,OAAA,yBAAAC,aAAA,KAAAlB,UAAAmB,aAAApI,IAGA5C,CACA,OAAAuD,GAAA,IAAA0H,EACA,kBAAAA,EAAA1H,EAAAE,gBAAA,IAAAwH,OAAA,EAAAA,EAAAvH,QAEA,OADA,KAAAhF,mBAAA,IACA,GAGA,KAAAA,mBAAA6E,GAEAgH,EAAAA,EAAAA,IAAA,KAAA9C,EAAA,0CACAnE,EAAAA,EAAAA,MAAA,mDAAAC,SACA,SACA,KAAA5E,cAAA,EACA,KAAAE,eAAAgF,QAAAhE,EACA,CAEA,QACA,EAEA,wBAAA+C,GACA,KAAAqG,oBAAA,QACA,KAAAiC,sBAAA,CAAAH,aAAA,KAAAlB,UAAAmB,aAAApI,UAEA,KAAAqH,mBACA,EAEA,iCAAArH,GACA,KAAAuI,MAAAC,kBAAAC,eAAAzI,SACA,KAAA0I,2BAAA,CAAAP,aAAA,KAAAlB,UAAA0B,gBAAA3I,GACA,yIEtSIlD,EAAU,CAAC,EAEfA,EAAQ0H,kBAAoB,IAC5B1H,EAAQ2H,cAAgB,IAElB3H,EAAQ4H,OAAS,SAAc,KAAM,QAE3C5H,EAAQ6H,OAAS,IACjB7H,EAAQ8H,mBAAqB,IAEhB,IAAI,IAAS9H,GAKJ,KAAW,YAAiB,WCPlD,SAXgB,OACd,GRTW,WAAkB,IAAI+E,EAAIvF,KAAKwF,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,oBAAoB,CAAC8G,IAAI,oBAAoB1G,MAAM,CAAC,WAAaL,EAAIkF,MAAM,sBAAsBlF,EAAIqF,aAAa,QAAUrF,EAAIyE,cAAgBzE,EAAI9F,aAAa,MAAQ8F,EAAI0E,oBAAsB1E,EAAI/F,oBAAoBmJ,YAAYpD,EAAIqD,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,SAAAC,GAA2B,IAAlB,gBAACL,GAAgBK,EAAE,MAAkC,KAA1BxD,EAAI6E,kBAA0B5E,EAAG,mBAAmB,CAACqD,IAAI,aAAajD,MAAM,CAAC,QAAUL,EAAIyE,cAAgBzE,EAAI9F,aAAa,OAAS,CAAEqK,MAAOvE,EAAIuE,OAAQ,KAAO,IAAI,aAAavE,EAAI6E,kBAAkB,MAAQ7E,EAAI6E,mBAAmBvE,GAAG,CAAC,QAAUN,EAAIwF,oBAAoB,CAAyB,KAAvBxF,EAAIkF,MAAM8B,SAAiB/G,EAAG,MAAM,CAACG,YAAY,kBAAkBC,MAAM,CAAC,KAAO,YAAY4C,KAAK,YAAY,CAAChD,EAAG,aAAaD,EAAIU,GAAGV,EAAIW,GAAGX,EAAIkF,MAAM8B,UAAU,aAAa,GAAGhH,EAAIY,KAAKZ,EAAIU,GAAG,UAAoB1F,IAAdgF,EAAIkF,MAAqBjF,EAAG,WAAW,CAACgD,KAAK,SAAS,CAAChD,EAAG,YAAY,CAACI,MAAM,CAAC,cAAa,EAAK,aAAaL,EAAIgD,EAAE,SAAU,uBAAuB,CAAEG,EAAgBpI,OAAS,OAAG,EAAOiF,EAAIY,MAAM,IAAI,GAAGZ,EAAIY,MAAM,GAAGZ,EAAIY,IAAI,IAAI,MAAK,IAAO,CAACZ,EAAIU,GAAG,KAAKT,EAAG,iBAAiB,CAACG,YAAY,eAAeC,MAAM,CAAC,KAAO,gBAAgB,MAAQL,EAAIgD,EAAE,SAAU,uDAAuDC,KAAK,iBAAiB,CAAChD,EAAG,WAAW,CAACI,MAAM,CAAC,KAAO,QAAQ4C,KAAK,UAAU,IAAI,IAAI,EACtzC,GACsB,IQUpB,EACA,KACA,WACA,MAI8B","sources":["webpack:///photos/src/mixins/FetchFilesMixin.js","webpack:///photos/src/services/PhotoSearch.js","webpack:///photos/src/components/Collection/CollectionContent.vue?vue&type=style&index=0&id=61595cc4&prod&lang=scss&scoped=true&","webpack:///photos/src/views/PublicAlbumContent.vue?vue&type=style&index=0&id=5ad036ac&prod&lang=scss&scoped=true&","webpack:///photos/node_modules/vue-material-design-icons/AlertCircle.vue","webpack:///photos/node_modules/vue-material-design-icons/AlertCircle.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/AlertCircle.vue?489a","webpack:///photos/node_modules/vue-material-design-icons/AlertCircle.vue?vue&type=template&id=2a2453f8&","webpack:///photos/node_modules/vue-material-design-icons/FolderMultipleImage.vue","webpack:///photos/node_modules/vue-material-design-icons/FolderMultipleImage.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/FolderMultipleImage.vue?f9dd","webpack:///photos/node_modules/vue-material-design-icons/FolderMultipleImage.vue?vue&type=template&id=497205fa&","webpack:///photos/node_modules/vue-material-design-icons/MapMarker.vue","webpack:///photos/node_modules/vue-material-design-icons/MapMarker.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/MapMarker.vue?eeb6","webpack:///photos/node_modules/vue-material-design-icons/MapMarker.vue?vue&type=template&id=325b1348&","webpack:///photos/node_modules/vue-material-design-icons/PackageVariant.vue","webpack:///photos/node_modules/vue-material-design-icons/PackageVariant.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/PackageVariant.vue?692c","webpack:///photos/node_modules/vue-material-design-icons/PackageVariant.vue?vue&type=template&id=9a5ab29c&","webpack:///photos/node_modules/vue-material-design-icons/Video.vue","webpack:///photos/node_modules/vue-material-design-icons/Video.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/Video.vue?28ad","webpack:///photos/node_modules/vue-material-design-icons/Video.vue?vue&type=template&id=12752490&","webpack://photos/./src/components/Collection/CollectionContent.vue?de63","webpack:///photos/src/components/Collection/CollectionContent.vue?vue&type=script&lang=js&","webpack:///photos/src/components/Collection/CollectionContent.vue","webpack://photos/./src/components/Collection/CollectionContent.vue?4aa4","webpack://photos/./src/components/Collection/CollectionContent.vue?d20d","webpack://photos/./src/views/PublicAlbumContent.vue?b01b","webpack:///photos/node_modules/vue-material-design-icons/ImageOff.vue","webpack:///photos/node_modules/vue-material-design-icons/ImageOff.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/ImageOff.vue?7165","webpack:///photos/node_modules/vue-material-design-icons/ImageOff.vue?vue&type=template&id=15a47635&","webpack:///photos/src/views/PublicAlbumContent.vue","webpack:///photos/src/views/PublicAlbumContent.vue?vue&type=script&lang=js&","webpack://photos/./src/views/PublicAlbumContent.vue?bc5a","webpack://photos/./src/views/PublicAlbumContent.vue?4404"],"sourcesContent":["/**\n * @copyright Copyright (c) 2022 Louis Chemineau <louis@chmn.me>\n *\n * @author Louis Chemineau <louis@chmn.me>\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 logger from '../services/logger.js'\nimport getPhotos from '../services/PhotoSearch.js'\nimport SemaphoreWithPriority from '../utils/semaphoreWithPriority.js'\nimport AbortControllerMixin from './AbortControllerMixin.js'\n\nexport default {\n\tname: 'FetchFilesMixin',\n\n\tmixins: [\n\t\tAbortControllerMixin,\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\terrorFetchingFiles: null,\n\t\t\tloadingFiles: false,\n\t\t\tdoneFetchingFiles: false,\n\t\t\tfetchSemaphore: new SemaphoreWithPriority(1),\n\t\t\tfetchedFileIds: [],\n\t\t}\n\t},\n\n\twatch: {\n\t\t$route() {\n\t\t\tthis.resetFetchFilesState()\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * @param {string} path - Path to pass to getPhotos.\n\t\t * @param {object} options - Options to pass to getPhotos.\n\t\t * @param {string[]} [blacklist=[]] - Array of ids to filter out.\n\t\t * @param {boolean} [force=false] - Force fetching even if doneFetchingFiles is true\n\t\t * @return {Promise<string[]>} - The next batch of data depending on global offset.\n\t\t */\n\t\tasync fetchFiles(path = '', options = {}, blacklist = [], force = false) {\n\t\t\tif ((this.doneFetchingFiles && !force) || this.loadingFiles) {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\tconst fetchSemaphoreSymbol = await this.fetchSemaphore.acquire()\n\n\t\t\ttry {\n\t\t\t\tthis.errorFetchingFiles = null\n\t\t\t\tthis.loadingFiles = true\n\n\t\t\t\tconst numberOfImagesPerBatch = 200\n\n\t\t\t\t// Load next batch of images\n\t\t\t\tconst fetchedFiles = await getPhotos(path, {\n\t\t\t\t\tfirstResult: this.fetchedFileIds.length,\n\t\t\t\t\tnbResults: numberOfImagesPerBatch,\n\t\t\t\t\t...options,\n\t\t\t\t\tsignal: this.abortController.signal,\n\t\t\t\t})\n\n\t\t\t\t// If we get less files than requested that means we got to the end\n\t\t\t\tif (fetchedFiles.length !== numberOfImagesPerBatch) {\n\t\t\t\t\tthis.doneFetchingFiles = true\n\t\t\t\t}\n\n\t\t\t\tconst fileIds = fetchedFiles\n\t\t\t\t\t.map(file => file.fileid)\n\t\t\t\t\t.filter(fileId => !this.fetchedFileIds.includes(fileId)) // Filter to prevent duplicate fileIds.\n\n\t\t\t\tthis.fetchedFileIds.push(\n\t\t\t\t\t...fileIds\n\t\t\t\t\t\t.map((fileId) => fileId.toString())\n\t\t\t\t\t\t.filter((fileId) => !blacklist.includes(fileId))\n\t\t\t\t)\n\n\t\t\t\tthis.$store.dispatch('appendFiles', fetchedFiles)\n\n\t\t\t\tlogger.debug(`[FetchFilesMixin] Fetched ${fileIds.length} new files: `, fileIds)\n\n\t\t\t\treturn fileIds\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingFiles = 404\n\t\t\t\t} else if (error.code === 'ERR_CANCELED') {\n\t\t\t\t\treturn []\n\t\t\t\t} else {\n\t\t\t\t\tthis.errorFetchingFiles = error\n\t\t\t\t}\n\n\t\t\t\t// cancelled request, moving on...\n\t\t\t\tlogger.error('Error fetching files', { error })\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loadingFiles = false\n\t\t\t\tthis.fetchSemaphore.release(fetchSemaphoreSymbol)\n\t\t\t}\n\n\t\t\treturn []\n\t\t},\n\n\t\tresetFetchFilesState() {\n\t\t\tthis.doneFetchingFiles = false\n\t\t\tthis.errorFetchingFiles = null\n\t\t\tthis.loadingFiles = false\n\t\t\tthis.fetchedFileIds = []\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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 { genFileInfo } from '../utils/fileUtils.js'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { allMimes } from './AllowedMimes.js'\nimport client from './DavClient.js'\nimport { props } from './DavRequest.js'\nimport moment from '@nextcloud/moment'\n\n/**\n * List files from a folder and filter out unwanted mimes\n *\n * @param {object} path the lookup path\n * @param {object} [options] used for the cancellable requests\n * @param {number} [options.firstResult=0] Index of the first result that we want (starts at 0)\n * @param {number} [options.nbResults=200] The number of file to fetch\n * @param {string[]} [options.mimesType=allMimes] Mime type of the files\n * @param {boolean} [options.full=false] get full data of the files\n * @param {boolean} [options.onThisDay=false] get only items from this day of year\n * @param {boolean} [options.onlyFavorites=false] get only favorite items\n * @return {Promise<object[]>} the file list\n */\nexport default async function(path = '', options = {}) {\n\t// default function options\n\toptions = {\n\t\tfirstResult: 0,\n\t\tnbResults: 200,\n\t\tmimesType: allMimes,\n\t\tonThisDay: false,\n\t\tonlyFavorites: false,\n\t\t...options,\n\t}\n\n\tconst prefixPath = `/files/${getCurrentUser().uid}`\n\n\t// generating the search or condition\n\t// based on the allowed mimetypes\n\tconst orMime = options.mimesType.reduce((str, mime) => `${str}\n\t\t<d:eq>\n\t\t\t<d:prop>\n\t\t\t\t<d:getcontenttype/>\n\t\t\t</d:prop>\n\t\t\t<d:literal>${mime}</d:literal>\n\t\t</d:eq>\n\t`, '')\n\n\tconst eqFavorites = options.onlyFavorites\n\t\t? `<d:eq>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<oc:favorite/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:literal>1</d:literal>\n\t\t\t</d:eq>`\n\t\t: ''\n\n\tconst onThisDay = options.onThisDay\n\t\t? `<d:or>${Array(20).fill(1)\n\t\t\t.map((_, years) => {\n\t\t\t\tconst start = moment(Date.now()).startOf('day').subtract(3, 'd').subtract(years + 1, 'y')\n\t\t\t\tconst end = moment(Date.now()).endOf('day').add(3, 'd').subtract(years + 1, 'y')\n\t\t\t\treturn `<d:and>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified />\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${start.format(moment.defaultFormatUtc)}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t\t<d:lt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified />\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${end.format(moment.defaultFormatUtc)}</d:literal>\n\t\t\t\t</d:lt>\n\t\t\t</d:and>`\n\t\t\t}).join('\\n')}</d:or>`\n\t\t: ''\n\n\toptions = Object.assign({\n\t\tmethod: 'SEARCH',\n\t\theaders: {\n\t\t\t'content-Type': 'text/xml',\n\t\t},\n\t\tdata: `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\t\t\t<d:searchrequest xmlns:d=\"DAV:\"\n\t\t\t\txmlns:oc=\"http://owncloud.org/ns\"\n\t\t\t\txmlns:nc=\"http://nextcloud.org/ns\"\n\t\t\t\txmlns:ns=\"https://github.com/icewind1991/SearchDAV/ns\"\n\t\t\t\txmlns:ocs=\"http://open-collaboration-services.org/ns\">\n\t\t\t\t<d:basicsearch>\n\t\t\t\t\t<d:select>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t${props}\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t</d:select>\n\t\t\t\t\t<d:from>\n\t\t\t\t\t\t<d:scope>\n\t\t\t\t\t\t\t<d:href>${prefixPath}/${path}</d:href>\n\t\t\t\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t\t\t\t</d:scope>\n\t\t\t\t\t</d:from>\n\t\t\t\t\t<d:where>\n\t\t\t\t\t\t<d:and>\n\t\t\t\t\t\t\t<d:or>\n\t\t\t\t\t\t\t\t${orMime}\n\t\t\t\t\t\t\t</d:or>\n\t\t\t\t\t\t\t${eqFavorites}\n\t\t\t\t\t\t\t${onThisDay}\n\t\t\t\t\t\t</d:and>\n\t\t\t\t\t</d:where>\n\t\t\t\t\t<d:orderby>\n\t\t\t\t\t\t<d:order>\n\t\t\t\t\t\t\t<d:prop><d:getlastmodified/></d:prop>\n\t\t\t\t\t\t\t<d:descending/>\n\t\t\t\t\t\t</d:order>\n\t\t\t\t\t</d:orderby>\n\t\t\t\t\t<d:limit>\n\t\t\t\t\t\t<d:nresults>${options.nbResults}</d:nresults>\n\t\t\t\t\t\t<ns:firstresult>${options.firstResult}</ns:firstresult>\n\t\t\t\t\t</d:limit>\n\t\t\t\t</d:basicsearch>\n\t\t\t</d:searchrequest>`,\n\t\tdeep: true,\n\t\tdetails: true,\n\t}, options)\n\n\tconst response = await client.getDirectoryContents('', options)\n\n\treturn response.data.map(data => genFileInfo(data))\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".collection[data-v-61595cc4]{display:flex;flex-direction:column}.collection__media[data-v-61595cc4]{padding:0 64px}@media only screen and (max-width: 1200px){.collection__media[data-v-61595cc4]{padding:0 4px}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/Collection/CollectionContent.vue\"],\"names\":[],\"mappings\":\"AAEA,6BACC,YAAA,CACA,qBAAA,CAEA,oCACC,cAAA,CAEA,2CAHD,oCAIE,aAAA,CAAA\",\"sourcesContent\":[\"$sizes: (\\\"400\\\": (\\\"count\\\": 3, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"700\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"1024\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1280\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1440\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"1600\\\": (\\\"count\\\": 6, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2048\\\": (\\\"count\\\": 7, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2560\\\": (\\\"count\\\": 8, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"3440\\\": (\\\"count\\\": 9, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"max\\\": (\\\"count\\\": 10, \\\"marginTop\\\": 88, \\\"marginW\\\": 88));\\n\\n.collection {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&__media {\\n\\t\\tpadding: 0 64px;\\n\\n\\t\\t@media only screen and (max-width: 1200px) {\\n\\t\\t\\tpadding: 0 4px;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".album[data-v-5ad036ac]{display:flex;flex-direction:column}.album__title[data-v-5ad036ac]{width:100%}.album__name[data-v-5ad036ac]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.album__location[data-v-5ad036ac]{margin-left:-4px;display:flex;color:var(--color-text-lighter)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/PublicAlbumContent.vue\"],\"names\":[],\"mappings\":\"AAEA,wBACC,YAAA,CACA,qBAAA,CAEA,+BACC,UAAA,CAGD,8BACC,eAAA,CACA,kBAAA,CACA,sBAAA,CAGD,kCACC,gBAAA,CACA,YAAA,CACA,+BAAA\",\"sourcesContent\":[\"$sizes: (\\\"400\\\": (\\\"count\\\": 3, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"700\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"1024\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1280\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1440\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"1600\\\": (\\\"count\\\": 6, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2048\\\": (\\\"count\\\": 7, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2560\\\": (\\\"count\\\": 8, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"3440\\\": (\\\"count\\\": 9, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"max\\\": (\\\"count\\\": 10, \\\"marginTop\\\": 88, \\\"marginW\\\": 88));\\n\\n.album {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t&__title {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__name {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__location {\\n\\t\\tmargin-left: -4px;\\n\\t\\tdisplay: flex;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon alert-circle-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=\"M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"AlertCircleIcon\",\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!./AlertCircle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./AlertCircle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AlertCircle.vue?vue&type=template&id=2a2453f8&\"\nimport script from \"./AlertCircle.vue?vue&type=script&lang=js&\"\nexport * from \"./AlertCircle.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 alert-circle-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon folder-multiple-image-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=\"M7,15L11.5,9L15,13.5L17.5,10.5L21,15M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"FolderMultipleImageIcon\",\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!./FolderMultipleImage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./FolderMultipleImage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FolderMultipleImage.vue?vue&type=template&id=497205fa&\"\nimport script from \"./FolderMultipleImage.vue?vue&type=script&lang=js&\"\nexport * from \"./FolderMultipleImage.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 folder-multiple-image-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M7,15L11.5,9L15,13.5L17.5,10.5L21,15M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon map-marker-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,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MapMarkerIcon\",\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!./MapMarker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./MapMarker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MapMarker.vue?vue&type=template&id=325b1348&\"\nimport script from \"./MapMarker.vue?vue&type=script&lang=js&\"\nexport * from \"./MapMarker.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 map-marker-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon package-variant-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=\"M2,10.96C1.5,10.68 1.35,10.07 1.63,9.59L3.13,7C3.24,6.8 3.41,6.66 3.6,6.58L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.66,6.72 20.82,6.88 20.91,7.08L22.36,9.6C22.64,10.08 22.47,10.69 22,10.96L21,11.54V16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V10.96C2.7,11.13 2.32,11.14 2,10.96M12,4.15V4.15L12,10.85V10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V12.69L14,15.59C13.67,15.77 13.3,15.76 13,15.6V19.29L19,15.91M13.85,13.36L20.13,9.73L19.55,8.72L13.27,12.35L13.85,13.36Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PackageVariantIcon\",\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!./PackageVariant.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./PackageVariant.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PackageVariant.vue?vue&type=template&id=9a5ab29c&\"\nimport script from \"./PackageVariant.vue?vue&type=script&lang=js&\"\nexport * from \"./PackageVariant.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 package-variant-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M2,10.96C1.5,10.68 1.35,10.07 1.63,9.59L3.13,7C3.24,6.8 3.41,6.66 3.6,6.58L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.66,6.72 20.82,6.88 20.91,7.08L22.36,9.6C22.64,10.08 22.47,10.69 22,10.96L21,11.54V16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V10.96C2.7,11.13 2.32,11.14 2,10.96M12,4.15V4.15L12,10.85V10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V12.69L14,15.59C13.67,15.77 13.3,15.76 13,15.6V19.29L19,15.91M13.85,13.36L20.13,9.73L19.55,8.72L13.27,12.35L13.85,13.36Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon video-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=\"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"VideoIcon\",\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!./Video.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Video.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Video.vue?vue&type=template&id=12752490&\"\nimport script from \"./Video.vue?vue&type=script&lang=js&\"\nexport * from \"./Video.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 video-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return ((_vm.collection === undefined && !_vm.loading) || _vm.error === 404)?_c('NcEmptyContent',{staticClass:\"empty-content-with-illustration\",attrs:{\"title\":_vm.t('photos', 'This collection does not exist')}},[_c('FolderMultipleImage',{attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1):(_vm.error)?_c('NcEmptyContent',{attrs:{\"title\":_vm.t('photos', 'An error occurred')}},[_c('AlertCircle',{attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1):_c('div',{staticClass:\"collection\"},[_vm._t(\"header\",null,{\"selectedFileIds\":_vm.selectedFileIds}),_vm._v(\" \"),(_vm.collectionFileIds.length === 0 && !_vm.loading)?_vm._t(\"empty-content\"):_vm._e(),_vm._v(\" \"),(_vm.collection !== undefined)?_c('FilesListViewer',{staticClass:\"collection__media\",attrs:{\"container-element\":_vm.appContent,\"file-ids\":_vm.collectionFileIds,\"base-height\":_vm.isMobile ? 120 : 200,\"loading\":_vm.loading},scopedSlots:_vm._u([{key:\"default\",fn:function({file, distance}){return _c('File',{attrs:{\"file\":_vm.files[file.id],\"allow-selection\":true,\"selected\":_vm.selection[file.id] === true,\"distance\":distance},on:{\"click\":_vm.openViewer,\"select-toggled\":_vm.onFileSelectToggle}})}}],null,false,2716306842)}):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectionContent.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!./CollectionContent.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2022 Louis Chemineau <louis@chmn.me>\n -\n - @author Louis Chemineau <louis@chmn.me>\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<template>\n\t<!-- Errors handlers-->\n\t<NcEmptyContent v-if=\"(collection === undefined && !loading) || error === 404\"\n\t\tclass=\"empty-content-with-illustration\"\n\t\t:title=\"t('photos', 'This collection does not exist')\">\n\t\t<FolderMultipleImage slot=\"icon\" />\n\t</NcEmptyContent>\n\t<NcEmptyContent v-else-if=\"error\" :title=\"t('photos', 'An error occurred')\">\n\t\t<AlertCircle slot=\"icon\" />\n\t</NcEmptyContent>\n\n\t<div v-else class=\"collection\">\n\t\t<!-- Header -->\n\t\t<slot class=\"collection__header\" name=\"header\" :selected-file-ids=\"selectedFileIds\" />\n\n\t\t<!-- No content -->\n\t\t<slot v-if=\"collectionFileIds.length === 0 && !loading\" name=\"empty-content\" />\n\n\t\t<!-- Media list -->\n\t\t<FilesListViewer v-if=\"collection !== undefined\"\n\t\t\t:container-element=\"appContent\"\n\t\t\tclass=\"collection__media\"\n\t\t\t:file-ids=\"collectionFileIds\"\n\t\t\t:base-height=\"isMobile ? 120 : 200\"\n\t\t\t:loading=\"loading\">\n\t\t\t<File slot-scope=\"{file, distance}\"\n\t\t\t\t:file=\"files[file.id]\"\n\t\t\t\t:allow-selection=\"true\"\n\t\t\t\t:selected=\"selection[file.id] === true\"\n\t\t\t\t:distance=\"distance\"\n\t\t\t\t@click=\"openViewer\"\n\t\t\t\t@select-toggled=\"onFileSelectToggle\" />\n\t\t</FilesListViewer>\n\t</div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport AlertCircle from 'vue-material-design-icons/AlertCircle.vue'\nimport FolderMultipleImage from 'vue-material-design-icons/FolderMultipleImage.vue'\n\nimport { NcEmptyContent, isMobile } from '@nextcloud/vue'\n\nimport FilesSelectionMixin from '../../mixins/FilesSelectionMixin.js'\nimport FilesListViewer from '.././FilesListViewer.vue'\nimport File from '.././File.vue'\nimport FolderIllustration from '../../assets/Illustrations/folder.svg'\n\nexport default {\n\tname: 'CollectionContent',\n\n\tcomponents: {\n\t\tAlertCircle,\n\t\tFolderMultipleImage,\n\t\tNcEmptyContent,\n\t\tFilesListViewer,\n\t\tFile,\n\t},\n\n\tmixins: [\n\t\tFilesSelectionMixin,\n\t\tisMobile,\n\t],\n\n\tprops: {\n\t\tcollection: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => undefined,\n\t\t},\n\n\t\tcollectionFileIds: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\terror: {\n\t\t\ttype: [Error, Number],\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tFolderIllustration,\n\t\t\tappContent: document.getElementById('app-content-vue'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t...mapGetters([\n\t\t\t'files',\n\t\t]),\n\t},\n\n\tmethods: {\n\t\topenViewer(fileId) {\n\t\t\tconst file = this.files[fileId]\n\t\t\tOCA.Viewer.open({\n\t\t\t\tfileInfo: file,\n\t\t\t\tlist: this.collectionFileIds.map(fileId => this.files[fileId]).filter(file => !file.sectionHeader),\n\t\t\t\tloadMore: file.loadMore ? async () => await file.loadMore(true) : () => [],\n\t\t\t\tcanLoop: file.canLoop,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.collection {\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__media {\n\t\tpadding: 0 64px;\n\n\t\t@media only screen and (max-width: 1200px) {\n\t\t\tpadding: 0 4px;\n\t\t}\n\t}\n}\n</style>\n","\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/postcss-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectionContent.vue?vue&type=style&index=0&id=61595cc4&prod&lang=scss&scoped=true&\";\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/postcss-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectionContent.vue?vue&type=style&index=0&id=61595cc4&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CollectionContent.vue?vue&type=template&id=61595cc4&scoped=true&\"\nimport script from \"./CollectionContent.vue?vue&type=script&lang=js&\"\nexport * from \"./CollectionContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CollectionContent.vue?vue&type=style&index=0&id=61595cc4&prod&lang=scss&scoped=true&\"\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 \"61595cc4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('CollectionContent',{ref:\"collectionContent\",attrs:{\"collection\":_vm.album,\"collection-file-ids\":_vm.albumFileIds,\"loading\":_vm.loadingAlbum || _vm.loadingFiles,\"error\":_vm.errorFetchingAlbum || _vm.errorFetchingFiles},scopedSlots:_vm._u([{key:\"header\",fn:function({selectedFileIds}){return (_vm.albumOriginalName !== '')?_c('HeaderNavigation',{key:\"navigation\",attrs:{\"loading\":_vm.loadingAlbum || _vm.loadingFiles,\"params\":{ token: _vm.token },\"path\":\"/\",\"root-title\":_vm.albumOriginalName,\"title\":_vm.albumOriginalName},on:{\"refresh\":_vm.fetchAlbumContent}},[(_vm.album.location !== '')?_c('div',{staticClass:\"album__location\",attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_c('MapMarker'),_vm._v(_vm._s(_vm.album.location)+\"\\n\\t\\t\\t\")],1):_vm._e(),_vm._v(\" \"),(_vm.album !== undefined)?_c('template',{slot:\"right\"},[_c('NcActions',{attrs:{\"force-menu\":true,\"aria-label\":_vm.t('photos', 'Open actions menu')}},[(selectedFileIds.length > 0)?void 0:_vm._e()],2)],1):_vm._e()],2):_vm._e()}}],null,true)},[_vm._v(\" \"),_c('NcEmptyContent',{staticClass:\"album__empty\",attrs:{\"slot\":\"empty-content\",\"title\":_vm.t('photos', 'This album does not have any photos or videos yet!')},slot:\"empty-content\"},[_c('ImageOff',{attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon image-off-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=\"M21 17.2L6.8 3H19C20.1 3 21 3.9 21 5V17.2M20.7 22L19.7 21H5C3.9 21 3 20.1 3 19V4.3L2 3.3L3.3 2L22 20.7L20.7 22M16.8 18L12.9 14.1L11 16.5L8.5 13.5L5 18H16.8Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ImageOffIcon\",\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!./ImageOff.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ImageOff.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ImageOff.vue?vue&type=template&id=15a47635&\"\nimport script from \"./ImageOff.vue?vue&type=script&lang=js&\"\nexport * from \"./ImageOff.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 image-off-icon\",attrs:{\"aria-hidden\":!_vm.title,\"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\":\"M21 17.2L6.8 3H19C20.1 3 21 3.9 21 5V17.2M20.7 22L19.7 21H5C3.9 21 3 20.1 3 19V4.3L2 3.3L3.3 2L22 20.7L20.7 22M16.8 18L12.9 14.1L11 16.5L8.5 13.5L5 18H16.8Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2022 Louis Chemineau <louis@chmn.me>\n -\n - @author Louis Chemineau <louis@chmn.me>\n - @author Richard Steinmetz <richard@steinmetz.cloud>\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<template>\n\t<div>\n\t\t<CollectionContent ref=\"collectionContent\"\n\t\t\t:collection=\"album\"\n\t\t\t:collection-file-ids=\"albumFileIds\"\n\t\t\t:loading=\"loadingAlbum || loadingFiles\"\n\t\t\t:error=\"errorFetchingAlbum || errorFetchingFiles\">\n\t\t\t<!-- Header -->\n\t\t\t<HeaderNavigation v-if=\"albumOriginalName !== ''\"\n\t\t\t\tkey=\"navigation\"\n\t\t\t\tslot=\"header\"\n\t\t\t\tslot-scope=\"{selectedFileIds}\"\n\t\t\t\t:loading=\"loadingAlbum || loadingFiles\"\n\t\t\t\t:params=\"{ token }\"\n\t\t\t\tpath=\"/\"\n\t\t\t\t:root-title=\"albumOriginalName\"\n\t\t\t\t:title=\"albumOriginalName\"\n\t\t\t\t@refresh=\"fetchAlbumContent\">\n\t\t\t\t<div v-if=\"album.location !== ''\" slot=\"subtitle\" class=\"album__location\">\n\t\t\t\t\t<MapMarker />{{ album.location }}\n\t\t\t\t</div>\n\t\t\t\t<template v-if=\"album !== undefined\" slot=\"right\">\n\t\t\t\t\t<NcActions :force-menu=\"true\" :aria-label=\"t('photos', 'Open actions menu')\">\n\t\t\t\t\t\t<!-- TODO: enable download on public albums -->\n\t\t\t\t\t\t<!-- <ActionDownload v-if=\"albumFileIds.length > 0\"\n\t\t\t\t\t\t\t:selected-file-ids=\"albumFileIds\"\n\t\t\t\t\t\t\t:title=\"t('photos', 'Download all files in album')\">\n\t\t\t\t\t\t\t<DownloadMultiple slot=\"icon\" />\n\t\t\t\t\t\t</ActionDownload> -->\n\n\t\t\t\t\t\t<template v-if=\"selectedFileIds.length > 0\">\n\t\t\t\t\t\t\t<!-- TODO: enable download on public albums -->\n\t\t\t\t\t\t\t<!-- <NcActionSeparator />\n\n\t\t\t\t\t\t\t<ActionDownload :selected-file-ids=\"selectedFileIds\" :title=\"t('photos', 'Download selected files')\">\n\t\t\t\t\t\t\t\t<Download slot=\"icon\" />\n\t\t\t\t\t\t\t</ActionDownload> -->\n\n\t\t\t\t\t\t\t<!-- <NcActionButton :close-after-click=\"true\"\n\t\t\t\t\t\t\t\t@click=\"handleRemoveFilesFromAlbum(selectedFileIds)\">\n\t\t\t\t\t\t\t\t{{ t('photos', 'Remove selection from album') }}\n\t\t\t\t\t\t\t\t<Close slot=\"icon\" />\n\t\t\t\t\t\t\t</NcActionButton> -->\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcActions>\n\t\t\t\t</template>\n\t\t\t</HeaderNavigation>\n\n\t\t\t<!-- No content -->\n\t\t\t<NcEmptyContent slot=\"empty-content\"\n\t\t\t\t:title=\"t('photos', 'This album does not have any photos or videos yet!')\"\n\t\t\t\tclass=\"album__empty\">\n\t\t\t\t<ImageOff slot=\"icon\" />\n\n\t\t\t\t<!-- Public upload is not implemented yet\n\t\t\t\t<NcButton slot=\"action\"\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t:aria-label=\"t('photos', 'Add photos to this album')\"\n\t\t\t\t\t@click=\"showAddPhotosModal = true\">\n\t\t\t\t\t<Plus slot=\"icon\" />\n\t\t\t\t\t{{ t('photos', \"Add\") }}\n\t\t\t\t</NcButton>\n\t\t\t\t-->\n\t\t\t</NcEmptyContent>\n\t\t</CollectionContent>\n\t</div>\n</template>\n\n<script>\nimport { mapActions, mapGetters } from 'vuex'\nimport { createClient, getPatcher } from 'webdav'\n\nimport MapMarker from 'vue-material-design-icons/MapMarker.vue'\n// import Plus from 'vue-material-design-icons/Plus.vue'\n// import ImagePlus from 'vue-material-design-icons/ImagePlus.vue'\nimport ImageOff from 'vue-material-design-icons/ImageOff.vue'\n// import Download from 'vue-material-design-icons/Download.vue'\n// import DownloadMultiple from 'vue-material-design-icons/DownloadMultiple.vue'\n\nimport { NcActions, /** NcButton, */ NcEmptyContent, /** NcActionSeparator, */ isMobile } from '@nextcloud/vue'\nimport { showError } from '@nextcloud/dialogs'\nimport axios from '@nextcloud/axios'\nimport { generateUrl, generateRemoteUrl } from '@nextcloud/router'\n\nimport FetchFilesMixin from '../mixins/FetchFilesMixin.js'\nimport AbortControllerMixin from '../mixins/AbortControllerMixin.js'\nimport CollectionContent from '../components/Collection/CollectionContent.vue'\nimport HeaderNavigation from '../components/HeaderNavigation.vue'\n// import ActionDownload from '../components/Actions/ActionDownload.vue'\nimport { fetchAlbum, fetchAlbumContent } from '../services/Albums.js'\nimport logger from '../services/logger.js'\n\nconst publicRootPath = 'dav'\n\n// force our axios\nconst patcher = getPatcher()\npatcher.patch('request', axios)\n\n// init webdav client on default dav endpoint\nconst remote = generateRemoteUrl(publicRootPath)\nconst publicRemote = remote\n\nexport default {\n\tname: 'PublicAlbumContent',\n\tcomponents: {\n\t\tMapMarker,\n\t\t// Plus,\n\t\t// Download,\n\t\t// DownloadMultiple,\n\t\t// ImagePlus,\n\t\tImageOff,\n\t\tNcEmptyContent,\n\t\tNcActions,\n\t\t// NcActionSeparator,\n\t\t// NcButton,\n\t\tCollectionContent,\n\t\t// ActionDownload,\n\t\tHeaderNavigation,\n\t},\n\n\tmixins: [\n\t\tFetchFilesMixin,\n\t\tAbortControllerMixin,\n\t\tisMobile,\n\t],\n\n\tprops: {\n\t\ttoken: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowAddPhotosModal: false,\n\t\t\tloadingAlbum: false,\n\t\t\terrorFetchingAlbum: null,\n\t\t\tloadingCount: 0,\n\t\t\tloadingAddFilesToAlbum: false,\n\t\t\talbumOriginalName: '',\n\t\t\tpublicClient: createClient(publicRemote, {\n\t\t\t\tusername: this.token,\n\t\t\t\tpassword: null,\n\t\t\t}),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t...mapGetters([\n\t\t\t'files',\n\t\t\t'publicAlbums',\n\t\t\t'publicAlbumsFiles',\n\t\t]),\n\n\t\t/**\n\t\t * @return {object} The album information for the current albumName.\n\t\t */\n\t\talbum() {\n\t\t\treturn this.publicAlbums[this.albumName] || {}\n\t\t},\n\n\t\t/**\n\t\t * @return {string} The album's name is the token.\n\t\t */\n\t\talbumName() {\n\t\t\treturn this.token\n\t\t},\n\n\t\t/**\n\t\t * @return {string[]} The list of files for the current albumName.\n\t\t */\n\t\talbumFileIds() {\n\t\t\treturn this.publicAlbumsFiles[this.albumName] || []\n\t\t},\n\t},\n\n\tasync beforeMount() {\n\t\tawait this.fetchAlbumInfo()\n\t\tawait this.fetchAlbumContent()\n\t},\n\n\tmethods: {\n\t\t...mapActions([\n\t\t\t'appendFiles',\n\t\t\t'addPublicAlbums',\n\t\t\t'addFilesToPublicAlbum',\n\t\t\t'removeFilesFromPublicAlbum',\n\t\t]),\n\n\t\tasync fetchAlbumInfo() {\n\t\t\tif (this.loadingAlbum) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.loadingAlbum = true\n\t\t\t\tthis.errorFetchingAlbum = null\n\n\t\t\t\tconst album = await fetchAlbum(\n\t\t\t\t\t`/photospublic/${this.token}`,\n\t\t\t\t\tthis.abortController.signal,\n\t\t\t\t\t'<nc:original-name />',\n\t\t\t\t\tthis.publicClient,\n\t\t\t\t)\n\t\t\t\tthis.addPublicAlbums({ collections: [album] })\n\t\t\t\tthis.albumOriginalName = album.originalName\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingAlbum = 404\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tthis.errorFetchingAlbum = error\n\t\t\t\tlogger.error('[PublicAlbumContent] Error fetching album', { error })\n\t\t\t\tshowError(this.t('photos', 'Failed to fetch album.'))\n\t\t\t} finally {\n\t\t\t\tthis.loadingAlbum = false\n\t\t\t}\n\t\t},\n\n\t\tasync fetchAlbumContent() {\n\t\t\tif (this.loadingFiles || this.showEditAlbumForm) {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\tconst fetchSemaphoreSymbol = await this.fetchSemaphore.acquire()\n\n\t\t\ttry {\n\t\t\t\tthis.errorFetchingFiles = null\n\t\t\t\tthis.loadingFiles = true\n\n\t\t\t\tconst fetchedFiles = await fetchAlbumContent(\n\t\t\t\t\t`/photospublic/${this.token}`,\n\t\t\t\t\tthis.abortController.signal,\n\t\t\t\t\tthis.publicClient,\n\t\t\t\t)\n\n\t\t\t\tconst fileIds = fetchedFiles\n\t\t\t\t\t.map(file => file.fileid.toString())\n\n\t\t\t\tfetchedFiles.forEach(file => {\n\t\t\t\t\t// Use custom preview URL to avoid authentication prompt\n\t\t\t\t\tfile.previewUrl = generateUrl(`/apps/photos/api/v1/publicPreview/${file.fileid}?x=2048&y=2048&token=${this.token}`)\n\t\t\t\t\t// Disable use of generic file previews for public albums - for older versions of the Viewer app\n\t\t\t\t\tfile.hasPreview = false\n\t\t\t\t})\n\n\t\t\t\tthis.appendFiles(fetchedFiles)\n\n\t\t\t\tif (fetchedFiles.length > 0) {\n\t\t\t\t\tawait this.$store.commit('addFilesToPublicAlbum', { collectionId: this.albumName, fileIdsToAdd: fileIds })\n\t\t\t\t}\n\n\t\t\t\treturn fetchedFiles\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingFiles = 404\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tthis.errorFetchingFiles = error\n\n\t\t\t\tshowError(this.t('photos', 'Failed to fetch albums list.'))\n\t\t\t\tlogger.error('[PublicAlbumContent] Error fetching album files', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingFiles = false\n\t\t\t\tthis.fetchSemaphore.release(fetchSemaphoreSymbol)\n\t\t\t}\n\n\t\t\treturn []\n\t\t},\n\n\t\tasync handleFilesPicked(fileIds) {\n\t\t\tthis.showAddPhotosModal = false\n\t\t\tawait this.addFilesToPublicAlbum({ collectionId: this.albumName, fileIdsToAdd: fileIds })\n\t\t\t// Re-fetch album content to have the proper filenames.\n\t\t\tawait this.fetchAlbumContent()\n\t\t},\n\n\t\tasync handleRemoveFilesFromAlbum(fileIds) {\n\t\t\tthis.$refs.collectionContent.onUncheckFiles(fileIds)\n\t\t\tawait this.removeFilesFromPublicAlbum({ collectionId: this.albumName, fileIdsToRemove: fileIds })\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.album {\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t&__title {\n\t\twidth: 100%;\n\t}\n\n\t&__name {\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t&__location {\n\t\tmargin-left: -4px;\n\t\tdisplay: flex;\n\t\tcolor: var(--color-text-lighter);\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!./PublicAlbumContent.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!./PublicAlbumContent.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/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicAlbumContent.vue?vue&type=style&index=0&id=5ad036ac&prod&lang=scss&scoped=true&\";\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/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicAlbumContent.vue?vue&type=style&index=0&id=5ad036ac&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PublicAlbumContent.vue?vue&type=template&id=5ad036ac&scoped=true&\"\nimport script from \"./PublicAlbumContent.vue?vue&type=script&lang=js&\"\nexport * from \"./PublicAlbumContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PublicAlbumContent.vue?vue&type=style&index=0&id=5ad036ac&prod&lang=scss&scoped=true&\"\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 \"5ad036ac\",\n null\n \n)\n\nexport default component.exports"],"names":["name","mixins","AbortControllerMixin","data","errorFetchingFiles","loadingFiles","doneFetchingFiles","fetchSemaphore","SemaphoreWithPriority","fetchedFileIds","watch","$route","this","resetFetchFilesState","methods","async","path","arguments","length","undefined","options","blacklist","force","fetchSemaphoreSymbol","acquire","numberOfImagesPerBatch","fetchedFiles","firstResult","nbResults","mimesType","allMimes","onThisDay","onlyFavorites","prefixPath","concat","getCurrentUser","uid","orMime","reduce","str","mime","eqFavorites","Array","fill","map","_","years","start","moment","Date","now","startOf","subtract","end","endOf","add","format","join","Object","assign","method","headers","props","deep","details","client","genFileInfo","getPhotos","signal","abortController","fileIds","file","fileid","filter","fileId","includes","push","toString","$store","dispatch","logger","error","_error$response","response","status","code","console","release","___CSS_LOADER_EXPORT___","module","id","emits","title","type","String","fillColor","default","size","Number","_vm","_c","_self","_b","staticClass","attrs","on","$event","$emit","$attrs","_v","_s","_e","components","AlertCircle","FolderMultipleImage","NcEmptyContent","FilesListViewer","File","FilesSelectionMixin","isMobile","collection","collectionFileIds","required","loading","Boolean","Error","FolderIllustration","appContent","document","getElementById","computed","mapGetters","openViewer","files","OCA","Viewer","open","fileInfo","list","sectionHeader","loadMore","canLoop","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","t","slot","_t","selectedFileIds","scopedSlots","_u","key","fn","_ref","distance","selection","onFileSelectToggle","getPatcher","patch","axios","publicRemote","generateRemoteUrl","MapMarker","ImageOff","NcActions","CollectionContent","HeaderNavigation","FetchFilesMixin","token","showAddPhotosModal","loadingAlbum","errorFetchingAlbum","loadingCount","loadingAddFilesToAlbum","albumOriginalName","publicClient","createClient","username","password","album","publicAlbums","albumName","albumFileIds","publicAlbumsFiles","fetchAlbumInfo","fetchAlbumContent","mapActions","fetchAlbum","addPublicAlbums","collections","originalName","showError","showEditAlbumForm","forEach","previewUrl","generateUrl","hasPreview","appendFiles","commit","collectionId","fileIdsToAdd","_error$response2","addFilesToPublicAlbum","$refs","collectionContent","onUncheckFiles","removeFilesFromPublicAlbum","fileIdsToRemove","ref","location"],"sourceRoot":""}