{"version":3,"file":"/scripts/story-grid.js","mappings":"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IAAO,OACP,IAAO,YACP,IAAO,QACP,IAAO,WACP,IAAO,OACP,IAAO,WACP,IAAO,mBACP,IAAO,aACP,IAAO,WACP,IAAO,QACP,IAAO,cACP,IAAO,cACP,IAAO,QACP,IAAO,mBACP,IAAO,cACP,IAAO,QACP,IAAO,YACP,IAAO,kBACP,IAAO,cACP,IAAO,SACP,IAAO,WACP,IAAO,cACP,IAAO,QACP,IAAO,SACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,aACP,IAAO,UACP,IAAO,UACP,IAAO,yBACP,IAAO,WACP,IAAO,UACP,IAAO,SACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,SACP,IAAO,UACP,IAAO,UACP,IAAO,SACP,IAAO,YACP,IAAO,WACP,IAAO,UACP,IAAO,UACP,IAAO,UACP,IAAO,QACP,IAAO,SACP,IAAO,SACP,IAAO,gBACP,IAAO,YACP,IAAO,aACP,IAAO,QACP,IAAO,UACP,IAAO,SACP,IAAO,aACP,IAAO,cACP,IAAO,kBACP,IAAO,SACP,IAAO,SACP,IAAO,WACP,IAAO,UACP,IAAO,SACP,IAAO,aACP,IAAO,SACP,IAAO,WACP,IAAO,WACP,IAAO,QACP,IAAO,SACP,IAAO,cACP,IAAO,UACP,IAAO,UACP,IAAO,iBACP,IAAO,UACP,IAAO,UACP,IAAO,QACP,IAAO,OACP,IAAO,OACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,UACP,IAAO,QACP,IAAO,UACP,IAAO,OACP,IAAO,0BACP,IAAO,QACP,IAAO,eACP,IAAO,QACP,IAAO,UACP,IAAO,uBACP,IAAO,QACP,IAAO,cACP,IAAO,aACP,IAAO,SACP,IAAO,QACP,IAAO,aACP,IAAO,aACP,IAAO,WACP,IAAO,QACP,IAAO,WACP,IAAO,YACP,IAAO,aACP,IAAO,eACP,IAAO,aACP,IAAO,sBACP,IAAO,YACP,IAAO,UACP,IAAO,WACP,IAAO,SACP,IAAO,UACP,IAAO,SACP,IAAO,SACP,IAAO,QACP,IAAO,WACP,IAAO,aACP,IAAO,OACP,IAAO,WACP,IAAO,qBACP,IAAO,UACP,IAAO,cACP,IAAO,UACP,IAAO,YACP,IAAO,SACP,IAAO,QACP,IAAO,WACP,IAAO,UACP,IAAO,SACP,IAAO,YACP,IAAO,SACP,IAAO,WACP,IAAO,OACP,IAAO,wBACP,IAAO,cACP,IAAO,mCACP,IAAO,WACP,IAAO,sBACP,IAAO,UACP,IAAO,aAIIC,EAAe,CAC1B,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,wBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,6BACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,yBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,qBACP,IAAO,sBAIIC,EAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC9VC,EAAyB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC5OC,EAAuB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtXC,EAA6B,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC5JC,EAA0B,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC/GC,EAAwB,CAAE,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAGxQC,EAAa,CACxB,OAAU,CACRpI,GAAI,GACJ6G,MAAO,SACP/G,KAAM,UAER,wBAAyB,CACvBE,GAAI,GACJ6G,MAAO,wBACP/G,KAAM,yBAER,qBAAuB,CACrBE,GAAI,GACJ6G,MAAO,qBACP/G,KAAM,sBAER,6BAA8B,CAC5BE,GAAI,GACJ6G,MAAO,6BACP/G,KAAM,8BAER,yBAA0B,CACxBE,GAAI,GACJ6G,MAAO,yBACP/G,KAAM,0BAER,qBAAsB,CACpBE,GAAI,GACJ6G,MAAO,qBACP/G,KAAM,sB,6DC1bVyB,IAAA,EACOsC,MAAM,qB,GADbtC,IAAA,EAE6BsC,MAAM,a,IAkB3BU,EAAAA,EAAAA,IAEM,OAFD/C,MAAM,KAAKC,OAAO,M,EACrB8C,EAAAA,EAAAA,IAAyC,OAApC,aAAW,uBAAkB,I,GAIpCV,MAAM,oB,EAzBd,Y,GAAAtC,IAAA,EAqC4BsC,MAAM,a,IAkB1BU,EAAAA,EAAAA,IAEM,OAFD/C,MAAM,KAAKC,OAAO,M,EACrB8C,EAAAA,EAAAA,IAA0C,OAArC,aAAW,wBAAmB,IAQ7C,SACE1C,KAAM,aACNC,MAAO,CACLuG,IAAK,CACHnG,QAAS,EACTF,KAAMI,OACNoD,UAAU,GAEZ8C,QAAS,CACPpG,QAAS,EACTF,KAAMI,OACNoD,UAAU,GAEZ+C,UAAW,CACTrG,QAAS,EACTF,KAAMI,QAERoG,MAAO,CACLtG,QAAS,EACTF,KAAMI,QAERqG,YAAa,CACXzG,KAAMC,OACNC,QAAS,aAGbiB,QAAS,CACPuF,OAAM,WACJzF,KAAK0F,WAAW1F,KAAKqF,QAAU,EACjC,EACAM,OAAM,WACJ3F,KAAK0F,WAAW1F,KAAKqF,QAAU,EACjC,EACAK,WAAU,SAACE,GACLA,IAAS5F,KAAKqF,SAChBrF,KAAK6F,MAAM,cAAeD,EAE9B,GAEF9F,SAAU,CACRgG,MAAK,WAAG,IAAAC,EAAA,KACA/J,EAASgE,KAAKgG,SAAWhG,KAAKiG,WAAa,EAGjD,OAFcC,MAAMC,KAAK,CAAEnK,OAAAA,IAAU,SAACoK,EAAGvI,GAAC,OAAKA,EAAIkI,EAAKE,UAAU,GAGpE,EACAA,WAAU,WACR,IAAII,EAAQrG,KAAKqF,QAAUrF,KAAKsF,UAMhC,OAJIe,EAAQrG,KAAKuF,MAAQvF,KAAKoF,MAC5BiB,GAASA,GAASrG,KAAKoF,IAAMpF,KAAKuF,MAAQ,IAGrCc,EAAQ,EAAI,EAAIA,CACzB,EACAL,SAAQ,WACN,IAAIM,EAAMtG,KAAKqF,QAAUrF,KAAKsF,UAM9B,OAJItF,KAAKuF,MAAQe,EAAM,IACrBA,GAAOtG,KAAKuF,MAAQe,GAGfA,EAAMtG,KAAKoF,IAAMpF,KAAKoF,IAAMkB,CACrC,EACAC,WAAU,WACR,OAAOvG,KAAKqF,UAAYrF,KAAKoF,GAC/B,EACAoB,YAAW,WACT,OAAwB,IAAjBxG,KAAKqF,OACd,EACAoB,SAAQ,WACN,OAAOzG,KAAKoF,IAAM,CACpB,ICnIJ,MAEA,GAFiC,E,QAAA,GAAgB,EAAQ,CAAC,CAAC,S,6BDJpBpE,EAAAyF,WAAQ,WAA7C9F,EAAAA,EAAAA,IA2DM,MA3DNU,EA2DM,CA1DQL,EAAAwF,aAFhB5E,EAAAA,EAAAA,IAAA,SAE2B,WAAvBjB,EAAAA,EAAAA,IAsBM,MAtBNa,EAsBM,EArBJF,EAAAA,EAAAA,IAoBS,UAnBNuC,QAAKC,EAAA,KAAAA,EAAA,qBAAE9C,EAAA2E,QAAA3E,EAAA2E,OAAAnJ,MAAAwE,EAAAjF,UAAM,GACd,aAAW,WACX6E,MAAM,iLANde,OAyBIL,EAAAA,EAAAA,IAUK,KAVLoF,EAUK,gBATH/F,EAAAA,EAAAA,IAQK4D,EAAAA,GAAA,MAlCXC,EAAAA,EAAAA,IA2BoBxD,EAAA8E,OA3BpB,SA2Bea,G,kBADThG,EAAAA,EAAAA,IAQK,MANFrC,IAAKqI,EACN/F,OA7BRC,EAAAA,EAAAA,IAAA,CA6Bc,iEAA+D+F,EAAAA,EAAAA,GAAA,SAAA3J,OAEpD6D,EAAA0E,aAAgBmB,GAAK7F,EAAAuE,WADrCxB,QAAK,SAAAgD,GAAA,OAAE7F,EAAA0E,WAAWiB,EAAC,I,QAGjBA,GAAC,GAjCZrC,E,YAqCgBtD,EAAAuF,YArChB3E,EAAAA,EAAAA,IAAA,SAqC0B,WAAtBjB,EAAAA,EAAAA,IAsBM,MAtBN+D,EAsBM,EArBJpD,EAAAA,EAAAA,IAoBS,UAnBNuC,QAAKC,EAAA,KAAAA,EAAA,qBAAE9C,EAAAyE,QAAAzE,EAAAyE,OAAAjJ,MAAAwE,EAAAjF,UAAM,GACd,aAAW,OACX6E,MAAM,iLAzCdkG,UAAAlF,EAAAA,EAAAA,IAAA,M,uEEGImF,E,MAA0B,GAA4B,KAE1DA,EAAwBnJ,KAAK,CAACoJ,EAAOC,GAAI,sNAAuN,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,2DAA2D,MAAQ,GAAG,SAAW,8DAA8D,eAAiB,CAAC,kiGAAiiG,WAAa,MAE1+G,S,6ECJA,iBAAgBpL,EAAUqL,GAA2C,IAAnCC,EAAQpL,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GAAUqL,EAAOrL,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACtDsL,EAAeF,EAAW,EAAI,EAC9BG,GAASpL,EAAAA,EAAAA,IAAI,IACbqL,GAAWrL,EAAAA,EAAAA,IAAI,GACf0J,GAAO1J,EAAAA,EAAAA,IAAImL,GACXG,GAAYtL,EAAAA,EAAAA,KAAI,GAChBuL,GAAavL,EAAAA,EAAAA,IAAI,MACjBwL,GAAYxL,EAAAA,EAAAA,IAAI,IAEhByL,EAAgBC,IAASC,GACzBC,EAAiBF,KAwCvB,WACEhC,EAAKnJ,MAAQ4K,EACbE,EAAS9K,MAAQ,EACjBiL,EAAUjL,MAAQ,GAClBoL,GACF,KA3CAvK,EAAAA,EAAAA,KAAU,WACRqK,GACF,IAEA,IAAMI,GAAUjI,EAAAA,EAAAA,KAAS,kBAAM8F,EAAKnJ,MAAQ8K,EAAS9K,KAAK,IAEpDuL,GAAQlI,EAAAA,EAAAA,KAAS,kBACrB0C,OAAOyF,OACL,CAAC,EACD,CACErC,KAAMuB,EAAWvB,EAAKnJ,MAAQmJ,EAAKnJ,MAAQ,EAC3C6K,OAAQA,EAAO7K,MACfsB,MAAOmK,KAAKC,UAAUjB,EAAOzK,QAEhC,IAGG2L,GAActI,EAAAA,EAAAA,KAAS,kBAAM,IAAIuI,gBAAgBL,EAAMvL,MAAM,IAEnE,SAASoL,EAAKS,GACZd,EAAU/K,OAAQ,EACd6L,IACF1C,EAAKnJ,MAAQ6L,GAGf/K,MAAM,GAADN,OAAIpB,EAAQ,KAAAoB,OAAImL,EAAY3L,MAAK,cAAAQ,OAAamK,IAChD5J,MAAK,SAAC+K,GAAG,OAAKA,EAAI7K,MAAM,IACxBF,MAAK,SAAC+K,GACLb,EAAUjL,MAAQ0K,EACdoB,EAAI9K,KAAI,GAAAR,QAAAC,EAAAA,EAAAA,GACJwK,EAAUjL,QAAKS,EAAAA,EAAAA,GAAKqL,EAAI9K,OAChC8J,EAAS9K,MAAQ8L,EAAIC,UACrB5C,EAAKnJ,MAAQ8L,EAAIE,aACjBhB,EAAWhL,MAAQ8L,EAAIG,YACvBlB,EAAU/K,OAAQ,CACpB,GACJ,CAaA,MAAO,CACL6K,OAAAA,EACAO,KAAAA,EACAc,MAAOb,EACPC,QAAAA,EACAN,WAAAA,EACAC,UAAAA,EACAkB,UAXF,SAAmBnM,GACjB6K,EAAO7K,MAAQA,CACjB,EAUEmJ,KAAAA,EACA2B,SAAAA,EACAC,UAAAA,EAEH,C,mDC3EM5G,MAAM,8B,GACFA,MAAM,uC,GACXU,EAAAA,EAAAA,IAAoF,QAA9E,cAAY,OAAOV,MAAM,uBAAuBqG,GAAG,eAAc,UAAM,G,GACxErG,MAAM,Y,EAJjB,U,IAwBUU,EAAAA,EAAAA,IAcM,OAbJ/C,MAAM,KACNC,OAAO,KACPoC,MAAM,mEAQN,cAAY,Q,EAEZU,EAAAA,EAAAA,IAAqC,OAAhC,aAAW,mBAAc,IAS1C,SACEzC,MAAO,CACLgK,WAAY,CACV9J,KAAMC,OACNC,QAAS,GACTsD,UAAU,IAGdD,MAAO,CAAC,SAAU,qBAClBI,MAAK,SAAC7D,EAAK8D,GAAY,IAARC,EAAGD,EAAHC,KAIb,MAAO,CACLkG,OAJF,WACElG,EAAK,SACP,EAIF,GCzDF,MAEA,GAFiC,E,QAAA,GAAgB,EAAQ,CAAC,CAAC,S,wCDJzDjC,EAAAA,EAAAA,IAyCM,MAzCNU,EAyCM,EAxCJC,EAAAA,EAAAA,IAuCQ,QAvCRE,EAuCQ,CAtCNE,GACAJ,EAAAA,EAAAA,IAoCM,MApCNK,EAoCM,EAnCJL,EAAAA,EAAAA,IAiBE,SAhBAvC,KAAK,OACLgK,YAAY,kBACZ,kBAAgB,cAChBnI,MAAM,yGAULoI,QAAKlF,EAAA,KAAAA,EAAA,YAAA+C,GAAA,OAAEoC,EAAApD,MAAM,oBAAqBgB,EAAO/D,OAAOrG,MAAK,GACrDyM,UAAOpF,EAAA,KAAAA,EAAA,IApBlBG,EAAAA,EAAAA,KAAA,kBAoB0BF,EAAA+E,QAAA/E,EAAA+E,OAAAtM,MAAAuH,EAAAhI,UAAM,eACrBU,MAAOqE,EAAA+H,Y,QArBlBnC,IAuBQpF,EAAAA,EAAAA,IAgBS,UAhBD,aAAW,sBAAsB4C,SAAS,KAAML,QAAKC,EAAA,KAAAA,EAAA,qBAAEC,EAAA+E,QAAA/E,EAAA+E,OAAAtM,MAAAuH,EAAAhI,UAAM,IAvB7E2I,Q,sCEES9D,MAAM,0C,GACJA,MAAM,0D,GAHjBtC,IAAA,EAKUsC,MAAM,2B,GALhBtC,IAAA,EAyBUsC,MAAM,2B,GAzBhBtC,IAAA,EA6CUsC,MAAM,2B,GA7ChBtC,IAAA,EA+DUsC,MAAM,2B,GAkBLA,MAAM,6C,GAMJA,MAAM,2B,GAvFnBtC,IAAA,EAuHMsC,MAAM,oB,GAvHZtC,IAAA,G,GAAAA,IAAA,G,GA+HSsC,MAAM,iBAAiB1E,IAAI,Q,GAC9BoF,EAAAA,EAAAA,IAEU,UADRV,MAAM,6DAA2D,S,GAE9DA,MAAM,mC,GAnIjBtC,IAAA,EAoIgDsC,MAAM,gC,EApItD,S,EAAA,c,GAyJiBA,MAAM,gC,GAzJvBtC,IAAA,EA0JqCsC,MAAM,gC,GA1J3CtC,IAAA,EA8JgBsC,MAAM,kF,EA9JtB,c,EAAA,c,GAqLaA,MAAM,uB,sGA+BnB,SACE/B,MAAO,CACLsK,aAAc,CACZpK,KAAMC,OACNC,QAAS,GACTsD,UAAU,GAEZ6G,aAAc,CACZrK,KAAMC,OACNC,QAAS,GACTsD,UAAU,GAEZzG,UAAW,CACTiD,KAAMmH,MACNjH,QAAS,WAAF,MAAQ,EAAE,GAEnBoK,aAAc,CACZtK,KAAMC,OACNC,QAAS,KAGbqK,WAAY,CACVC,UAAAA,EAAAA,EACAC,SAAAA,EAAAA,EACAC,WAAAA,EAAAA,EACAC,OAAAA,EAAAA,GAEFhH,MAAK,SAAC7D,GACJ,IAAM8K,GAAYzN,EAAAA,EAAAA,IAAI,GAChBoJ,GAAYpJ,EAAAA,EAAAA,IAAI,GAChB0N,GAAO1N,EAAAA,EAAAA,IAAI,MACXsL,GAAYtL,EAAAA,EAAAA,KAAI,GAChBwL,GAAYxL,EAAAA,EAAAA,IAAI,IAChB2N,GAAU3N,EAAAA,EAAAA,IAAI,IACdoL,GAASpL,EAAAA,EAAAA,IAAI,IACb0J,GAAO1J,EAAAA,EAAAA,IAAI,GACXqL,GAAWrL,EAAAA,EAAAA,IAAI,GACfyL,EAAgBC,IAASC,GACzBiC,GAAgB5N,EAAAA,EAAAA,IAAI,MACpB6N,GAAmB7N,EAAAA,EAAAA,IAAI,MACvB8N,GAAyB9N,EAAAA,EAAAA,IAAI,MAC7B+N,GAAqB/N,EAAAA,EAAAA,IAAI,MAE/BgO,GAQIC,EAAAA,EAAAA,GAAWtL,EAAMuK,cAAclN,EAAAA,EAAAA,IAAI2C,EAAM/C,WAAYK,EAAciO,GAPrE/N,EAAQ6N,EAAR7N,SACAD,EAAY8N,EAAZ9N,aACA4B,EAAckM,EAAdlM,eACAE,EAAYgM,EAAZhM,aACAG,EAAe6L,EAAf7L,gBACAvB,EAAkBoN,EAAlBpN,mBACAR,EAAY4N,EAAZ5N,aAiBF,SAAS+N,IACHC,OAAOC,WAAa,KACtBZ,EAAUlN,MAAQ,EAClB6I,EAAU7I,MAAQ,IAElBkN,EAAUlN,MAAQ,EAClB6I,EAAU7I,MAAQ,EAEtB,CAMA,SAAS+N,IACPF,OAAOG,OAAO,CACZC,SAAU,SACVC,IAAKf,EAAKnN,MAAMmO,WAEpB,EAjCAtN,EAAAA,EAAAA,KAAU,WACJuB,EAAM/C,UAAUE,QAClBwO,IAGFH,IAEAC,OAAOO,iBAAiB,UAAU,WAChCR,GACF,IAEA1C,GACF,IAuBA,IAAMmD,GAAgBhL,EAAAA,EAAAA,KAAS,WAC7B,OAAI4H,EAAUjL,MAAMT,OAAS,EACvBuL,EAAS9K,OAASmJ,EAAKnJ,MAClBiL,EAAUjL,MAAMsO,MAAyB,IAAlBnF,EAAKnJ,MAAQ,IAEpCiL,EAAUjL,MAAMsO,MAAoB,GAAdnF,EAAKnJ,MAAa,EAAuB,IAAlBmJ,EAAKnJ,MAAQ,GAAuB,GAAdmJ,EAAKnJ,MAAa,GAAkB,GAAbmJ,EAAKnJ,OAGjG,EAEX,IAEMsL,GAAUjI,EAAAA,EAAAA,KAAS,kBAAM8F,EAAKnJ,MAAQ8K,EAAS9K,KAAK,IAEpDuL,GAAQlI,EAAAA,EAAAA,KAAS,kBACrB0C,OAAOyF,OACL,CAAC,EACD,CACEX,OAAQA,EAAO7K,OAEnB,IAGI2L,GAActI,EAAAA,EAAAA,KAAS,kBAAM,IAAIuI,gBAAgBL,EAAMvL,MAAM,IAEnE,SAASoL,IACPL,EAAU/K,OAAQ,EAClBc,MAAM,GAADN,OAAI4B,EAAMsK,aAAY,KAAAlM,OAAImL,EAAY3L,MAAK,oBAC7Ce,MAAK,SAAC+K,GAAG,OAAKA,EAAI7K,MAAM,IACxBF,MAAK,SAAC+K,GACLsB,EAAQpN,MAAQ8L,EAAI9K,KACpBiK,EAAUjL,MAAQ8L,EAAI9K,KAEtB8J,EAAS9K,MAAQiL,EAAUjL,MAAMT,OAAS,GAC1CgP,EAAW,GACXxD,EAAU/K,OAAQ,EAElB2N,GACF,GACJ,CAEA,SAASA,IACP5C,EAAU/K,OAAQ,EAElBiL,EAAUjL,MAAQ,GAElB,IAAIwO,EAAY5O,EAASI,MAAMyO,KAAI,SAACC,GAClC,OAAOA,EAAMpO,EACf,IAEA,GAAI8M,EAAQpN,MAAMT,OAAS,GAAKiP,EAAUjP,OAAS,EACjD,IAAK,IAAI6B,EAAE,EAAGA,EAAEgM,EAAQpN,MAAMT,OAAQ6B,IAAK,CAKzC,IAJA,IAAIuN,EAAQvB,EAAQpN,MAAMoB,GAEtBwN,EAAQJ,EAAUC,KAAI,SAACnO,GAAQ,OAAO,CAAK,IAEtCuO,EAAE,EAAGA,EAAEF,EAAMrN,MAAM/B,OAAQsP,IAAK,CACvC,IAAIC,EAAMH,EAAMrN,MAAMuN,GAAGvO,GAErByO,EAAQP,EAAUQ,QAAQF,IAEf,IAAXC,IACFH,EAAMG,IAAS,EAEnB,EAE6B,GAAzBH,EAAMI,SAAQ,IAChB/D,EAAUjL,MAAMmB,KAAKwN,EAEzB,MAEA1D,EAAUjL,MAAQoN,EAAQpN,MAG5B8K,EAAS9K,MAAQiL,EAAUjL,MAAMT,OAAS,GAC1CgP,EAAW,GAEXxD,EAAU/K,OAAQ,CACpB,CAEA,SAASuO,EAAW1C,GAClBd,EAAU/K,OAAQ,EAEd6L,IACF1C,EAAKnJ,MAAQ6L,GAGfd,EAAU/K,OAAQ,CACpB,CA0DA,SAASiP,EAAWtL,GACL,UAATA,GAA8B,OAATA,IACvB0J,EAAcrN,MAAQ,MAGX,WAAT2D,GAA+B,OAATA,IACxB2J,EAAiBtN,MAAQ,KAE7B,CAEA,SAASN,EAAawP,EAAaC,GACjC,IAAIC,EAAe,GAEnB,OAAOD,EAAMhP,UACX,IAAK,eACH,IAAIkP,EAAmB,GACvB,OAAQF,EAAMhI,OACZ,IAAK,SACHkI,EAAmBjH,EAAAA,GACnB,MACF,IAAK,wBACHiH,EAAmBhH,EAAAA,GACnB,MACF,IAAK,qBACHgH,EAAmB/G,EAAAA,GACnB,MACF,IAAK,6BACH+G,EAAmB9G,EAAAA,GACnB,MACF,IAAK,yBACH8G,EAAmB7G,EAAAA,GACnB,MACF,IAAK,qBACH6G,EAAmB5G,EAAAA,GAIvB2G,EAAeF,EAAY5N,MAAMrB,QAAO,SAACqP,GACvC,OAAiE,IAA1DD,EAAiBL,QAAQM,EAAQlP,KAAKmP,cAC/C,IAEAjC,EAAiBtN,MAAQ,CACvBmH,MAAO+H,EAAY/H,MACnB/G,KAAM8O,EAAY9O,KAClBkB,MAAO8N,GAET,MACF,IAAK,gBACH,IAAII,EAAgBrH,EAAAA,EAAagH,EAAM/O,KAAKmP,eAE5CH,EAAeF,EAAY5N,MAAMrB,QAAO,SAACwP,GACvC,OAAOA,EAAOtI,OAASqI,CACzB,IAEAnC,EAAcrN,MAAQ,CACpBmH,MAAO+H,EAAY/H,MACnB/G,KAAM8O,EAAY9O,KAClBkB,MAAO8N,GAET,MACF,IAAK,mBACH,IAAIM,EAAkBR,EAAY5N,MAAMrB,QAAO,SAACyP,GAC9C,OAAOA,EAAgBvI,OAASgI,EAAMhI,KACxC,IAEAoG,EAAuBvN,MAAQ,CAC7BmH,MAAO+H,EAAY/H,MACnB/G,KAAM8O,EAAY9O,KAClBkB,MAAOoO,GAET,MACF,IAAK,aACH,IAAIC,EAAcT,EAAY5N,MAAMrB,QAAO,SAAC0P,GAC1C,OAAOA,EAAYxI,OAASgI,EAAMhI,KACpC,IAEAqG,EAAmBxN,MAAQ,CACzBmH,MAAO+H,EAAY/H,MACnB/G,KAAM8O,EAAY9O,KAClBkB,MAAOqO,GAIf,CAEA,MAAO,CACLvE,KAAAA,EACAc,MA/IF,WACErB,EAAO7K,MAAQ,GACfiP,EAAW,OACX7D,GACF,EA4IEE,QAAAA,EACAP,UAAAA,EACAE,UAAAA,EACAJ,OAAAA,EACA1B,KAAAA,EACA2B,SAAAA,EACAnL,aAAAA,EACA4B,eAAAA,EACAE,aAAAA,EACAG,gBAAAA,EACAvB,mBAAAA,EACAR,aAAAA,EACA+P,WAAAA,EAAAA,EACAC,WAlQF,SAAoBvO,GAClB,OAAOA,EAAMK,MAAK,SAACmO,GAAI,MAAsB,iBAAjBA,EAAK3P,QAA2B,GAC9D,EAiQE4N,aAAAA,EACAZ,KAAAA,EACAtE,UAAAA,EACAqE,UAAAA,EACAmB,cAAAA,EACAE,WAAAA,EACAZ,aAAAA,EACAjO,aAAAA,EACA4N,iBAAAA,EACAD,cAAAA,EACAE,uBAAAA,EACAC,mBAAAA,EACAyB,WAAAA,EACAc,aArKF,SAAsBZ,GACpB,IAAIa,EAAe,IAAIpE,gBAAgBiC,OAAOoC,SAASpF,QAEvD,OAAOsE,EAAMhP,UACX,IAAK,eACH6P,EAAaE,IAAI,SAAU,GAAF1P,OAAK2O,EAAM7O,KACpC,MACF,IAAK,gBACH0P,EAAaE,IAAI,UAAW,GAAF1P,OAAK2O,EAAM7O,KACrC,MACF,IAAK,mBACH0P,EAAaE,IAAI,mBAAoB,GAAF1P,OAAK2O,EAAM7O,KAC9C,MACF,IAAK,aACH0P,EAAaE,IAAI,eAAgB,GAAF1P,OAAK2O,EAAM7O,KAI9C,IAAI6P,EAAuBtC,OAAOoC,SAASG,SAAW,IAAMJ,EAAaK,WACzEC,QAAQC,UAAU,KAAM,GAAIJ,EAC9B,EAkJEK,WAhJF,SAAoB9B,GAClB,IAAIsB,EAAe,IAAIpE,gBAAgBiC,OAAOoC,SAASpF,QAEvD,OAAO6D,GACL,IAAK,SACHsB,EAAY,OAAQ,UACpB,MACF,IAAK,UACHA,EAAY,OAAQ,WACpB,MACF,IAAK,mBACHA,EAAY,OAAQ,oBACpB,MACF,IAAK,eACHA,EAAY,OAAQ,gBACpB,MACF,IAAK,MACHA,EAAY,OAAQ,UACpBA,EAAY,OAAQ,WACpBA,EAAY,OAAQ,oBACpBA,EAAY,OAAQ,gBAIxB,IAAIG,EAAuBtC,OAAOoC,SAASG,SAAW,IAAMJ,EAAaK,WACzEC,QAAQC,UAAU,KAAM,GAAIJ,EAC9B,EAwHF,GC/iBF,MAEA,GAFiC,E,QAAA,GAAgB,EAAQ,CAAC,CAAC,S,0IDJzDjM,EAAAA,EAAAA,IAoMM,aAnMJW,EAAAA,EAAAA,IAmHM,MAnHND,EAmHM,EAlHJC,EAAAA,EAAAA,IA6EM,MA7ENE,EA6EM,CA1EIuC,EAAA3H,aAAaJ,OAAS,IAAH,WAF3B2E,EAAAA,EAAAA,IAmBM,MAnBNe,EAmBM,EAfJT,EAAAA,EAAAA,IAcEiM,EAAA,CAbCzM,QAASsD,EAAA+F,eAAiB/F,EAAA3H,aAAa,GACvCC,SAAU0H,EAAA1F,gBAAgB0F,EAAA3H,aAAa,IACvCqG,WAAYsB,EAAAyD,UACZ2F,SAAMrJ,EAAA,KAAAA,EAAA,YAAA+C,GAAiB9C,EAAA7F,aAAa2I,EAAQ9C,EAAAqG,cAA6BrG,EAAA5H,aAAa4H,EAAA3H,aAAY,GAAKyK,GAAuB9C,EAAAyI,aAAa3F,E,GAK3IuG,QAAKtJ,EAAA,KAAAA,EAAA,YAAA+C,GAAiB9C,EAAAzH,aAAayH,EAAA3H,aAAY,GAAK2H,EAAAqG,cAA6BrG,EAAA2H,WAAU,WAA2B3H,EAAAkJ,WAAU,S,mDAjB7IrL,EAAAA,EAAAA,IAAA,OA0BgBmC,EAAA3H,aAAaJ,OAAS,IAAH,WAF3B2E,EAAAA,EAAAA,IAmBM,MAnBNgB,EAmBM,EAfJV,EAAAA,EAAAA,IAcEiM,EAAA,CAbCzM,QAASsD,EAAAgG,kBAAoBhG,EAAA3H,aAAa,GAC1CC,SAAU0H,EAAA1F,gBAAgB0F,EAAA3H,aAAa,IACvCqG,WAAYsB,EAAAyD,UACZ2F,SAAMrJ,EAAA,KAAAA,EAAA,YAAA+C,GAAiB9C,EAAA7F,aAAa2I,EAAQ9C,EAAAqG,cAA6BrG,EAAA5H,aAAa4H,EAAA3H,aAAY,GAAKyK,GAAuB9C,EAAAyI,aAAa3F,E,GAK3IuG,QAAKtJ,EAAA,KAAAA,EAAA,YAAA+C,GAAiB9C,EAAAzH,aAAayH,EAAA3H,aAAY,GAAK2H,EAAAqG,cAA6BrG,EAAA2H,WAAU,UAA0B3H,EAAAkJ,WAAU,U,mDArC5IrL,EAAAA,EAAAA,IAAA,OA8CgBmC,EAAA3H,aAAaJ,OAAS,IAAH,WAF3B2E,EAAAA,EAAAA,IAiBM,MAjBN+F,EAiBM,EAbJzF,EAAAA,EAAAA,IAYEiM,EAAA,CAXCzM,QAASsD,EAAAiG,wBAA0BjG,EAAA3H,aAAa,GAChDC,SAAU0H,EAAA1F,gBAAgB0F,EAAA3H,aAAa,IACvCqG,WAAYsB,EAAAyD,UACZ2F,SAAMrJ,EAAA,KAAAA,EAAA,YAAA+C,GAAiB9C,EAAA7F,aAAa2I,EAAQ9C,EAAAqG,cAA4BrG,EAAAyI,aAAa3F,E,GAIrFuG,QAAKtJ,EAAA,KAAAA,EAAA,YAAA+C,GAAiB9C,EAAAzH,aAAayH,EAAA3H,aAAY,GAAK2H,EAAAqG,cAA4BrG,EAAAkJ,WAAU,mB,mDAxDvGrL,EAAAA,EAAAA,IAAA,OAgEgBmC,EAAA3H,aAAaJ,OAAS,IAAH,WAF3B2E,EAAAA,EAAAA,IAiBM,MAjBN2D,EAiBM,EAbJrD,EAAAA,EAAAA,IAYEiM,EAAA,CAXCzM,QAASsD,EAAA3H,aAAa,GACtBC,SAAU0H,EAAA1F,gBAAgB0F,EAAA3H,aAAa,IACvCqG,WAAYsB,EAAAyD,UACZ2F,SAAMrJ,EAAA,KAAAA,EAAA,YAAA+C,GAAiB9C,EAAA7F,aAAa2I,EAAQ9C,EAAAqG,cAA4BrG,EAAAyI,aAAa3F,E,GAIrFuG,QAAKtJ,EAAA,KAAAA,EAAA,YAAA+C,GAAiB9C,EAAAzH,aAAayH,EAAA3H,aAAY,GAAK2H,EAAAqG,cAA4BrG,EAAAkJ,WAAU,e,mDA1EvGrL,EAAAA,EAAAA,IAAA,UAiFMN,EAAAA,EAAAA,IAmCM,MAnCNoD,EAmCM,EAlCJzD,EAAAA,EAAAA,IAIcoM,EAAA,CAtFtBxE,WAmFmB9E,EAAAuD,OAnFnB,sBAAAxD,EAAA,KAAAA,EAAA,YAAA+C,GAAA,OAmFmB9C,EAAAuD,OAAMT,CAAA,GACdyG,SAAQvJ,EAAA8D,KACTjH,MAAM,a,mCAERU,EAAAA,EAAAA,IA4BM,MA5BNmD,EA4BM,EA3BJnD,EAAAA,EAAAA,IA0BS,UAzBPV,MAAM,sKAkBLiD,QAAKC,EAAA,KAAAA,EAAA,YAAA+C,GAAiB9C,EAAAzH,aAAY,KAAOyH,EAAAqG,cAA6BrG,EAAAkJ,WAAU,OAAuBlJ,EAAA4E,O,IAKzG,iBAQC5E,EAAA2D,UAAU1L,OAAS,IAAM+H,EAAAyD,YAAS,WAF1C7G,EAAAA,EAAAA,IAOK,KAPLmG,EAOK,EA7HT1C,EAAAA,EAAAA,KAAAC,EAAAA,EAAAA,IA0HQN,EAAA2D,UAAU1L,QAAQ,IACpB,GAAgC,GAApB+H,EAAA2D,UAAU1L,SAAM,WAA5B2E,EAAAA,EAAAA,IAA+C,OA3HrD4M,EA2HyC,YAAK,WACxC5M,EAAAA,EAAAA,IAA2B,OA5HjC6M,EA4HmB,gBA5HnB5L,EAAAA,EAAAA,IAAA,OA8HkBmC,EAAAyD,YAAS,WAAvBiG,EAAAA,EAAAA,IAAiFC,EAAA,CA9HrFpP,IAAA,EA8H6BE,OAAO,QAAQD,MAAM,QAASW,MAAO,EAAIE,OAAO,MA9H7EwC,EAAAA,EAAAA,IAAA,QA+HIN,EAAAA,EAAAA,IAqEM,MArENqM,EAqEM,CApEJC,GAGAtM,EAAAA,EAAAA,IAgEM,MAhENuM,EAgEM,CA/DO9J,EAAA+G,gBAAkB/G,EAAAyD,YAAS,WAAtC7G,EAAAA,EAAAA,IA2CM,MA3CNmN,EA2CM,gBA1CJnN,EAAAA,EAAAA,IAyCI4D,EAAAA,GAAA,MA9KdC,EAAAA,EAAAA,IAsI2BT,EAAA+G,eAtI3B,SAsImBiD,G,kBADTpN,EAAAA,EAAAA,IAyCI,KAvCDrC,IAAKyP,EAAKhR,GACX6D,MAAM,0DACLoN,KAAMD,EAAKE,KACZ,aAAW,a,EAEX3M,EAAAA,EAAAA,IAYS,eAJCyM,EAAKG,YAAcH,EAAKI,eAAeC,aAAU,WAPzDzN,EAAAA,EAAAA,IAUE,OAvJhBrC,IAAA,EA8IiB+P,IAAwBN,EAAKG,WAAiCH,EAAKG,WAAWI,IAA0BP,EAAKI,eAAeC,WAAU,GAKtIG,IAAKR,EAAKG,WAAaH,EAAKG,WAAWK,IAAM,GAE9ChQ,MAAM,MAAMC,OAAO,MACnBoC,MAAM,wC,OAtJtB4N,KAAA5M,EAAAA,EAAAA,IAAA,UAyJYN,EAAAA,EAAAA,IAoBM,MApBNmN,EAoBM,CAnBQV,EAAKW,OAAI,WAArB/N,EAAAA,EAAAA,IAEO,OAFPgO,GAEOtK,EAAAA,EAAAA,IADFN,EAAAsI,WAAW0B,EAAKW,OAAI,KA3JvC9M,EAAAA,EAAAA,IAAA,OAwKsBmC,EAAAuI,WAAWyB,EAAKhQ,SAAK,WAX7B4C,EAAAA,EAAAA,IAcO,OAdPiO,GAcOvK,EAAAA,EAAAA,IADFN,EAAAuI,WAAWyB,EAAKhQ,OAAO6F,OAAK,KA1K/ChC,EAAAA,EAAAA,IAAA,QA4KcN,EAAAA,EAAAA,IAA+D,MAA3DqC,UAAQoK,EAAKc,MAAOjO,MAAM,6B,OA5K5CkO,MAAA,EAAAC,E,cAAAnN,EAAAA,EAAAA,IAAA,OAkLiBmC,EAAAyD,WAAczD,EAAA2D,UAAU1L,QAlLzC4F,EAAAA,EAAAA,IAAA,SAkL+C,WAFvCjB,EAAAA,EAAAA,IAIO,OApLfrC,IAAA,EAiLUsC,MAAM,cAEN+C,UAAQ7C,EAAAuI,c,OAnLlB2F,KAqLQ1N,EAAAA,EAAAA,IAaM,MAbN2N,EAaM,CARKlL,EAAAyD,WA1LnB5F,EAAAA,EAAAA,IAAA,SA0L4B,WAJlB6L,EAAAA,EAAAA,IAWEyB,EAAA,CAjMZ5Q,IAAA,EAuLa8G,IAAKrB,EAAAwD,SACLlC,QAAStB,EAAA6B,KACVhF,MAAM,sBAELuO,aAAWrL,EAAA,MAAAA,EAAA,aAAA+C,GAAiB9C,EAAAiH,WAAWnE,GAAuB9C,EAAAyG,c,GAI9DjF,MAAOxB,EAAA4F,UACPrE,UAAWvB,EAAAuB,W,oDAhMxB,M,MEGY8J,EAAAA,EAAAA,IAAU,CACpB9F,WAAY,CACV+F,UAAAA,KAIAC,MAAM,c,mECNNvI,E,MAA0B,GAA4B,KAE1DA,EAAwBnJ,KAAK,CAACoJ,EAAOC,GAAI,kGAAmG,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6DAA6D,MAAQ,GAAG,SAAW,qCAAqC,eAAiB,CAAC,2kJAAgnJ,WAAa,MAE96J,S","sources":["webpack://sage/./resources/scripts/vue/composables/useFilters.js","webpack://sage/./resources/scripts/vue/components/Loader.vue","webpack://sage/./resources/scripts/vue/components/Loader.vue?9905","webpack://sage/./resources/scripts/vue/components/Loader.vue?a3c7","webpack://sage/./resources/scripts/util/formatDate.js","webpack://sage/./resources/scripts/vue/components/Dropdown.vue","webpack://sage/./resources/scripts/vue/components/Dropdown.vue?5a8d","webpack://sage/./resources/scripts/vue/components/Dropdown.vue?f66b","webpack://sage/./resources/scripts/lib/regions.js","webpack://sage/./resources/scripts/vue/components/Pagination.vue","webpack://sage/./resources/scripts/vue/components/Pagination.vue?c121","webpack://sage/./resources/scripts/vue/components/Loader.vue?562e","webpack://sage/./resources/scripts/vue/composables/useFetch.js","webpack://sage/./resources/scripts/vue/components/SearchBar.vue","webpack://sage/./resources/scripts/vue/components/SearchBar.vue?a031","webpack://sage/./resources/scripts/vue/components/StoryGrid.vue","webpack://sage/./resources/scripts/vue/components/StoryGrid.vue?705a","webpack://sage/./resources/scripts/vue/story-grid.js","webpack://sage/./resources/scripts/vue/components/Dropdown.vue?677b"],"sourcesContent":["import { ref, onMounted, watch } from 'vue';\n\nexport default (endpoint, preFilter = ref([]), limitOptions, applyFilters) => {\n const filterGroups = ref([]);\n const selected = ref([]);\n\n onMounted(() => {\n fetchFilters();\n applyPreFilter();\n });\n\n watch(preFilter, (terms) => {\n applyPreFilter(terms);\n });\n\n function fetchFilters() {\n fetch(endpoint)\n .then((data) => data.json())\n .then((result) => {\n result.data.forEach((data) => {\n filterGroups.value.push(data);\n });\n\n if (preFilter.value.length > 0) {\n for (let i=0; i<preFilter.value.length; i++) {\n let filter = preFilter.value[i];\n\n switch(filter.taxonomy) {\n case \"story-region\":\n limitOptions(filterGroups.value[1], filter);\n break;\n case \"story-country\":\n limitOptions(filterGroups.value[2], filter);\n break;\n case \"participant-type\":\n limitOptions(filterGroups.value[0], filter);\n break;\n case \"story-type\":\n limitOptions(filterGroups.value[3], filter);\n break;\n }\n }\n }\n });\n }\n\n function clearFilters(group, apply) {\n if (!group) {\n selected.value = [];\n }\n\n if (selected.value.length && group) {\n selected.value = selected.value.filter(\n (item) => item.taxonomy !== group.slug\n );\n }\n\n if (apply) {\n apply();\n }\n }\n\n function isActiveFilter(filter) {\n return selected.value.some((item) => item.ID === filter.ID);\n }\n\n function removeActiveFilter(filter) {\n selected.value = selected.value.filter((item) => item.ID !== filter.ID);\n }\n\n function addFilter(filter) {\n selected.value = [...selected.value, filter];\n }\n\n function toggleFilter(filter, apply) {\n const activeGroup = selected.value.find(\n (item) => filter.taxonomy === item.taxonomy\n );\n\n if (activeGroup) {\n removeActiveFilter(activeGroup);\n }\n\n addFilter(filter);\n\n if (apply) {\n apply();\n }\n }\n\n function getActiveFilter(group) {\n return selected.value.find((item) => group.slug === item.taxonomy) || {};\n }\n\n function applyPreFilter(filters = preFilter) {\n clearFilters();\n filters.value.forEach((filter) => {\n if (filter && filter.ID) {\n addFilter(filter);\n }\n });\n }\n\n return {\n filterGroups,\n clearFilters,\n isActiveFilter,\n removeActiveFilter,\n toggleFilter,\n getActiveFilter,\n selected,\n };\n};\n","<template>\n <div :class=\"block ? 'container mx-auto mb-7' : ''\" :style=\"style\">\n <Transition>\n <svg width=\"82%\" height=\"100%\" viewBox=\"0 0 123 150\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" v-if=\"showAnimation\">\n <rect :width=\"width1\" height=\"31.98\" :x=\"x1\" :fill=\"barColor\" style=\"transition: all 1.15s ease-out\"/>\n <rect :x=\"x2\" y=\"55.5\" :width=\"width2\" height=\"31.98\" :fill=\"barColor\" style=\"transition: all 1.15s ease-out\"/>\n <rect :x=\"x3\" y=\"111\" :width=\"width3\" height=\"31.98\" :fill=\"barColor\" style=\"transition: all 1.15s ease-out\"/>\n </svg>\n </Transition>\n </div>\n</template>\n\n<script>\nexport default {\n\tname: 'Loader',\n props: {\n color: {\n type: String,\n default: 'blue'\n },\n height: {\n type: String,\n default: '100px'\n },\n width: {\n type: String,\n default: '100px'\n },\n delay: {\n type: Number,\n default: '0'\n },\n block: {\n type: Boolean,\n default: false\n }\n },\n data() {\n\t\treturn {\n\t\t\twidth1: '123',\n width2: '46.74',\n width3: '46.74',\n x1: '0',\n x2: '76.26',\n x3: '76.26',\n loadingTime: 0,\n showAnimation: false\n\t\t}\n\t},\n computed: {\n barColor() {\n switch (this.color) {\n case 'blue':\n return '#1B4579';\n break;\n case 'red':\n return '#8F311E';\n break;\n case 'purple':\n return '#602662';\n break;\n case 'white':\n return '#FFFFFF';\n break;\n }\n },\n style() {\n return `height: ${this.height}; min-height: ${this.height}; width: ${this.width}`;\n }\n },\n\tmethods: {\n\t\tanimate() {\n let scope = this;\n\n setInterval(function() {\n if (scope.width1 == '123') {\n scope.x1 = '76.26';\n scope.x2 = '0';\n scope.width1 = '46.74';\n scope.width2 = '123';\n } else if (scope.width2 == '123') {\n scope.x2 = '76.26';\n scope.x3 = '0';\n scope.width2 = '46.74';\n scope.width3 = '123';\n } else {\n scope.x3 = '76.26';\n scope.x1 = '0';\n scope.width3 = '46.74';\n scope.width1 = '123';\n }\n }, 1300, scope);\n },\n markTime() {\n let scope = this;\n\n let delay = setInterval(function() {\n scope.loadingTime += 100;\n\n if (scope.loadingTime > scope.delay) {\n scope.showAnimation = true;\n scope.animate();\n clearInterval(delay);\n }\n }, 100, scope);\n }\n\t},\n mounted() {\n if (this.delay > 0) {\n this.markTime();\n } else {\n this.showAnimation = true;\n this.animate();\n }\n }\n}\n</script>\n\n\n<style scoped>\n svg {\n display: block;\n margin: auto;\n }\n\n .v-enter-active,\n .v-leave-active {\n transition: opacity 0.5s ease;\n }\n\n .v-enter-from,\n .v-leave-to {\n opacity: 0;\n }\n</style>\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-11.use[1]!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-11.use[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Loader.vue?vue&type=style&index=0&id=030432b0&scoped=true&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Loader.vue?vue&type=template&id=030432b0&scoped=true\"\nimport script from \"./Loader.vue?vue&type=script&lang=js\"\nexport * from \"./Loader.vue?vue&type=script&lang=js\"\n\nimport \"./Loader.vue?vue&type=style&index=0&id=030432b0&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-030432b0\"]])\n\nexport default __exports__","function dateFilter(dateString) {\n const date = new Date(dateString.replace(/-/g, '/'));\n\n const options = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n timeZone: 'UTC',\n };\n\n return date.toLocaleDateString('en-US', options);\n}\n\nexport default dateFilter;\n","<template>\n <label class=\"relative\">\n <span\n class=\"uppercase tracking-widest font-bold block text-sm mb-2.5\"\n aria-hidden=\"true\"\n v-html=\"options.label\"\n >\n </span>\n <div class=\"relative cursor-pointer z-10\" ref=\"target\">\n <span\n @click=\"toggle\"\n @keyup.enter=\"toggle\"\n @keyup.esc=\"toggle\"\n :aria-expanded=\"isOpen ? true : false\"\n tabindex=\"0\"\n ref=\"selector\"\n :aria-label=\"isOpen ? 'Close Dropdown' : 'Open Dropdown'\"\n class=\"\n w-full\n text-sm\n lg:text-base\n bg-white\n relative\n border border-grey-dark\n font-semibold\n py-6\n pl-10\n pr-6\n inline-flex\n items-center\n justify-between\n leading-none\n z-20\n \"\n :class=\"{disabled: !clickable}\"\n >\n {{ selected.label || `All ${options.label}` }}\n <svg\n class=\"transition-transform duration-300 ease-cb\"\n :class=\"[isOpen ? 'transform rotate-180 text-primary' : '']\"\n height=\"20\"\n width=\"10\"\n aria-hidden=\"true\"\n >\n <use xlink:href=\"#icon-arrow-down\"></use>\n </svg>\n </span>\n <ul\n class=\"\n w-full\n overflow-y-scroll\n bg-white\n border border-t-0\n lg:absolute\n z-20\n p-0\n relative\n top-0\n transition-all\n ease-cb\n duration-200\n \"\n ref=\"list\"\n :class=\"{ 'top-full visible h-57.5': isOpen, 'invisible h-0': !isOpen }\"\n >\n <li\n class=\"\n flex\n justify-between\n py-6\n px-10\n hover:text-white hover:bg-sky-blue\n duration-300\n transition\n ease-cb\n \"\n tabindex=\"0\"\n @keyup.enter=\"\n () => {\n clear(options);\n toggle();\n }\n \"\n @click=\"\n () => {\n clear(options);\n toggle();\n }\n \"\n >\n All {{ options.label }}\n </li>\n <li\n v-for=\"(option, i) in options.terms\"\n :key=\"option.ID\"\n tabindex=\"0\"\n @keyup.enter=\"\n () => {\n select(option);\n toggle();\n }\n \"\n @click=\"\n () => {\n select(option);\n toggle();\n }\n \"\n class=\"\n flex\n justify-between\n py-5.5\n px-10\n hover:text-white hover:bg-sky-blue\n transition\n duration-75\n ease-cb\n \"\n >\n <span v-html=\"option.label\"></span>\n </li>\n </ul>\n </div>\n </label>\n</template>\n\n<script>\nimport { ref, onMounted } from 'vue';\nimport { onClickOutside } from '@vueuse/core';\n\nexport default {\n emits: ['close', 'open', 'select', 'clear'],\n props: {\n selected: {\n default: () => ({}),\n required: true,\n type: Object,\n },\n options: {\n default: () => ({}),\n type: Object,\n required: true,\n },\n clickable: {\n default: () => (true),\n type: Boolean,\n required: false\n }\n },\n setup(props, { emit }) {\n const isOpen = ref(false);\n const target = ref(null);\n const selector = ref(null);\n const list = ref(null);\n\n function toggle() {\n if (props.clickable == true) {\n isOpen.value = !isOpen.value;\n }\n\n if (isOpen.value == false) {\n list.value.scrollTop = 0;\n }\n\n emit('toggled');\n }\n\n function select(option) {\n emit('select', option);\n }\n\n function clear(options) {\n emit('clear', options);\n }\n\n onMounted(() => {\n emit('passRef', selector.value);\n });\n\n return { isOpen, close, toggle, select, clear, target, selector, list };\n },\n watch: {\n options(newOptions, oldOptions) {\n if (newOptions.terms.length == 1) {\n this.select(newOptions.terms[0]);\n }\n },\n clickable(newVal, oldVal) {\n if (newVal) {\n if (this.options.terms.length == 1) {\n this.select(this.options.terms[0]);\n }\n }\n }\n }\n};\n</script>\n\n\n<style scoped>\n.disabled {\n cursor: not-allowed;\n}\n\n.disabled svg {\n visibility: hidden;\n}\n</style>\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-11.use[1]!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-11.use[2]!../../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Dropdown.vue?vue&type=style&index=0&id=5010e54a&scoped=true&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render } from \"./Dropdown.vue?vue&type=template&id=5010e54a&scoped=true\"\nimport script from \"./Dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./Dropdown.vue?vue&type=script&lang=js\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=5010e54a&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5010e54a\"]])\n\nexport default __exports__","// find country by iso 3\nexport const countriesByISO = {\n \"AGO\": \"Angola\",\n \"BEN\": \"Benin\",\n \"BWA\": \"Botswana\",\n \"BFA\": \"Burkina Faso\",\n \"BDI\": \"Burundi\",\n \"CPV\": \"Cabo Verde\",\n \"CMR\": \"Cameroon\",\n \"CAF\": \"Central African Republic\",\n \"TCD\": \"Chad\",\n \"COM\": \"Comoros\",\n \"CIV\": \"Côte d’Ivoire\",\n \"CUW\": \"Curacao\",\n \"COD\": \"Democratic Republic of the Congo\",\n \"DJI\": \"Djibouti\",\n \"GNQ\": \"Equatorial Guinea\",\n \"ERI\": \"Eritrea\",\n \"SWZ\": \"Eswatini\",\n \"ETH\": \"Ethiopia\",\n \"GAB\": \"Gabon\",\n \"GMB\": \"Gambia\",\n \"GHA\": \"Ghana\",\n \"GIN\": \"Guinea\",\n \"GNB\": \"Guinea-Bissau\",\n \"KEN\": \"Kenya\",\n \"LSO\": \"Lesotho\",\n \"LBR\": \"Liberia\",\n \"MDG\": \"Madagascar\",\n \"MWI\": \"Malawi\",\n \"MLI\": \"Mali\",\n \"MRT\": \"Mauritania\",\n \"MUS\": \"Mauritius\",\n \"MOZ\": \"Mozambique\",\n \"NAM\": \"Namibia\",\n \"NER\": \"Niger\",\n \"NGA\": \"Nigeria\",\n \"COG\": \"Republic of the Congo\",\n \"RWA\": \"Rwanda\",\n \"STP\": \"São Tomé and PrÃncipe\",\n \"SEN\": \"Senegal\",\n \"SYC\": \"Seychelles\",\n \"SLE\": \"Sierra Leone\",\n \"SOM\": \"Somalia\",\n \"ZAF\": \"South Africa\",\n \"SSD\": \"South Sudan\",\n \"SDN\": \"Sudan\",\n \"TZA\": \"Tanzania\",\n \"TGO\": \"Togo\",\n \"UGA\": \"Uganda\",\n \"ZMB\": \"Zambia\",\n \"ZWE\": \"Zimbabwe\",\n \"AUS\": \"Australia\",\n \"BRN\": \"Brunei\",\n \"MMR\": \"Burma\",\n \"KHM\": \"Cambodia\",\n \"CHN\": \"China\",\n \"FJI\": \"Fiji\",\n \"IDN\": \"Indonesia\",\n \"JPN\": \"Japan\",\n \"KIR\": \"Kiribati\",\n \"LAO\": \"Laos\",\n \"MYS\": \"Malaysia\",\n \"MHL\": \"Marshall Islands\",\n \"FSM\": \"Micronesia\",\n \"MNG\": \"Mongolia\",\n \"NRU\": \"Nauru\",\n \"NZL\": \"New Zealand\",\n \"PRK\": \"North Korea\",\n \"PLW\": \"Palau\",\n \"PNG\": \"Papua New Guinea\",\n \"PHL\": \"Philippines\",\n \"WSM\": \"Samoa\",\n \"SGP\": \"Singapore\",\n \"SLB\": \"Solomon Islands\",\n \"KOR\": \"South Korea\",\n \"TWN\": \"Taiwan\",\n \"THA\": \"Thailand\",\n \"TLS\": \"Timor-Leste\",\n \"TON\": \"Tonga\",\n \"TUV\": \"Tuvalu\",\n \"VUT\": \"Vanuatu\",\n \"VNM\": \"Vietnam\",\n \"ALB\": \"Albania\",\n \"AND\": \"Andorra\",\n \"ARM\": \"Armenia\",\n \"AUT\": \"Austria\",\n \"AZE\": \"Azerbaijan\",\n \"BLR\": \"Belarus\",\n \"BEL\": \"Belgium\",\n \"BIH\": \"Bosnia and Herzegovina\",\n \"BGR\": \"Bulgaria\",\n \"HRV\": \"Croatia\",\n \"CYP\": \"Cyprus\",\n \"CZE\": \"Czechia\",\n \"DNK\": \"Denmark\",\n \"EST\": \"Estonia\",\n \"FIN\": \"Finland\",\n \"FRA\": \"France\",\n \"GEO\": \"Georgia\",\n \"DEU\": \"Germany\",\n \"GRC\": \"Greece\",\n \"GRL\": \"Greenland\",\n \"VAT\": \"Holy See\",\n \"HUN\": \"Hungary\",\n \"ISL\": \"Iceland\",\n \"IRL\": \"Ireland\",\n \"ITA\": \"Italy\",\n \"RKS\": \"Kosovo\",\n \"LVA\": \"Latvia\",\n \"LIE\": \"Liechtenstein\",\n \"LTU\": \"Lithuania\",\n \"LUX\": \"Luxembourg\",\n \"MLT\": \"Malta\",\n \"MDA\": \"Moldova\",\n \"MCO\": \"Monaco\",\n \"MNE\": \"Montenegro\",\n \"NLD\": \"Netherlands\",\n \"MKD\": \"North Macedonia\",\n \"NOR\": \"Norway\",\n \"POL\": \"Poland\",\n \"PRT\": \"Portugal\",\n \"ROU\": \"Romania\",\n \"RUS\": \"Russia\",\n \"SMR\": \"San Marino\",\n \"SRB\": \"Serbia\",\n \"SVK\": \"Slovakia\",\n \"SVN\": \"Slovenia\",\n \"ESP\": \"Spain\",\n \"SWE\": \"Sweden\",\n \"CHE\": \"Switzerland\",\n \"TUR\": \"Turkiye\",\n \"UKR\": \"Ukraine\",\n \"GBR\": \"United Kingdom\",\n \"DZA\": \"Algeria\",\n \"BHR\": \"Bahrain\",\n \"EGY\": \"Egypt\",\n \"IRN\": \"Iran\",\n \"IRQ\": \"Iraq\",\n \"ISR\": \"Israel\",\n \"JOR\": \"Jordan\",\n \"KWT\": \"Kuwait\",\n \"LBN\": \"Lebanon\",\n \"LBY\": \"Libya\",\n \"MAR\": \"Morocco\",\n \"OMN\": \"Oman\",\n \"PSE\": \"Palestinian Territories\",\n \"QAT\": \"Qatar\",\n \"SAU\": \"Saudi Arabia\",\n \"SYR\": \"Syria\",\n \"TUN\": \"Tunisia\",\n \"ARE\": \"United Arab Emirates\",\n \"YEM\": \"Yemen\",\n \"AFG\": \"Afghanistan\",\n \"BGD\": \"Bangladesh\",\n \"BTN\": \"Bhutan\",\n \"IND\": \"India\",\n \"KAZ\": \"Kazakhstan\",\n \"KGZ\": \"Kyrgyzstan\",\n \"MDV\": \"Maldives\",\n \"NPL\": \"Nepal\",\n \"PAK\": \"Pakistan\",\n \"LKA\": \"Sri Lanka\",\n \"TJK\": \"Tajikistan\",\n \"TKM\": \"Turkmenistan\",\n \"UZB\": \"Uzbekistan\",\n \"ATG\": \"Antigua and Barbuda\",\n \"ARG\": \"Argentina\",\n \"BHS\": \"Bahamas\",\n \"BRB\": \"Barbados\",\n \"BLZ\": \"Belize\",\n \"BOL\": \"Bolivia\",\n \"BRA\": \"Brazil\",\n \"CAN\": \"Canada\",\n \"CHL\": \"Chile\",\n \"COL\": \"Colombia\",\n \"CRI\": \"Costa Rica\",\n \"CUB\": \"Cuba\",\n \"DMA\": \"Dominica\",\n \"DOM\": \"Dominican Republic\",\n \"ECU\": \"Ecuador\",\n \"SLV\": \"El Salvador\",\n \"GRD\": \"Grenada\",\n \"GTM\": \"Guatemala\",\n \"GUY\": \"Guyana\",\n \"HTI\": \"Haiti\",\n \"HND\": \"Honduras\",\n \"JAM\": \"Jamaica\",\n \"MEX\": \"Mexico\",\n \"NIC\": \"Nicaragua\",\n \"PAN\": \"Panama\",\n \"PRY\": \"Paraguay\",\n \"PER\": \"Peru\",\n \"KNA\": \"Saint Kitts and Nevis\",\n \"LCA\": \"Saint Lucia\",\n \"VCT\": \"Saint Vincent and the Grenadines\",\n \"SUR\": \"Suriname\",\n \"TTO\": \"Trinadad and Tobago\",\n \"URY\": \"Uruguay\",\n \"VEN\": \"Venezuela\"\n};\n\n// find DoS region by iso\nexport const regionsByISO = {\n \"AGO\": \"Africa\",\n \"BEN\": \"Africa\",\n \"BWA\": \"Africa\",\n \"BFA\": \"Africa\",\n \"BDI\": \"Africa\",\n \"CPV\": \"Africa\",\n \"CMR\": \"Africa\",\n \"CAF\": \"Africa\",\n \"TCD\": \"Africa\",\n \"COM\": \"Africa\",\n \"CIV\": \"Africa\",\n \"COD\": \"Africa\",\n \"DJI\": \"Africa\",\n \"GNQ\": \"Africa\",\n \"ERI\": \"Africa\",\n \"SWZ\": \"Africa\",\n \"ETH\": \"Africa\",\n \"GAB\": \"Africa\",\n \"GMB\": \"Africa\",\n \"GHA\": \"Africa\",\n \"GIN\": \"Africa\",\n \"GNB\": \"Africa\",\n \"KEN\": \"Africa\",\n \"LSO\": \"Africa\",\n \"LBR\": \"Africa\",\n \"MDG\": \"Africa\",\n \"MWI\": \"Africa\",\n \"MLI\": \"Africa\",\n \"MRT\": \"Africa\",\n \"MUS\": \"Africa\",\n \"MOZ\": \"Africa\",\n \"NAM\": \"Africa\",\n \"NER\": \"Africa\",\n \"NGA\": \"Africa\",\n \"COG\": \"Africa\",\n \"RWA\": \"Africa\",\n \"STP\": \"Africa\",\n \"SEN\": \"Africa\",\n \"SYC\": \"Africa\",\n \"SLE\": \"Africa\",\n \"SOM\": \"Africa\",\n \"ZAF\": \"Africa\",\n \"SSD\": \"Africa\",\n \"SDN\": \"Africa\",\n \"TZA\": \"Africa\",\n \"TGO\": \"Africa\",\n \"UGA\": \"Africa\",\n \"ZMB\": \"Africa\",\n \"ZWE\": \"Africa\",\n \"AUS\": \"East Asia and Pacific\",\n \"BRN\": \"East Asia and Pacific\",\n \"MMR\": \"East Asia and Pacific\",\n \"KHM\": \"East Asia and Pacific\",\n \"CHN\": \"East Asia and Pacific\",\n \"FJI\": \"East Asia and Pacific\",\n \"IDN\": \"East Asia and Pacific\",\n \"JPN\": \"East Asia and Pacific\",\n \"KIR\": \"East Asia and Pacific\",\n \"LAO\": \"East Asia and Pacific\",\n \"MYS\": \"East Asia and Pacific\",\n \"MHL\": \"East Asia and Pacific\",\n \"FSM\": \"East Asia and Pacific\",\n \"MNG\": \"East Asia and Pacific\",\n \"NRU\": \"East Asia and Pacific\",\n \"NZL\": \"East Asia and Pacific\",\n \"PRK\": \"East Asia and Pacific\",\n \"PLW\": \"East Asia and Pacific\",\n \"PNG\": \"East Asia and Pacific\",\n \"PHL\": \"East Asia and Pacific\",\n \"WSM\": \"East Asia and Pacific\",\n \"SGP\": \"East Asia and Pacific\",\n \"SLB\": \"East Asia and Pacific\",\n \"KOR\": \"East Asia and Pacific\",\n \"TWN\": \"East Asia and Pacific\",\n \"THA\": \"East Asia and Pacific\",\n \"TLS\": \"East Asia and Pacific\",\n \"TON\": \"East Asia and Pacific\",\n \"TUV\": \"East Asia and Pacific\",\n \"VUT\": \"East Asia and Pacific\",\n \"VNM\": \"East Asia and Pacific\",\n \"ALB\": \"Europe and Eurasia\",\n \"AND\": \"Europe and Eurasia\",\n \"ARM\": \"Europe and Eurasia\",\n \"AUT\": \"Europe and Eurasia\",\n \"AZE\": \"Europe and Eurasia\",\n \"BLR\": \"Europe and Eurasia\",\n \"BEL\": \"Europe and Eurasia\",\n \"BIH\": \"Europe and Eurasia\",\n \"BGR\": \"Europe and Eurasia\",\n \"HRV\": \"Europe and Eurasia\",\n \"CYP\": \"Europe and Eurasia\",\n \"CZE\": \"Europe and Eurasia\",\n \"DNK\": \"Europe and Eurasia\",\n \"EST\": \"Europe and Eurasia\",\n \"FIN\": \"Europe and Eurasia\",\n \"FRA\": \"Europe and Eurasia\",\n \"GEO\": \"Europe and Eurasia\",\n \"DEU\": \"Europe and Eurasia\",\n \"GRC\": \"Europe and Eurasia\",\n \"GRL\": \"Europe and Eurasia\",\n \"VAT\": \"Europe and Eurasia\",\n \"HUN\": \"Europe and Eurasia\",\n \"ISL\": \"Europe and Eurasia\",\n \"IRL\": \"Europe and Eurasia\",\n \"ITA\": \"Europe and Eurasia\",\n \"RKS\": \"Europe and Eurasia\",\n \"LVA\": \"Europe and Eurasia\",\n \"LIE\": \"Europe and Eurasia\",\n \"LTU\": \"Europe and Eurasia\",\n \"LUX\": \"Europe and Eurasia\",\n \"MLT\": \"Europe and Eurasia\",\n \"MDA\": \"Europe and Eurasia\",\n \"MCO\": \"Europe and Eurasia\",\n \"MNE\": \"Europe and Eurasia\",\n \"NLD\": \"Europe and Eurasia\",\n \"MKD\": \"Europe and Eurasia\",\n \"NOR\": \"Europe and Eurasia\",\n \"POL\": \"Europe and Eurasia\",\n \"PRT\": \"Europe and Eurasia\",\n \"ROU\": \"Europe and Eurasia\",\n \"RUS\": \"Europe and Eurasia\",\n \"SMR\": \"Europe and Eurasia\",\n \"SRB\": \"Europe and Eurasia\",\n \"SVK\": \"Europe and Eurasia\",\n \"SVN\": \"Europe and Eurasia\",\n \"ESP\": \"Europe and Eurasia\",\n \"SWE\": \"Europe and Eurasia\",\n \"CHE\": \"Europe and Eurasia\",\n \"TUR\": \"Europe and Eurasia\",\n \"UKR\": \"Europe and Eurasia\",\n \"GBR\": \"Europe and Eurasia\",\n \"DZA\": \"Near East and North Africa\",\n \"BHR\": \"Near East and North Africa\",\n \"EGY\": \"Near East and North Africa\",\n \"IRN\": \"Near East and North Africa\",\n \"IRQ\": \"Near East and North Africa\",\n \"ISR\": \"Near East and North Africa\",\n \"JOR\": \"Near East and North Africa\",\n \"KWT\": \"Near East and North Africa\",\n \"LBN\": \"Near East and North Africa\",\n \"LBY\": \"Near East and North Africa\",\n \"MAR\": \"Near East and North Africa\",\n \"OMN\": \"Near East and North Africa\",\n \"PSE\": \"Near East and North Africa\",\n \"QAT\": \"Near East and North Africa\",\n \"SAU\": \"Near East and North Africa\",\n \"SYR\": \"Near East and North Africa\",\n \"TUN\": \"Near East and North Africa\",\n \"ARE\": \"Near East and North Africa\",\n \"YEM\": \"Near East and North Africa\",\n \"AFG\": \"South and Central Asia\",\n \"BGD\": \"South and Central Asia\",\n \"BTN\": \"South and Central Asia\",\n \"IND\": \"South and Central Asia\",\n \"KAZ\": \"South and Central Asia\",\n \"KGZ\": \"South and Central Asia\",\n \"MDV\": \"South and Central Asia\",\n \"NPL\": \"South and Central Asia\",\n \"PAK\": \"South and Central Asia\",\n \"LKA\": \"South and Central Asia\",\n \"TJK\": \"South and Central Asia\",\n \"TKM\": \"South and Central Asia\",\n \"UZB\": \"South and Central Asia\",\n \"ATG\": \"Western Hemisphere\",\n \"ARG\": \"Western Hemisphere\",\n \"BHS\": \"Western Hemisphere\",\n \"BRB\": \"Western Hemisphere\",\n \"BLZ\": \"Western Hemisphere\",\n \"BOL\": \"Western Hemisphere\",\n \"BRA\": \"Western Hemisphere\",\n \"CAN\": \"Western Hemisphere\",\n \"CHL\": \"Western Hemisphere\",\n \"COL\": \"Western Hemisphere\",\n \"CRI\": \"Western Hemisphere\",\n \"CUB\": \"Western Hemisphere\",\n \"CUW\": \"Western Hemisphere\",\n \"DMA\": \"Western Hemisphere\",\n \"DOM\": \"Western Hemisphere\",\n \"ECU\": \"Western Hemisphere\",\n \"SLV\": \"Western Hemisphere\",\n \"GRD\": \"Western Hemisphere\",\n \"GTM\": \"Western Hemisphere\",\n \"GUY\": \"Western Hemisphere\",\n \"HTI\": \"Western Hemisphere\",\n \"HND\": \"Western Hemisphere\",\n \"JAM\": \"Western Hemisphere\",\n \"MEX\": \"Western Hemisphere\",\n \"NIC\": \"Western Hemisphere\",\n \"PAN\": \"Western Hemisphere\",\n \"PRY\": \"Western Hemisphere\",\n \"PER\": \"Western Hemisphere\",\n \"KNA\": \"Western Hemisphere\",\n \"LCA\": \"Western Hemisphere\",\n \"VCT\": \"Western Hemisphere\",\n \"SUR\": \"Western Hemisphere\",\n \"TTO\": \"Western Hemisphere\",\n \"URY\": \"Western Hemisphere\",\n \"VEN\": \"Western Hemisphere\"\n};\n\n// region iso 3 arrays\nexport const AfricaISOs = [\"AGO\", \"BEN\", \"BWA\", \"BFA\", \"BDI\", \"CPV\", \"CMR\", \"CAF\", \"TCD\", \"COM\", \"CIV\", \"COD\", \"DJI\", \"GNQ\", \"ERI\", \"SWZ\", \"ETH\", \"GAB\", \"GMB\", \"GHA\", \"GIN\", \"GNB\", \"KEN\", \"LSO\", \"LBR\", \"MDG\", \"MWI\", \"MLI\", \"MRT\", \"MUS\", \"MOZ\", \"NAM\", \"NER\", \"NGA\", \"COG\", \"RWA\", \"STP\", \"SEN\", \"SYC\", \"SLE\", \"SOM\", \"ZAF\", \"SSD\", \"SDN\", \"TZA\", \"TGO\", \"UGA\", \"ZMB\", \"ZWE\"];\nexport const EastAsiaAndPacificISOs = [\"AUS\", \"BRN\", \"MMR\", \"KHM\", \"CHN\", \"FJI\", \"IDN\", \"JPN\", \"KIR\", \"LAO\", \"MYS\", \"MHL\", \"FSM\", \"MNG\", \"NRU\", \"NZL\", \"PRK\", \"PLW\", \"PNG\", \"PHL\", \"WSM\", \"SGP\", \"SLB\", \"KOR\", \"TWN\", \"THA\", \"TLS\", \"TON\", \"TUV\", \"VUT\", \"VNM\"];\nexport const EuropeAndEurasiaISOs = [\"ALB\", \"AND\", \"ARM\", \"AUT\", \"AZE\", \"BLR\", \"BEL\", \"BIH\", \"BGR\", \"HRV\", \"CYP\", \"CZE\", \"DNK\", \"EST\", \"FIN\", \"FRA\", \"GEO\", \"GRL\", \"DEU\", \"GRC\", \"VAT\", \"HUN\", \"ISL\", \"IRL\", \"ITA\", \"RKS\", \"LVA\", \"LIE\", \"LTU\", \"LUX\", \"MLT\", \"MDA\", \"MCO\", \"MNE\", \"NLD\", \"MKD\", \"NOR\", \"POL\", \"PRT\", \"ROU\", \"RUS\", \"SMR\", \"SRB\", \"SVK\", \"SVN\", \"ESP\", \"SWE\", \"CHE\", \"TUR\", \"UKR\", \"GBR\"];\nexport const NearEastAndNorthAfricaISOs = [\"DZA\", \"BHR\", \"EGY\", \"IRN\", \"IRQ\", \"ISR\", \"JOR\", \"KWT\", \"LBN\", \"LBY\", \"MAR\", \"OMN\", \"PSE\", \"QAT\", \"SAU\", \"SYR\", \"TUN\", \"ARE\", \"YEM\"];\nexport const SouthAndCentralAsiaISOs = [\"AFG\", \"BGD\", \"BTN\", \"IND\", \"KAZ\", \"KGZ\", \"MDV\", \"NPL\", \"PAK\", \"LKA\", \"TJK\", \"TKM\", \"UZB\"];\nexport const WesternHemisphereISOs = [ \"ATG\", \"ARG\", \"BHS\", \"BRB\", \"BLZ\", \"BOL\", \"BRA\", \"CAN\", \"CHL\", \"COL\", \"CRI\", \"CUB\", \"CUW\", \"DMA\", \"DOM\", \"ECU\", \"SLV\", \"GRD\", \"GTM\", \"GUY\", \"HTI\", \"HND\", \"JAM\", \"MEX\", \"NIC\", \"PAN\", \"PRY\", \"PER\", \"KNA\", \"LCA\", \"VCT\", \"SUR\", \"TTO\", \"URY\", \"VEN\"];\n\n// find wp region metadata by region\nexport const regionMeta = {\n \"Africa\": {\n ID: 22,\n label: \"Africa\",\n slug: \"africa\"\n },\n \"East Asia and Pacific\": {\n ID: 27,\n label: \"East Asia and Pacific\",\n slug: \"east-asia-and-pacific\"\n },\n \"Europe and Eurasia\" : {\n ID: 26,\n label: \"Europe and Eurasia\",\n slug: \"europe-and-eurasia\"\n },\n \"Near East and North Africa\": {\n ID: 25,\n label: \"Near East and North Africa\",\n slug: \"near-east-and-north-africa\"\n },\n \"South and Central Asia\": {\n ID: 24,\n label: \"South and Central Asia\",\n slug: \"south-and-central-asia\"\n },\n \"Western Hemisphere\": {\n ID: 23,\n label: \"Western Hemisphere\",\n slug: \"western-hemisphere\"\n }\n};\n","<template>\n <nav class=\"flex items-center\" v-if=\"hasPages\">\n <div v-if=\"!isFirstPage\" class=\"flex mr-4\">\n <button\n @click=\"onPrev\"\n aria-label=\"Previous\"\n class=\"\n rounded-full\n border-sky-blue-200 border-2\n inline-flex\n items-center\n justify-center\n text-sky-blue-200\n hover:text-blue hover:border-blue\n w-12.5\n h-12.5\n transition-colors\n ease-cb\n \"\n >\n <svg width=\"16\" height=\"10\">\n <use xlink:href=\"#icon-arrow-left\"></use>\n </svg>\n </button>\n </div>\n <ul class=\"inline-flex pl-0\">\n <li\n v-for=\"n in range\"\n :key=\"n\"\n class=\"flex px-2.5 py-1.5 mx-3 cursor-pointer text-blue leading-none\"\n @click=\"pageChange(n)\"\n :class=\"{ [`bg-${activeColor}`]: n == current }\"\n >\n {{ n }}\n </li>\n </ul>\n\n <div v-if=\"!isLastPage\" class=\"flex ml-4\">\n <button\n @click=\"onNext\"\n aria-label=\"Next\"\n class=\"\n rounded-full\n border-sky-blue-200 border-2\n inline-flex\n items-center\n justify-center\n text-sky-blue-200\n hover:text-blue hover:border-blue\n h-12.5\n w-12.5\n transition-colors\n ease-cb\n \"\n >\n <svg width=\"16\" height=\"10\">\n <use xlink:href=\"#icon-arrow-right\"></use>\n </svg>\n </button>\n </div>\n </nav>\n</template>\n\n<script>\nexport default {\n name: 'pagination',\n props: {\n max: {\n default: 1,\n type: Number,\n required: true,\n },\n current: {\n default: 1,\n type: Number,\n required: true,\n },\n threshold: {\n default: 3,\n type: Number,\n },\n limit: {\n default: 8,\n type: Number,\n },\n activeColor: {\n type: String,\n default: 'bg-white',\n },\n },\n methods: {\n onNext() {\n this.pageChange(this.current + 1);\n },\n onPrev() {\n this.pageChange(this.current - 1);\n },\n pageChange(page) {\n if (page !== this.current) {\n this.$emit('page-change', page);\n }\n },\n },\n computed: {\n range() {\n const length = this.endIndex - this.startIndex + 1;\n const pages = Array.from({ length }, (v, i) => i + this.startIndex);\n\n return pages;\n },\n startIndex() {\n let start = this.current - this.threshold;\n\n if (start + this.limit > this.max) {\n start -= start - (this.max - this.limit + 1);\n }\n\n return start < 1 ? 1 : start;\n },\n endIndex() {\n let end = this.current + this.threshold;\n\n if (this.limit - end > 0) {\n end += this.limit - end;\n }\n\n return end > this.max ? this.max : end;\n },\n isLastPage() {\n return this.current === this.max;\n },\n isFirstPage() {\n return this.current === 1;\n },\n hasPages() {\n return this.max > 1;\n },\n },\n};\n</script>\n","import { render } from \"./Pagination.vue?vue&type=template&id=541280fb\"\nimport script from \"./Pagination.vue?vue&type=script&lang=js\"\nexport * from \"./Pagination.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \"svg[data-v-030432b0]{display:block;margin:auto}.v-enter-active[data-v-030432b0],.v-leave-active[data-v-030432b0]{transition:opacity .5s ease}.v-enter-from[data-v-030432b0],.v-leave-to[data-v-030432b0]{opacity:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./resources/scripts/vue/components/Loader.vue\"],\"names\":[],\"mappings\":\"AAwHE,qBACE,aAAc,CACd,WACF,CAEA,kEAEE,2BACF,CAEA,4DAEE,SACF\",\"sourcesContent\":[\"<template>\\n <div :class=\\\"block ? 'container mx-auto mb-7' : ''\\\" :style=\\\"style\\\">\\n <Transition>\\n <svg width=\\\"82%\\\" height=\\\"100%\\\" viewBox=\\\"0 0 123 150\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" v-if=\\\"showAnimation\\\">\\n <rect :width=\\\"width1\\\" height=\\\"31.98\\\" :x=\\\"x1\\\" :fill=\\\"barColor\\\" style=\\\"transition: all 1.15s ease-out\\\"/>\\n <rect :x=\\\"x2\\\" y=\\\"55.5\\\" :width=\\\"width2\\\" height=\\\"31.98\\\" :fill=\\\"barColor\\\" style=\\\"transition: all 1.15s ease-out\\\"/>\\n <rect :x=\\\"x3\\\" y=\\\"111\\\" :width=\\\"width3\\\" height=\\\"31.98\\\" :fill=\\\"barColor\\\" style=\\\"transition: all 1.15s ease-out\\\"/>\\n </svg>\\n </Transition>\\n </div>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: 'Loader',\\n props: {\\n color: {\\n type: String,\\n default: 'blue'\\n },\\n height: {\\n type: String,\\n default: '100px'\\n },\\n width: {\\n type: String,\\n default: '100px'\\n },\\n delay: {\\n type: Number,\\n default: '0'\\n },\\n block: {\\n type: Boolean,\\n default: false\\n }\\n },\\n data() {\\n\\t\\treturn {\\n\\t\\t\\twidth1: '123',\\n width2: '46.74',\\n width3: '46.74',\\n x1: '0',\\n x2: '76.26',\\n x3: '76.26',\\n loadingTime: 0,\\n showAnimation: false\\n\\t\\t}\\n\\t},\\n computed: {\\n barColor() {\\n switch (this.color) {\\n case 'blue':\\n return '#1B4579';\\n break;\\n case 'red':\\n return '#8F311E';\\n break;\\n case 'purple':\\n return '#602662';\\n break;\\n case 'white':\\n return '#FFFFFF';\\n break;\\n }\\n },\\n style() {\\n return `height: ${this.height}; min-height: ${this.height}; width: ${this.width}`;\\n }\\n },\\n\\tmethods: {\\n\\t\\tanimate() {\\n let scope = this;\\n\\n setInterval(function() {\\n if (scope.width1 == '123') {\\n scope.x1 = '76.26';\\n scope.x2 = '0';\\n scope.width1 = '46.74';\\n scope.width2 = '123';\\n } else if (scope.width2 == '123') {\\n scope.x2 = '76.26';\\n scope.x3 = '0';\\n scope.width2 = '46.74';\\n scope.width3 = '123';\\n } else {\\n scope.x3 = '76.26';\\n scope.x1 = '0';\\n scope.width3 = '46.74';\\n scope.width1 = '123';\\n }\\n }, 1300, scope);\\n },\\n markTime() {\\n let scope = this;\\n\\n let delay = setInterval(function() {\\n scope.loadingTime += 100;\\n\\n if (scope.loadingTime > scope.delay) {\\n scope.showAnimation = true;\\n scope.animate();\\n clearInterval(delay);\\n }\\n }, 100, scope);\\n }\\n\\t},\\n mounted() {\\n if (this.delay > 0) {\\n this.markTime();\\n } else {\\n this.showAnimation = true;\\n this.animate();\\n }\\n }\\n}\\n</script>\\n\\n\\n<style scoped>\\n svg {\\n display: block;\\n margin: auto;\\n }\\n\\n .v-enter-active,\\n .v-leave-active {\\n transition: opacity 0.5s ease;\\n }\\n\\n .v-enter-from,\\n .v-leave-to {\\n opacity: 0;\\n }\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import { ref, computed, onMounted } from 'vue';\nimport debounce from 'lodash.debounce';\n\nexport default (endpoint, params, paginate = false, perPage = 15) => {\n const DEFAULT_PAGE = paginate ? 1 : 0;\n const search = ref('');\n const maxPages = ref(1);\n const page = ref(DEFAULT_PAGE);\n const isLoading = ref(false);\n const totalPosts = ref(null);\n const resources = ref([]);\n\n const debouncedLoad = debounce(load);\n const debouncedReset = debounce(reset);\n\n onMounted(() => {\n debouncedLoad();\n });\n\n const hasMore = computed(() => page.value < maxPages.value);\n\n const query = computed(() =>\n Object.assign(\n {},\n {\n page: paginate ? page.value : page.value + 1,\n search: search.value,\n terms: JSON.stringify(params.value),\n }\n )\n );\n\n const queryString = computed(() => new URLSearchParams(query.value));\n\n function load(toPage) {\n isLoading.value = true;\n if (toPage) {\n page.value = toPage;\n }\n\n fetch(`${endpoint}?${queryString.value}&per_page=${perPage}`)\n .then((res) => res.json())\n .then((res) => {\n resources.value = paginate\n ? res.data\n : [...resources.value, ...res.data];\n maxPages.value = res.max_pages;\n page.value = res.current_page;\n totalPosts.value = res.total_posts;\n isLoading.value = false;\n });\n }\n\n function reset() {\n page.value = DEFAULT_PAGE;\n maxPages.value = 1;\n resources.value = [];\n load();\n }\n\n function setSearch(value) {\n search.value = value;\n }\n\n return {\n search,\n load,\n reset: debouncedReset,\n hasMore,\n totalPosts,\n resources,\n setSearch,\n page,\n maxPages,\n isLoading,\n };\n};\n","<template>\n <div class=\"lg:flex-1 w-full lg:w-auto\">\n <label class=\"uppercase tracking-widest font-bold\">\n <span aria-hidden=\"true\" class=\"mb-2.5 block text-sm\" id=\"searchLabel\">Search</span>\n <div class=\"relative\">\n <input\n type=\"text\"\n placeholder=\"Search Keywords\"\n aria-labelledby=\"searchLabel\"\n class=\"\n text-grey-dark\n placeholder-grey-dark\n py-5.5\n border border-grey-dark\n w-full\n px-10\n font-semibold\n text-sm\n \"\n @input=\"$emit('update:modelValue', $event.target.value)\"\n @keydown.enter=\"submit\"\n :value=\"modelValue\"\n />\n <button aria-label=\"Submit Search Query\" tabindex=\"-1\" @click=\"submit\">\n <svg\n width=\"16\"\n height=\"16\"\n class=\"\n text-pale-50\n absolute\n right-6\n top-1/2\n -translate-y-1/2\n transform\n \"\n aria-hidden=\"true\"\n >\n <use xlink:href=\"#icon-search\"></use>\n </svg>\n </button>\n </div>\n </label>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: {\n type: String,\n default: '',\n required: true,\n },\n },\n emits: ['submit', 'update:modelValue'],\n setup(props, { emit }) {\n function submit() {\n emit('submit');\n }\n return {\n submit,\n };\n },\n};\n</script>\n","import { render } from \"./SearchBar.vue?vue&type=template&id=9eeec808\"\nimport script from \"./SearchBar.vue?vue&type=script&lang=js\"\nexport * from \"./SearchBar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div>\n <div class=\"lg:mb-17.5 mb-7 container lg:max-w-352\">\n <div class=\"lg:-mx-4.5 lg:flex space-y-6 lg:space-y-0 mb-6 lg:mb-0\">\n <div\n class=\"lg:w-1/3 lg:px-4.5 mb-6\"\n v-if=\"filterGroups.length > 0\"\n >\n <dropdown\n :options=\"limitedRegion || filterGroups[2]\"\n :selected=\"getActiveFilter(filterGroups[2])\"\n :clickable=\"!isLoading\"\n @select=\"\n toggleFilter($event, applyFilters);\n limitOptions(filterGroups[1], $event);\n updateParams($event);\n \"\n @clear=\"\n clearFilters(filterGroups[2], applyFilters);\n clearLimit('country');\n clearParam('region');\n \"\n />\n </div>\n <div\n class=\"lg:w-1/3 lg:px-4.5 mb-6\"\n v-if=\"filterGroups.length > 0\"\n >\n <dropdown\n :options=\"limitedCountries || filterGroups[1]\"\n :selected=\"getActiveFilter(filterGroups[1])\"\n :clickable=\"!isLoading\"\n @select=\"\n toggleFilter($event, applyFilters);\n limitOptions(filterGroups[2], $event);\n updateParams($event);\n \"\n @clear=\"\n clearFilters(filterGroups[1], applyFilters);\n clearLimit('region');\n clearParam('country');\n \"\n />\n </div>\n <div\n class=\"lg:w-1/3 lg:px-4.5 mb-6\"\n v-if=\"filterGroups.length > 0\"\n >\n <dropdown\n :options=\"limitedParticipantType || filterGroups[0]\"\n :selected=\"getActiveFilter(filterGroups[0])\"\n :clickable=\"!isLoading\"\n @select=\"\n toggleFilter($event, applyFilters)\n updateParams($event);\n \"\n @clear=\"\n clearFilters(filterGroups[0], applyFilters)\n clearParam('participant_type');\n \"\n />\n </div>\n <div\n class=\"lg:w-1/3 lg:px-4.5 mb-6\"\n v-if=\"filterGroups.length > 0\"\n >\n <dropdown\n :options=\"filterGroups[3]\"\n :selected=\"getActiveFilter(filterGroups[3])\"\n :clickable=\"!isLoading\"\n @select=\"\n toggleFilter($event, applyFilters)\n updateParams($event);\n \"\n @clear=\"\n clearFilters(filterGroups[3], applyFilters)\n clearParam('project_type');\n \"\n />\n </div>\n </div>\n <div class=\"lg:-mx-4.5 lg:flex space-y-6 lg:space-y-0\">\n <search-bar\n v-model=\"search\"\n @submit=\"load\"\n class=\"lg:px-4.5\"\n ></search-bar>\n <div class=\"lg:px-4.5 lg:w-1/4 flex\">\n <button\n class=\"\n bg-sky-blue \n hover:bg-sky-blue-300 \n py-5.5 \n px-10 \n text-sm \n mt-8\n uppercase \n block \n text-center \n tracking-widest \n text-white \n duration-450 \n ease-cb \n transition \n font-bold\n w-full\n \"\n @click=\"\n clearFilters(null, applyFilters);\n clearParam('all');\n reset();\n \"\n >\n Clear\n </button>\n </div>\n </div>\n </div>\n <h5\n class=\"text-center mb-7\"\n v-if=\"resources.length > 0 && !isLoading\"\n >\n {{resources.length}}\n <span v-if=\"resources.length == 1\">story</span>\n <span v-else>stories</span>\n </h5>\n <Loader v-if=\"isLoading\" height=\"150px\" width=\"150px\" :delay=\"0\" :block=\"true\" />\n <div class=\"relative pb-20\" ref=\"grid\">\n <figure\n class=\"bg-blue-light absolute inset-0 z-0 top-75 lg:block hidden\"\n ></figure>\n <div class=\"container lg:max-w-352 relative\">\n <div v-if=\"pageResources && !isLoading\" class=\"lg:flex lg:-mx-4.5 flex-wrap\">\n <a\n v-for=\"post in pageResources\"\n :key=\"post.ID\"\n class=\"lg:w-1/3 lg:px-4.5 group lg:mb-17.5 mb-10 flex flex-col\"\n :href=\"post.link\"\n aria-label=\"Read More\"\n >\n <figure>\n <img\n :src=\"\n post.grid_image\n ? post.grid_image.url\n : post.featured_image.post_thumb[0]\n \"\n :alt=\"post.grid_image ? post.grid_image.alt : ''\"\n v-if=\"post.grid_image || post.featured_image.post_thumb\"\n width=\"700\" height=\"700\"\n class=\"w-full object-cover story-grid-image\"\n />\n </figure>\n <div class=\"bg-white px-10 py-7.5 h-full\">\n <span v-if=\"post.date\" class=\"font-bold text-sm mb-2 block\">\n {{ formatDate(post.date) }}\n </span>\n <span\n class=\"\n py-0.5\n px-2.5\n text-sky-blue-300\n bg-blue-light\n my-5.5\n mt-2\n inline-block\n text-xs\n \"\n v-if=\"getCountry(post.terms)\"\n >\n {{ getCountry(post.terms).label }}\n </span>\n <h4 v-html=\"post.title\" class=\"group-hover:text-sky-blue\"></h4>\n </div>\n </a>\n </div>\n <div\n class=\"text-center\"\n v-if=\"!isLoading && !resources.length\"\n v-html=\"emptyMessage\"\n ></div>\n <div class=\"flex justify-center\">\n <pagination\n :max=\"maxPages\"\n :current=\"page\"\n class=\"flex justify-center\"\n v-if=\"!isLoading\"\n @page-change=\"\n changePage($event);\n scrollToGrid();\n \"\n :limit=\"pageRange\"\n :threshold=\"threshold\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, onMounted, computed } from 'vue';\nimport debounce from 'lodash.debounce';\nimport useFetch from '../composables/useFetch';\nimport useFilters from '../composables/useFilters';\nimport { regionsByISO, AfricaISOs, EastAsiaAndPacificISOs, EuropeAndEurasiaISOs, NearEastAndNorthAfricaISOs, SouthAndCentralAsiaISOs, WesternHemisphereISOs } from '../../lib/regions';\nimport SearchBar from '../components/SearchBar.vue';\nimport Dropdown from '../components/Dropdown.vue';\nimport formatDate from '../../util/formatDate';\nimport Pagination from '../components/Pagination.vue';\nimport Loader from '../components/Loader.vue';\n\nexport default {\n props: {\n postEndpoint: {\n type: String,\n default: '',\n required: true,\n },\n termEndpoint: {\n type: String,\n default: '',\n required: true,\n },\n preFilter: {\n type: Array,\n default: () => [],\n },\n emptyMessage: {\n type: String,\n default: '',\n },\n },\n components: {\n SearchBar,\n Dropdown,\n Pagination,\n Loader\n },\n setup(props) {\n const pageRange = ref(8);\n const threshold = ref(4);\n const grid = ref(null);\n const isLoading = ref(false);\n const resources = ref([]);\n const stories = ref([]);\n const search = ref('');\n const page = ref(0);\n const maxPages = ref(1);\n const debouncedLoad = debounce(load);\n const limitedRegion = ref(null);\n const limitedCountries = ref(null);\n const limitedParticipantType = ref(null);\n const limitedProjectType = ref(null);\n\n const {\n selected,\n filterGroups,\n isActiveFilter,\n toggleFilter,\n getActiveFilter,\n removeActiveFilter,\n clearFilters,\n } = useFilters(props.termEndpoint, ref(props.preFilter), limitOptions, applyFilters);\n\n onMounted(() => {\n if (props.preFilter.length) {\n scrollToGrid();\n }\n\n responsivePageNumbers();\n\n window.addEventListener('resize', () => {\n responsivePageNumbers();\n });\n\n debouncedLoad();\n });\n\n function responsivePageNumbers() {\n if (window.innerWidth < 768) {\n pageRange.value = 4;\n threshold.value = 1;\n } else {\n pageRange.value = 8;\n threshold.value = 4;\n }\n }\n\n function getCountry(terms) {\n return terms.find((term) => term.taxonomy == 'story-country');\n }\n\n function scrollToGrid() {\n window.scroll({\n behavior: 'smooth',\n top: grid.value.offsetTop,\n });\n }\n\n const pageResources = computed(() => {\n if (resources.value.length > 0) {\n if (maxPages.value == page.value) {\n return resources.value.slice((page.value - 1) * 15);\n } else {\n return resources.value.slice(page.value == 1 ? 0 : (page.value - 1) * 15, page.value == 1 ? 15 : page.value * 15);\n }\n } else {\n return [];\n }\n });\n\n const hasMore = computed(() => page.value < maxPages.value);\n\n const query = computed(() =>\n Object.assign(\n {},\n {\n search: search.value,\n }\n )\n );\n\n const queryString = computed(() => new URLSearchParams(query.value));\n\n function load() {\n isLoading.value = true;\n fetch(`${props.postEndpoint}?${queryString.value}&per_page=10000`)\n .then((res) => res.json())\n .then((res) => {\n stories.value = res.data;\n resources.value = res.data;\n\n maxPages.value = resources.value.length / 15;\n changePage(1);\n isLoading.value = false;\n\n applyFilters();\n });\n }\n\n function applyFilters() {\n isLoading.value = true;\n\n resources.value = [];\n\n let filterIDs = selected.value.map((param) => {\n return param.ID;\n });\n\n if (stories.value.length > 0 && filterIDs.length > 0) {\n for (let i=0; i<stories.value.length; i++) {\n let story = stories.value[i];\n\n let tests = filterIDs.map((ID) => {return false});\n\n for (let k=0; k<story.terms.length; k++) {\n let tag = story.terms[k].ID;\n\n let index = filterIDs.indexOf(tag);\n\n if (index !== -1) {\n tests[index] = true;\n }\n }\n\n if (tests.indexOf(false) == -1) {\n resources.value.push(story);\n }\n }\n } else {\n resources.value = stories.value;\n }\n\n maxPages.value = resources.value.length / 15;\n changePage(1);\n\n isLoading.value = false;\n }\n\n function changePage(toPage) {\n isLoading.value = true;\n\n if (toPage) {\n page.value = toPage;\n }\n\n isLoading.value = false;\n }\n\n function reset() {\n search.value = '';\n clearLimit('all');\n load();\n }\n\n function updateParams(event) {\n let searchParams = new URLSearchParams(window.location.search);\n\n switch(event.taxonomy) {\n case \"story-region\":\n searchParams.set(\"region\", `${event.ID}`);\n break;\n case \"story-country\":\n searchParams.set(\"country\", `${event.ID}`);\n break;\n case \"participant-type\":\n searchParams.set(\"participant_type\", `${event.ID}`);\n break;\n case \"story-type\":\n searchParams.set(\"project_type\", `${event.ID}`);\n break;\n }\n\n let newRelativePathQuery = window.location.pathname + '?' + searchParams.toString();\n history.pushState(null, '', newRelativePathQuery);\n }\n\n function clearParam(param) {\n let searchParams = new URLSearchParams(window.location.search);\n\n switch(param) {\n case \"region\":\n searchParams.delete(\"region\");\n break;\n case \"country\":\n searchParams.delete(\"country\");\n break;\n case \"participant_type\":\n searchParams.delete(\"participant_type\");\n break;\n case \"project_type\":\n searchParams.delete(\"project_type\");\n break;\n case \"all\":\n searchParams.delete(\"region\");\n searchParams.delete(\"country\");\n searchParams.delete(\"participant_type\");\n searchParams.delete(\"project_type\");\n break;\n }\n\n let newRelativePathQuery = window.location.pathname + '?' + searchParams.toString();\n history.pushState(null, '', newRelativePathQuery);\n }\n\n function clearLimit(scope) {\n if (scope == 'region' || scope == 'all') {\n limitedRegion.value = null;\n }\n\n if (scope == 'country' || scope == 'all') {\n limitedCountries.value = null;\n }\n }\n\n function limitOptions(listToLimit, event) {\n let filteredList = [];\n\n switch(event.taxonomy) {\n case \"story-region\":\n let relatedCountries = [];\n switch (event.label) {\n case 'Africa':\n relatedCountries = AfricaISOs;\n break;\n case 'East Asia and Pacific':\n relatedCountries = EastAsiaAndPacificISOs;\n break;\n case 'Europe and Eurasia':\n relatedCountries = EuropeAndEurasiaISOs;\n break;\n case 'Near East and North Africa':\n relatedCountries = NearEastAndNorthAfricaISOs;\n break;\n case 'South and Central Asia':\n relatedCountries = SouthAndCentralAsiaISOs;\n break;\n case 'Western Hemisphere':\n relatedCountries = WesternHemisphereISOs;\n break;\n }\n\n filteredList = listToLimit.terms.filter((country) => {\n return relatedCountries.indexOf(country.slug.toUpperCase()) !== -1;\n });\n\n limitedCountries.value = {\n label: listToLimit.label,\n slug: listToLimit.slug,\n terms: filteredList\n };\n break;\n case \"story-country\":\n let relatedRegion = regionsByISO[event.slug.toUpperCase()];\n\n filteredList = listToLimit.terms.filter((region) => {\n return region.label == relatedRegion;\n });\n\n limitedRegion.value = {\n label: listToLimit.label,\n slug: listToLimit.slug,\n terms: filteredList\n };\n break;\n case \"participant-type\":\n let participantType = listToLimit.terms.filter((participantType) => {\n return participantType.label == event.label\n });\n\n limitedParticipantType.value = {\n label: listToLimit.label,\n slug: listToLimit.slug,\n terms: participantType\n }\n break;\n case \"story-type\":\n let projectType = listToLimit.terms.filter((projectType) => {\n return projectType.label == event.label\n });\n\n limitedProjectType.value = {\n label: listToLimit.label,\n slug: listToLimit.slug,\n terms: projectType\n }\n break;\n }\n }\n\n return {\n load,\n reset,\n hasMore,\n isLoading,\n resources,\n search,\n page,\n maxPages,\n filterGroups,\n isActiveFilter,\n toggleFilter,\n getActiveFilter,\n removeActiveFilter,\n clearFilters,\n formatDate,\n getCountry,\n scrollToGrid,\n grid,\n threshold,\n pageRange,\n pageResources,\n changePage,\n applyFilters,\n limitOptions,\n limitedCountries,\n limitedRegion,\n limitedParticipantType,\n limitedProjectType,\n clearLimit,\n updateParams,\n clearParam\n };\n },\n};\n</script>\n","import { render } from \"./StoryGrid.vue?vue&type=template&id=934ee628\"\nimport script from \"./StoryGrid.vue?vue&type=script&lang=js\"\nexport * from \"./StoryGrid.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue';\nimport StoryGrid from './components/StoryGrid.vue';\n\nconst app = createApp({\n components: {\n StoryGrid,\n },\n});\n\napp.mount('.story-grid');\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".disabled[data-v-5010e54a]{cursor:not-allowed}.disabled svg[data-v-5010e54a]{visibility:hidden}\", \"\",{\"version\":3,\"sources\":[\"webpack://./resources/scripts/vue/components/Dropdown.vue\"],\"names\":[],\"mappings\":\"AAwMA,2BACI,kBACJ,CAEA,+BACE,iBACF\",\"sourcesContent\":[\"<template>\\n <label class=\\\"relative\\\">\\n <span\\n class=\\\"uppercase tracking-widest font-bold block text-sm mb-2.5\\\"\\n aria-hidden=\\\"true\\\"\\n v-html=\\\"options.label\\\"\\n >\\n </span>\\n <div class=\\\"relative cursor-pointer z-10\\\" ref=\\\"target\\\">\\n <span\\n @click=\\\"toggle\\\"\\n @keyup.enter=\\\"toggle\\\"\\n @keyup.esc=\\\"toggle\\\"\\n :aria-expanded=\\\"isOpen ? true : false\\\"\\n tabindex=\\\"0\\\"\\n ref=\\\"selector\\\"\\n :aria-label=\\\"isOpen ? 'Close Dropdown' : 'Open Dropdown'\\\"\\n class=\\\"\\n w-full\\n text-sm\\n lg:text-base\\n bg-white\\n relative\\n border border-grey-dark\\n font-semibold\\n py-6\\n pl-10\\n pr-6\\n inline-flex\\n items-center\\n justify-between\\n leading-none\\n z-20\\n \\\"\\n :class=\\\"{disabled: !clickable}\\\"\\n >\\n {{ selected.label || `All ${options.label}` }}\\n <svg\\n class=\\\"transition-transform duration-300 ease-cb\\\"\\n :class=\\\"[isOpen ? 'transform rotate-180 text-primary' : '']\\\"\\n height=\\\"20\\\"\\n width=\\\"10\\\"\\n aria-hidden=\\\"true\\\"\\n >\\n <use xlink:href=\\\"#icon-arrow-down\\\"></use>\\n </svg>\\n </span>\\n <ul\\n class=\\\"\\n w-full\\n overflow-y-scroll\\n bg-white\\n border border-t-0\\n lg:absolute\\n z-20\\n p-0\\n relative\\n top-0\\n transition-all\\n ease-cb\\n duration-200\\n \\\"\\n ref=\\\"list\\\"\\n :class=\\\"{ 'top-full visible h-57.5': isOpen, 'invisible h-0': !isOpen }\\\"\\n >\\n <li\\n class=\\\"\\n flex\\n justify-between\\n py-6\\n px-10\\n hover:text-white hover:bg-sky-blue\\n duration-300\\n transition\\n ease-cb\\n \\\"\\n tabindex=\\\"0\\\"\\n @keyup.enter=\\\"\\n () => {\\n clear(options);\\n toggle();\\n }\\n \\\"\\n @click=\\\"\\n () => {\\n clear(options);\\n toggle();\\n }\\n \\\"\\n >\\n All {{ options.label }}\\n </li>\\n <li\\n v-for=\\\"(option, i) in options.terms\\\"\\n :key=\\\"option.ID\\\"\\n tabindex=\\\"0\\\"\\n @keyup.enter=\\\"\\n () => {\\n select(option);\\n toggle();\\n }\\n \\\"\\n @click=\\\"\\n () => {\\n select(option);\\n toggle();\\n }\\n \\\"\\n class=\\\"\\n flex\\n justify-between\\n py-5.5\\n px-10\\n hover:text-white hover:bg-sky-blue\\n transition\\n duration-75\\n ease-cb\\n \\\"\\n >\\n <span v-html=\\\"option.label\\\"></span>\\n </li>\\n </ul>\\n </div>\\n </label>\\n</template>\\n\\n<script>\\nimport { ref, onMounted } from 'vue';\\nimport { onClickOutside } from '@vueuse/core';\\n\\nexport default {\\n emits: ['close', 'open', 'select', 'clear'],\\n props: {\\n selected: {\\n default: () => ({}),\\n required: true,\\n type: Object,\\n },\\n options: {\\n default: () => ({}),\\n type: Object,\\n required: true,\\n },\\n clickable: {\\n default: () => (true),\\n type: Boolean,\\n required: false\\n }\\n },\\n setup(props, { emit }) {\\n const isOpen = ref(false);\\n const target = ref(null);\\n const selector = ref(null);\\n const list = ref(null);\\n\\n function toggle() {\\n if (props.clickable == true) {\\n isOpen.value = !isOpen.value;\\n }\\n\\n if (isOpen.value == false) {\\n list.value.scrollTop = 0;\\n }\\n\\n emit('toggled');\\n }\\n\\n function select(option) {\\n emit('select', option);\\n }\\n\\n function clear(options) {\\n emit('clear', options);\\n }\\n\\n onMounted(() => {\\n emit('passRef', selector.value);\\n });\\n\\n return { isOpen, close, toggle, select, clear, target, selector, list };\\n },\\n watch: {\\n options(newOptions, oldOptions) {\\n if (newOptions.terms.length == 1) {\\n this.select(newOptions.terms[0]);\\n }\\n },\\n clickable(newVal, oldVal) {\\n if (newVal) {\\n if (this.options.terms.length == 1) {\\n this.select(this.options.terms[0]);\\n }\\n }\\n }\\n }\\n};\\n</script>\\n\\n\\n<style scoped>\\n.disabled {\\n cursor: not-allowed;\\n}\\n\\n.disabled svg {\\n visibility: hidden;\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["endpoint","preFilter","arguments","length","undefined","ref","limitOptions","filterGroups","selected","clearFilters","group","apply","value","filter","item","taxonomy","slug","removeActiveFilter","ID","addFilter","concat","_toConsumableArray","applyPreFilter","filters","forEach","onMounted","fetch","then","data","json","result","push","i","watch","terms","isActiveFilter","some","toggleFilter","activeGroup","find","getActiveFilter","key","width","height","viewBox","fill","xmlns","name","props","color","type","String","default","delay","Number","block","Boolean","width1","width2","width3","x1","x2","x3","loadingTime","showAnimation","computed","barColor","this","style","methods","animate","scope","setInterval","markTime","clearInterval","mounted","options","locals","_createElementBlock","class","_normalizeClass","$props","_normalizeStyle","$options","_createVNode","_Transition","_withCtx","$data","_hoisted_1","_createElementVNode","x","_hoisted_2","y","_hoisted_3","_hoisted_4","_createCommentVNode","_","dateString","Date","replace","toLocaleDateString","year","month","day","timeZone","emits","required","Object","clickable","setup","_ref","emit","isOpen","target","selector","list","close","toggle","scrollTop","select","option","clear","newOptions","oldOptions","newVal","oldVal","innerHTML","label","onClick","_cache","$setup","onKeyup","_withKeys","tabindex","disabled","_createTextVNode","_toDisplayString","_hoisted_6","_Fragment","_renderList","_hoisted_8","_hoisted_7","countriesByISO","regionsByISO","AfricaISOs","EastAsiaAndPacificISOs","EuropeAndEurasiaISOs","NearEastAndNorthAfricaISOs","SouthAndCentralAsiaISOs","WesternHemisphereISOs","regionMeta","max","current","threshold","limit","activeColor","onNext","pageChange","onPrev","page","$emit","range","_this","endIndex","startIndex","Array","from","v","start","end","isLastPage","isFirstPage","hasPages","_hoisted_5","n","_defineProperty","$event","_hoisted_9","___CSS_LOADER_EXPORT___","module","id","params","paginate","perPage","DEFAULT_PAGE","search","maxPages","isLoading","totalPosts","resources","debouncedLoad","debounce","load","debouncedReset","hasMore","query","assign","JSON","stringify","queryString","URLSearchParams","toPage","res","max_pages","current_page","total_posts","reset","setSearch","modelValue","submit","placeholder","onInput","_ctx","onKeydown","postEndpoint","termEndpoint","emptyMessage","components","SearchBar","Dropdown","Pagination","Loader","pageRange","grid","stories","limitedRegion","limitedCountries","limitedParticipantType","limitedProjectType","_useFilters","useFilters","applyFilters","responsivePageNumbers","window","innerWidth","scrollToGrid","scroll","behavior","top","offsetTop","addEventListener","pageResources","slice","changePage","filterIDs","map","param","story","tests","k","tag","index","indexOf","clearLimit","listToLimit","event","filteredList","relatedCountries","country","toUpperCase","relatedRegion","region","participantType","projectType","formatDate","getCountry","term","updateParams","searchParams","location","set","newRelativePathQuery","pathname","toString","history","pushState","clearParam","_component_dropdown","onSelect","onClear","_component_search_bar","onSubmit","_hoisted_10","_hoisted_11","_createBlock","_component_Loader","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","post","href","link","grid_image","featured_image","post_thumb","src","url","alt","_hoisted_17","_hoisted_18","date","_hoisted_19","_hoisted_20","title","_hoisted_21","_hoisted_16","_hoisted_22","_hoisted_23","_component_pagination","onPageChange","createApp","StoryGrid","mount"],"sourceRoot":""}