{"version":3,"file":"static/js/314a95f32e9547551feb.bundle.js","mappings":";2MAUM,MAAOA,EAAbC,cAGS,KAAAC,YAAc,IAAM,eACpB,KAAAC,mBAAqB,IAAM,eAC3B,KAAAC,cAAgB,IAA0B,aACnD,EAuBA,QAAeC,EAAAA,GAAoC,CACjDC,OAPFC,eAA0CC,EAA6BC,GAGrE,MAAO,CAAEC,UAAW,GACtB,EAKEC,GAAI,kCACJH,MAjBmBI,GACZ,IAAIZ,4OCVNO,eAAeM,EAAwBC,EAAuBC,GACnE,MAAMC,QAAqBC,EAAAA,EAAAA,uBAAsB,CAAEC,cAAeJ,EAAQK,eAAiBL,EAAQK,cAAcC,eAAeC,YAAYC,UAAWR,EAAQK,cAAcC,eAAeC,YAAYE,UAAWR,GAAYS,OAAMC,GAASC,QAAQC,IAAI,0DAA2DF,KAErT,GAAIT,GAAgBA,EAAaY,OAAS,EAAG,CAC3CZ,EAAaa,MAAK,CAACC,EAAwBC,IAA6BD,EAAEE,aAAkBD,EAAEC,cAAkB,EAAI,IAEpH,MAAMC,EAAuB,GAE7BjB,EAAakB,KAAIC,GAAQF,EAAWG,KAAKD,EAAKE,YA2B9C,aAFuBC,EAAAA,EAAAA,eAAc,CAAEpB,cAAeJ,EAAQK,eAAiBL,EAAQK,cAAcC,eAAeC,YAAYC,UAAWW,GAAYT,OAAMC,GAASC,QAAQC,IAAI,kDAAmDF,KAKvO,MAAO,EACT,CAEOlB,eAAegC,EAAYzB,EAAuB0B,GACvD,GAAIA,EAAYZ,OAAS,EAAG,CAC1B,MAEMa,EAAmC,CAAEC,QAFrB,CAAEC,UAAW7B,EAAQK,cAAcC,eAAeC,YAAYC,UAAWsB,UAAW9B,EAAQK,cAAcC,eAAeC,YAAYE,WAExFsB,YAAaL,EAAaM,mBAAmB,GAIhH,aAFuBC,EAAAA,EAAAA,aAAY,CAAE7B,cAAeJ,EAAQK,eAAiBsB,GAK/E,MAAO,EACT,CAEOlC,eAAeyC,EAAwBlC,EAAuBmC,EAA6CC,EAAoBC,EAAsBC,EAAgBC,EAAeC,GACzL,MAAMC,QAyGDhD,eAAkCO,EAAuBmC,GAC9D,MAAMM,EAAiC,GAEnCN,EAAUO,QACZP,EAAUO,OAAOC,SAAQC,IACnBA,EAAOC,UAAYD,EAAOC,SAAS/B,OAAS,GAC9C2B,EAAWnB,KAAK,CAAEwB,KAAMF,EAAQG,OAAQH,EAAOC,SAASzB,KAAIC,GAAQA,EAAKE,WAAWyB,SAAU,QAKpG,IAAK,IAAIC,EAAI,EAAGA,EAAIR,EAAW3B,SAAUmC,EACvCR,EAAW,GAAGQ,KAAKD,eAAiBvB,EAAYzB,EAASyC,EAAW,GAAGQ,KAAKF,QAG9E,OAAON,CACT,CAzH2BS,CAAmBlD,EAASmC,GAC/CgB,EAAkC,GACxC,IAAIC,EACAC,EAAuB,GAc3B,GAXa,MAATb,GAEFa,QAAeC,EAAAA,EAAAA,sBAAqB,CAAElD,cAAeJ,EAAQK,eAAiB+B,EAASmB,eAEvFH,QAAyBI,EAAAA,EAAAA,IAAqC,CAAEpD,cAAeJ,EAAQK,eAAiB+B,EAASmB,cAAenB,EAASqB,MAAQpB,EAAcC,EAAOC,IAGtKa,QAAyBM,EAAAA,EAAAA,IAA2C,CAAEtD,cAAeJ,EAAQK,eAAiBiC,EAAOF,EAASmB,cAAenB,EAASqB,MAAuB,MAAdpB,EAAmB,OAAO,QAIvLe,EAEF,IAAK,IAAIO,EAAI,EAAGA,EAAIP,EAAiBtC,OAAQ6C,IAAK,CAChD,MAAMC,EAA2BC,KAAKC,MAAMV,EAAiB,GAAGO,MAEhE,GAAIC,EAAuB,UACzBhD,QAAQC,IAAI+C,EAA0B,kBACjC,CACL,MAAMG,EAA6B,GAEnC,IAAK,IAAId,EAAI,EAAGA,GAAK,GAAIA,IAAK,CAC5B,MAAMe,EAAS,QAAUf,EAErBW,EAAY,GAAGI,MACjBD,EAAiBzC,KAAKsC,EAAY,GAAGI,MAIzC,IAAIC,EAAW,GACXC,EAAS,EACTC,EAAQ,EAkBZ,GAhBsC,KAAlCP,EAAYQ,mBAA8D,OAAlCR,EAAYQ,kBACtD3B,EAAWE,SAAQC,IACjB,MAAMyB,EAAQzB,EAAOI,SAASsB,MAAKjD,GAAQA,EAAKE,WAAagD,SAASX,EAAYY,aAE9EH,IACFJ,EAAWrB,EAAOE,KAAK2B,KACvBP,EAAStB,EAAOE,KAAKvB,SACrB4C,EAAQE,EAAMK,MAAQL,EAAMK,MAAQ,OAIxCT,EAAWL,EAAYe,gBACvBT,EAASU,OAAOhB,EAAYQ,mBAC5BD,EAAQP,EAAYiB,cAGe,KAAjCjB,EAAYkB,iBAAyB,CACvC,IAAIT,EAAQS,EAAAA,GAAAA,OAA2BC,WAAU1D,GAAQA,EAAK2D,QAAUpB,EAAYkB,mBAGhFT,EAAQ,IACVA,EAAQS,EAAAA,GAAAA,OAA2BC,WAAU1D,GAAQA,EAAK2D,QAAUpB,EAAYkB,oBAI9ET,GAAS,IACXF,GAAgBW,EAAAA,MAAuB,GAAGT,MAI9C,MAAMY,EAAgB5B,EAAOiB,MAAKY,GAASA,EAAMC,KAAOvB,EAAYwB,eAC9DC,EAA2C,KAA1BzB,EAAY0B,UAAoBL,GAAiBA,EAAcM,QAAUN,EAAcM,QAAU,UAAY3B,EAAY0B,UAEhJ,IAAIJ,EAAQtB,EACZsB,EAAML,aAAeV,EACrBe,EAAMP,gBAAkBV,EACxBiB,EAAMd,kBAAoBF,EAAOsB,WAEjCrC,EAAa7B,KAAK,CAChBmE,WAAY,CAAC7B,EAAY8B,WACzBC,MAAO5B,EACP6B,UAAWhC,EAAYiC,kBAAoB,IAAIC,KAAKlC,EAAYiC,mBAAqB,IAAIC,KACzFR,UAAW,CAACD,GACZU,OAAQb,KAUhB,OAJA/B,EAAapC,MAAK,CAACC,EAAGC,IACbA,EAAE2E,UAAUI,UAAYhF,EAAE4E,UAAUI,YAGtC7C,CACT,CAEO1D,eAAewG,EAAiBjG,EAAuBkG,EAAsBC,EAAsB9E,SAClG+E,EAAAA,EAAAA,IAAwB,CAAEhG,cAAeJ,EAAQK,eA2BnD,WACJ,IAAIgG,GAAOC,EAAAA,EAAAA,KAEX,OAASC,EAAAA,EAAAA,GAAaF,IAA8B,IAArBG,EAAAA,EAAAA,GAAYH,IACzCA,GAAOC,EAAAA,EAAAA,KAGT,OAAOD,CACT,CAnC0EI,GAAgBP,EAAcC,GAAc,IAAIL,MAAOY,cAAerF,EAAKsF,WAAYtF,EAAKuF,OAAQvF,EAAKmD,UAAWnD,EAAKwF,QAASxF,EAAKqE,UAAWrE,EAAKyF,SAAUzF,EAAK0F,aAAc1F,EAAK2F,WAAY3F,EAAK4F,OAAQ5F,EAAK6F,OAAQ7F,EAAK8F,OAAQ9F,EAAK+F,OAAQ/F,EAAKgG,OAAQhG,EAAKiG,OAAQjG,EAAKkG,OAAQlG,EAAKmG,OAAQnG,EAAKoG,OAAQpG,EAAKqG,QAASrG,EAAKsG,QAAStG,EAAKuG,QAASvG,EAAKwG,QAASxG,EAAKyG,QAASzG,EAAK0G,QAAS1G,EAAK2G,QAAS3G,EAAK4G,QAAS5G,EAAK6G,QAAS7G,EAAK8G,QAAS9G,EAAK+G,QAAS/G,EAAKgH,QAAShH,EAAKiH,QAASjH,EAAKkH,SAAUlH,EAAKmH,YAAanH,EAAKoH,gBAAiBpH,EAAKqH,KAAMrH,EAAKsH,aAActH,EAAKuH,WAAYvH,EAAKwH,WAAYxH,EAAKyH,UAAWzH,EAAK0H,YAAa1H,EAAK2H,WAAY3H,EAAK4H,eAAgB5H,EAAK6H,eAAgB7H,EAAK8H,gBAAiB9H,EAAK+H,UAAW/H,EAAKgI,YAAahI,EAAKiI,UAAWjI,EAAKkI,QAASlI,EAAKmI,iBAAkBnI,EAAKyD,iBAAkBzD,EAAKoI,QAASpI,EAAKqI,YAAarI,EAAKsI,qBAAsBtI,EAAKuI,YAAavI,EAAKwI,UAAWxI,EAAKyI,UAAWzI,EAAK0I,WAAY1I,EAAK2I,UAAW3I,EAAK4I,UAAW5I,EAAK6I,YAAa7I,EAAK8I,YAAa9I,EAAK+I,UAAW/I,EAAKgJ,OAAQhJ,EAAKiJ,YAAajJ,EAAKkJ,cAAelJ,EAAKmJ,YAAanJ,EAAKoJ,qBAAsBpJ,EAAKqJ,eAAgBrJ,EAAKsJ,mBAAoBtJ,EAAKuJ,mBACvvC,CAEOnL,eAAeoL,EAAuB7K,EAAuBqB,GAGlE,aAFsByJ,EAAAA,EAAAA,IAAgC,CAAE1K,cAAeJ,EAAQK,eAAiBgB,EAAK0J,KAAKpE,WAAYtF,EAAK0J,KAAKnE,OAAQvF,EAAK0J,KAAKvG,UAAWnD,EAAK0J,KAAKlE,QAASxF,EAAK0J,KAAKrF,UAAWrE,EAAK0J,KAAKjE,SAAUzF,EAAK0J,KAAKhE,aAAc1F,EAAK0J,KAAK/D,WAAY3F,EAAK0J,KAAK9D,OAAQ5F,EAAK0J,KAAK7D,OAAQ7F,EAAK0J,KAAK5D,OAAQ9F,EAAK0J,KAAK3D,OAAQ/F,EAAK0J,KAAK1D,OAAQhG,EAAK0J,KAAKzD,OAAQjG,EAAK0J,KAAKxD,OAAQlG,EAAK0J,KAAKvD,OAAQnG,EAAK0J,KAAKtD,OAAQpG,EAAK0J,KAAKrD,QAASrG,EAAK0J,KAAKpD,QAAStG,EAAK0J,KAAKnD,QAASvG,EAAK0J,KAAKlD,QAASxG,EAAK0J,KAAKjD,QAASzG,EAAK0J,KAAKhD,QAAS1G,EAAK0J,KAAK/C,QAAS3G,EAAK0J,KAAK9C,QAAS5G,EAAK0J,KAAK7C,QAAS7G,EAAK0J,KAAK5C,QAAS9G,EAAK0J,KAAK3C,QAAS/G,EAAK0J,KAAK1C,QAAShH,EAAK0J,KAAKzC,QAASjH,EAAK0J,KAAKxC,SAAUlH,EAAK0J,KAAKvC,YAAanH,EAAK0J,KAAKtC,gBAAiBpH,EAAK0J,KAAKrC,KAAMrH,EAAK0J,KAAKpC,aAActH,EAAK0J,KAAKnC,WAAYvH,EAAK0J,KAAKlC,WAAYxH,EAAK0J,KAAKjC,UAAWzH,EAAK0J,KAAKhC,YAAa1H,EAAK0J,KAAK/B,WAAY3H,EAAK0J,KAAK9B,eAAgB5H,EAAK0J,KAAK7B,eAAgB7H,EAAK0J,KAAK5B,gBAAiB9H,EAAK0J,KAAK3B,UAAW/H,EAAK0J,KAAK1B,YAAahI,EAAK0J,KAAKzB,UAAWjI,EAAK0J,KAAKxB,QAASlI,EAAK0J,KAAKvB,iBAAkBnI,EAAK0J,KAAKjG,iBAAkBzD,EAAK0J,KAAKtB,QAASpI,EAAK0J,KAAKrB,YAAarI,EAAK0J,KAAKpB,qBAAsBtI,EAAK0J,KAAKnB,YAAavI,EAAK0J,KAAKlB,UAAWxI,EAAK0J,KAAKjB,UAAWzI,EAAK0J,KAAKhB,WAAY1I,EAAK0J,KAAKf,UAAW3I,EAAK0J,KAAKd,UAAW5I,EAAK0J,KAAKb,YAAa7I,EAAK0J,KAAKZ,YAAa9I,EAAK2J,QAAS3J,EAAK4J,YAAa5J,EAAK6J,OAAQ7J,EAAK8J,aAAc9J,EAAK0J,KAAKX,UAAW/I,EAAK0J,KAAKV,OAAQhJ,EAAK0J,KAAKT,YAAajJ,EAAK0J,KAAKP,YAAanJ,EAAK0J,KAAKR,cAAelJ,EAAK0J,KAAKN,qBAAsBpJ,EAAK0J,KAAKL,eAAgBrJ,EAAK0J,KAAKJ,mBAAoBtJ,EAAK0J,KAAKH,mBAAoBvJ,EAAK0J,KAAKK,QAAS/J,EAAK0J,KAAKM,oBAGnpD,CA8BM,SAAUC,EAAuBC,EAAmBC,EAAuBC,EAAuBC,GACtG,IAAIC,EACJ,MAAMC,EAAWC,SAASC,iBAAiBP,GAG3C,IAAK,IAAI5H,EAAI,EAAIA,EAAIiI,EAAS9K,OAAQ6C,IAAI,CACxC,MAAMoI,EAAcH,EAAS,GAAGjI,KAC5BoI,EAAYC,UAAUC,SAAST,KACjCG,EAAgBD,EAAe/H,EAAI,EAAIA,EAAI,GAE7CoI,EAAYC,UAAUE,OAAOV,GAC7BO,EAAYC,UAAUG,IAAIV,GAG5B,MAAMW,EAAgBR,EAAS,GAAGD,KAClCS,EAAcJ,UAAUE,OAAOT,GAC/BW,EAAcJ,UAAUG,IAAIX,EAC9B,CAEM,SAAUa,EAA8CC,GAC5D,MAAMC,EAAgBV,SAASW,uBAAuBF,GAAW,GAC3DG,EAAYZ,SAASW,uBAAuB,0BAA0B,GAE5E,GAAKD,EAAcG,gBAWjBD,EAAUE,MAAMC,QAAU,WAXO,CACjCH,EAAUE,MAAMC,QAAU,QAE1B,MAAMC,EAAaC,aAAY,KACzBjB,SAASW,uBAAuBF,GAAW,GAAGI,kBAChDD,EAAUE,MAAMC,QAAU,OAC1BG,cAAcF,MAEf,KAKP,CAEM,SAAUG,EAAkBC,GAChC,MAAMR,EAAYZ,SAASW,uBAAuB,0BAA0B,GAE5E,IAAIU,EAAsB,GAY1B,OAVID,EACFC,EAAiBC,YAAW,KAC1BV,EAAUE,MAAMC,QAAU,OAAO,GAChC,KAGHH,EAAUE,MAAMC,QAAU,OAIrBM,CACT,CAEM,SAAUE,EAAyBH,GACvC,MAAMR,EAAYZ,SAASW,uBAAuB,0BAA0B,GACrEC,EAAUE,MAAMC,QAAvBK,EAAiC,QAAoC,MACvE,CAEM,SAAUI,EAAsBJ,GACpC,MAAMR,EAAYZ,SAASW,uBAAuB,4BAA4B,GACvEC,EAAUE,MAAMC,QAAvBK,EAAiC,QAAoC,MACvE,CAEM,SAAUK,EAAoBJ,GAClCK,aAAaL,EACf,CAEM,SAAUM,EAA0BP,GACdQ,MAAMC,KAAK7B,SAASW,uBAAuB,eAC5D7J,SAAQgL,IAEZA,EAAwBhB,MAAMC,QAD7BK,EACuC,QAGA,SAG/C,CAGOxN,eAAemO,EAAyBC,EAAkBxN,EAA+BG,GAAiB,IAAAsN,EAAAC,EAC/G,IAAI5M,EAAuB,GACR,QAAnB2M,EAAAD,EAAKA,KAAKG,iBAAS,IAAAF,GAAnBA,EAAqB1M,KAAI6M,GAAY9M,EAAWG,KAAKsD,OAAOqJ,EAASC,cAErE,IAAIC,QAA8BlM,EAAAA,EAAAA,aAAY,CAAE7B,cAAeC,GAAiB,CAAE+N,IAAKjN,IAEnFkN,EAA8B,GAelC,OAbmB,QAAnBN,EAAAF,EAAKA,KAAKG,iBAAS,IAAAD,GAAnBA,EAAqB3M,KAAI6M,IACrB,GAAIA,EAASC,UAAW,CACpB,IAAII,EAA2B,CAC3BC,SAAUN,EAASO,SACnBC,YAAaN,EAAsB7J,MAAKoK,GAAWA,EAAQnN,UAAY0M,EAASC,YAAYS,YAC5FxK,MAAO8J,EAASvJ,MAChBkK,YAAaX,EAASO,SAAYP,EAASvJ,MAC3CmK,QAASZ,EAASa,SAEtBT,EAAa/M,KAAKgN,OAInBD,CACT,6BCpTO,IAAWU,EAMZ,SAAUC,EAAUC,GACxB,OAAOA,EAAQF,EAAYG,KAC7B,kBARA,SAAkBH,GAChBA,EAAAA,EAAA,mBACAA,EAAAA,EAAA,qBACAA,EAAAA,EAAA,kBACD,CAJD,CAAkBA,IAAAA,EAAW,iGCmBvB,MAAOI,UAAoBC,IAAAA,cAAjCjQ,kCAyBU,KAAAkQ,eAAiB,KAClBC,KAAKC,MAAMC,YACdC,OAAOC,SAASC,QAAOC,EAAAA,EAAAA,mBAAkBN,KAAKC,MAAMb,QAASY,KAAKC,MAAMvP,QAAQK,mBAAewP,IAGrG,CA7BSC,SACL,MAAMnD,EAAQ2C,KAAKC,MAAMC,WAAa,mCAAqC,qBAE3E,OACEJ,IAAAA,cAAA,MAAI9C,UAAWK,EAAOoD,QAAST,KAAKD,eAAgBW,KAAK,UACvDZ,IAAAA,cAAA,OAAK9C,UAAU,iBACZgD,KAAKC,MAAMC,YAAcJ,IAAAA,cAAA,SAAIE,KAAKC,MAAMU,iBACzCb,IAAAA,cAACc,EAAAA,GAAK,CACJC,IAAKb,KAAKC,MAAMb,QAAQ0B,iBAAmB,GAC3CC,aAAaC,EAAAA,EAAAA,qBAAoBhB,KAAKC,MAAMb,QAAQ6B,OAAQjB,KAAKC,MAAMvP,QAAQK,cAAcC,eAAeC,aAC5GiQ,QAASlB,KAAKC,MAAMb,QAAQjK,KAC5BgM,aAAcnB,KAAKC,MAAMkB,aACzBC,oBAAoB,UAErBpB,KAAKC,MAAMoB,cAAgBvB,IAAAA,cAAA,WAAME,KAAKC,MAAMqB,iBAE/CxB,IAAAA,cAAA,OAAK9C,UAAU,kBACb8C,IAAAA,cAAA,SAAIE,KAAKC,MAAMb,QAAQjK,MACvB2K,IAAAA,cAAA,SAAgC,GAA5BE,KAAKC,MAAMb,QAAQhK,MAAa,GAAK,IAAM4K,KAAKC,MAAMb,QAAQhK,QAI1E,EASF,qCCtDO,IAAWmM,EAQAC,EAMAC,sCAdlB,SAAkBF,GAChBA,EAAA,kBACAA,EAAA,YACAA,EAAA,kBACAA,EAAA,gBACAA,EAAA,aACD,CAND,CAAkBA,IAAAA,EAAe,KAQjC,SAAkBC,GAChBA,EAAA,UACAA,EAAA,UACAA,EAAA,aACD,CAJD,CAAkBA,IAAAA,EAAa,KAM/B,SAAkBC,GAChBA,EAAA,kBACAA,EAAA,eACD,CAHD,CAAkBA,IAAAA,EAAQ,2ECMpB,MAAOC,UAAc5B,EAAAA,cAA3BjQ,kCAoBU,KAAA8R,kBAAoB,KAC1B3B,KAAKC,MAAM2B,UAAU,EAGf,KAAAC,cAAgB,KAAK,IAAAC,EACtB,QAALA,EAAAC,aAAK,IAAAD,GAALA,EAAOE,iBACPhC,KAAKC,MAAM2B,UAAU,CA2FzB,CApHSpB,SACL,OACIV,EAAAA,cAACmC,EAAAA,EAAK,CAACtE,KAAMqC,KAAKC,MAAMiC,UAAWC,OAAQnC,KAAK6B,cAAeO,UAAQ,GACnEtC,EAAAA,cAACmC,EAAAA,EAAMI,OAAM,CAACC,cAAatC,KAAKC,MAAMsC,eAClCzC,EAAAA,cAACmC,EAAAA,EAAMO,MAAK,CAACxF,UAAU,qBAAqBgD,KAAKyC,eAGrD3C,EAAAA,cAACmC,EAAAA,EAAMS,KAAI,KACN1C,KAAK2C,kBAGV7C,EAAAA,cAACmC,EAAAA,EAAMW,OAAM,KACT9C,EAAAA,cAAA,KAAG+C,KAAK,GAAGpC,QAAST,KAAK6B,cAAe7E,UAAU,6CAA6CK,MAAO2C,KAAKC,MAAMP,SAAW,CAAEC,MAAO,QAAa,CAAEA,MAAO,QAAYK,KAAK8C,mBAC5KhD,EAAAA,cAAA,KAAG+C,KAAM7C,KAAKC,MAAM8C,IAAKC,OAAQhD,KAAKC,MAAMsC,cAAgB,SAAW,QAAS9B,QAAST,KAAK2B,kBAAmB3E,UAAWgD,KAAKC,MAAMsC,cAAgB,kDAAoD,2CAA4ClF,MAAO2C,KAAKC,MAAMP,SAAW,CAAEC,MAAO,QAAa,CAAEA,MAAO,QAAYK,KAAKiD,kBAIlV,CAWQR,aACN,OAAKzC,KAAKC,MAAMsC,cAIU,OAAtBvC,KAAKC,MAAMiD,OACN,YAEA,8BANAlD,KAAKC,MAAMkD,IAQtB,CAEQL,kBACN,MAA0B,OAAtB9C,KAAKC,MAAMiD,OACTlD,KAAKC,MAAMsC,cACN,KAEA,OAGLvC,KAAKC,MAAMsC,cACN,SAEA,aAGb,CAEQU,gBACN,MAA0B,OAAtBjD,KAAKC,MAAMiD,OACTlD,KAAKC,MAAMsC,cACN,YAEA,OAGLvC,KAAKC,MAAMsC,cACN,mBAEA,oBAGb,CAEQI,iBAEN,MAA0B,OAAtB3C,KAAKC,MAAMiD,OACTlD,KAAKC,MAAMsC,cAEXzC,EAAAA,cAAA,OAAK9C,UAAU,oBACX8C,EAAAA,cAAA,uBACAA,EAAAA,cAAA,cACAA,EAAAA,cAAA,gCACAA,EAAAA,cAAA,cACAA,EAAAA,cAAA,0BACAA,EAAAA,cAAA,cACAA,EAAAA,cAAA,wBAKJA,EAAAA,cAAA,OAAK9C,UAAU,oBACb8C,EAAAA,cAAA,yBAKFE,KAAKC,MAAMsC,cAEXzC,EAAAA,cAAA,OAAK9C,UAAU,oBACX8C,EAAAA,cAAA,uCACAA,EAAAA,cAAA,cACAA,EAAAA,cAAA,0EACAA,EAAAA,cAAA,cACAA,EAAAA,cAAA,iFACAA,EAAAA,cAAA,cACAA,EAAAA,cAAA,wCAKJA,EAAAA,cAAA,OAAK9C,UAAU,oBACb8C,EAAAA,cAAA,2EAKV,EAGF,yuBCxHA,MAAMsD,EAASC,EAAQ,IAgBvB,MAAMC,UAA2BxD,EAAAA,cAAjCjQ,kCACS,KAAA0T,MAAa,CAAEC,SAAU,GAAIC,uBAAwB,CAAC,EAAGC,WAAY,GAAIC,gBAAiB,GAAIC,6BAA8B,GA8FrI,CA5FSzT,0BACL,MAAM,QAAEO,EAASA,SAAWmT,SAAS,KAAEC,KAAa9D,KAAKC,MAEzD,GAAsB,oBAAXE,OAAwB,CACjC,MAAM4D,EAAa5D,OAAOC,SAAS4D,OAC7BrT,EAAa,IAAIsT,gBAAgBF,GAAYG,IAAI,MAEvD,GAAIvT,EAAY,CACd,MAAMyC,QAAe3C,EAAAA,EAAAA,IAAwBC,EAASuE,SAAStE,IAAaS,OAAMC,GAASC,QAAQC,IAAI,sDAAuDF,KAE9J,GAAI+B,GAAUA,EAAO5B,OAAS,EAAG,CAC/B,MAAM2S,EAA+B,GAC/BC,EAAoC,GACpCvS,EAAuB,GAE7B,IAAK,IAAIwC,EAAI,EAAGA,EAAIjB,EAAO5B,OAAQ6C,IAAK,CACtC8P,EAAkBnS,MAAK,GACvBoS,EAAuBpS,MAAK,GAE5B,MAAMqS,QAAuBC,EAAAA,EAAAA,yBAAwB,CAACxT,cAAeJ,EAAQK,eAAiBqC,EAAO,GAAGiB,KAAKpC,SAAUvB,EAAQmT,QAAQ5S,YAAYC,UAAWR,EAAQmT,QAAQ5S,YAAYE,WAEpLoT,EAAgBF,EAAe5O,WAAU+O,IAAI,IAAAC,EAAA,OAAa,QAAbA,EAAID,EAAKrP,YAAI,IAAAsP,OAAA,EAATA,EAAWC,SAAS,aAAa,IAExF,GAAIH,GAAkB,EAAG,CAGvB,KAFsBF,EAAe,GAAGE,KAAkBI,cAAeN,EAAe,GAAGE,KAAkBI,aAE1F,CACjB,MAAMC,QAA0BC,EAAAA,EAAAA,IAA0B,CAAE/T,cAAekP,KAAKC,MAAMvP,QAAQK,eAAiBiP,KAAKC,MAAM6E,OAAO9R,MAAOI,EAAO,GAAGiB,KAAKpC,SAASiE,YAE5J0O,GAAkD,iBAAtBA,GAAgE,GAA9BA,EAAyB,QACzFR,EAAuB,GAAG/P,MAAO,IAKvCxC,EAAWG,KAAKoB,EAAO,GAAGiB,KAAKpC,UAGjC,GAAI6R,EAAKiB,gBACP,IAAK,IAAI1Q,EAAI,EAAGA,EAAIjB,EAAO5B,OAAQ6C,IAAK,QAChB2Q,EAAAA,EAAAA,IAAkC,CAAElU,cAAeJ,EAAQK,eAAiB+S,EAAKmB,sBAAwBnB,EAAKoB,aAAeC,OAAO/R,EAAO,GAAGiB,KAAKpC,UAAW+N,KAAKC,MAAM6E,OAAO9R,QAE1LxB,OAAS,IACnB2S,EAAkB,GAAG9P,MAAO,GAKlC,MAAM+Q,QAAkBC,EAAAA,EAAAA,+BAA8B,CAAEvU,cAAeJ,EAAQK,eAAiB,CAAEuU,WAAYzT,EAAY0T,sBAAsB,IAEhJ,IAAIC,EAAY,IAAIhP,KACpBgP,EAAUC,SAAS,EAAG,EAAG,EAAG,GAC5B,IAAIC,EAAgB7T,EAAW8T,KAAK,KAChCC,QAA8BC,EAAAA,EAAAA,IAA2B,CAAC/U,cAAeJ,EAAQK,eAAgBiP,KAAKC,MAAM6E,OAAO9R,MAAOwS,EAAUpO,cAAesO,GACnJI,EAAiBvR,KAAKC,MAAMoR,GAC5BhC,EAA+B,GACnC,IAAK,IAAIvP,EAAI,EAAGA,EAAGyR,EAAetU,OAAQ6C,IAAI,CAC5C,GAAgC,GAA5ByR,EAAezR,GAAG7C,OAAY,CAChCoS,EAA6B5R,MAAK,GAClC,SAEF,IAAI+T,EAAgBD,EAAezR,GAC/B2R,EAAczR,KAAKC,MAAMuR,EAAcA,EAAcvU,OAAS,IAC9DyU,EAAiB7C,EAAO4C,EAA2B,eACrC5C,IAEF8C,KAAKD,EAAgB,KAAO,EAC1CrC,EAA6B5R,MAAK,GAGlC4R,EAA6B5R,MAAK,GAItCgO,KAAKmG,SAAS,CAAE3C,SAAUpQ,EAAQwQ,6BAA8BA,EAA8BH,uBAAwB2B,EAAW1B,WAAYS,EAAmBR,gBAAiBS,MAIzL,CAEO5D,SACL,MAAM4F,EAA2BC,EAAAA,EAAA,GAC5BrG,KAAKC,OAAK,IACbuD,SAAUxD,KAAKuD,MAAMC,SACrBI,6BAA8B5D,KAAKuD,MAAMK,6BACzCwB,UAAWpF,KAAKuD,MAAME,uBACtBpC,aAAcrB,KAAKuD,MAAMG,WACzBC,gBAAiB3D,KAAKuD,MAAMI,kBAG9B,OAAO3D,KAAKC,MAAMqG,WAAWF,EAC/B,EAGF,oJCnHIhD,EAASC,EAAQ,KAOd,MAAOkD,UAA+BzG,EAAAA,cAA5CjQ,kCACQ,KAAA0T,MAAa,CAAE5D,MAAO,EAAG6G,YAAY,EAAOtE,WAAW,GAsDtD,KAAAuE,kBAAoB,KAC1BzG,KAAKmG,SAAS,CAAExG,MAAOQ,OAAOuG,YAAa,EAGrC,KAAAC,gBAAkB,KACxB3G,KAAKmG,SAAS,CAAEjE,WAAW,GAAO,CAErC,CA3DQ0E,oBACL,IAAK5G,KAAKuD,MAAMiD,WAAY,CAC1B,MAAQ9V,SAAWmT,SAAS,KAAEC,KAAa9D,KAAKC,MAEhDE,OAAO0G,iBAAiB,SAAU7G,KAAKyG,mBAEvCzG,KAAKmG,SAAS,CAAExG,MAAOQ,OAAOuG,WAAYF,YAAY,EAAMtE,WAAW4B,EAAKiB,kBAEhF,CAEOvE,SACL,IAAKR,KAAKuD,MAAMiD,WACd,OAAO,KAGT,MAAMM,GAAapH,EAAAA,EAAAA,GAASM,KAAKuD,MAAM5D,QAEjC,OAAEmF,EAAM,QAAEpU,EAAO,aAAEyQ,EAAc4F,MAAM,UAAEzW,GAAaI,SAAWmT,SAAS,KAAEC,IAAQ,SAAEN,EAAQ,6BAAEI,EAA4B,UAAEwB,EAAS,gBAAEzB,EAAe,aAAEtC,GAAiBrB,KAAKC,MAEhL+G,EAAahH,KAAKC,MAAMvP,QAAQmT,QAAQX,OAAO+D,MAAM,KAAK,GAE1DC,EAAe5W,EAAU8C,QAAyC,KAA/B9C,EAAU8C,OAAO9C,UAAmBiE,KAAKC,MAAMlE,EAAU8C,OAAO9C,WAAa,GAEhH6W,EAAQ/D,EAAOgE,GAAG,kBAAkBC,OAAO,cAC3CC,EAA0BJ,EAA4B,cAAI9D,EAAO8D,EAA4B,eAAGK,SAAS,EAAG,aAAUhH,EACtHL,GAAaoH,GAA0BA,EAAwBE,eAAeL,GAE9EM,EAAO3C,EAAO4C,UAAgC,KAApB5C,EAAO4C,SAAkB,8BAAgC,uBACnFC,EAAc7C,EAAO4C,UAAgC,KAApB5C,EAAO4C,SAAkB5C,EAAO4C,SAAW,GAElF,OACE5H,EAAAA,cAAA,OAAK9C,UAAWyK,EAAMlX,GAAIoX,GACxB7H,EAAAA,cAAC4B,EAAAA,EAAK,CAACQ,UAAWlC,KAAKuD,MAAMrB,UAAWiB,KAAM2B,EAAO8C,MAAO7E,IAAKe,GAAQA,EAAK+D,WAAa,GAAInI,WAAUoH,EAA2BvE,eAAe,EAAOW,OAAQ8D,EAAYpF,SAAU5B,KAAK2G,kBAC7L7G,EAAAA,cAAA,UACG0D,EAAS1R,KAAI,CAACC,EAAqB+V,IAClChI,EAAAA,cAACD,EAAAA,EAAW,CACVkI,IAAKD,EACLpX,QAASA,EACTyQ,aAAcA,EACd/B,QAASrN,EACTmO,cAAYA,GAAeyD,EAAgB,GAAGmE,MAAWlE,EAA6B,GAAGkE,MACxF1C,EAAU4C,yCAA0C5C,EAAU4C,wCAAwC,GAAGF,KAAOG,sCAAwCzG,EAAAA,GAAc0G,OACvK7G,eAAcA,EAAa,GAAGyG,MAASzG,EAAa,GAAGyG,KACvDnH,gBAAiBmE,EAAOnE,gBAAkBmE,EAAOnE,gBAAkB,GACnEW,eAAgBwD,EAAOxD,eAAiBwD,EAAOxD,eAAiB,QAM5E,EAWD,4nBCxFD,MAAM6G,EAAU,CAAEC,QAAS,CAAC,EAAGC,YAAa,CAAC,GAwCxCF,EAAQC,QAAQ,wBAA0B,CACvCE,EAAGA,IAAMjF,EAAQ,MACjBkF,MAAO,gBACPC,GAAI,CAAC,CAACrF,KAAK,YAAcsF,KAAK,8BAA+BC,MAAO,IAEpEC,KAAK,EACLC,GAAI,YACJC,EAAG,uBACHC,EAAG,YAEHC,IAAK,GAGLC,GAAI,oCAlC4BC,EAACC,EAAqBC,KAUlD,GADAhB,EAAQE,YAAYa,GAAuBC,GACtChB,EAAQE,YAAYa,GAAqBE,QAC1C,MAAM,IAAIC,MAAM,oBAAsBH,EAAsB,mCAEhEf,EAAQE,YAAYa,GAAqBE,QAAQE,UAAUC,eAAiBL,EACxEf,EAAQE,YAAYa,GAAqBE,QAAQE,UAAU/Y,KAC3D4X,EAAQE,YAAYF,EAAQE,YAAYa,GAAqBE,QAAQE,UAAU/Y,IAAM2Y,EAE7F,EAwBID,CAF4B,8BACX5F,EAAQ,MAMjClD,OAAOqJ,aAAerJ,OAAOqJ,cAAgB,CAAC,EAC9CrJ,OAAOqJ,aAAapB,QAAO/B,EAAAA,EAAA,GACpBlG,OAAOqJ,aAAapB,SAAW,CAAC,GAChCD,EAAQC,SAGXjI,OAAOqJ,aAAanB,YAAWhC,EAAAA,EAAA,GAC5BlG,OAAOqJ,aAAanB,aAAe,CAAC,GACpCF,EAAQE,aAEY,MAAMoB,EAAiB,CAAC,EAC/BA,EAAe,yEAA2E,CAClGnB,EAAGA,IAAMjF,EAAQ,MACjBqG,GAAI,4CAEpBvJ,OAAOqJ,aAAerJ,OAAOqJ,cAAgB,CAAC,EAC9CrJ,OAAOqJ,aAAaC,eAAcpD,EAAAA,EAAA,GACPlG,OAAOqJ,aAAaC,gBAAkB,CAAC,GACvCA,kBCnF3B,IAAI3X,EAAM,CACT,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,gBAAiB,IACjB,aAAc,IACd,gBAAiB,IACjB,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,WAAY,IACZ,cAAe,IACf,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,WAAY,IACZ,cAAe,IACf,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,YAAa,IACb,eAAgB,IAChB,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,QAAS,IACT,WAAY,IACZ,OAAQ,IACR,UAAW,IACX,QAAS,IACT,WAAY,IACZ,QAAS,IACT,aAAc,IACd,gBAAiB,IACjB,WAAY,IACZ,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,YAAa,IACb,eAAgB,IAChB,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,gBAAiB,IACjB,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,KAIf,SAAS6X,EAAeC,GACvB,IAAIrZ,EAAKsZ,EAAsBD,GAC/B,OAAOE,EAAoBvZ,EAC5B,CACA,SAASsZ,EAAsBD,GAC9B,IAAIE,EAAoBC,EAAEjY,EAAK8X,GAAM,CACpC,IAAII,EAAI,IAAIX,MAAM,uBAAyBO,EAAM,KAEjD,MADAI,EAAEC,KAAO,mBACHD,CACP,CACA,OAAOlY,EAAI8X,EACZ,CACAD,EAAeO,KAAO,WACrB,OAAOC,OAAOD,KAAKpY,EACpB,EACA6X,EAAeS,QAAUP,EACzBQ,EAAOC,QAAUX,EACjBA,EAAepZ,GAAK,wBCvSpB8Z,EAAOC,QAAUxK,2BCAjBuK,EAAOC,QAAUC","sources":["webpack://Msdyn365.Commerce.Online/./src/actions/ecomm-current-event.ts?31c1","webpack://Msdyn365.Commerce.Online/./src/actions/helper-functions.ts?5715","webpack://Msdyn365.Commerce.Online/./src/components/breakpoints.ts?f4e7","webpack://Msdyn365.Commerce.Online/./src/components/ecomm-product-card.tsx?2eed","webpack://Msdyn365.Commerce.Online/./src/components/enums.ts?ba3b","webpack://Msdyn365.Commerce.Online/./src/components/popup.tsx?ad47","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-event-products/ecomm-event-products.tsx?0408","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-event-products/ecomm-event-products.view.tsx?5374","webpack://Msdyn365.Commerce.Online/./lib/ecomm-event-products/module-registration.js?fd5e","webpack://Msdyn365.Commerce.Online/./node_modules/moment/locale/ sync ^\\.\\/.*$?b2df","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"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\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\n/**\r\n * GetActivecategorymenustate Input Action\r\n */\r\nexport class GetCurrentEventInput implements Msdyn365.IActionInput {\r\n // TODO: Determine if the results of this get action should cache the results and if so provide.\r\n // A cache object type and an appropriate cache key.\r\n public getCacheKey = () => `CurrentEvent`;\r\n public getCacheObjectType = () => 'CurrentEvent';\r\n public dataCacheType = (): Msdyn365.CacheType => 'application';\r\n}\r\n\r\n// TODO: Create a data model here or import one to capture the response of the action.\r\nexport interface IGetCurrentEventStateData {\r\n eventJson: string;\r\n}\r\n\r\n/**\r\n * TODO: Use this function to create the input required to make the action call.\r\n */\r\nconst createInput = (args: Msdyn365.ICreateActionContext): Msdyn365.IActionInput => {\r\n return new GetCurrentEventInput();\r\n};\r\n\r\n/**\r\n * TODO: Use this function to call your action and process the results as needed\r\n */\r\nasync function getCurrentEventStateAction(input: GetCurrentEventInput, ctx: Msdyn365.IActionContext): Promise {\r\n // TODO: Uncomment the below line to get the value from a service.\r\n // const response = await Msdyn365.sendRequest('/get/example/id/1', 'get');\r\n return { eventJson: '' };\r\n}\r\n\r\nexport default Msdyn365.createObservableDataAction({\r\n action: >getCurrentEventStateAction,\r\n // TODO: Give your data action a unique id.\r\n id: 'GetCurrentEventStateActionState',\r\n input: createInput\r\n // TODO: Uncomment the below line if this is a meant to be a batched data action.\r\n // isBatched: true\r\n});","import { ICoreContext, IActionContext } from '@msdyn365-commerce/core';\r\n\r\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\r\n\r\nimport { AsyncResult, Customer, Product, ProductSearchCriteria, ProductSearchResult, SimpleProduct, SalesOrder } from '@msdyn365-commerce/retail-proxy';\r\nimport { getOrderHistoryAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CustomersDataActions.g';\r\nimport { searchAsync, searchByCategoryAsync, getByIdsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\n\r\nimport { v4 as uuidv4, validate as uuidValidate, version as uuidVersion } from 'uuid';\r\n\r\nimport { createOrUpdateBTGPCartLineAsync, createBTGPErrorLogAsync, getByCustomerAllBTGPTransactionAsync, getByCustomerAllBTGPTransactionFromHqAsync } from '../actions/DataActionExtension.g';\r\nimport { CategoryProducts, FormDetails, PastTransaction, CartItem, Transaction } from '../actions/ecomm-interfaces';\r\n\r\nimport DedicationPeriod from '../resources/dedicationPeriod.json';\r\nimport { ICartState} from '@msdyn365-commerce/global-state';\r\nimport { ReceiptItem } from './kioskv3-interfaces';\r\n\r\nexport async function getProductsByCategoryId(context: ICoreContext, categoryId: number): Promise {\r\n const searchResult = await searchByCategoryAsync({ callerContext: context.actionContext }, context.actionContext.requestContext.apiSettings.channelId, context.actionContext.requestContext.apiSettings.catalogId, categoryId).catch(error => console.log('[getProductsByCategoryId] searchByCategoryAsync error: ', error));\r\n\r\n if (searchResult && searchResult.length > 0) {\r\n searchResult.sort((a: ProductSearchResult, b: ProductSearchResult) => ((a.DisplayOrder!) < (b.DisplayOrder!) ? -1 : 1));\r\n\r\n const productIds: number[] = [];\r\n\r\n searchResult.map(item => productIds.push(item.RecordId));\r\n\r\n // const availability = await getEstimatedAvailabilityAsync(context, { ProductIds: productIds, DefaultWarehouseOnly: true }).\r\n // catch(error => console.log('[getProductsByCategoryId] getEstimatedAvailabilityAsync error: ', error));\r\n\r\n // if (availability && availability.ProductWarehouseInventoryAvailabilities) {\r\n // const warehouse = availability.ProductWarehouseInventoryAvailabilities;\r\n\r\n // if (warehouse.length > 0) {\r\n // const availableIds: number[] = [];\r\n\r\n // searchResult.map(item => {\r\n // const found = warehouse.find(stock => stock.ProductId === item.RecordId);\r\n\r\n // if (found && (found.PhysicalAvailableInventoryLevelCode && found.PhysicalAvailableInventoryLevelCode === InventoryLvls.AVAIL)) {\r\n // availableIds.push(item.RecordId);\r\n // }\r\n // });\r\n\r\n // const products = await getByIdsAsync(context, channelId, availableIds).catch(error => console.log('[getProductsByCategoryId] getByIdsAsync error: ', error));\r\n\r\n // return products;\r\n // }\r\n // }\r\n\r\n const products = await getByIdsAsync({ callerContext: context.actionContext }, context.actionContext.requestContext.apiSettings.channelId, productIds).catch(error => console.log('[getProductsByCategoryId] getByIdsAsync error: ', error));\r\n\r\n return products;\r\n }\r\n\r\n return [];\r\n}\r\n\r\nexport async function getProducts(context: ICoreContext, categoryIDs: number[]): Promise {\r\n if (categoryIDs.length > 0) {\r\n const projectDomain = { ChannelId: context.actionContext.requestContext.apiSettings.channelId, CatalogId: context.actionContext.requestContext.apiSettings.catalogId };\r\n\r\n const criterias: ProductSearchCriteria = { Context: projectDomain, CategoryIds: categoryIDs, IncludeAttributes: true };\r\n \r\n const products = await searchAsync({ callerContext: context.actionContext }, criterias);\r\n \r\n return products;\r\n }\r\n\r\n return [];\r\n}\r\n\r\nexport async function getCustomerOrderHistory(context: ICoreContext, hierarchy: AsyncResult, customer: Customer, organisation: string, isUat: boolean, limit: number, source: string) {\r\n const dictionary = await generateDictionary(context, hierarchy);\r\n const orderHistory: PastTransaction[] = [];\r\n let btgpTransactions;\r\n let orders : SalesOrder[]= []; \r\n\r\n\r\n if (source ==\"CH\")\r\n {\r\n orders = await getOrderHistoryAsync({ callerContext: context.actionContext }, customer.AccountNumber);\r\n\r\n btgpTransactions = await getByCustomerAllBTGPTransactionAsync({ callerContext: context.actionContext }, customer.AccountNumber, customer.Email!, organisation, isUat, limit); \r\n }\r\n else{\r\n btgpTransactions = await getByCustomerAllBTGPTransactionFromHqAsync({ callerContext: context.actionContext }, isUat, customer.AccountNumber, customer.Email!, (organisation==\"BT\"?\"BTRT\":\"GPBT\")); \r\n }\r\n\r\n\r\n if (btgpTransactions)\r\n {\r\n for (let i = 0; i < btgpTransactions.length; i++) {\r\n const transaction: Transaction = JSON.parse(btgpTransactions[`${i}`]);\r\n \r\n if (transaction['errorCode']) {\r\n console.log(transaction['errorMessage']);\r\n } else {\r\n const transactionNames: string[] = [];\r\n\r\n for (let j = 1; j <= 20; j++) {\r\n const nameID = 'Name_' + j;\r\n\r\n if (transaction[`${nameID}`]) {\r\n transactionNames.push(transaction[`${nameID}`]);\r\n }\r\n }\r\n\r\n let mainName = '';\r\n let mainID = 0;\r\n let price = 0;\r\n\r\n if (transaction.ProductCategoryID === '' || transaction.ProductCategoryID === null) {\r\n dictionary.forEach(record => {\r\n const found = record.Products.find(item => item.RecordId === parseInt(transaction.ProductID));\r\n\r\n if (found) { \r\n mainName = record.Main.Name!; \r\n mainID = record.Main.RecordId;\r\n price = found.Price ? found.Price : 0;\r\n }\r\n });\r\n } else {\r\n mainName = transaction.ProductCategory;\r\n mainID = Number(transaction.ProductCategoryID);\r\n price = transaction.ProductPrice;\r\n }\r\n\r\n if (transaction.DedicationPeriod !== '') {\r\n let found = DedicationPeriod.en.period.findIndex(item => item.label === transaction.DedicationPeriod);\r\n\r\n // Look through chinese version.\r\n if (found < 0) {\r\n found = DedicationPeriod.zh.period.findIndex(item => item.label === transaction.DedicationPeriod);\r\n }\r\n\r\n // Found matching dedication period.\r\n if (found >= 0) {\r\n price = price * DedicationPeriod.scale[`${found}`];\r\n }\r\n }\r\n\r\n const matchingOrder = orders.find(order => order.Id === transaction.SalesOrderID);\r\n const orderReceiptNo = transaction.ReceiptNo === '' ? matchingOrder && matchingOrder.SalesId ? matchingOrder.SalesId : 'Pending' : transaction.ReceiptNo;\r\n\r\n let order = transaction;\r\n order.ProductPrice = price;\r\n order.ProductCategory = mainName;\r\n order.ProductCategoryID = mainID.toString();\r\n\r\n orderHistory.push({ \r\n EventDates: [transaction.EventName],\r\n Names: transactionNames,\r\n OrderDate: transaction.DateOfTransaction ? new Date(transaction.DateOfTransaction) : new Date(),\r\n ReceiptNo: [orderReceiptNo],\r\n Record: order\r\n });\r\n }\r\n }\r\n }\r\n\r\n orderHistory.sort((a, b) => {\r\n return b.OrderDate.getTime() - a.OrderDate.getTime();\r\n }); \r\n\r\n return orderHistory;\r\n}\r\n\r\nexport async function generateErrorLog(context: ICoreContext, errorLogName: string, errorDetails: string, item: FormDetails) {\r\n await createBTGPErrorLogAsync({ callerContext: context.actionContext }, generateUUID(), errorLogName, errorDetails, new Date().toISOString(), item.CartLineID, item.CartID, item.ProductID, item.EventID, item.EventName, item.SerialID, item.SerialNumber, item.SerialName, item.Name_1, item.Name_2, item.Name_3, item.Name_4, item.Name_5, item.Name_6, item.Name_7, item.Name_8, item.Name_9, item.Name_10, item.Name_11, item.Name_12, item.Name_13, item.Name_14, item.Name_15, item.Name_16, item.Name_17, item.Name_18, item.Name_19, item.Name_20, item.Remarks, item.Message, item.Category, item.DedicatedBy, item.HasTaxDeduction, item.Nric, item.BuildingName, item.UnitNumber, item.PostalCode, item.BirthDate, item.PhoneNumber, item.SchoolName, item.DonationOption, item.BlessingOption, item.CartLineComment, item.BirthTime, item.LightOption, item.ValidFrom, item.ValidTo, item.ParentCartLineID, item.DedicationPeriod, item.Country, item.CompanyName, item.DeceasedRelationship, item.SurgeryDate, item.DeathDate, item.DeathTime, item.NameChange, item.OldName_1, item.OldName_2, item.BirthDate_2, item.BirthTime_2, item.StartDate, item.Gender, item.ChineseName, item.ContactNumber, item.NameNextKin, item.ContactNumberNextKin, item.PassportNumber, item.PassportExpiryDate, item.PassportIssuedDate);\r\n}\r\n\r\nexport async function createOrUpdateCartline(context: ICoreContext, item: CartItem): Promise {\r\n const result = await createOrUpdateBTGPCartLineAsync({ callerContext: context.actionContext }, item.Form.CartLineID, item.Form.CartID, item.Form.ProductID, item.Form.EventID, item.Form.EventName, item.Form.SerialID, item.Form.SerialNumber, item.Form.SerialName, item.Form.Name_1, item.Form.Name_2, item.Form.Name_3, item.Form.Name_4, item.Form.Name_5, item.Form.Name_6, item.Form.Name_7, item.Form.Name_8, item.Form.Name_9, item.Form.Name_10, item.Form.Name_11, item.Form.Name_12, item.Form.Name_13, item.Form.Name_14, item.Form.Name_15, item.Form.Name_16, item.Form.Name_17, item.Form.Name_18, item.Form.Name_19, item.Form.Name_20, item.Form.Remarks, item.Form.Message, item.Form.Category, item.Form.DedicatedBy, item.Form.HasTaxDeduction, item.Form.Nric, item.Form.BuildingName, item.Form.UnitNumber, item.Form.PostalCode, item.Form.BirthDate, item.Form.PhoneNumber, item.Form.SchoolName, item.Form.DonationOption, item.Form.BlessingOption, item.Form.CartLineComment, item.Form.BirthTime, item.Form.LightOption, item.Form.ValidFrom, item.Form.ValidTo, item.Form.ParentCartLineID, item.Form.DedicationPeriod, item.Form.Country, item.Form.CompanyName, item.Form.DeceasedRelationship, item.Form.SurgeryDate, item.Form.DeathDate, item.Form.DeathTime, item.Form.NameChange, item.Form.OldName_1, item.Form.OldName_2, item.Form.BirthDate_2, item.Form.BirthTime_2, item.IsValid, item.InvalidType, item.InCart, item.IsSubProduct, item.Form.StartDate, item.Form.Gender, item.Form.ChineseName, item.Form.NameNextKin, item.Form.ContactNumber, item.Form.ContactNumberNextKin, item.Form.PassportNumber, item.Form.PassportExpiryDate, item.Form.PassportIssuedDate, item.Form.Consent, item.Form.IsInsuranceIncluded);\r\n\r\n return result;\r\n}\r\n\r\nexport async function generateDictionary(context: ICoreContext, hierarchy: AsyncResult): Promise {\r\n const dictionary: CategoryProducts[] = [];\r\n\r\n if (hierarchy.result) {\r\n hierarchy.result.forEach(record => {\r\n if (record.Children && record.Children.length > 0) {\r\n dictionary.push({ Main: record, SubIDs: record.Children.map(item => item.RecordId), Products: [] });\r\n }\r\n });\r\n }\r\n\r\n for (let j = 0; j < dictionary.length; ++j) {\r\n dictionary[`${j}`].Products = await getProducts(context, dictionary[`${j}`].SubIDs);\r\n }\r\n\r\n return dictionary;\r\n}\r\n\r\nexport function generateUUID(): string {\r\n let uuid = uuidv4();\r\n\r\n while (!(uuidValidate(uuid) && uuidVersion(uuid) == 4)) {\r\n uuid = uuidv4();\r\n }\r\n\r\n return uuid;\r\n}\r\n\r\nexport function showNextOrPreviousPage(selectors: string, showClassName: string, hideClassName: string, showNextPage: boolean) {\r\n let showPageIndex;\r\n const elements = document.querySelectorAll(selectors);\r\n\r\n // to get show page index\r\n for (let i = 0 ; i < elements.length; i++){\r\n const htmlElement = elements[`${i}`] as HTMLElement;\r\n if (htmlElement.classList.contains(showClassName)) {\r\n showPageIndex = showNextPage ? i + 1 : i - 1;\r\n }\r\n htmlElement.classList.remove(showClassName);\r\n htmlElement.classList.add(hideClassName);\r\n }\r\n\r\n const elementToShow = elements[`${showPageIndex}`] as HTMLElement;\r\n elementToShow.classList.remove(hideClassName);\r\n elementToShow.classList.add(showClassName);\r\n}\r\n\r\nexport function loadingProductListInHomePageOrPrecheckoutPage(className: string){\r\n const productListEl = document.getElementsByClassName(className)[0];\r\n const overlayEl = document.getElementsByClassName(\"loading-overlay-parent\")[0] as HTMLElement;\r\n\r\n if (!productListEl.hasChildNodes()){\r\n overlayEl.style.display = \"block\";\r\n\r\n const intervalId = setInterval(()=>{\r\n if (document.getElementsByClassName(className)[0].hasChildNodes()) {\r\n overlayEl.style.display = \"none\";\r\n clearInterval(intervalId);\r\n }\r\n }, 200);\r\n }\r\n else{\r\n overlayEl.style.display = \"none\";\r\n }\r\n}\r\n\r\nexport function showLoadingScreen(show: boolean){\r\n const overlayEl = document.getElementsByClassName(\"loading-overlay-parent\")[0] as HTMLElement;\r\n // show ? overlayEl.style.display = \"block\" : overlayEl.style.display = \"none\";\r\n let overlayTimeout: any = \"\";\r\n\r\n if (show){\r\n overlayTimeout = setTimeout(()=>{\r\n overlayEl.style.display = \"block\";\r\n }, 1000);\r\n }\r\n else{\r\n overlayEl.style.display = \"none\";\r\n }\r\n\r\n\r\n return overlayTimeout;\r\n}\r\n\r\nexport function showLoadingScreenInstant(show: boolean){\r\n const overlayEl = document.getElementsByClassName(\"loading-overlay-parent\")[0] as HTMLElement;\r\n show ? overlayEl.style.display = \"block\" : overlayEl.style.display = \"none\";\r\n}\r\n\r\nexport function showPrintReceiptPopUp(show: boolean){\r\n const overlayEl = document.getElementsByClassName(\"try-again-overlay-parent\")[0] as HTMLElement;\r\n show ? overlayEl.style.display = \"block\" : overlayEl.style.display = \"none\";\r\n}\r\n\r\nexport function clearOverlayTimeout(overlayTimeout: NodeJS.Timeout){\r\n clearTimeout(overlayTimeout);\r\n}\r\n\r\nexport function showStartOverBtnInHeader2(show: boolean){\r\n let elements: Element[] = Array.from(document.getElementsByClassName(\"start-over\"));\r\n elements.forEach(element =>{\r\n if (show){\r\n (element as HTMLElement).style.display = \"block\";\r\n }\r\n else{\r\n (element as HTMLElement).style.display = \"none\";\r\n }\r\n });\r\n}\r\n\r\n\r\nexport async function buildKioskv3ReceiptItems(cart: ICartState, actionContext: IActionContext, channelId: number): Promise{\r\n let productIds: number[] = [];\r\n cart.cart.CartLines?.map(cartLine => productIds.push(Number(cartLine.ProductId)));\r\n\r\n let simpleProductsResults = await searchAsync({ callerContext: actionContext }, { Ids: productIds });\r\n\r\n let receiptItems: ReceiptItem[] = [];\r\n\r\n cart.cart.CartLines?.map(cartLine => {\r\n if (cartLine.ProductId) {\r\n let receiptItem: ReceiptItem = {\r\n quantity: cartLine.Quantity!,\r\n productName: simpleProductsResults.find(product => product.RecordId == cartLine.ProductId)!.ProductName!,\r\n price: cartLine.Price!,\r\n totalAmount: cartLine.Quantity! * cartLine.Price!,\r\n comment: cartLine.Comment!\r\n };\r\n receiptItems.push(receiptItem);\r\n }\r\n })\r\n\r\n return receiptItems;\r\n}","// <= 999 = Mobile\r\n// >= 1000 = Tablet and Desktop\r\n\r\nexport const enum Breakpoints {\r\n small = 540,\r\n medium = 768,\r\n large = 992\r\n}\r\n\r\nexport function isMobile (width: number): boolean {\r\n return width < Breakpoints.large;\r\n}","import React from 'react';\r\n\r\nimport { ICoreContext, Image } from '@msdyn365-commerce/core';\r\nimport { IGridSettings } from '@msdyn365-commerce/core-internal';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { getFallbackImageUrl, getProductUrlSync } from '@msdyn365-commerce-modules/retail-actions';\r\n\r\nexport interface IProductCardProps {\r\n context: ICoreContext;\r\n gridSettings: IGridSettings;\r\n product: SimpleProduct;\r\n hasExpired: boolean;\r\n isRegistered: boolean;\r\n unavailableText: string;\r\n registeredText: string;\r\n}\r\n\r\n/**\r\n *\r\n * ProductCard component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class ProductCard extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const style = this.props.hasExpired ? 'ecomm-product-card not-available' : 'ecomm-product-card';\r\n\r\n return (\r\n
  • \r\n
    \r\n {this.props.hasExpired &&

    {this.props.unavailableText}

    }\r\n \r\n {this.props.isRegistered &&
    {this.props.registeredText}
    }\r\n
    \r\n
    \r\n

    {this.props.product.Name}

    \r\n

    {this.props.product.Price == 0 ? '' : '$' + this.props.product.Price}

    \r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n private _handleOnClick = () => {\r\n if (!this.props.hasExpired) {\r\n window.location.assign(getProductUrlSync(this.props.product, this.props.context.actionContext, undefined));\r\n }\r\n }\r\n}\r\n\r\nexport default ProductCard;","export const enum FOMOOrderStatus {\r\n CREATED = 'CREATED',\r\n FAIL = 'FAIL',\r\n SUCCESS = 'SUCCESS',\r\n CLOSED = 'CLOSED',\r\n ERROR = 'ERROR'\r\n}\r\n\r\nexport const enum InventoryLvls {\r\n OOS = 'OOS',\r\n LIS = 'LIS',\r\n AVAIL = 'AVAIL'\r\n}\r\n\r\nexport const enum Response {\r\n SUCCESS = 'SUCCESS',\r\n FAILED = 'FAILED'\r\n}","import * as React from 'react';\r\n\r\nimport Modal from 'react-bootstrap/Modal';\r\n\r\ninterface IEcommPopupProps\r\n{\r\n showPopup: boolean;\r\n callback: any;\r\n name: string;\r\n isMobile: boolean;\r\n isPortalPopup: boolean;\r\n locale: string;\r\n url: string;\r\n}\r\n\r\n/**\r\n *\r\n * Event component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class Popup extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n return (\r\n \r\n \r\n {this._titleText()}\r\n \r\n\r\n \r\n {this._renderMessage()}\r\n \r\n\r\n \r\n {this._stayButtonText()}\r\n {this._goButtonText()}\r\n \r\n \r\n );\r\n }\r\n\r\n private _callbackRedirect = () => {\r\n this.props.callback();\r\n }\r\n\r\n private _callbackHide = () => {\r\n event?.preventDefault();\r\n this.props.callback();\r\n }\r\n\r\n private _titleText(): string {\r\n if (!this.props.isPortalPopup) {\r\n return this.props.name;\r\n }\r\n\r\n if (this.props.locale === 'zh') {\r\n return '网站重定向门户网站';\r\n } else {\r\n return 'Commerce Transfer to Portal';\r\n }\r\n }\r\n\r\n private _stayButtonText(): string {\r\n if (this.props.locale === 'zh') {\r\n if (this.props.isPortalPopup) {\r\n return '取消';\r\n } else {\r\n return '稍后登入';\r\n }\r\n } else {\r\n if (this.props.isPortalPopup) {\r\n return 'Cancel';\r\n } else {\r\n return 'Maybe Later';\r\n }\r\n }\r\n }\r\n\r\n private _goButtonText(): string {\r\n if (this.props.locale === 'zh') {\r\n if (this.props.isPortalPopup) {\r\n return '开启门户网站标签页';\r\n } else {\r\n return '登入户口';\r\n }\r\n } else {\r\n if (this.props.isPortalPopup) {\r\n return 'Proceed to eShop';\r\n } else {\r\n return 'Go to Sign In Page';\r\n }\r\n }\r\n }\r\n\r\n private _renderMessage(): JSX.Element | null {\r\n \r\n if (this.props.locale === 'zh') {\r\n if (this.props.isPortalPopup) {\r\n return (\r\n
    \r\n

    亲爱的信徒和朋友们,

    \r\n

     

    \r\n

    您将离开这个网站并进入另一个门户网站。

    \r\n

     

    \r\n

    请在离开前完成交易和付款。

    \r\n

     

    \r\n

    愿三宝加持和护佑您!

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    登入账号来查阅交易记录

    \r\n
    \r\n );\r\n }\r\n } else {\r\n if (this.props.isPortalPopup) {\r\n return (\r\n
    \r\n

    Dear Devotees and Friends,

    \r\n

     

    \r\n

    You will be leaving this website and entering another portal.

    \r\n

     

    \r\n

    Please complete the transactions and payments here before you leave.

    \r\n

     

    \r\n

    With Triple Gem Blessings!

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    To see your past transactions, please sign in to your account.

    \r\n
    \r\n );\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default Popup;","/*!\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 * as React from 'react';\r\n\r\nimport { ProductWarehouseInventoryInformation, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\n\r\nimport { IGridSettings } from '@msdyn365-commerce/core-internal';\r\n\r\nimport { getProductsByCategoryId } from '../../actions/helper-functions';\r\n\r\nimport { getByCustomerBTGPTransactionAsync, checkAvailableSerialAsync, getProductEventsByIdsAsync } from '../../actions/DataActionExtension.g';\r\nimport { getEstimatedAvailabilityAsync, getAttributeValuesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\n\r\nimport { IEcommEventProductsData } from './ecomm-event-products.data';\r\nimport { IEcommEventProductsProps } from './ecomm-event-products.props.autogenerated';\r\n\r\nconst moment = require('moment');\r\n\r\nexport interface IEcommEventProductsViewProps extends IEcommEventProductsProps {\r\n gridSettings: IGridSettings;\r\n products: SimpleProduct[];\r\n productsHaveAssociatedEvents: boolean[];\r\n warehouse: ProductWarehouseInventoryInformation;\r\n isRegistered: boolean[];\r\n serialAvailable: boolean[];\r\n}\r\n\r\n/**\r\n *\r\n * EcommEventProducts component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass EcommEventProducts extends React.PureComponent> {\r\n public state: any = { products: [], productsAvailabilities: {}, registered: [], serialAvailable: [], productsHaveAssociatedEvents: [] };\r\n\r\n public async componentDidMount() {\r\n const { context, context: { request: { user } } } = this.props;\r\n\r\n if (typeof window !== 'undefined') {\r\n const parameters = window.location.search;\r\n const categoryId = new URLSearchParams(parameters).get('id');\r\n\r\n if (categoryId) {\r\n const result = await getProductsByCategoryId(context, parseInt(categoryId)).catch(error => console.log('[EcommEventProducts] getProductsByCategoryId error:', error));\r\n\r\n if (result && result.length > 0) {\r\n const productRegistered: boolean[] = [];\r\n const productSerialAvailable: boolean[] = [];\r\n const productIds: number[] = [];\r\n\r\n for (let i = 0; i < result.length; i++) {\r\n productRegistered.push(false);\r\n productSerialAvailable.push(true);\r\n\r\n const attributesList = await getAttributeValuesAsync({callerContext: context.actionContext }, result[`${i}`].RecordId, context.request.apiSettings.channelId, context.request.apiSettings.catalogId);\r\n\r\n const hasSerialIndex= attributesList.findIndex(attr => attr.Name?.includes('Has Serial'));\r\n\r\n if (hasSerialIndex >= 0) {\r\n const itemHasSerial = attributesList[`${hasSerialIndex}`].BooleanValue ? attributesList[`${hasSerialIndex}`].BooleanValue! : false;\r\n\r\n if (itemHasSerial) {\r\n const serialAvalability = await checkAvailableSerialAsync({ callerContext: this.props.context.actionContext }, this.props.config.isUat, result[`${i}`].RecordId.toString()!);\r\n\r\n if (serialAvalability && typeof serialAvalability === 'object' && serialAvalability['value'] == false) {\r\n productSerialAvailable[`${i}`] = false;\r\n }\r\n }\r\n }\r\n\r\n productIds.push(result[`${i}`].RecordId);\r\n }\r\n\r\n if (user.isAuthenticated) {\r\n for (let i = 0; i < result.length; i++) {\r\n const records = await getByCustomerBTGPTransactionAsync({ callerContext: context.actionContext }, user.customerAccountNumber!, user.emailAddress!, String(result[`${i}`].RecordId), this.props.config.isUat);\r\n\r\n if (records.length > 0) {\r\n productRegistered[`${i}`] = true;\r\n }\r\n }\r\n }\r\n\r\n const warehouse = await getEstimatedAvailabilityAsync({ callerContext: context.actionContext }, { ProductIds: productIds, DefaultWarehouseOnly: true });\r\n\r\n let startDate = new Date();\r\n startDate.setHours(0, 0, 0, 0);\r\n let productIdsStr = productIds.join(\",\");\r\n let productsEventsJsonStr = await getProductEventsByIdsAsync({callerContext: context.actionContext}, this.props.config.isUat, startDate.toISOString(), productIdsStr);\r\n let productsEvents = JSON.parse(productsEventsJsonStr);\r\n let productsHaveAssociatedEvents = [];\r\n for (let i = 0; i< productsEvents.length; i++){\r\n if (productsEvents[i].length == 0){\r\n productsHaveAssociatedEvents.push(false);\r\n continue;\r\n }\r\n let productEvents = productsEvents[i];\r\n let latestEvent = JSON.parse(productEvents[productEvents.length - 1]);\r\n let eventStartDate = moment(latestEvent['StartDateTime']);\r\n let currentTime = moment();\r\n \r\n if (currentTime.diff(eventStartDate, 'd') > 0) {\r\n productsHaveAssociatedEvents.push(false);\r\n }\r\n else{\r\n productsHaveAssociatedEvents.push(true);\r\n }\r\n }\r\n\r\n this.setState({ products: result, productsHaveAssociatedEvents: productsHaveAssociatedEvents, productsAvailabilities: warehouse, registered: productRegistered, serialAvailable: productSerialAvailable });\r\n }\r\n }\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const EcommEventProductsViewProps = {\r\n ...this.props,\r\n products: this.state.products,\r\n productsHaveAssociatedEvents: this.state.productsHaveAssociatedEvents,\r\n warehouse: this.state.productsAvailabilities,\r\n isRegistered: this.state.registered,\r\n serialAvailable: this.state.serialAvailable\r\n };\r\n \r\n return this.props.renderView(EcommEventProductsViewProps);\r\n }\r\n}\r\n\r\nexport default EcommEventProducts;","/*!\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 * as React from 'react';\r\n\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\n\r\nimport ProductCard from '../../components/ecomm-product-card';\r\n\r\nimport { isMobile } from './../../components/breakpoints';\r\nimport { InventoryLvls } from '../../components/enums';\r\nimport Popup from './../../components/popup';\r\n\r\nimport { IEcommEventProductsViewProps } from './ecomm-event-products';\r\n\r\nvar moment = require('moment-timezone');\r\n\r\n/**\r\n *\r\n * EcommEventProductsView component\r\n * @extends {React.PureComponent}\r\n */\r\n export class EcommEventProductsView extends React.PureComponent {\r\n public state: any = { width: 0, hasMounted: false, showPopup: false };\r\n\r\n public componentDidMount(): void {\r\n if (!this.state.hasMounted) {\r\n const { context: { request: { user } } } = this.props;\r\n\r\n window.addEventListener('resize', this._updateDimensions);\r\n\r\n this.setState({ width: window.innerWidth, hasMounted: true, showPopup: user.isAuthenticated ? false : true });\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n if (!this.state.hasMounted) {\r\n return null;\r\n }\r\n\r\n const mobileMode = isMobile(this.state.width);\r\n\r\n const { config, context, gridSettings, data: { eventJson }, context: { request: { user } }, products, productsHaveAssociatedEvents, warehouse, serialAvailable, isRegistered } = this.props;\r\n\r\n const localeCode = this.props.context.request.locale.split('-')[0];\r\n\r\n const currentEvent = eventJson.result && eventJson.result.eventJson !== '' ? JSON.parse(eventJson.result.eventJson) : '';\r\n\r\n const today = moment.tz('Asia/Singapore').format('YYYY-MM-DD');\r\n const registrationClosingDate = currentEvent['StartDateTime'] ? moment(currentEvent['StartDateTime']).subtract(1, 'days') : undefined;\r\n const hasExpired = registrationClosingDate ? registrationClosingDate.isSameOrBefore(today) : true;\r\n\r\n const card = config.anchorID && config.anchorID !== '' ? 'anchor ecomm-event-products' : 'ecomm-event-products';\r\n const componentId = config.anchorID && config.anchorID !== '' ? config.anchorID : '';\r\n\r\n return (\r\n
    \r\n \r\n
      \r\n {products.map((item: SimpleProduct, idx: number) =>\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private _updateDimensions = () => {\r\n this.setState({ width: window.innerWidth });\r\n };\r\n\r\n private _handleCallback = () => {\r\n this.setState({ showPopup: false});\r\n }\r\n }\r\n\r\n export default EcommEventProductsView;","const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['ecomm-event-products'] = {\n c: () => require('partner/modules/ecomm-event-products/ecomm-event-products.tsx'),\n $type: 'contentModule',\n da: [{name:'eventJson', path:'actions/ecomm-current-event', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'ecomm-event-products',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/ecomm-event-products'\n });\n \n\n {\n const sanitizedActionPath = 'actions/ecomm-current-event';\n let dataAction = require('partner/actions/ecomm-current-event');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|modules|ecomm-event-products|ecomm-event-products'] = {\n c: () => require('partner/modules/ecomm-event-products/ecomm-event-products.view.tsx'),\n cn: '__local__-__local__-ecomm-event-products'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","var map = {\n\t\"./af\": 155,\n\t\"./af.js\": 155,\n\t\"./ar\": 156,\n\t\"./ar-dz\": 157,\n\t\"./ar-dz.js\": 157,\n\t\"./ar-kw\": 158,\n\t\"./ar-kw.js\": 158,\n\t\"./ar-ly\": 159,\n\t\"./ar-ly.js\": 159,\n\t\"./ar-ma\": 160,\n\t\"./ar-ma.js\": 160,\n\t\"./ar-ps\": 161,\n\t\"./ar-ps.js\": 161,\n\t\"./ar-sa\": 162,\n\t\"./ar-sa.js\": 162,\n\t\"./ar-tn\": 163,\n\t\"./ar-tn.js\": 163,\n\t\"./ar.js\": 156,\n\t\"./az\": 164,\n\t\"./az.js\": 164,\n\t\"./be\": 165,\n\t\"./be.js\": 165,\n\t\"./bg\": 166,\n\t\"./bg.js\": 166,\n\t\"./bm\": 167,\n\t\"./bm.js\": 167,\n\t\"./bn\": 168,\n\t\"./bn-bd\": 169,\n\t\"./bn-bd.js\": 169,\n\t\"./bn.js\": 168,\n\t\"./bo\": 170,\n\t\"./bo.js\": 170,\n\t\"./br\": 171,\n\t\"./br.js\": 171,\n\t\"./bs\": 172,\n\t\"./bs.js\": 172,\n\t\"./ca\": 173,\n\t\"./ca.js\": 173,\n\t\"./cs\": 174,\n\t\"./cs.js\": 174,\n\t\"./cv\": 175,\n\t\"./cv.js\": 175,\n\t\"./cy\": 176,\n\t\"./cy.js\": 176,\n\t\"./da\": 177,\n\t\"./da.js\": 177,\n\t\"./de\": 178,\n\t\"./de-at\": 179,\n\t\"./de-at.js\": 179,\n\t\"./de-ch\": 180,\n\t\"./de-ch.js\": 180,\n\t\"./de.js\": 178,\n\t\"./dv\": 181,\n\t\"./dv.js\": 181,\n\t\"./el\": 182,\n\t\"./el.js\": 182,\n\t\"./en-au\": 183,\n\t\"./en-au.js\": 183,\n\t\"./en-ca\": 184,\n\t\"./en-ca.js\": 184,\n\t\"./en-gb\": 185,\n\t\"./en-gb.js\": 185,\n\t\"./en-ie\": 186,\n\t\"./en-ie.js\": 186,\n\t\"./en-il\": 187,\n\t\"./en-il.js\": 187,\n\t\"./en-in\": 188,\n\t\"./en-in.js\": 188,\n\t\"./en-nz\": 189,\n\t\"./en-nz.js\": 189,\n\t\"./en-sg\": 190,\n\t\"./en-sg.js\": 190,\n\t\"./eo\": 191,\n\t\"./eo.js\": 191,\n\t\"./es\": 192,\n\t\"./es-do\": 193,\n\t\"./es-do.js\": 193,\n\t\"./es-mx\": 194,\n\t\"./es-mx.js\": 194,\n\t\"./es-us\": 195,\n\t\"./es-us.js\": 195,\n\t\"./es.js\": 192,\n\t\"./et\": 196,\n\t\"./et.js\": 196,\n\t\"./eu\": 197,\n\t\"./eu.js\": 197,\n\t\"./fa\": 198,\n\t\"./fa.js\": 198,\n\t\"./fi\": 199,\n\t\"./fi.js\": 199,\n\t\"./fil\": 200,\n\t\"./fil.js\": 200,\n\t\"./fo\": 201,\n\t\"./fo.js\": 201,\n\t\"./fr\": 202,\n\t\"./fr-ca\": 203,\n\t\"./fr-ca.js\": 203,\n\t\"./fr-ch\": 204,\n\t\"./fr-ch.js\": 204,\n\t\"./fr.js\": 202,\n\t\"./fy\": 205,\n\t\"./fy.js\": 205,\n\t\"./ga\": 206,\n\t\"./ga.js\": 206,\n\t\"./gd\": 207,\n\t\"./gd.js\": 207,\n\t\"./gl\": 208,\n\t\"./gl.js\": 208,\n\t\"./gom-deva\": 209,\n\t\"./gom-deva.js\": 209,\n\t\"./gom-latn\": 210,\n\t\"./gom-latn.js\": 210,\n\t\"./gu\": 211,\n\t\"./gu.js\": 211,\n\t\"./he\": 212,\n\t\"./he.js\": 212,\n\t\"./hi\": 213,\n\t\"./hi.js\": 213,\n\t\"./hr\": 214,\n\t\"./hr.js\": 214,\n\t\"./hu\": 215,\n\t\"./hu.js\": 215,\n\t\"./hy-am\": 216,\n\t\"./hy-am.js\": 216,\n\t\"./id\": 217,\n\t\"./id.js\": 217,\n\t\"./is\": 218,\n\t\"./is.js\": 218,\n\t\"./it\": 219,\n\t\"./it-ch\": 220,\n\t\"./it-ch.js\": 220,\n\t\"./it.js\": 219,\n\t\"./ja\": 221,\n\t\"./ja.js\": 221,\n\t\"./jv\": 222,\n\t\"./jv.js\": 222,\n\t\"./ka\": 223,\n\t\"./ka.js\": 223,\n\t\"./kk\": 224,\n\t\"./kk.js\": 224,\n\t\"./km\": 225,\n\t\"./km.js\": 225,\n\t\"./kn\": 226,\n\t\"./kn.js\": 226,\n\t\"./ko\": 227,\n\t\"./ko.js\": 227,\n\t\"./ku\": 228,\n\t\"./ku-kmr\": 229,\n\t\"./ku-kmr.js\": 229,\n\t\"./ku.js\": 228,\n\t\"./ky\": 230,\n\t\"./ky.js\": 230,\n\t\"./lb\": 231,\n\t\"./lb.js\": 231,\n\t\"./lo\": 232,\n\t\"./lo.js\": 232,\n\t\"./lt\": 233,\n\t\"./lt.js\": 233,\n\t\"./lv\": 234,\n\t\"./lv.js\": 234,\n\t\"./me\": 235,\n\t\"./me.js\": 235,\n\t\"./mi\": 236,\n\t\"./mi.js\": 236,\n\t\"./mk\": 237,\n\t\"./mk.js\": 237,\n\t\"./ml\": 238,\n\t\"./ml.js\": 238,\n\t\"./mn\": 239,\n\t\"./mn.js\": 239,\n\t\"./mr\": 240,\n\t\"./mr.js\": 240,\n\t\"./ms\": 241,\n\t\"./ms-my\": 242,\n\t\"./ms-my.js\": 242,\n\t\"./ms.js\": 241,\n\t\"./mt\": 243,\n\t\"./mt.js\": 243,\n\t\"./my\": 244,\n\t\"./my.js\": 244,\n\t\"./nb\": 245,\n\t\"./nb.js\": 245,\n\t\"./ne\": 246,\n\t\"./ne.js\": 246,\n\t\"./nl\": 247,\n\t\"./nl-be\": 248,\n\t\"./nl-be.js\": 248,\n\t\"./nl.js\": 247,\n\t\"./nn\": 249,\n\t\"./nn.js\": 249,\n\t\"./oc-lnc\": 250,\n\t\"./oc-lnc.js\": 250,\n\t\"./pa-in\": 251,\n\t\"./pa-in.js\": 251,\n\t\"./pl\": 252,\n\t\"./pl.js\": 252,\n\t\"./pt\": 253,\n\t\"./pt-br\": 254,\n\t\"./pt-br.js\": 254,\n\t\"./pt.js\": 253,\n\t\"./ro\": 255,\n\t\"./ro.js\": 255,\n\t\"./ru\": 256,\n\t\"./ru.js\": 256,\n\t\"./sd\": 257,\n\t\"./sd.js\": 257,\n\t\"./se\": 258,\n\t\"./se.js\": 258,\n\t\"./si\": 259,\n\t\"./si.js\": 259,\n\t\"./sk\": 260,\n\t\"./sk.js\": 260,\n\t\"./sl\": 261,\n\t\"./sl.js\": 261,\n\t\"./sq\": 262,\n\t\"./sq.js\": 262,\n\t\"./sr\": 263,\n\t\"./sr-cyrl\": 264,\n\t\"./sr-cyrl.js\": 264,\n\t\"./sr.js\": 263,\n\t\"./ss\": 265,\n\t\"./ss.js\": 265,\n\t\"./sv\": 266,\n\t\"./sv.js\": 266,\n\t\"./sw\": 267,\n\t\"./sw.js\": 267,\n\t\"./ta\": 268,\n\t\"./ta.js\": 268,\n\t\"./te\": 269,\n\t\"./te.js\": 269,\n\t\"./tet\": 270,\n\t\"./tet.js\": 270,\n\t\"./tg\": 271,\n\t\"./tg.js\": 271,\n\t\"./th\": 272,\n\t\"./th.js\": 272,\n\t\"./tk\": 273,\n\t\"./tk.js\": 273,\n\t\"./tl-ph\": 274,\n\t\"./tl-ph.js\": 274,\n\t\"./tlh\": 275,\n\t\"./tlh.js\": 275,\n\t\"./tr\": 276,\n\t\"./tr.js\": 276,\n\t\"./tzl\": 277,\n\t\"./tzl.js\": 277,\n\t\"./tzm\": 278,\n\t\"./tzm-latn\": 279,\n\t\"./tzm-latn.js\": 279,\n\t\"./tzm.js\": 278,\n\t\"./ug-cn\": 280,\n\t\"./ug-cn.js\": 280,\n\t\"./uk\": 281,\n\t\"./uk.js\": 281,\n\t\"./ur\": 282,\n\t\"./ur.js\": 282,\n\t\"./uz\": 283,\n\t\"./uz-latn\": 284,\n\t\"./uz-latn.js\": 284,\n\t\"./uz.js\": 283,\n\t\"./vi\": 285,\n\t\"./vi.js\": 285,\n\t\"./x-pseudo\": 286,\n\t\"./x-pseudo.js\": 286,\n\t\"./yo\": 287,\n\t\"./yo.js\": 287,\n\t\"./zh-cn\": 288,\n\t\"./zh-cn.js\": 288,\n\t\"./zh-hk\": 289,\n\t\"./zh-hk.js\": 289,\n\t\"./zh-mo\": 290,\n\t\"./zh-mo.js\": 290,\n\t\"./zh-tw\": 291,\n\t\"./zh-tw.js\": 291\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 307;","module.exports = React;","module.exports = ReactDOM;"],"names":["GetCurrentEventInput","constructor","getCacheKey","getCacheObjectType","dataCacheType","Msdyn365","action","async","input","ctx","eventJson","id","args","getProductsByCategoryId","context","categoryId","searchResult","searchByCategoryAsync","callerContext","actionContext","requestContext","apiSettings","channelId","catalogId","catch","error","console","log","length","sort","a","b","DisplayOrder","productIds","map","item","push","RecordId","getByIdsAsync","getProducts","categoryIDs","criterias","Context","ChannelId","CatalogId","CategoryIds","IncludeAttributes","searchAsync","getCustomerOrderHistory","hierarchy","customer","organisation","isUat","limit","source","dictionary","result","forEach","record","Children","Main","SubIDs","Products","j","generateDictionary","orderHistory","btgpTransactions","orders","getOrderHistoryAsync","AccountNumber","getByCustomerAllBTGPTransactionAsync","Email","getByCustomerAllBTGPTransactionFromHqAsync","i","transaction","JSON","parse","transactionNames","nameID","mainName","mainID","price","ProductCategoryID","found","find","parseInt","ProductID","Name","Price","ProductCategory","Number","ProductPrice","DedicationPeriod","findIndex","label","matchingOrder","order","Id","SalesOrderID","orderReceiptNo","ReceiptNo","SalesId","toString","EventDates","EventName","Names","OrderDate","DateOfTransaction","Date","Record","getTime","generateErrorLog","errorLogName","errorDetails","createBTGPErrorLogAsync","uuid","uuidv4","uuidValidate","uuidVersion","generateUUID","toISOString","CartLineID","CartID","EventID","SerialID","SerialNumber","SerialName","Name_1","Name_2","Name_3","Name_4","Name_5","Name_6","Name_7","Name_8","Name_9","Name_10","Name_11","Name_12","Name_13","Name_14","Name_15","Name_16","Name_17","Name_18","Name_19","Name_20","Remarks","Message","Category","DedicatedBy","HasTaxDeduction","Nric","BuildingName","UnitNumber","PostalCode","BirthDate","PhoneNumber","SchoolName","DonationOption","BlessingOption","CartLineComment","BirthTime","LightOption","ValidFrom","ValidTo","ParentCartLineID","Country","CompanyName","DeceasedRelationship","SurgeryDate","DeathDate","DeathTime","NameChange","OldName_1","OldName_2","BirthDate_2","BirthTime_2","StartDate","Gender","ChineseName","ContactNumber","NameNextKin","ContactNumberNextKin","PassportNumber","PassportExpiryDate","PassportIssuedDate","createOrUpdateCartline","createOrUpdateBTGPCartLineAsync","Form","IsValid","InvalidType","InCart","IsSubProduct","Consent","IsInsuranceIncluded","showNextOrPreviousPage","selectors","showClassName","hideClassName","showNextPage","showPageIndex","elements","document","querySelectorAll","htmlElement","classList","contains","remove","add","elementToShow","loadingProductListInHomePageOrPrecheckoutPage","className","productListEl","getElementsByClassName","overlayEl","hasChildNodes","style","display","intervalId","setInterval","clearInterval","showLoadingScreen","show","overlayTimeout","setTimeout","showLoadingScreenInstant","showPrintReceiptPopUp","clearOverlayTimeout","clearTimeout","showStartOverBtnInHeader2","Array","from","element","buildKioskv3ReceiptItems","cart","_cart$cart$CartLines","_cart$cart$CartLines2","CartLines","cartLine","ProductId","simpleProductsResults","Ids","receiptItems","receiptItem","quantity","Quantity","productName","product","ProductName","totalAmount","comment","Comment","Breakpoints","isMobile","width","large","ProductCard","React","_handleOnClick","this","props","hasExpired","window","location","assign","getProductUrlSync","undefined","render","onClick","role","unavailableText","Image","src","PrimaryImageUrl","fallBackSrc","getFallbackImageUrl","ItemId","altText","gridSettings","loadFailureBehavior","isRegistered","registeredText","FOMOOrderStatus","InventoryLvls","Response","Popup","_callbackRedirect","callback","_callbackHide","_event","event","preventDefault","Modal","showPopup","onHide","centered","Header","closeButton","isPortalPopup","Title","_titleText","Body","_renderMessage","Footer","href","_stayButtonText","url","target","_goButtonText","locale","name","moment","require","EcommEventProducts","state","products","productsAvailabilities","registered","serialAvailable","productsHaveAssociatedEvents","request","user","parameters","search","URLSearchParams","get","productRegistered","productSerialAvailable","attributesList","getAttributeValuesAsync","hasSerialIndex","attr","_attr$Name","includes","BooleanValue","serialAvalability","checkAvailableSerialAsync","config","isAuthenticated","getByCustomerBTGPTransactionAsync","customerAccountNumber","emailAddress","String","warehouse","getEstimatedAvailabilityAsync","ProductIds","DefaultWarehouseOnly","startDate","setHours","productIdsStr","join","productsEventsJsonStr","getProductEventsByIdsAsync","productsEvents","productEvents","latestEvent","eventStartDate","diff","setState","EcommEventProductsViewProps","_objectSpread","renderView","EcommEventProductsView","hasMounted","_updateDimensions","innerWidth","_handleCallback","componentDidMount","addEventListener","mobileMode","data","localeCode","split","currentEvent","today","tz","format","registrationClosingDate","subtract","isSameOrBefore","card","anchorID","componentId","title","signInUrl","idx","key","ProductWarehouseInventoryAvailabilities","PhysicalAvailableInventoryLevelCode","AVAIL","binding","modules","dataActions","c","$type","da","path","runOn","iNM","ns","n","p","pdp","md","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","__bindings__","viewDictionary","cn","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","code","keys","Object","resolve","module","exports","ReactDOM"],"sourceRoot":""}