{"version":3,"file":"static/js/19.104f839c1dd898acf3b5.chunk.js","mappings":";yMAwBA,IAAaA,EAAb,cAA6BC,EAAAA,UAIzBC,YAAYC,GACRC,MAAMD,GACN,MAAME,GAAUC,EAAAA,EAAAA,kBAAiB,QAASH,EAAMI,iBAAmBC,EAAAA,kBAAkBR,SACrFS,KAAKC,YAAaC,EAAAA,EAAAA,wBAAuBR,EAAMI,iBAAmBF,EACtE,CAEOO,SACH,OACIX,EAAAA,cAACY,EAAAA,OAAMC,OAAAC,OAAA,CACHC,UAAU,sBACVC,QAASR,KAAKN,MAAMe,aACpBC,MAAOV,KAAKN,MAAMiB,yBAAwB,aAC9BX,KAAKN,MAAMiB,yBAAwB,gBAChCX,KAAKN,MAAMkB,WAAU,gBACrBZ,KAAKN,MAAMmB,UACtBb,KAAKC,YAGrB,GAtBSV,GAAOuB,EAAAA,EAAAA,IAAA,CADnBC,EAAAA,IACYxB,cCFP,MAAOyB,UAAaxB,EAAAA,cAItBC,YAAYC,GACRC,MAAMD,EAGV,CACOS,SACH,OACIX,EAAAA,cAAA,OAAKe,UAAWP,KAAKN,MAAMa,WACtBP,KAAKiB,YAAYjB,KAAKN,OAGnC,CAEQuB,YAAYC,GAChB,OAAGA,EAAOC,MAAQD,EAAOC,KAAKC,QAEtB5B,EAAAA,cAAA,KACI6B,KAAMH,EAAOC,KAAKC,QAAO,aACd,QAGVpB,KAAKsB,aAAaJ,IAK5BlB,KAAKsB,aAAaJ,EAEzB,CAEQI,aAAaJ,GACjB,MAAMK,EAAgD,CAClDC,UAAW,CACPC,GAAI,CAAEC,EAAG,iBAAkBC,EAAG,EAAGC,EAAG,GACpCC,GAAI,CAAEH,EAAG,iBAAkBC,EAAG,EAAGC,EAAG,IAExCE,UAAU,GAEd,OACItC,EAAAA,cAACuC,EAAAA,GAAc1B,OAAAC,OAAA,GACPY,EAAOc,MAAK,CAChBC,aAAcjC,KAAKN,MAAMuC,aACzBC,cAAehB,GAAUA,EAAOc,OAASd,EAAOc,MAAME,eAAiBX,EACvEY,oBAAoB,UACpBC,UAAY,CAACC,IAAKnB,EAAOc,OAAS,CAAC,EAAGM,eAAgBtC,KAAKN,MAAM4C,kBAG7E,ukBC7BJ,IAAMC,EAAN,cAA+B/C,EAAAA,cAC3BC,YAAYC,GACRC,MAAMD,GACNM,KAAKwC,MAAQ,CACTC,qBAAqB,EACrBC,mBAAmB,GAGvB1C,KAAK2C,cAAgB3C,KAAK2C,cAAcC,KAAK5C,KACjD,CAEO6C,oBACH7C,KAAK8C,oBACT,CAEO3C,SAGH,MAAM4C,EAAc/C,KAAKgD,SAAS,WAC5BC,EAAY,oBACZC,EAAkBC,IAAW,oBAAqBnD,KAAKN,MAAMwB,OAAOX,YAEpE,SAAC6C,EAAQ,UAAEC,GAAcrD,KAAKN,MAAMwB,OAEpCoC,EAASC,EAAAA,EAAAA,EAAA,GACPvD,KAAKN,OACLM,KAAKwC,OAAK,IACdgB,KAAMhE,EAAAA,cAACwB,EAAIX,OAAAC,OAAA,GAAK,CAAEa,KAAMiC,EAAUpB,MAAOqB,EAAW9C,UAAW,6BAA8B0B,aAAcjC,KAAKN,MAAM+D,QAAQC,QAAQzB,aAAcK,eAAgBtC,KAAKN,MAAM+D,QAAQC,WAEvLC,UAAW,CACPC,YAAa5D,KAAKN,MAClBa,UAAW4C,IAAWD,GACtBW,IAAK,UAETC,QAASf,GAAeA,EAAYgB,QAAUhB,GAAe,GAC7DiB,QAASxE,EAAAA,cAACD,EAAOc,OAAAC,OAAA,GAAK,CAAEK,yBAA0B,2BAA4BC,YAAaZ,KAAKwC,MAAMC,oBAAqB5B,SAAUoC,EAAWxC,aAAcT,KAAK2C,iBAEnKsB,oBAAqB,CACjBJ,IAAKK,EAAAA,MACLC,GAAIlB,EACJ1C,UAAW,8BACX6D,QAASpE,KAAKwC,MAAMC,oBACpB4B,cAAe,+CAA+CrE,KAAKwC,MAAMC,oBAAqC,GAAf,cAC/F6B,OAAQtE,KAAK2C,eAEjB4B,iBACI/E,EAAAA,cAACgF,EAAAA,YAAW,CACRjE,UAAU,0CACV+D,OAAQtE,KAAK2C,gBAGrB8B,wBAAyB,CACrBZ,IAAKa,EAAAA,UACLnE,UAAW,2CAInB,OAAOP,KAAKN,MAAMiF,WAAWrB,EACjC,CAEQX,gBACJiC,QAAQC,IAAI,aAAc7E,KAAKwC,MAAMC,qBACrCzC,KAAK8E,SAAS,CACVrC,qBAAsBzC,KAAKwC,MAAMC,sBAErCzC,KAAKwC,MAAMC,qBAAuBzC,KAAK+E,WAAW/E,KAAKwC,MAAMC,oBACjE,CAEQO,SAASgC,GACb,MAAM,MAAEC,GAAUjF,KAAKN,MACvB,OAAQuF,GAASA,EAAMD,IAAaC,EAAMD,GAAUjB,QAAUkB,EAAMD,IAAc,IACtF,CAEQD,WAAWG,GAChB,MAAMC,EAAaC,SAASC,cAAc,sBACtCF,IACID,GAAcE,SAASE,gBAAgBC,UAAY,EACnDJ,EAAWK,UAAUC,IAAI,eACjBC,OAAON,SAASO,KAAKH,UAAUI,SAAS,gBAChDT,EAAWK,UAAUK,OAAO,eAGxC,CAESC,cAAcC,GAClB/F,KAAK+E,YACT,CAEQjC,qBACJ4C,OAAOM,SAAW,KACdhG,KAAK8F,eAAe,EAExB9F,KAAK8F,eACT,GA7FEvD,GAAgBzB,EAAAA,EAAAA,IAAA,CADrBC,EAAAA,IACKwB,GAgGN,iFCzGA,SAAS0D,EAAqBC,GAC1B,OACI1G,EAAAA,cAACA,EAAAA,SAAc,KACV0G,GAASA,EAAMnC,OACVmC,EAAMC,KAAI,CAACC,EAAuBC,IACvB7G,EAAAA,cAACA,EAAAA,SAAc,CAAC6C,IAAKgE,GAAQD,KAExC,KAGlB,CAEA,QApC+C1G,IAC3C,MAAM,UACFiE,EAAS,QACTG,EAAO,oBACPG,EAAmB,wBACnBQ,EAAuB,KACvBjB,GACA9D,EACJ,OACIF,EAAAA,cAAC8G,EAAAA,OAAMjG,OAAAC,OAAA,GAAKqD,GACPjE,EAAMsE,QACNiC,EAAqBnC,GACrBN,EACDhE,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAK2D,GACNzE,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAKmE,GACJ/E,EAAM6E,iBACP0B,EAAqBnC,KAIzB,oqBCRjB,MAAM0C,UAA+BhH,EAAAA,cAArCC,kCACY,KAAAgH,gBAA0B,oBAiBtC,CAfWtG,SACH,MAAMmD,EAASC,EAAAA,EAAA,GACRvD,KAAKN,OAAK,IACbgH,gBAAiB,CACb9C,YAAa5D,KAAKN,MAClBa,UAAW4C,IAAWnD,KAAKyG,kBAE/BE,gBAAiB3G,KAAKN,MAAMuF,MAAM2B,MAClCC,aAAc7G,KAAKN,MAAMuF,MAAM6B,MAC/BC,YAAa,CACTxG,UAAW,2BAGnB,OAAOP,KAAKN,MAAMiF,WAAWrB,EACjC,EAGJ,iFCnCA,QAAgB5D,IACZ,MAAM,gBAAEgH,EAAe,gBAAEC,EAAe,aAAEE,EAAY,YAAEE,GAAgBrH,EACxE,OACIF,EAAAA,cAAC8G,EAAAA,OAAMjG,OAAAC,OAAA,GAAKoG,GACRlH,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAKyG,GACFJ,GAERnH,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAKyG,GACNF,GAIf,opBCKD,MAAMG,UAAsBxH,EAAAA,cACxBC,YAAYC,GACRC,MAAMD,GACNM,KAAKwC,MAAQ,CAAE4B,QAAQ,GACvBpE,KAAKiH,WAAajH,KAAKiH,WAAWrE,KAAK5C,MACvCA,KAAKkH,YAAclH,KAAKkH,YAAYtE,KAAK5C,KAC7C,CAEO6C,oBACH,MAAO3B,QAAQ,iBAAEiG,IAAuBnH,KAAKN,MACzCyH,GACAnH,KAAK8E,SAAS,CAAEV,OAAQ+C,GAEhC,CAEOhH,SACH,MAAM,OAAEe,GAAWlB,KAAKN,MAClB0H,EAAuBpH,KAAKqH,sBAAsBnG,EAAOoG,wBAAyBpG,EAAOqG,0BACzFC,EAAqBjE,EAAAA,EAAA,GACpBvD,KAAKN,OAAK,IACb+H,sBAAuB,CACnB7D,YAAa5D,KAAKN,MAClBa,UAAWW,EAAOwG,+BAA0E,KAAzCxG,EAAOwG,8BAAuCxG,EAAOwG,8BAAgC,YAE5IC,oBAAqBP,EACrBQ,WAAY5H,KAAK6H,gBAErB,OAAO7H,KAAKN,MAAMiF,WAAW6C,EACjC,CAEQH,sBAAsBC,EAA8CQ,GACxE,OAAGR,EACO9H,EAAAA,cAACY,EAAAA,OAAM,CAACG,UAAU,yBAAyBC,QAASR,KAAKiH,YAAaa,GAEzE,IACX,CAEQD,cACJ,MAAM,OAAC3G,GAAUlB,KAAKN,MACtB,OACIF,EAAAA,cAAC0E,EAAAA,MAAK,CACF6D,UAAW7G,EAAO6G,UAClBC,KAAM9G,EAAO8G,KACb5D,OAAQpE,KAAKwC,MAAM4B,OACnB6D,mBAAoB/G,EAAO+G,mBAC3BC,iBAAkBhH,EAAOgH,iBACzBC,OAAQjH,EAAOiH,OACf7D,OAAQtE,KAAKkH,YACbkB,gBAAiB,WACjB7H,UAAaW,EAAOmH,kBACpBC,gBAAiB,CACbC,YAAcC,IAAMA,EAAEC,gBAAgB,IAG1CjJ,EAAAA,cAACgF,EAAAA,YAAW,CAACF,OAAQtE,KAAKkH,aAAchG,EAAOwH,gBAAkBxH,EAAOyH,YAAa,MACrFnJ,EAAAA,cAACkF,EAAAA,UAAS,QACT1E,KAAKN,MAAMuF,OACZjF,KAAKN,MAAMuF,MAAM2D,SACjB5I,KAAKN,MAAMuF,MAAM2D,QAAQ7E,SACnB/D,KAAKN,MAAMuF,MAAM2D,QAAQzC,KACvB,CAACC,EAAuBC,IACjB7G,EAAAA,cAAA,OAAK6C,IAAKgE,GAAQD,MAO7C,CAEQc,cACJlH,KAAK8E,UAAS+D,IAAa,CACzBzE,QAASyE,EAAUzE,UAEzB,CAEQ6C,aACJjH,KAAK8E,UAAS+D,IAAa,CACvBzE,QAASyE,EAAUzE,UAE3B,EAGJ,iFCnGA,QAAgB1E,IACZ,MAAM,sBAAE+H,EAAqB,oBAAEE,EAAmB,WAAEC,GAAelI,EACnE,OACIF,EAAAA,cAAC8G,EAAAA,OAAMjG,OAAAC,OAAA,GAAKmH,GACPE,EACAC,EAGZ,gICCM,MAAMkB,EAAwBC,IAA2E,IAA1E,KAAEC,EAAI,UAAEzI,EAAS,KAAEc,EAAI,UAAE4H,EAAS,MAAE5C,EAAK,QAAE6C,EAAO,iBAAEpJ,GAAkBiJ,EACxG,MAAMnJ,GAAUC,EAAAA,EAAAA,kBAAiB,QAASC,EAAkB,GAAI,IAE1DqJ,OAAoBC,IAATJ,EAAqBA,EAAO,GAC7CpJ,EAAQyJ,cAAcC,MAAQH,EAG9B,MAAMI,GAAYrJ,EAAAA,EAAAA,wBAAuBJ,EAAkBF,GAE3D,OACIJ,EAAAA,cAAA,IAAAa,OAAAC,OAAA,GACQiJ,EAAS,CACbhJ,UAAWA,EACXc,KAAMA,EAAI,aACE4H,EACZzI,SAASgJ,EAAAA,EAAAA,kBAAiB1J,EAAkBF,EAASuJ,IAChDD,GAAW,CAAE,iBAAiB,IAEnC1J,EAAAA,cAAA,QAAMiK,SAAS,QAAQN,GACvB3J,EAAAA,cAAA,QAAMiK,SAAS,WAAWb,QAASvC,IACnC,EC3BCqD,EAAkCX,IAAA,IAAC,UAAEY,GAAWZ,EAAA,OACzDvJ,EAAAA,cAAA,sBAAkB,QACb,IACAmK,EACA,IACE,ukBCkBX,MAAMC,UAAmBpK,EAAAA,cAAzBC,cAAA,oBACqB,KAAAoK,UAAgC7J,KAAKN,MAAM+D,QAAQC,QAAQoG,UAAUC,SAErE,KAAAjK,kBAAsCkK,EAAAA,EAAAA,oBACnDhK,KAAKN,MAAM+D,QAAQC,QAAQuG,kBAC3BjK,KAAKN,MAAMwK,aACXlK,KAAKN,MAAMyK,WA8DE,KAAAC,aAAe,KAC5B,MAAM,KAAEC,GAASrK,KAAKN,MAAMwB,OAC5B,OAAKmJ,GAASA,EAAKjJ,SAAYiJ,EAAKjJ,QAAQkJ,eAKxC9K,EAAAA,cAACsJ,EAAI,CACDE,KAAMqB,EAAKlB,SACXF,UAAWoB,EAAKpB,WAAaoB,EAAKlB,SAClC9H,KAAMgJ,EAAKjJ,SAAWiJ,EAAKjJ,QAAQkJ,eACnCjE,MAAM,IACN9F,UAAU,qBACVT,iBAAkBE,KAAKF,oBAV3BE,KAAKN,MAAM+D,QAAQ0G,UAAUI,MAAM,0DAC5B,KAUL,EAIO,KAAAC,0BAA6BC,IAC1C,MAAM,MAAEC,GAAU1K,KAAKN,MAAMwB,OAE7B,IAAKwJ,GAA0B,IAAjBA,EAAM3G,OAEhB,OADA/D,KAAKN,MAAM+D,QAAQ0G,UAAUI,MAAM,wDAC5B,KAGX,OAAOG,EAAMvE,KAAI,CAACwE,EAAmBtE,KACjCoE,IACA,MAAMG,EAAWvE,EACjB,OAAOA,IAAUqE,EAAM3G,OAJI,EAKvBvE,EAAAA,cAACsJ,EAAI,CACDzG,IAAKgE,EACL2C,KAAM2B,EAAMxB,SACZF,UAAW0B,EAAM1B,WAAa0B,EAAMxB,SACpC9H,KAAMsJ,EAAMvJ,SAAWuJ,EAAMvJ,QAAQkJ,eACrCjE,MAAO,CAAEoE,gBAAeI,WACxBtK,UAAU,qBACVT,iBAAkBE,KAAKF,mBAG3BN,EAAAA,cAAA,OAAK6C,IAAKuI,EAAUrK,UAAU,iDACzBoK,EAAMxB,SAEd,GACH,EAGW,KAAA2B,sBAAyBL,IACtC,MAAM,KAAEM,GAAS/K,KAAKN,MAChBsL,EAAoBD,EAAKC,kBAAkBC,OACjD,OAAKD,EAIEA,EAAkB7E,KAAI,CAACwE,EAA0BtE,KACpDoE,IAEA,MAAMP,EAAelK,KAAKkL,iBAAiBlL,KAAKN,MAAM+D,QAAQC,QAAQyH,OAAQR,EAAMS,kBAEpF,OACI5L,EAAAA,cAACsJ,EAAI,CACDzG,IAAKgE,EACL2C,KAAMkB,EACNjB,UAAWiB,EACX7I,KAAMsJ,EAAMU,IACZhF,MAAOoE,EAAaI,WACpBtK,UAAU,qBACV2I,QAAS7C,IAAU2E,EAAkBjH,OAAS,EAC9CjE,iBAAkBE,KAAKF,kBACzB,KAlBNE,KAAKN,MAAM+D,QAAQ0G,UAAUI,MAAM,2DAC5B,KAmBT,EASW,KAAAW,iBAAmB,CAACC,EAAgBG,KAAiE,IAAAC,EAClH,IAAIC,EAUJ,OATIL,GAAUG,GAAoBG,EAAAA,gBAAgBC,YAAYJ,KAC1DE,EAAkBF,EAAiBK,MAAKC,GAAQA,EAAKC,SAAUC,gBAAkBX,EAAOW,sBAIpE1C,IAApBoC,GAAiCC,EAAAA,gBAAgBC,YAAYJ,KAC7DE,EAAkBF,EAAiB,IAGjB,QAAtBC,EAAOC,SAAe,IAAAD,OAAA,EAAfA,EAAiBQ,IAAI,EAGf,KAAAC,aAAgBvB,IAC7B,MAAM,KAAEM,EAAI,OAAE7J,GAAWlB,KAAKN,MACxBsL,EAAoBD,EAAKkB,cAAchB,OACvCiB,EAAUnB,EAAKmB,QAAQjB,OACvBkB,EAAMnM,KAAKN,MAAM+D,QAAQC,QAAQyI,IAAIC,WAAW/K,KACtD,IAAK2J,EAED,OADAhL,KAAKN,MAAM+D,QAAQ0G,UAAUI,MAAM,kDAC5B,KAEX,MAAMG,EAAuB,GA8B7B,OA5BAM,EAAkB7E,KAAI,CAACwE,EAAqBtE,KACxCoE,IACAC,EAAM2B,KACF7M,EAAAA,cAACsJ,EAAI,CACDzG,IAAKgE,EACL2C,KAAM2B,EAAM2B,KACZrD,UAAW0B,EAAM2B,KACjBjL,KAAMsJ,EAAMU,IACZhF,MAAOoE,EAAaI,WACpBtK,UAAU,qBACVT,iBAAkBE,KAAKF,mBAE9B,IAEDoM,IAAYhL,EAAOqL,kBACnB9B,IACAC,EAAM2B,KACF7M,EAAAA,cAACsJ,EAAI,CACDE,KAAMkD,EAAQI,KACdrD,UAAWiD,EAAQI,KACnBjL,KAAM8K,EACN9F,MAAOoE,EAAaI,WACpB3B,SAAO,EACP3I,UAAU,qBACVT,iBAAkBE,KAAKF,qBAI5B4K,CAAK,EAGC,KAAA8B,QAAU,KACvB9G,OAAO+G,QAAQC,MAAM,EAGR,KAAAC,kBAAoB,IAE7B3M,KAAKN,MAAM+D,SAAWzD,KAAKN,MAAM+D,QAAQC,SAAW1D,KAAKN,MAAM+D,QAAQC,QAAQkJ,OAAS5M,KAAKN,MAAM+D,QAAQC,QAAQkJ,MAAMF,KAIzHG,EAAAA,GAASC,YAAoC,KAAtB1H,SAAS2H,UAAmBrH,OAAO+G,QAAQ1I,OAAS,GACpE,KAGPvE,EAAAA,cAAA,KACIe,UAAU,4BACVyM,KAAK,SACL3L,KAAK,sBACLb,QAASR,KAAKwM,QAAO,aACTxM,KAAKN,MAAMuN,UAAUC,mBAEhClN,KAAKN,MAAMuN,UAAUC,mBAbnB,IAiBnB,CA5NW/M,SACH,MAAM,UAAEI,GAAcP,KAAKN,MAAMwB,OACjC,IAAIiM,EAAW,KACXC,EAAkB,KAClBC,EAAsB,KAC1BF,EAAWnN,KAAKoK,eAChB,MAAMK,EAAe0C,EAAW,EAAI,EACpC,GAAuB,aAAnBnN,KAAK6J,UACLuD,EAAkBpN,KAAKwK,0BAA0BC,GAC5C2C,IACDA,EAAkBpN,KAAK8K,sBAAsBL,SAE9C,GAAuB,YAAnBzK,KAAK6J,WAEZ,GADAuD,EAAkBpN,KAAKwK,0BAA0BC,IAC5C2C,EAAiB,CAClB,MAAME,EAAgBtN,KAAKN,MAAM+D,QAAQ8J,IAAIrM,OAAOsM,eAC9B,aAAlBF,IACAF,EAAkBpN,KAAKgM,aAAavB,IAElB,oBAAlB6C,IACAD,EAAsBrN,KAAK2M,oBAC3BS,EAAkBpN,KAAKgM,aAAavB,IAElB,SAAlB6C,IACAD,EAAsBrN,KAAK2M,oBACC,OAAxBU,IACAD,EAAkBpN,KAAKgM,aAAavB,IAAa,OAK7D2C,EAAkBpN,KAAKwK,0BAA0BC,GAErD,MAAMgD,EAAgBjO,EAAAA,cAACkK,EAAS,CAACC,UAAU,MAErC+D,EAAmBnK,EAAAA,EAAA,GAClBvD,KAAKN,OAAK,IACbiO,oBAAqB,CACjB/J,YAAa5D,KAAKN,MAClBa,UAAW4C,IAAW,gBAAiB5C,GACvCsD,IAAK,MACLmJ,KAAM,cAEVY,eAAgB,CACZ/J,IAAK,KACLtD,UAAW,sBAEfsN,mBAAoB,CAChBhK,IAAK,KACLtD,UAAW,sBAEf8J,KAAM8C,EACNzC,MAAO0C,EACPU,WAAYT,EACZ1D,UAAW8D,IAEf,OAAOzN,KAAKN,MAAMiF,WAAW+I,EACjC,EAqKJ,kGC9PA,MAoCA,EApCuDhO,IACnD,MAAM,KAAE2K,EAAI,MAAEK,EAAK,WAAEoD,EAAU,oBAAEH,EAAmB,eAAEC,EAAc,mBAAEC,EAAkB,UAAElE,GAAcjK,EACxG,OAAK2K,GAASK,GAAUoD,EAKpBtO,EAAAA,cAAC8G,EAAAA,OAAMjG,OAAAC,OAAA,GAAKqN,GACRnO,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAKsN,GACLvD,GACG7K,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAKuN,GACLxD,EACAK,GAASf,GAGjBmE,GAActO,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAKuN,GAAqBC,GAC7CpD,GACGA,EAAMvE,KAAI,CAAChF,EAAMkF,IACb7G,EAAAA,cAACA,EAAAA,SAAc,CAAC6C,IAAKgE,GACjB7G,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GACGuN,EAAkB,CACtBtN,UAAW4C,IACP0K,EAAmBtN,UACnB8F,IAAUqE,EAAM3G,OAAS,EAAI,0BAA4B,MAG5D5C,EACAuJ,EAAMrE,EAAQ,IAAMsD,SAxB7CjK,EAAM+D,QAAQ0G,UAAUI,MAAM,mDACvB,KA4BE,8rBCaV,MAAMwD,UAAsBvO,EAAAA,cAW/BC,YAAmBC,GACfC,MAAMD,GAXO,KAAAsO,mBAAuChE,EAAAA,EAAAA,oBACpDhK,KAAKN,MAAM+D,QAAQC,QAAQuG,kBAC3BjK,KAAKN,MAAMwK,aACXlK,KAAKN,MAAMyK,WAGE,KAAA8D,yBAAmC,oBAEnC,KAAAC,sBAAwB,OAuFzB,KAAAC,WAAa,KACzBnO,KAAK8E,SAAS,CACVsJ,aAAa,GACf,EA8GW,KAAAC,6BAA+B,KAAW,IAAAC,EACvD,MAAMC,EAA0D,QAA5CD,EAAGtO,KAAKN,MAAM+D,QAAQC,QAAQ8K,sBAAc,IAAAF,OAAA,EAAzCA,EAA2CC,eAClE,GAAIA,EAAgB,CAChB,MAAME,EAAazO,KAAK0O,qBAAqBH,GAC7CvO,KAAK2O,eAAe3O,KAAKiO,yBAA0BQ,EAAY,CAEnEzO,KAAKmO,YAAY,EASJ,KAAAS,aAAe,CAACC,EAAqBC,IAA0B,KAC5E9O,KAAK2O,eAAeE,EAAYC,EAAa,EAQhC,KAAAH,eAAiB,CAACE,EAAqBC,KACpD,IAAKD,IAAeC,EAChB,OAEJ,MAAMC,EAAmC,CAAEC,QAAQ,EAAMC,SAAU,QACnEF,EAAcG,OAASlP,KAAKkO,sBAC5BlO,KAAKN,MAAM+D,QAAQC,QAAQyL,QAAQC,IAAIP,EAAYC,EAAcC,EAAc,EAQlE,KAAAL,qBAAwBW,GAC7BA,EAAQC,SAAS,YAAqCD,EAAvB,WAAWA,IA3OlD,IAAIE,GAA4B,EAC5B7P,EAAM+D,QAAQC,QAAQyL,QAAQK,IAAIxP,KAAKiO,0BAA0BtD,QACjE4E,GAAmB,GAEvBvP,KAAKwC,MAAQ,CACT4L,aAAcmB,QAAkEnG,IAA9CpJ,KAAKN,MAAM+D,QAAQC,QAAQ8K,eAErE,CAEOrO,SAAM,IAAAsP,EACT,MAAM,QAAEC,EAAO,WAAEC,EAAU,YAAEC,EAAW,WAAEC,GAAe7P,KAAKN,MAAMwB,OAIpE,IAFuBlB,KAAKN,MAAM+D,QAAQC,QAAQyL,QAAQW,iBAGtD,OAAO,KAGX,MAAMC,EAAuBL,GACzBlQ,EAAAA,cAACqN,EAAAA,GAAa,CACVtM,UAAU,6BACVsD,IAAgB,QAAb4L,EAAEC,EAAQ7L,WAAG,IAAA4L,EAAAA,EAAI,KACpBzG,KAAM0G,EAAQ1G,KACd5G,UAAW,CAAE4N,OAAQhQ,KAAKiQ,iBAAkB3N,eAAgBtC,KAAKN,MAAM+D,QAAQC,WAIjFwM,EAA0BP,GAC5BnQ,EAAAA,cAACqN,EAAAA,GAA0B,CACvB7D,KAAM2G,EACNpP,UAAU,gCACV6B,UAAW,CAAE4N,OAAQhQ,KAAKmQ,sBAAuB7N,eAAgBtC,KAAKN,MAAM+D,QAAQC,WAItF0M,EAA0BP,GAAc7P,KAAKqQ,WAAWR,GACxDS,EACF9Q,EAAAA,cAACY,EAAAA,OAAM,CAACG,UAAU,kCAAkCC,QAASR,KAAKqO,6BAA8BkC,SAAU,GACrGvQ,KAAKN,MAAMuN,UAAUuD,6BAIxBC,EAASlN,EAAAA,EAAA,GACRvD,KAAKN,OAAK,IACb8C,MAAOxC,KAAKwC,MACZ4L,YAAapO,KAAKwC,MAAM4L,YACxBsC,eAAgB,CACZ9M,YAAa5D,KAAKN,MAClBmE,IAAKK,EAAAA,MACL3D,UAAW,4BACX6D,QAAQ,EACR,aAAc,iBACdE,OAAQtE,KAAKmO,WACb7F,gBAAiB,CAAEqI,QAAS,GAC5BC,iCAAiC,GAErCC,qBAAsB,CAClBhN,IAAKW,EAAAA,YACLjE,UAAW,kCACX+D,OAAQtE,KAAKmO,WACb2C,oBAAqB,GAEzBC,qBAAsB,CAClBlN,IAAKmN,EAAAA,YACLzQ,UAAW,kCAEf0Q,mBAAoB,CAChBpN,IAAKa,EAAAA,UACLnE,UAAW,gCAEfmP,QAASK,EACTJ,WAAYO,EACZ/O,KAAMiP,EACNR,YAAaA,GAAe5P,KAAKkR,oBACjCC,wBAAyBb,IAG7B,OAAOtQ,KAAKN,MAAMiF,WAAW8L,EACjC,CAWON,sBAAsBiB,GACzBpR,KAAKN,MAAMwB,OAAOyO,WAAayB,EAAMC,OAAO1G,KAChD,CAEOsF,iBAAiBmB,GACpBpR,KAAKN,MAAMwB,OAAOwO,QAAS1G,KAAOoI,EAAMC,OAAO1G,KACnD,CAEO2G,qBAAqBF,GAAoC,IAAAG,EAC5B,QAAhCA,EAAIvR,KAAKN,MAAMwB,OAAO2O,kBAAU,IAAA0B,GAA5BA,EAA8BpI,WAC9BnJ,KAAKN,MAAMwB,OAAO2O,WAAW1G,SAAWiI,EAAMC,OAAO1G,MAE7D,CAEO0F,WAAWlP,GACd,IAAKqQ,EAAAA,iBAAiBC,cAActQ,aAAI,EAAJA,EAAMC,QAAQkJ,gBAAiB,CAAC,IAADoH,EAC/D,MAAMvI,EAAyB,QAAjBuI,EAAGvQ,aAAI,EAAJA,EAAMgI,gBAAQ,IAAAuI,EAAAA,EAAI,GAC7B9R,GAAUC,EAAAA,EAAAA,kBAAiB,QAASG,KAAKgO,kBAAmB,GAAI,IAChE/N,GAAaC,EAAAA,EAAAA,wBAAuBF,KAAKgO,kBAAmBpO,GAC5D+R,EAAoC,CACtC1I,UAAW9H,aAAI,EAAJA,EAAM8H,UACjB1I,UAAW,yBACX4I,WACA/H,QAASD,aAAI,EAAJA,EAAMC,QAAQkJ,eACvBsH,aAAczQ,aAAI,EAAJA,EAAMyQ,aACpB5E,KAAM,OACN6E,qBAAsB5R,EACtBO,SAASgJ,EAAAA,EAAAA,kBAAiBxJ,KAAKgO,kBAAmBpO,EAASuJ,IAE/D,OACI3J,EAAAA,cAACqN,EAAAA,GAAa,CACV1L,KAAMwQ,EACNvP,UAAW,CAAE0P,aAAc9R,KAAKsR,qBAAsBhP,eAAgBtC,KAAKN,MAAM+D,QAAQC,UAC3F,CAGV,OAAO,IACX,CAEOwN,oBACH,MAAM1C,EAAiBxO,KAAKN,MAAM+D,QAAQC,QAAQ8K,eAClD,IAAKA,EACD,OAOJ,OALoBA,EAAeuD,YACF5L,KAAKwE,GAC3B3K,KAAKgS,cAAcrH,IAIlC,CAEOqH,cAAcC,GAAwB,IAAAC,EAAAC,EACzC,MAAMvC,EAAc5P,KAAKN,MAAMwB,OAAO0O,YACtC,IAAIP,EAAU4C,EAAWG,cACzB/C,EAAUrP,KAAK0O,qBAAqBW,GACpC,MAAMgD,EAAqBzC,aAAW,EAAXA,EAAajE,MAAKC,GAAQA,EAAKO,MAAQkD,IAClE,IAAKgD,EACD,OAAO,KAEX,MAAMC,EAA6B,CAAE5Q,EAAG,gBAAiBC,EAAG,EAAGC,EAAG,GAC5DL,EAAgD,CAClDC,UAAW,CACPC,GAAI6Q,EACJzQ,GAAIyQ,EACJC,GAAID,GAERxQ,UAAU,GAERE,EAAQqQ,EAAmBrQ,MAC3BwQ,EAAa,CACfvQ,aAAcjC,KAAKN,MAAM+D,QAAQC,QAAQzB,aACzCC,cAAmC,QAAtBgQ,EAAElQ,aAAK,EAALA,EAAOE,qBAAa,IAAAgQ,EAAAA,EAAI3Q,GAE3C,OACI/B,EAAAA,cAAA,KACI6C,IAAKgQ,EAAmBI,cACxBlS,UAAU,yCACVgQ,SAAU,EACVlP,KAAMgR,EAAmBlG,IAAG,aAChBkG,EAAmBI,cAC/BjS,QAASR,KAAK4O,aAAa5O,KAAKiO,yBAA0BoE,EAAmBlG,MAE5EnK,GACGxC,EAAAA,cAACqN,EAAAA,GAAc,CACXvK,eAAgBtC,KAAKN,MAAM+D,QAAQC,QACnCnD,UAAU,wCACV8B,IAAKgQ,EAAmBI,cACxBC,IAAc,QAAXP,EAAEnQ,EAAM0Q,WAAG,IAAAP,EAAAA,EAAI,GAClBlQ,aAAcuQ,EAAWvQ,aACzBC,cAAesQ,EAAWtQ,cAC1ByQ,QAAS3Q,EAAM2Q,QACfxQ,oBAAoB,OACpByQ,uBAAqB,IAG7BpT,EAAAA,cAAA,OAAKe,UAAU,6CACXf,EAAAA,cAAA,QAAMe,UAAU,mDAAmD8R,EAAmBI,eACtFjT,EAAAA,cAAA,QAAMe,UAAU,sDAAsD8R,EAAmBQ,mBAIzG,EAgDJ,yGCrSO,MAAMC,EAAwDpT,IACjE,MAAM,YACF0O,EAAW,eACXsC,EAAc,qBACdG,EAAoB,mBACpBI,EAAkB,QAClBvB,EAAO,qBACPqB,EAAoB,WACpBpB,EAAU,KACVxO,EAAI,YACJyO,EAAW,wBACXuB,GACAzR,EACJ,OAAO0O,GAAewB,EAClBpQ,EAAAA,cAAC8G,EAAAA,OAAMjG,OAAAC,OAAA,GAAKoQ,GACRlR,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAKuQ,GACLnB,EACAC,GAELnQ,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAK2Q,GACLrB,EAAYzJ,KAAI4M,GACbvT,EAAAA,cAAAA,EAAAA,SAAA,KAAGuT,MAGXvT,EAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAKyQ,GACLI,EACAhQ,IAGT,IAAI,EAGZ,+pBCzBA,MAAM6R,UAAuBxT,EAAAA,cAClBW,SACH,IAAKH,KAAKN,MAAMuF,QAAUjF,KAAKN,MAAMuF,MAAM2D,SAA+C,IAApC5I,KAAKN,MAAMuF,MAAM2D,QAAQ7E,OAE3E,OADA/D,KAAKN,MAAM+D,QAAQ0G,UAAUI,MAAM,qDAC5B,KAEX,MAAMkG,EAASlN,EAAAA,EAAA,GACRvD,KAAKN,OAAK,IACbuT,WAAYjT,KAAKN,MAAMuF,MAAM2D,QAC7BsK,WAAY,CACRtP,YAAa5D,KAAKN,MAClBa,UAAW4C,IAAW,kBAAmBnD,KAAKN,MAAMwB,OAAOX,WAC3DsD,IAAK,MAETsP,eAAgB,CACZ5S,UAAW4C,IAAW,uBAAwBnD,KAAKN,MAAMwB,OAAOX,WAChEsD,IAAK,QAIb,OAAO7D,KAAKN,MAAMiF,WAAW8L,EACjC,EAGJ,mHCpCO,MAAM2C,EAAyD1T,IAClE,MAAM,WAAEuT,EAAU,WAAEC,EAAU,eAAEC,GAAmBzT,EACnD,OAAKuT,GAAoC,IAAtBA,EAAWlP,OAK1BvE,IAAAA,cAAC8G,EAAAA,OAAMjG,OAAAC,OAAA,GAAK4S,GACPD,EAAW9M,KAAI,CAACkN,EAAqBhN,IAE9B7G,IAAAA,cAAC+G,EAAAA,KAAIlG,OAAAC,OAAA,GAAK6S,EAAc,CAAE9Q,IAAKgE,IAC1BgN,OARjB3T,EAAM+D,QAAQ0G,UAAUI,MAAM,+CACvB,KAWE,EAIjB","sources":["webpack://Citta2.0/./src/modules/citta-commercial-header/components/nav-icon.tsx?8ec6","webpack://Citta2.0/./src/modules/citta-commercial-header/components/logo.tsx?2625","webpack://Citta2.0/./src/modules/citta-commercial-header/citta-commercial-header.tsx?6007","webpack://Citta2.0/./src/modules/citta-commercial-header/citta-commercial-header.view.tsx?42e4","webpack://Citta2.0/./src/modules/citta-gift-card-container/citta-gift-card-container.tsx?f0ea","webpack://Citta2.0/./src/modules/citta-gift-card-container/citta-gift-card-container.view.tsx?a5f5","webpack://Citta2.0/./src/modules/citta-lightbox/citta-lightbox.tsx?1096","webpack://Citta2.0/./src/modules/citta-lightbox/citta-lightbox.view.tsx?287b","webpack://Citta2.0/./src/modules/breadcrumb/components/link.tsx?d232","webpack://Citta2.0/./src/modules/breadcrumb/components/separator.tsx?92bb","webpack://Citta2.0/./src/modules/breadcrumb/breadcrumb.tsx?efcc","webpack://Citta2.0/./src/modules/breadcrumb/breadcrumb.view.tsx?4b3d","webpack://Citta2.0/./src/modules/country-picker/country-picker.tsx?4fcb","webpack://Citta2.0/./src/modules/country-picker/country-picker.view.tsx?0036","webpack://Citta2.0/./src/modules/footer-category/footer-category.tsx?e0bd","webpack://Citta2.0/./src/modules/footer-category/footer-category.view.tsx?fdce"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nexport interface INavIconProps {\r\n mobileHamburgerAriaLabel: string;\r\n isExpanded: boolean;\r\n targetId: string;\r\n telemetryContent?: ITelemetryContent;\r\n toggleNavBar(): void;\r\n}\r\n\r\n/**\r\n *\r\n * NavIcon component\r\n * @extends {React.PureComponent}\r\n */\r\n\r\n@observer\r\nexport class NavIcon extends React.Component {\r\n\r\n private attributes?: Msdyn365.IDictionary;\r\n\r\n constructor(props: INavIconProps) {\r\n super(props);\r\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.NavIcon);\r\n this.attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n }\r\n\r\n public render():JSX.Element {\r\n return (\r\n \r\n );\r\n }\r\n}","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n// import { getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nexport interface ILogoProps {\r\n image: Msdyn365.IImageData;\r\n gridSettings?: Msdyn365.IGridSettings;\r\n link?: any;\r\n className?: string;\r\n requestContext: Msdyn365.IRequestContext;\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Logo component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class Logo extends React.PureComponent {\r\n\r\n // private attributes?: Msdyn365.IDictionary;\r\n\r\n constructor(props: ILogoProps) {\r\n super(props);\r\n // const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.Logo);\r\n // this.attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n }\r\n public render():JSX.Element {\r\n return(\r\n
\r\n {this._renderLogo(this.props)}\r\n
\r\n );\r\n }\r\n\r\n private _renderLogo(config: ILogoProps):JSX.Element {\r\n if(config.link && config.link.linkUrl) {\r\n return(\r\n \r\n {this._renderImage(config)}\r\n \r\n );\r\n }\r\n return(\r\n this._renderImage(config)\r\n );\r\n }\r\n\r\n private _renderImage(config: ILogoProps): JSX.Element {\r\n const defaultImageSettings: Msdyn365.IImageSettings = {\r\n viewports: {\r\n xs: { q: `w=132&h=28&m=6`, w: 0, h: 0 },\r\n lg: { q: `w=160&h=48&m=6`, w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Logo;","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport {\r\n IModuleProps, \r\n INodeProps,\r\n Modal,\r\n ModalBody, \r\n ModalHeader\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { ICittaCommercialHeaderData } from './citta-commercial-header.data';\r\nimport { ICittaCommercialHeaderProps } from './citta-commercial-header.props.autogenerated';\r\n\r\nimport { NavIcon, Logo } from './components';\r\n\r\nexport interface IHeaderState {\r\n mobileMenuCollapsed: boolean;\r\n signinPopoverOpen: boolean;\r\n}\r\n\r\nexport interface IHeaderViewProps extends ICittaCommercialHeaderProps {\r\n HeaderTag: IModuleProps;\r\n loginLink?: React.ReactNode;\r\n menuBar?: React.ReactNode[];\r\n navIcon: React.ReactNode;\r\n MobileMenuContainer: INodeProps;\r\n MobileMenuHeader: React.ReactNode;\r\n MobileMenuBodyContainer: INodeProps;\r\n logo: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * Header component.\r\n * @extends {React.PureComponent>}\r\n */\r\n@observer\r\nclass CommercialHeader extends React.PureComponent, IHeaderState> {\r\n constructor(props: ICittaCommercialHeaderProps) {\r\n super(props);\r\n this.state = {\r\n mobileMenuCollapsed: true,\r\n signinPopoverOpen: false\r\n };\r\n\r\n this._toggleNavbar = this._toggleNavbar.bind(this);\r\n }\r\n \r\n public componentDidMount(): void {\r\n this._stickyHeaderSetup();\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access -- app config is generic\r\n const menuBarSlot = this._getSlot('menuBar');\r\n const navbarKey = 'header-nav-mobile';\r\n const headerClassName = classnames('commercial-header', this.props.config.className);\r\n \r\n const {logoLink, logoImage } = this.props.config;\r\n\r\n const viewProps: IHeaderViewProps = {\r\n ...(this.props as ICittaCommercialHeaderProps),\r\n ...(this.state),\r\n logo: ,\r\n\r\n HeaderTag: {\r\n moduleProps: this.props,\r\n className: classnames(headerClassName),\r\n tag: 'header'\r\n },\r\n menuBar: menuBarSlot && menuBarSlot.length && menuBarSlot || [],\r\n navIcon: ,\r\n // loginLink: this._getLoginLink(loginLink, loginLinkText),\r\n MobileMenuContainer: {\r\n tag: Modal,\r\n id: navbarKey,\r\n className: 'ms-header__mobile-hamburger',\r\n isOpen: !this.state.mobileMenuCollapsed,\r\n wrapClassName: `ms-header__citta-modal citta-header-mobile ${!this.state.mobileMenuCollapsed ? 'modal-open' : ''}`,\r\n toggle: this._toggleNavbar\r\n },\r\n MobileMenuHeader: (\r\n \r\n ),\r\n MobileMenuBodyContainer: {\r\n tag: ModalBody,\r\n className: 'ms-header__mobile-hamburger-menu-body',\r\n }\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _toggleNavbar(): void {\r\n console.log('set state', !this.state.mobileMenuCollapsed)\r\n this.setState({\r\n mobileMenuCollapsed: !this.state.mobileMenuCollapsed\r\n });\r\n this.state.mobileMenuCollapsed && this._setHeader(this.state.mobileMenuCollapsed);\r\n }\r\n\r\n private _getSlot(slotName: string): React.ReactNode[] | null {\r\n const { slots } = this.props;\r\n return (slots && slots[slotName] && slots[slotName].length && slots[slotName]) || null;\r\n }\r\n\r\n private _setHeader(lockHeader?: boolean): void {\r\n const headerElem = document.querySelector('.commercial-header');\r\n if (headerElem) {\r\n if (lockHeader || document.documentElement.scrollTop > 0) {\r\n headerElem.classList.add('lock-opaque');\r\n } else if (!window.document.body.classList.contains('search-open')) { \r\n headerElem.classList.remove('lock-opaque');\r\n }\r\n }\r\n }\r\n\r\n private _updateHeader(isInMobileMenu?: boolean): void {\r\n this._setHeader();\r\n }\r\n \r\n private _stickyHeaderSetup(): void {\r\n window.onscroll = () => {\r\n this._updateHeader();\r\n };\r\n this._updateHeader();\r\n }\r\n}\r\n\r\nexport default CommercialHeader;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IHeaderViewProps } from './citta-commercial-header';\r\n\r\nconst headerView: React.FC = props => {\r\n const {\r\n HeaderTag,\r\n menuBar,\r\n MobileMenuContainer,\r\n MobileMenuBodyContainer,\r\n logo\r\n } = props;\r\n return (\r\n \r\n {props.navIcon}\r\n {_renderReactFragment(menuBar!)}\r\n {logo}\r\n \r\n \r\n { props.MobileMenuHeader }\r\n {_renderReactFragment(menuBar!)}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n \r\n {items && items.length\r\n ? items.map((slot: React.ReactNode, index: number) => {\r\n return {slot};\r\n })\r\n : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { ICittaGiftCardContainerData } from './citta-gift-card-container.data';\r\nimport { ICittaGiftCardContainerProps } from './citta-gift-card-container.props.autogenerated';\r\n\r\nexport interface ICittaGiftCardContainerViewProps extends ICittaGiftCardContainerProps {\r\n GiftCardWrapper: IModuleProps;\r\n giftCardContent: React.ReactNode[];\r\n giftCardForm: React.ReactNode[];\r\n SlotWrapper: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * CittaGiftCardContainer component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaGiftCardContainer extends React.PureComponent> {\r\n private moduleClassName: string = 'giftcardCreateWrap';\r\n\r\n public render(): JSX.Element | null {\r\n const viewProps: ICittaGiftCardContainerViewProps = {\r\n ...this.props,\r\n GiftCardWrapper: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName)\r\n },\r\n giftCardContent: this.props.slots.slot1,\r\n giftCardForm: this.props.slots.slot2,\r\n SlotWrapper: {\r\n className: 'giftcardsslot-wrapper',\r\n },\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n}\r\n\r\nexport default CittaGiftCardContainer;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICittaGiftCardContainerViewProps } from './citta-gift-card-container';\r\n\r\nexport default (props: ICittaGiftCardContainerViewProps) => {\r\n const { GiftCardWrapper, giftCardContent, giftCardForm, SlotWrapper } = props;\r\n return (\r\n \r\n \r\n {...giftCardContent}\r\n \r\n \r\n {...giftCardForm}\r\n \r\n \r\n );\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as React from 'react';\r\n\r\nimport { Button, IModuleProps, Modal, ModalBody, ModalHeader} from '@msdyn365-commerce-modules/utilities';\r\nimport { ICittaLightboxConfig, ICittaLightboxProps } from './citta-lightbox.props.autogenerated';\r\n\r\nexport interface ICittaLightboxViewProps extends ICittaLightboxProps {\r\n CittaLighboxContainer: IModuleProps;\r\n LaunchLighboxButton: React.ReactNode;\r\n ModalPopUp: React.ReactNode;\r\n}\r\n\r\ninterface ICittaLightBoxState extends React.ComponentState {\r\n isOpen: boolean;\r\n }\r\n\r\n/**\r\n *\r\n * CittaLightbox component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaLightbox extends React.PureComponent, ICittaLightBoxState> {\r\n constructor(props: ICittaLightboxProps) {\r\n super(props);\r\n this.state = { isOpen: false };\r\n this._openModal = this._openModal.bind(this);\r\n this._closeModal = this._closeModal.bind(this);\r\n }\r\n\r\n public componentDidMount(): void {\r\n const {config: { defaultOpenState } } = this.props;\r\n if (defaultOpenState) {\r\n this.setState({ isOpen: defaultOpenState});\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n const launchLightboxButton = this._launchLightboxButton(config.hasLaunchLightboxButton, config.launchLightboxButtonText);\r\n const CittaLighboxViewProps: ICittaLightboxViewProps = {\r\n ...this.props,\r\n CittaLighboxContainer: {\r\n moduleProps: this.props,\r\n className: config.launchLightboxButtonClassName && config.launchLightboxButtonClassName !== '' ? config.launchLightboxButtonClassName : 'lightbox'\r\n },\r\n LaunchLighboxButton: launchLightboxButton,\r\n ModalPopUp: this._modalPopUp()\r\n };\r\n return this.props.renderView(CittaLighboxViewProps) as React.ReactElement;\r\n }\r\n\r\n private _launchLightboxButton(hasLaunchLightboxButton: boolean | undefined, buttonText: string | undefined): JSX.Element | null {\r\n if(hasLaunchLightboxButton) {\r\n return ();\r\n }\r\n return null;\r\n }\r\n\r\n private _modalPopUp(): JSX.Element | null {\r\n const {config} = this.props;\r\n return (\r\n {e.preventDefault();}\r\n }}\r\n >\r\n {config.showModalHeader ? config.modalHeader: null}\r\n \r\n {this.props.slots &&\r\n this.props.slots.content &&\r\n this.props.slots.content.length\r\n ? this.props.slots.content.map(\r\n (slot: React.ReactNode, index: number) => {\r\n return
{slot}
;\r\n }\r\n )\r\n : false}\r\n
\r\n \r\n );\r\n }\r\n\r\n private _closeModal(): void {\r\n this.setState(prevState => ({\r\n isOpen: !prevState.isOpen\r\n }));\r\n }\r\n\r\n private _openModal(): void {\r\n this.setState(prevState => ({\r\n isOpen: !prevState.isOpen\r\n }));\r\n }\r\n}\r\n\r\nexport default CittaLightbox;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICittaLightboxViewProps } from './citta-lightbox';\r\n\r\nexport default (props: ICittaLightboxViewProps) => {\r\n const { CittaLighboxContainer, LaunchLighboxButton, ModalPopUp } = props;\r\n return (\r\n \r\n {LaunchLighboxButton}\r\n {ModalPopUp}\r\n \r\n );\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface ILink {\n className?: string;\n text?: string;\n href?: string;\n ariaLabel?: string;\n index: string;\n noclick?: boolean;\n telemetryContent: ITelemetryContent;\n}\n\nexport const Link: React.FC = ({ text, className, href, ariaLabel, index, noclick, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent, '', '');\n\n const linkText = text !== undefined ? text : '';\n payLoad.contentAction.etext = linkText;\n\n // Construct telemetry attribute to render\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\n\n return (\n \n {linkText}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface ISeparator {\n separator: string;\n}\n\nexport const Separator: React.FC = ({ separator }) => (\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICategoryUrl } from '@msdyn365-commerce/core-internal/dist/types/interfaces/ICategoryPathInterfaces';\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbData } from './breadcrumb.data';\nimport { IBreadcrumbProps, ILinksData } from './breadcrumb.props.autogenerated';\nimport { Link } from './components/link';\nimport { Separator } from './components/separator';\n\nexport interface IBreadcrumbViewProps extends IBreadcrumbProps {\n root?: React.ReactNode;\n links?: React.ReactNode[];\n backButton?: React.ReactNode;\n separator?: React.ReactNode;\n BreadcrumbContainer: IModuleProps;\n BreadcrumbList: INodeProps;\n BreadcrumbListItem: INodeProps;\n}\n\n/**\n *\n * Breadcrumb component.\n * @extends {React.PureComponent>}\n */\nclass Breadcrumb extends React.PureComponent> {\n private readonly _pageType: string | undefined = this.props.context.request.urlTokens.pageType;\n\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { className } = this.props.config;\n let rootLink = null;\n let breadcrumbLinks = null;\n let backButtonComponent = null;\n rootLink = this._getRootLink();\n const itemPosition = rootLink ? 1 : 0;\n if (this._pageType === 'Category') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n breadcrumbLinks = this._getCategoryHierarchy(itemPosition);\n }\n } else if (this._pageType === 'Product') {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n if (!breadcrumbLinks) {\n const breaCrumbType = this.props.context.app.config.breadcrumbType;\n if (breaCrumbType === 'category') {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'categoryAndBack') {\n backButtonComponent = this._getPDPBackButton();\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n if (breaCrumbType === 'back') {\n backButtonComponent = this._getPDPBackButton();\n if (backButtonComponent === null) {\n breadcrumbLinks = this._getPDPLinks(itemPosition);\n }\n }\n }\n } else {\n breadcrumbLinks = this._getCustomBreadcrumbLinks(itemPosition);\n }\n const linkSeparator = ;\n\n const breadcrumbViewProps = {\n ...this.props,\n BreadcrumbContainer: {\n moduleProps: this.props,\n className: classnames('ms-breadcrumb', className),\n tag: 'nav',\n role: 'navigation'\n },\n BreadcrumbList: {\n tag: 'ol' as NodeTag,\n className: 'ms-breadcrumb_list'\n },\n BreadcrumbListItem: {\n tag: 'li',\n className: 'ms-breadcrumb_item'\n },\n root: rootLink,\n links: breadcrumbLinks,\n backButton: backButtonComponent,\n separator: linkSeparator\n };\n return this.props.renderView(breadcrumbViewProps) as React.ReactElement;\n }\n\n private readonly _getRootLink = (): JSX.Element | null => {\n const { root } = this.props.config;\n if (!root || !root.linkUrl || !root.linkUrl.destinationUrl) {\n this.props.context.telemetry.error('BreadCrumb link url content is empty, link wont render');\n return null;\n }\n return (\n \n );\n };\n\n private readonly _getCustomBreadcrumbLinks = (itemPosition: number): JSX.Element[] | null => {\n const { links } = this.props.config;\n\n if (!links || links.length === 0) {\n this.props.context.telemetry.error('BreadCrumb links content is empty, links wont render');\n return null;\n }\n const defaultValueToSubtract = 1;\n return links.map((value: ILinksData, index: number) => {\n itemPosition++;\n const keyIndex = index;\n return index !== links.length - defaultValueToSubtract ? (\n \n ) : (\n
\n {value.linkText}\n
\n );\n });\n };\n\n private readonly _getCategoryHierarchy = (itemPosition: number): JSX.Element[] | null => {\n const { data } = this.props;\n const categoryHierarchy = data.categoryHierarchy.result;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category Hierarchy content is empty, module wont render');\n return null;\n }\n return categoryHierarchy.map((value: CategoryHierarchy, index: number) => {\n itemPosition++;\n\n const friendlyName = this._getFriendlyName(this.props.context.request.locale, value.NameTranslations);\n\n return (\n \n );\n });\n };\n\n /**\n * The function to get translation name for the locale.\n * @param locale - The locale information.\n * @param nameTranslations - The name translations names.\n * @returns - The translation name for the locale.\n */\n private readonly _getFriendlyName = (locale: string, nameTranslations?: TextValueTranslation[]): string | undefined => {\n let nameTranslation: TextValueTranslation | undefined;\n if (locale && nameTranslations && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations.find(item => item.Language!.toLowerCase() === locale.toLowerCase());\n }\n\n // If friendly name for current locale is null, should use default locale.\n if (nameTranslation === undefined && ArrayExtensions.hasElements(nameTranslations)) {\n nameTranslation = nameTranslations[0];\n }\n\n return nameTranslation?.Text;\n };\n\n private readonly _getPDPLinks = (itemPosition: number): JSX.Element[] | null => {\n const { data, config } = this.props;\n const categoryHierarchy = data.categoryPaths.result;\n const product = data.product.result;\n const url = this.props.context.request.url.requestUrl.href;\n if (!categoryHierarchy) {\n this.props.context.telemetry.error('Category path content is empty for the product');\n return null;\n }\n const links: JSX.Element[] = [];\n\n categoryHierarchy.map((value: ICategoryUrl, index: number) => {\n itemPosition++;\n links.push(\n \n );\n });\n if (product && !config.hideProductName) {\n itemPosition++;\n links.push(\n \n );\n }\n return links;\n };\n\n private readonly _goBack = (): void => {\n window.history.back();\n };\n\n private readonly _getPDPBackButton = (): JSX.Element | null => {\n const isBackAllowed =\n this.props.context && this.props.context.request && this.props.context.request.query && this.props.context.request.query.back;\n if (!isBackAllowed) {\n return null;\n }\n if (MsDyn365.isBrowser && (document.referrer === '' || window.history.length < 2)) {\n return null;\n }\n return (\n \n {this.props.resources.backToResultsText}\n \n );\n };\n}\n\nexport default Breadcrumb;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBreadcrumbViewProps } from './breadcrumb';\n\nconst BreadCrumbView: React.FC = props => {\n const { root, links, backButton, BreadcrumbContainer, BreadcrumbList, BreadcrumbListItem, separator } = props;\n if (!root && !links && !backButton) {\n props.context.telemetry.error('BreadCrumb content is empty, module wont render');\n return null;\n }\n return (\n \n \n {root && (\n \n {root}\n {links && separator}\n \n )}\n {backButton && {backButton}}\n {links &&\n links.map((link, index) => (\n \n \n {link}\n {links[index + 1] && separator}\n \n \n ))}\n \n \n );\n};\n\nexport default BreadCrumbView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ICookieSetOptions, IImageDimension, ILocaleItems } from '@msdyn365-commerce/core-internal';\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICountryPickerData } from './country-picker.data';\nimport { IActionLinkData, ICountryPickerProps } from './country-picker.props.autogenerated';\n\n/**\n * CountryPicker view props interface.\n */\nexport interface ICountryPickerViewProps extends ICountryPickerProps {\n modalContainer: IModuleProps;\n modalHeaderContainer: INodeProps;\n modalFooterContainer: INodeProps;\n modalBodyContainer: INodeProps;\n heading?: React.ReactNode;\n subheading?: React.ReactNode;\n link?: React.ReactNode;\n countryList?: React.ReactNode[];\n isModalOpen?: boolean;\n state?: ICountryPickerState;\n stayOnCurrentSiteButton?: React.ReactNode;\n}\n\n/**\n * ICountryPickerState: Interface for Country picker State.\n */\nexport interface ICountryPickerState {\n isModalOpen: boolean;\n}\n\n/**\n *\n * CountryPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CountryPicker extends React.PureComponent, ICountryPickerState> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n private readonly _preferredSiteStorageKey: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationTime = 5_184_000;\n\n public constructor(props: ICountryPickerProps) {\n super(props);\n let isCookieValueSet: boolean = false;\n if (props.context.request.cookies.get(this._preferredSiteStorageKey).value) {\n isCookieValueSet = true;\n }\n this.state = {\n isModalOpen: !isCookieValueSet && this.props.context.request.marketSettings !== undefined\n };\n }\n\n public render(): JSX.Element | null {\n const { heading, subheading, countryList, actionLink } = this.props.config;\n\n const isConsentGiven = this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven) {\n return null;\n }\n\n const countryPickerHeading = heading && (\n \n );\n\n const countryPickerSubHeading = subheading && (\n \n );\n\n const countryPickerActionLink = actionLink && this.createLink(actionLink);\n const currentSiteButton = (\n \n );\n\n const viewprops: ICountryPickerViewProps = {\n ...this.props,\n state: this.state,\n isModalOpen: this.state.isModalOpen,\n modalContainer: {\n moduleProps: this.props,\n tag: Modal,\n className: 'ms-country-picker__dialog',\n isOpen: true,\n 'aria-label': 'country-picker',\n toggle: this.closeModal,\n modalTransition: { timeout: 0 },\n shouldUpdateFocusToFirstElement: true\n },\n modalHeaderContainer: {\n tag: ModalHeader,\n className: 'ms-country-picker__modal-header',\n toggle: this.closeModal,\n closeButtonTabIndex: 1\n },\n modalFooterContainer: {\n tag: ModalFooter,\n className: 'ms-countryPicker__modal-footer'\n },\n modalBodyContainer: {\n tag: ModalBody,\n className: 'ms-counrtyPicker__modal-body'\n },\n heading: countryPickerHeading,\n subheading: countryPickerSubHeading,\n link: countryPickerActionLink,\n countryList: countryList && this.renderCountryList(),\n stayOnCurrentSiteButton: currentSiteButton\n };\n\n return this.props.renderView(viewprops);\n }\n\n /**\n * Initiate close modal.\n */\n public readonly closeModal = (): void => {\n this.setState({\n isModalOpen: false\n });\n };\n\n public handleParagraphChange(event: MsDyn365.ContentEditableEvent): void {\n this.props.config.subheading = event.target.value;\n }\n\n public handleTextChange(event: MsDyn365.ContentEditableEvent): void {\n this.props.config.heading!.text = event.target.value;\n }\n\n public handleLinkTextChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.actionLink?.linkText) {\n this.props.config.actionLink.linkText = event.target.value;\n }\n }\n\n public createLink(link?: IActionLinkData): React.ReactNode | null {\n if (!StringExtensions.isNullOrEmpty(link?.linkUrl.destinationUrl)) {\n const linkText = link?.linkText ?? '';\n const payLoad = getPayloadObject('click', this._telemetryContent, '', '');\n const attributes = getTelemetryAttributes(this._telemetryContent, payLoad);\n const editableLink: MsDyn365.ILinksData = {\n ariaLabel: link?.ariaLabel,\n className: 'ms-countryPicker__link',\n linkText,\n linkUrl: link?.linkUrl.destinationUrl,\n openInNewTab: link?.openInNewTab,\n role: 'link',\n additionalProperties: attributes!,\n onClick: onTelemetryClick(this._telemetryContent, payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n public renderCountryList(): React.ReactNode[] | undefined {\n const marketSettings = this.props.context.request.marketSettings;\n if (!marketSettings) {\n return undefined;\n }\n const localeItems = marketSettings.localeItems;\n const countryLinks = localeItems.map((value: ILocaleItems) => {\n return this.renderCountry(value);\n });\n\n return countryLinks;\n }\n\n public renderCountry(localeItem: ILocaleItems): React.ReactNode | null {\n const countryList = this.props.config.countryList;\n let baseUrl = localeItem.localeBaseUrl;\n baseUrl = this._appendProtocolToUrl(baseUrl);\n const matchedCountryItem = countryList?.find(item => item.url === baseUrl);\n if (!matchedCountryItem) {\n return null;\n }\n const imageSize: IImageDimension = { q: 'w=48&h=48&m=6', w: 0, h: 0 };\n const defaultImageSettings: MsDyn365.IImageSettings = {\n viewports: {\n xs: imageSize,\n lg: imageSize,\n xl: imageSize\n },\n lazyload: true\n };\n const image = matchedCountryItem.image;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings ?? defaultImageSettings\n };\n return (\n \n {image && (\n \n )}\n
\n {matchedCountryItem.displayString}\n {matchedCountryItem.displaySubString}\n
\n \n );\n }\n\n /**\n * Writes the current site base url to cookie and closes the country picker modal dialog.\n */\n private readonly _handleStayOnSiteButtonClick = (): void => {\n const currentBaseUrl = this.props.context.request.marketSettings?.currentBaseUrl;\n if (currentBaseUrl) {\n const urlToStore = this._appendProtocolToUrl(currentBaseUrl);\n this._writeToCookie(this._preferredSiteStorageKey, urlToStore);\n }\n this.closeModal();\n };\n\n /**\n * Handles click event of country selection.\n * @param storageKey - Cookie storage key.\n * @param storageValue - Preffered site url.\n * @returns - This method just writes the cookie to the browser.\n */\n private readonly _handleClick = (storageKey?: string, storageValue?: string) => () => {\n this._writeToCookie(storageKey, storageValue);\n };\n\n /**\n * Handles click event of country selection.\n * @param storageKey - Cookie storage key.\n * @param storageValue - Preffered site url.\n */\n private readonly _writeToCookie = (storageKey?: string, storageValue?: string): void => {\n if (!storageKey || !storageValue) {\n return;\n }\n const cookieOptions: ICookieSetOptions = { secure: true, sameSite: 'none' };\n cookieOptions.maxAge = this._cookieExpirationTime;\n this.props.context.request.cookies.set(storageKey, storageValue, cookieOptions);\n };\n\n /**\n * Appends protocol to an url.\n * @param baseUrl - Url to be formatted.\n * @returns - URL after appending protocol.\n */\n private readonly _appendProtocolToUrl = (baseUrl: string): string => {\n return !baseUrl.includes('https://') ? `https://${baseUrl}` : baseUrl;\n };\n}\n\nexport default CountryPicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICountryPickerViewProps } from './index';\n\n/**\n * Functional component which renders country picker module.\n * @param props - Configuration for the country picker component.\n * @returns React.FC - Functional component of the country picker module.\n */\nexport const countryPickerView: React.FC = (props: ICountryPickerViewProps) => {\n const {\n isModalOpen,\n modalContainer,\n modalHeaderContainer,\n modalBodyContainer,\n heading,\n modalFooterContainer,\n subheading,\n link,\n countryList,\n stayOnCurrentSiteButton\n } = props;\n return isModalOpen && countryList ? (\n \n \n {heading}\n {subheading}\n \n \n {countryList.map(country => (\n <>{country}\n ))}\n \n \n {stayOnCurrentSiteButton}\n {link}\n \n \n ) : null;\n};\n\nexport default countryPickerView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterCategoryConfig, IFooterCategoryProps } from './footer-category.props.autogenerated';\n\nexport interface IFooterCategoryViewProps extends IFooterCategoryProps {\n categories: React.ReactNode[];\n FooterList: IModuleProps;\n FooterListItem: INodeProps;\n}\n\n/**\n *\n * FooterCategory component.\n * @extends {React.PureComponent>}\n */\nclass FooterCategory extends React.PureComponent> {\n public render(): JSX.Element | null {\n if (!this.props.slots || !this.props.slots.content || this.props.slots.content.length === 0) {\n this.props.context.telemetry.error('footer slots content is empty, module wont render');\n return null;\n }\n const viewprops = {\n ...this.props,\n categories: this.props.slots.content,\n FooterList: {\n moduleProps: this.props,\n className: classnames('ms-footer__list', this.props.config.className),\n tag: 'ul'\n },\n FooterListItem: {\n className: classnames('ms-footer__list-item', this.props.config.className),\n tag: 'li'\n }\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default FooterCategory;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { IFooterCategoryViewProps } from './footer-category';\n\nexport const FooterCategoryView: React.FC = props => {\n const { categories, FooterList, FooterListItem } = props;\n if (!categories || categories.length === 0) {\n props.context.telemetry.error('Footer content is empty, module wont render');\n return null;\n }\n return (\n \n {categories.map((category: ReactNode, index: number) => {\n return (\n \n {category}\n \n );\n })}\n \n );\n};\n\nexport default FooterCategoryView;\n"],"names":["NavIcon","React","constructor","props","super","payLoad","getPayloadObject","telemetryContent","TelemetryConstant","this","attributes","getTelemetryAttributes","render","Button","Object","assign","className","onClick","toggleNavBar","title","mobileHamburgerAriaLabel","isExpanded","targetId","__decorate","observer","Logo","_renderLogo","config","link","linkUrl","href","_renderImage","defaultImageSettings","viewports","xs","q","w","h","lg","lazyload","Msdyn365","image","gridSettings","imageSettings","loadFailureBehavior","editProps","key","requestContext","CommercialHeader","state","mobileMenuCollapsed","signinPopoverOpen","_toggleNavbar","bind","componentDidMount","_stickyHeaderSetup","menuBarSlot","_getSlot","navbarKey","headerClassName","classnames","logoLink","logoImage","viewProps","_objectSpread","logo","context","request","HeaderTag","moduleProps","tag","menuBar","length","navIcon","MobileMenuContainer","Modal","id","isOpen","wrapClassName","toggle","MobileMenuHeader","ModalHeader","MobileMenuBodyContainer","ModalBody","renderView","console","log","setState","_setHeader","slotName","slots","lockHeader","headerElem","document","querySelector","documentElement","scrollTop","classList","add","window","body","contains","remove","_updateHeader","isInMobileMenu","onscroll","_renderReactFragment","items","map","slot","index","Module","Node","CittaGiftCardContainer","moduleClassName","GiftCardWrapper","giftCardContent","slot1","giftCardForm","slot2","SlotWrapper","CittaLightbox","_openModal","_closeModal","defaultOpenState","launchLightboxButton","_launchLightboxButton","hasLaunchLightboxButton","launchLightboxButtonText","CittaLighboxViewProps","CittaLighboxContainer","launchLightboxButtonClassName","LaunchLighboxButton","ModalPopUp","_modalPopUp","buttonText","autoFocus","fade","horizontalPosition","verticalPosition","zIndex","applicationNode","lightboxClassName","modalTransition","onMouseDown","e","preventDefault","showModalHeader","modalHeader","content","prevState","Link","_ref","text","ariaLabel","noclick","linkText","undefined","contentAction","etext","attribute","onTelemetryClick","itemProp","Separator","separator","Breadcrumb","_pageType","urlTokens","pageType","getTelemetryObject","telemetryPageName","friendlyName","telemetry","_getRootLink","root","destinationUrl","error","_getCustomBreadcrumbLinks","itemPosition","links","value","keyIndex","toString","_getCategoryHierarchy","data","categoryHierarchy","result","_getFriendlyName","locale","NameTranslations","Url","nameTranslations","_nameTranslation","nameTranslation","ArrayExtensions","hasElements","find","item","Language","toLowerCase","Text","_getPDPLinks","categoryPaths","product","url","requestUrl","push","Name","hideProductName","_goBack","history","back","_getPDPBackButton","query","MsDyn365","isBrowser","referrer","role","resources","backToResultsText","rootLink","breadcrumbLinks","backButtonComponent","breaCrumbType","app","breadcrumbType","linkSeparator","breadcrumbViewProps","BreadcrumbContainer","BreadcrumbList","BreadcrumbListItem","backButton","CountryPicker","_telemetryContent","_preferredSiteStorageKey","_cookieExpirationTime","closeModal","isModalOpen","_handleStayOnSiteButtonClick","_this$props$context$r","currentBaseUrl","marketSettings","urlToStore","_appendProtocolToUrl","_writeToCookie","_handleClick","storageKey","storageValue","cookieOptions","secure","sameSite","maxAge","cookies","set","baseUrl","includes","isCookieValueSet","get","_heading$tag","heading","subheading","countryList","actionLink","isConsentGiven","countryPickerHeading","onEdit","handleTextChange","countryPickerSubHeading","handleParagraphChange","countryPickerActionLink","createLink","currentSiteButton","tabIndex","stayOnCurrentSiteButtonText","viewprops","modalContainer","timeout","shouldUpdateFocusToFirstElement","modalHeaderContainer","closeButtonTabIndex","modalFooterContainer","ModalFooter","modalBodyContainer","renderCountryList","stayOnCurrentSiteButton","event","target","handleLinkTextChange","_this$props$config$ac","StringExtensions","isNullOrEmpty","_link$linkText","editableLink","openInNewTab","additionalProperties","onTextChange","localeItems","renderCountry","localeItem","_image$imageSettings","_image$src","localeBaseUrl","matchedCountryItem","imageSize","xl","imageProps","displayString","src","altText","shouldSkipToMainImage","displaySubString","countryPickerView","country","FooterCategory","categories","FooterList","FooterListItem","FooterCategoryView","category"],"sourceRoot":""}