{"version":3,"file":"559.bundle.js","mappings":";2aASMA,EAAS,gBAAGC,EAAH,EAAGA,SAAH,OACb,cAAK,cAAY,YAAYC,UAAU,wBACrC,OAAC,IAAD,CACEC,eAAa,EACbC,cAAeC,EAAAA,GACfJ,SAAUA,EACVK,YAAa,CACXC,KAAM,GAAF,OAAKC,EAAAA,IAAL,OAAmBP,GACvBQ,KAAM,GAAF,OAAKD,EAAAA,IAAL,OAAmBE,EAAAA,GAAeC,UAR/B,EAcfX,EAAOY,UAAYC,EAAAA,GAEnB,s/BCUMC,EAAY,kBAAM,4FAAN,EAEZC,EAAqBC,EAAAA,KAAWF,GAGtC,SAASG,EAAWC,GAClB,IAAQC,EAA+BD,EAA/BC,YAAaC,EAAkBF,EAAlBE,cACrB,GAOIC,EAAAA,EAAAA,KANFC,EADF,EACEA,WACAC,EAFF,EAEEA,eACAC,EAHF,EAGEA,wBACAC,EAJF,EAIEA,YACAC,EALF,EAKEA,aACAC,EANF,EAMEA,wBAEMC,GAAkBC,EAAAA,EAAAA,KAAlBD,cACAE,GAAeC,EAAAA,EAAAA,KAAfD,WACR,GAA0CE,EAAAA,EAAAA,WAAS,GAAnD,eAAOC,EAAP,KAAsBC,EAAtB,KAEMjC,EAAWwB,KAEjBU,EAAAA,EAAAA,YAAU,YACP,iBAAC,8FACMrB,IADN,OAEAoB,GAAiB,GAFjB,0CAAD,EAIF,GAAE,KAEHC,EAAAA,EAAAA,YAAU,WACRP,EAAc,CACZQ,KAAM1B,EAAAA,GAAe2B,YACrBC,KAAMC,EAAAA,GAAUC,SAEnB,GAAE,CAACZ,IAEJ,IAAMa,EAAiBd,IAEjBe,EAAgB,CAACC,EAAAA,GAAUC,EAAAA,GAAUC,EAAAA,IAAWC,SAAS7C,GAEzD8C,EAAmB,CACvBC,EAAAA,GAAUC,WACVD,EAAAA,GAAUE,eACVJ,SAAS7C,GAELkD,GAAyBC,EAAAA,EAAAA,cAAY,WACzC,GAAIL,EACF,OAAOjB,EAAW,4CAEpB,IAAMuB,GAAU,0BACbV,EAAAA,GAAW,2CACXC,EAAAA,GAAW,2CACXC,EAAAA,GAAY,4CAGf,OAAOf,EAAWuB,EAAQ3B,KAC3B,GAAE,CAACA,EAAcI,EAAYiB,IAExBO,GAAsBC,EAAAA,EAAAA,UAC1B,kBAAMJ,GAAN,GACA,CAACA,IA+FH,OAAIlD,IAAa+C,EAAAA,GAAUQ,cAEvB,cACEtD,UAAU,8BACV,cAAY,wCAEZ,aAAWuD,KAAK,IAnClB,cAAKvD,UAAU,gCACb,YAAMwD,KAAMC,EAAAA,GAAaC,cACvB,aAAaC,KAAK,KAAK3D,UAAU,sCAC/B,OAAC,EAAA4D,QAAD,CAASC,GAAG,4BAGhB,aAAaF,KAAK,KAAK3D,UAAU,sCAC/B,OAAC,EAAA4D,QAAD,CAASC,GAAG,gCAEd,cAAK7D,UAAU,6CACb,YACEA,UAAU,oCACVwD,KAAMC,EAAAA,GAAaK,uBACnBH,KAAK,OAEL,OAAC,EAAAC,QAAD,CAASC,GAAG,4CAEd,YACE7D,UAAU,oCACVwD,KAAMC,EAAAA,GAAaM,SACnBJ,KAAK,OAEL,OAAC,EAAAC,QAAD,CAASC,GAAG,2CAqBpB,cACE7D,UAAU,yCACV,cAAY,2BAEZ,kBACE,aAAKA,UAAU,8BACb,iBA3EDwC,GAAkBK,GAarB,aACEmB,GAAG,KACHC,QAAM,EACN,cAAY,kCACZjE,UAAU,6BAEToD,IAjBD,YACEpD,UAAU,GACVwD,KAAMlC,EAAwBiB,GAC9B,cAAY,kCAEXa,MAsEH,aAAKpD,UAAU,6BACb,iBArGmB,WACzB,GAAIwC,GAAiBK,EAAkB,CACrC,IAAMqB,EAAW9C,KACf,OAAC,EAAAwC,QAAD,CAASC,GAAG,yBAAyB3B,KAAMb,OAE3C,OAAC,EAAAuC,QAAD,CAASC,GAAG,kCAGd,OACE,aACE,cAAY,+BACZG,GAAG,KACHL,KAAK,KACL3D,UAAU,mCAETkE,EAGN,CACD,OAAO,IACR,CApB0B,MAuGrB,kBACE,iBArHFnC,GAEA,OAAC,EAAAoC,SAAD,CAAUC,UAAU,OAAC,IAAD,QAClB,OAACvD,EAAD,CACEI,YAAaA,EACbC,cAAeA,MAKhB,OAAC,IAAD,SAgHV,CAEDH,EAAWL,UAAY2D,EAAAA,GAEvB,08BCzNA,IAAMC,EAAgB,SAACtD,GACrB,IAQQuD,EAEAC,EAVAC,EAA4BzD,EAA5ByD,kBAAmBC,EAAS1D,EAAT0D,KAyB3B,OAjBQH,EAAc,EAAH,KALW,CAC1BI,OAAQ,QACRC,MAAO,OACPC,aAAc,SAEiCJ,GAE3CD,EAAWM,MAAMC,KAAK,CAAEC,OAAQN,IAAQ,SAACO,EAAGC,GAChD,OACE,cACE,mCAA2BA,GAC3BC,IAAG,iBAAYD,GACfE,MAAOb,IAEP,YAAMc,WAAS,IAGpB,KAEM,uBAAGb,EAIb,EAEDF,EAAc5D,UAAY,CACxB+D,kBAAmBa,IAAAA,MAAgB,CAAC,GACpCZ,KAAMY,IAAAA,QAGRhB,EAAciB,aAAe,CAC3Bb,KAAM,GAER,s1BC1BA,SAASc,EAAT,GAAgE,IAA1CC,EAA0C,EAA1CA,SAAUC,EAAgC,EAAhCA,MAAOC,EAAyB,EAAzBA,KAAMC,EAAmB,EAAnBA,OAAQC,EAAW,EAAXA,IAAKhC,EAAM,EAANA,GAChDiC,GAAenE,EAAAA,EAAAA,KAAfmE,WAeR,OACE,aACE,cAAY,qBACZC,GAAI,EACJC,GAAI,EACJhG,UAAU,wBAEV,YACEiG,QAAS,SAACC,GAAD,OAAqBA,EApB5BC,iBAGNL,EAAW,CACT5D,KAAM1B,EAAAA,GAAe4F,kBACrBhE,KAAMC,EAAAA,GAAUgE,SAChBC,KAAM,eAAF,OAAiBzC,EAAjB,mBAGN0C,OAAOC,KAAKX,EAAKD,GAAU,SAWd,EACT5F,UAAU,4BACV,cAAY,wBAEZ,cAAKA,UAAU,8BACb,cACE2D,KAAK,KACL8C,MAAM,sBACNvE,KAAMuD,EACN,cAAY,0BAGhB,cAAKzF,UAAU,iCACb,YACE0G,WAAS,EACTd,OAAQA,EACRpC,KAAMqC,EACN,uBAAeH,EAAf,cAA0BC,GAC1B,cAAY,sBACZ3F,UAAU,6BAET0F,IAEH,aACE,cAAY,uBAEXC,KAMZ,CAEDH,EAAW9E,UAAYiG,EAAAA,GAEvB,UCpEA,SAASC,EAAT,GAA0C,IAAhBC,EAAgB,EAAhBA,aAChBnF,GAAkBC,EAAAA,EAAAA,KAAlBD,cA2CR,OAxCAO,EAAAA,EAAAA,YAAU,WACRP,EAAc,CACZQ,KAAM1B,EAAAA,GAAe4F,kBACrBhE,KAAMC,EAAAA,GAAUC,SAEnB,GAAE,CAACZ,KAmCG,uBAhCEoD,MAAMgC,QAAQD,IAAiBA,EAAa7B,SAM/C,cACE,cAAY,uBACZhF,UAAU,0BAEV,kBACE,kBACE,aACE,cAAY,uBACZA,UAAU,gCACVgE,GAAG,KACHL,KAAK,OAEL,OAAC,EAAAC,QAAD,CAASC,GAAG,sCAIlB,aAAK,cAAY,6BACdgD,EAAaE,KAAI,SAACC,GAAD,OAChB,OAAC,GAAD,QAAY7B,IAAK6B,EAAYnD,IAAQmD,GADrB,MAU7B,CAEDJ,EAAelG,UAAYuG,EAAAA,GAE3B,uJCtDaC,EAAuB,4BASvBC,EAAY,CACvBC,sBAAuB,wBACvBC,kBAAmB,oBACnBC,gBAAiB,kBACjBC,WAAY,aACZC,YAAa,cACbC,iBAAkB,mBAClBC,mBAAoB,qBACpBC,WAAY,aACZC,WAAY,aACZC,uBAAwB,yBACxBC,mBAAoB,qBACpBC,aAAc,eACdC,aAAc,gBAGHC,GAAQ,uFAClBd,EAAUC,sBA/B4B,8BAgCtCD,EAAUE,kBA/BwB,0BAgClCF,EAAUG,gBA/BsB,wBAgChCH,EAAUI,WA/BiB,mBAgC3BJ,EAAUK,YA/BkB,eAgC5BL,EAAUM,iBAAmBP,GAC7BC,EAAUO,mBA/BqB,6BAgC/BP,EAAUQ,WA/Ba,mBAgCvBR,EAAUS,WA/BiB,mBAgC3BT,EAAUU,uBA/ByB,+BAqBjB,yBAWlBV,EAAUW,mBA/BqB,yBAgC/BX,EAAUY,aA/BmB,mBAgC7BZ,EAAUa,aA/Be,w+BCA5B,IAAME,EAAoB,SAACrC,GAA0B,IAArBsC,EAAqB,uDAAP,CAAC,EAE7C,IAAK,IAAMC,KADXvC,GAAO,IACasC,EAClBtC,GAAO,GAAJ,OAAOwC,mBAAmBD,GAA1B,YAAoCC,mBACrCF,EAAYC,IADX,KAKL,OADMvC,EAAIyC,MAAM,GAAI,EAErB,EA8FD,QAzFe,WACb,IACoBC,GAChBC,EAAAA,EAAAA,MADFC,eAAkBF,MAUdG,GAASxF,EAAAA,EAAAA,aAAW,mCACxB,WACEyF,GADF,kGAEEC,EAFF,+BAEY,CAAEC,KAAM,CAAC,EAAGV,YAAa,CAAC,EAAGW,WAAY,CAAC,GAFtD,WAWiCF,EAArBT,YAAAA,OAXZ,MAW0B,CAAC,EAX3B,EAYQtC,EAAMoC,EAAAA,GAASU,GACnB9C,EAAMqC,EAAkBrC,EAAKsC,GAbjC,SAc2BY,EAAAA,EAAMC,IAAN,iBAAoBnD,IAd/C,cAcUoD,EAdV,yBAoBWA,GApBX,uGADwB,qDA+BxB,IASIC,GAAUhG,EAAAA,EAAAA,aAAW,mCACzB,WACEyF,GADF,sGAEEC,EAFF,+BAEY,CAAEC,KAAM,CAAC,EAAGV,YAAa,CAAC,EAAGW,WAAY,CAAC,GAFtD,WAW4CF,EAAhCC,KAAAA,OAXZ,MAWmB,CAAC,EAXpB,IAW4CD,EAArBT,YAAAA,OAXvB,MAWqC,CAAC,EAXtC,EAYQtC,EAAMoC,EAAAA,GAASU,GACnB9C,EAAMqC,EAAkBrC,EAAKsC,GAbjC,SAc2BY,EAAAA,EAAMI,KAAN,iBAAqBtD,GAArB,OAAiCgD,GAAjC,IAAuCN,MAAAA,KAdlE,cAcUU,EAdV,yBAoBWA,GApBX,uGADyB,qDA+BzB,CAACV,IAGH,MAAO,CAAEG,OAAAA,EAAQQ,QAAAA,EAClB,4RC7GY/H,EAAY,WACvB,OAAsCqH,EAAAA,EAAAA,MAA9BC,EAAR,EAAQA,eAAgBW,EAAxB,EAAwBA,UAElB9H,GAA0B4B,EAAAA,EAAAA,cAC9B,SAACoD,GACC,OAAImC,EAAeY,QACV,IAAP,OAAWZ,EAAeY,SAA1B,OAAoC/C,GAE/BA,CACR,GACD,CAACmC,IAGGrH,GAAa8B,EAAAA,EAAAA,cAAY,WAC7B,OAAOuF,EAAerH,UACvB,GAAE,CAACqH,IAEElH,GAAc2B,EAAAA,EAAAA,cAAY,WAC9B,OAAOkG,EAAUrJ,QAClB,GAAE,CAACqJ,IA+BJ,MAAO,CACL9H,wBAAAA,EACAF,WAAAA,EACAC,gBAhCqB6B,EAAAA,EAAAA,cAAY,WACjC,IAAQoG,EAAkBb,EAAlBa,KAAMC,EAAYd,EAAZc,QACd,OAAID,GAAwB,YAAhB,OAAOA,GACbC,IAAYC,EAAAA,GACPF,EAAKG,UAAY,GAEnBH,EAAKI,WAAa,GAEpB,EACR,GAAE,CAACjB,IAwBFlH,YAAAA,EACAC,cAvBmB0B,EAAAA,EAAAA,cAAY,WAC/B,OAAOuF,EAAekB,SACvB,GAAE,CAAClB,IAsBFhH,yBApB8ByB,EAAAA,EAAAA,cAC9B,SAAC0G,GACC,IAAMC,EAAaD,GAAOnB,EAAekB,UAOzC,OAN8B,0BAC3BlH,EAAAA,GAAW,oBACXC,EAAAA,GAAW,oBACXC,EAAAA,GAAY,qBAGckH,IAAe,cAC7C,GACD,CAACpB,IAWJ,gOC1DY5G,EAAa,WACxB,IAAMiI,GAAaC,EAAAA,EAAAA,YAAWC,EAAAA,SAY9B,MAAO,CAAEpI,YAVUsB,EAAAA,EAAAA,cACjB,SAAC+G,EAAWC,GACV,OAAIA,EACK,IAAIC,EAAAA,EAAcL,EAAY,CAAEjG,GAAIoG,IAAaG,OAAOF,GAE1D,IAAIC,EAAAA,EAAcL,EAAY,CAAEjG,GAAIoG,IAAaG,QACzD,GACD,CAACN,IAIJ,m9BCXD,SAASO,EAAT,GAAuE,IAAxCC,EAAwC,EAAxCA,YAAapJ,EAA2B,EAA3BA,cAAeqJ,EAAY,EAAZA,SACzD,GAA4CzI,EAAAA,EAAAA,UAAS,GAArD,eAAO0I,EAAP,KAAuBC,EAAvB,KACA,GAAsC9I,EAAAA,EAAAA,KAA9BmE,EAAR,EAAQA,WAAYpE,EAApB,EAAoBA,eAEpBO,EAAAA,EAAAA,YAAU,WACRP,EAAc,CACZQ,KAAM1B,EAAAA,GAAekK,sBACrBtI,KAAMC,EAAAA,GAAUC,SAEnB,GAAE,KAEHL,EAAAA,EAAAA,YAAU,WACR,GAAIf,SAAAA,EAAeyJ,MAAO,CACxB,IAAMC,EAAML,EAASM,WACnB,qBAAGF,SAAsBzJ,aAAL,EAAKA,EAAeyJ,MAAxC,IAEFF,EAAkBG,EACnB,CACF,GAAE,CAAC1J,IAEJ,IAAM4J,GAAazH,EAAAA,EAAAA,UAAQ,WACzB,OAAOkH,EAASxD,KAAI,gBAAGgE,EAAH,EAAGA,MAAOJ,EAAV,EAAUA,MAAV,MAAuB,CACzCI,MAAAA,EACAlH,GAAI,wBAAF,OAA0B8G,GAC5BK,QAAS,0BAAF,OAA4BL,GAHjB,GAKrB,GAAE,IAeH,OACE,aACEzI,KAAK,sBACLlC,UAAU,yBACVwK,eAAgBA,EAChBS,KAAMH,EACN7E,QAnBe,SAAChB,EAAGiG,GACrB,GAAIA,IAAgBV,EAApB,CAGA,IAAMW,EAAkBZ,EAASW,GACjCpF,EAAW,CACT5D,KAAM1B,EAAAA,GAAekK,sBACrBtI,KAAMC,EAAAA,GAAUgE,SAChBC,KAAM,yBAAF,OAA2B6E,EAAgBR,SAEjDL,EAAYa,EAPX,CAQF,GAaKL,EAAW/D,KAAI,gBAAGiE,EAAH,EAAGA,QAAH,OACb,aAAU7F,IAAK6F,EAASnH,GAAImH,EAASI,SAAS,GADjC,IAMtB,CAEDf,EAAoB3J,UAAY2K,EAAAA,GAEhC,cC3DIC,EAAiBC,EAAkBC,EAAkBC,EAAkBC,w5BAoC3E,IAAIC,EAAY,CAAC,KAAM,QAAS,YAAa,qBAAsB,YAAa,YAE5EC,EAAO,SAAUC,GACnB,IAAIC,EAAUD,EAAK7H,GACf+H,OAAwB,IAAZD,EAAqB,MAAQA,EACzCE,EAAaH,EAAKlB,MAClBA,OAAuB,IAAfqB,EAAwB,QAAUA,EAC1ChM,EAAY6L,EAAK7L,UACjBiM,EAAwBJ,EAAKK,mBAC7BA,OAA+C,IAA1BD,EAAmC,UAAYA,EACpEE,EAAYN,EAAKM,UACjBC,EAAWP,EAAKO,SAChBC,GAAO,OAAyBR,EAAMF,GAGrCQ,IACHA,EAAY,WACV,OAAO,QAAW,uCACpB,GAGF,IACIG,EAzDN,SAAoBC,GAElB,IAAKC,OAAOC,KAAKF,GAAQvH,OAGvB,OADA,QAAW,qGACJ,CAAC,EAGV,IAAI0H,EAA4BH,EAAOG,0BACnCC,EAA4BJ,EAAOI,0BACnCC,EAAgCL,EAAOK,8BACvCC,EAAeN,EAAOM,aACtBC,EAAaP,EAAOO,WACpBC,EAAaR,EAAOQ,WACpBC,EAAaT,EAAOS,WACpBC,GAAO,IAAAC,KAAI5B,IAAoBA,GAAkB,OAAuB,CAAC,6CAA8C,mDAAoD,+HAAgI,2EAA4EqB,EAA2BK,EAAYF,GAG9ZK,GADc,QAAWZ,GACGY,cAQhC,MAAO,CACLF,KAAMA,EACNG,WARc,IAAAF,KAAI3B,IAAqBA,GAAmB,OAAuB,CAAC,iCAAkC,kEAAmE4B,EAAc,CACrM1G,MAAOmG,KAQPS,aANgB,IAAAH,KAAI1B,IAAqBA,GAAmB,OAAuB,CAAC,wCAAyC,WAAYqB,GAOzIS,UANa,IAAAJ,KAAIzB,IAAqBA,GAAmB,OAAuB,CAAC,kDAAmD,WAAYiB,GAOhJa,kBANqB,IAAAL,KAAIxB,IAAqBA,GAAmB,OAAuB,CAAC,oFAAqF,IAAK,IAAK,0CAA2C,WAAYqB,EAAYA,EAAYC,EAAYD,GAQvR,CAwBeS,EADA,IAAAC,MAQb,OAAO,IAAAC,KAAI3B,GAAW,OAAS,CAC7BmB,IAAKZ,EAAOW,KACZU,KAAM,WACN3N,UAAWA,GACVqM,EAAM,CACP,YAAa,UACX,IAAAqB,KAAI,QAAS,CACfR,IAAKZ,EAAOc,UACZ,YAAa,QACZhB,IAAW,IAAAsB,KAAI,IAAY,CAC5BE,WAAY,WACZjK,KAAM,KACNuJ,IAAKZ,EAAOe,YACZ,aAAc1C,EACdkD,iBAAkB,MAClB5H,QApBgB,SAAU6H,GAC1B,IAAIlI,EAASkI,EAAIlI,OACjBuG,EAAUvG,EAAOmI,QAAQpD,MAC3B,EAkBE,YAAa,QACZuB,GACL,8BC5EA,SAAS8B,EAAT,GAA2E,QAA7C1D,EAA6C,EAA7CA,YAAapJ,EAAgC,EAAhCA,cAAgC,IAAjBqJ,SAAAA,OAAiB,MAAN,GAAM,EACzE,GAAsCzI,EAAAA,EAAAA,WAAS,GAA/C,eAAOmM,EAAP,KAAoBC,EAApB,KACA,GAAkCpM,EAAAA,EAAAA,UAAS,GAA3C,eAAOqM,EAAP,KAAkBC,EAAlB,KACA,GAAsCzM,EAAAA,EAAAA,KAA9BmE,EAAR,EAAQA,WAAYpE,EAApB,EAAoBA,eAEpBO,EAAAA,EAAAA,YAAU,WACRP,EAAc,CACZQ,KAAM1B,EAAAA,GAAe6N,qBACrBjM,KAAMC,EAAAA,GAAUC,SAEnB,GAAE,IAEH,IAAMgM,EAAa,SAACC,GAClB,OAAOhE,EAASiE,MAAK,gBAAG7D,EAAH,EAAGA,MAAH,OAAe4D,IAAY5D,CAA3B,GACtB,EACK8D,EAAgB,SAACF,GACrB,OAAOhE,EAASM,WAAU,gBAAGF,EAAH,EAAGA,MAAH,OAAe4D,IAAY5D,CAA3B,GAC3B,EAEK+D,EAAe,WACnB,GAAIxN,SAAAA,EAAeyJ,MAAO,CACxB,IAAMgE,EAAmBF,EAAcvN,EAAcyJ,OACrDyD,EAAaO,EACd,MACCP,EAAa,EAEhB,GAEDnM,EAAAA,EAAAA,YAAU,WACRyM,GACD,GAAE,CAACxN,IAEJ,IAAM0N,EAAa,WACjBV,GAAe,GACfQ,GACD,EAEKG,EAAa,WACjB/I,EAAW,CACT5D,KAAM1B,EAAAA,GAAe6N,qBACrBjM,KAAMC,EAAAA,GAAUgE,SAChBC,KAAM,qCAER4H,GAAe,EAChB,EAuCD,OACE,wBACE,cACE,cAAY,2BACZjI,QAAS4I,EACT7O,UAAU,+BAEZ,UACEmM,UA9BoB,SAACoC,GACzB,IAAMO,EAAiBR,EAAWS,EAAAA,GAAeR,SACjD,GAAIA,IAAYQ,EAAAA,GAAeR,QAE7BzI,EAAW,CACT5D,KAAM1B,EAAAA,GAAe6N,qBACrBjM,KAAMC,EAAAA,GAAUgE,SAChBC,KAAM,yCAAF,OAA2CwI,EAAenE,SAEhEkE,QACK,CACL,IAAM1D,EAAkBZ,EAAS4D,GACjCrI,EAAW,CACT5D,KAAM1B,EAAAA,GAAe6N,qBACrBjM,KAAMC,EAAAA,GAAUgE,SAChBC,KAAM,iCAAF,OAAmC6E,EAAgBR,SAGzDL,EAAYwE,EACb,CACF,EAWKjL,GAAG,mBACH8G,MAAOzJ,aAAF,EAAEA,EAAeyJ,MACtB,cAAY,wBACZ3K,UAAU,6BALZ,UAOGsO,EAAWpN,aAAD,EAACA,EAAeyJ,cAP7B,aAOG,EAAkCI,QAErC,aACEiE,OAAQf,EACRgB,gBAAiBL,EACjBlJ,OACE,aAAa/B,KAAK,QAAQ,cAAY,8BACpC,OAAC,EAAAC,QAAD,CAASC,GAAG,uCAIhB,aAAW,cAAY,kCACrB,YACE+E,QAAS2B,EACTrI,KAAK,+BACLlC,UAAU,+BACV,cAAY,+BACZkP,SAAU,SAAChJ,GAAD,OApEKqI,EAoEkBrI,EAAEN,OAAO+E,WAnElDyD,EAAaK,EAAcF,IADL,IAACA,CAoEL,EACV5D,MAAK,UAAEJ,EAAS4D,UAAX,aAAE,EAAqBxD,SAE9B,aAAQ1E,QAnEC,WACf,IAAMkF,EAAkBZ,EAAS4D,GACjCrI,EAAW,CACT5D,KAAM1B,EAAAA,GAAe6N,qBACrBjM,KAAMC,EAAAA,GAAUgE,SAChBC,KAAM,gCAAF,OAAkC6E,EAAgBR,SAExDL,EAAYa,GACZyD,GACD,EA0DkC,cAAY,8BACrC,OAAC,EAAAhL,QAAD,CAASC,GAAG,sCAMvB,CAEDmK,EAAmBtN,UAAY2K,EAAAA,GAE/B,UC1IA,SAAS8D,EAAsBnO,GAC7B,OACE,aAAK,cAAY,+BACf,aAAKoO,IAAI,EAAOrJ,IAAI,IAClB,OAAC,EAAwB/E,IACzB,aAAa2C,KAAK,KAAK,cAAY,oCACjC,OAAC,EAAAC,QAAD,CAASC,GAAG,sCAGhB,aAAKuL,IAAI,EAAMrJ,IAAI,IACjB,aAAapC,KAAK,KAAK,cAAY,mCACjC,OAAC,EAAAC,QAAD,CAASC,GAAG,qCAEd,OAAC,EAAuB7C,IAI/B,CAEDmO,EAAsBzO,UAAY2K,EAAAA,GAElC,kPC6KA,QA7LA,SAAuBrK,GACrB,IAAQkJ,EAA+BlJ,EAA/BkJ,KAAMjJ,EAAyBD,EAAzBC,YAAasN,EAAYvN,EAAZuN,QACrBc,GAAS7G,EAAAA,EAAAA,MACf,GAAsC7G,EAAAA,EAAAA,KAA9BmE,EAAR,EAAQA,WAAYpE,EAApB,EAAoBA,cAEZ2H,EADmBgG,EAAnB5G,eACAY,QACFiG,EAAexK,MAAMgC,QAAQoD,IAASA,EAAKlF,OAEzCpD,GAAeC,EAAAA,EAAAA,KAAfD,WAGR,GAAsCE,EAAAA,EAAAA,UAAS,GAA/C,eAAOyN,EAAP,KAAoBC,EAApB,KACMC,EAAaC,KAAKC,KAAKzF,EAAKlF,OAAS4K,EAAAA,IACrCC,GAAcN,EAAc,GAAKK,EAAAA,GAMjCE,EAAqB,WACrBP,EAAc,GAChBC,EAAeD,EAAc,EAEhC,EAEKQ,EAAiB,WACjBR,EAAcE,GAChBD,EAAeD,EAAc,EAEhC,GAODtN,EAAAA,EAAAA,YAAU,WAENP,EADE4N,EACY,CACZpN,KAAM1B,EAAAA,GAAewP,eACrB5N,KAAMC,EAAAA,GAAUC,QAChB2N,KAAMhP,EACNiP,cAAe,wBAAF,OAA0B3B,EAA1B,YAAqCrE,EAAKlF,SAG3C,CACZ9C,KAAM1B,EAAAA,GAAewP,eACrB5N,KAAMC,EAAAA,GAAU8N,MAChBF,KAAMhP,EACNiP,cAAe,oBAAF,OAAsB3B,IAGxC,GAAE,CAACrE,IAGJ,IAUMkG,EAAwB,SAAClO,EAAMmO,GAA8B,IAAhBC,IAAgB,yDAwBjE,OACE,aACEnL,IAAKjD,EACLlC,UAAU,2BACV,cAAY,4BAEZ,YACEgE,GAAG,SACHiC,QA/Bc,SAACC,GACnBA,EAAEC,iBAEF,IAAI5F,EAAO2B,EAES,iBAATA,IAEP3B,EADE+P,EACKf,EAAc,EAEdA,EAAc,GAIzBzJ,EAAW,CACT5D,KAAM1B,EAAAA,GAAewP,eACrB5N,KAAMC,EAAAA,GAAUgE,SAChB4J,KAAMhP,EACNqF,KAAM,GAAF,OAAK9F,EAAAA,GAAewP,eAApB,iBAA2CzP,EAA3C,cAGN8P,GACD,EAWK,cAAY,4BACZrQ,UAAWuQ,IAAW,CACpB,mCAAoCrO,IAASqN,KAG9CrN,GAIR,EA+ED,OAlCMoN,GAEA,cAAKtP,UAAU,8BACb,aACEA,UAAU,wBACV,cAAY,wBAEXkK,EAAK5B,MAAMuH,EAjJLA,EAAaD,EAAAA,IAiJc7I,KAAI,SAACyJ,EAAMC,GAG3C,IAxBY,EAAGC,EAAcC,EAwBvB9K,EACJ2K,EAAKlK,MAAL,WAAiB+C,EAAjB,4BAFAuH,EAAAA,EAAAA,IAAsBJ,EAAKE,aAAcF,EAAKK,YAGhD,OACE,aACE1L,IAAKsL,EACL,cAAY,uBACZzQ,UAAU,wBACViG,QAAS,SAACC,GAAD,OAlHU,SAACA,EAAGsK,GACrCtK,EAAE4K,kBACFhL,EAAW,CACT5D,KAAM1B,EAAAA,GAAewP,eACrB5N,KAAMC,EAAAA,GAAUgE,SAChB4J,KAAMhP,EACNqF,KAAM,yBAAF,OAA2BiI,EAA3B,YAAsCiC,EAAKK,UAA3C,YAAwDL,EAAKO,KAA7D,YAAqEP,EAAKE,eAEjF,CA0G+BM,CAA2B9K,EAAGsK,EAArC,IAET,YAAMhN,KAAMqC,EAAK,cAAY,2BAjClB6K,GAAH,EAkCWF,GAlCRE,aAAcC,EAAY,EAAZA,MACnCpC,GAAWA,EAAQ0C,gBAAkBC,EAAAA,GAASC,WAE9C,OAAC,EAAAvN,QAAD,CACEC,GAAG,iCACH6B,MAAOgL,EACPC,MAAOA,IAIND,KA0BO,iBAAWF,EAAKY,SAGrB,KApEc,WACvB,GAAIlH,GAAQA,EAAKlF,OAAS4K,EAAAA,GAAuB,CAC/C,IAAMyB,EAAQvM,MAAMC,KAAKD,MAAM2K,IAAa,SAACxK,EAAGwL,GAC9C,IAAMlQ,EAAOkQ,EAAQ,EACrB,OAAOL,EAAsB7P,GAAM,kBAlFhB,SAACA,GACxBiP,EAAejP,EAChB,CAgF8C+Q,CAAiB/Q,EAAvB,GACpC,IAED,OACE,aACEP,UAAU,2BACV,cAAY,2BAvGOuP,EAAc,GA0G/Ba,EACExO,EAAW,8BACXkO,GAEHuB,EA7Gc9B,EAAcE,GA+G3BW,EACExO,EAAW,8BACXmO,GACA,GAIT,CACD,OAAO,IACR,CA0CQwB,IAIA,IAIV,sFC5KKC,GAAQ,kBACZ,uFADY,EAERC,GAAe3Q,EAAAA,KAAW0Q,IAC1BE,GAAS5Q,EAAAA,MAAW,kBACxB,uDADwB,IAuP1B,SAnPA,WAAkB,MACVuO,GAAS7G,EAAAA,EAAAA,MACf,GAA0C7G,EAAAA,EAAAA,KAAlCgQ,EAAR,EAAQA,eAAgBjQ,EAAxB,EAAwBA,cAChBE,GAAeC,EAAAA,EAAAA,KAAfD,WACAwH,EAA8BiG,EAA9BjG,UAAWX,EAAmB4G,EAAnB5G,eACXF,EAAqBE,EAArBF,MAAOoB,EAAclB,EAAdkB,UACTiI,GAAuBxI,SAAA,UAAAA,EAAWyI,eAAX,eAAoBC,kBAAkB,EAC3DxQ,GAA4BH,EAAAA,GAAAA,KAA5BG,wBACA4H,GAAY6I,EAAAA,EAAAA,KAAZ7I,QAEFqB,GAAWlH,EAAAA,EAAAA,UAAQ,WACvB,OAAO2O,EAAAA,GAAejL,KAAI,gBAAGgE,EAAH,EAAGA,MAAOwD,EAAV,EAAUA,QAAV,MAAyB,CACjDxD,MAAOnJ,EAAWmJ,GAClBJ,MAAO4D,EAFiB,GAI3B,GAAE,IAEG0D,EAAa,SAAC1D,GAClB,OAAOhE,EAASiE,MAAK,qBAAG7D,QAAsB4D,CAAzB,GACtB,EAEO2D,EAAyC9I,EAAzC8I,QAASC,EAAgC/I,EAAhC+I,MAAOC,EAAyBhJ,EAAzBgJ,WAAYrS,EAAaqJ,EAAbrJ,SAEpC,GAA4B+B,EAAAA,EAAAA,WAAS,WACnC,OAAIqQ,SAAAA,EAAO5D,QACF0D,EAAWE,aAAD,EAACA,EAAO5D,SAChB5E,IAAchH,EAAAA,GAChBsP,EAAWI,EAAAA,GAAoB9D,SAEjC0D,EAAWlD,EAAAA,GAAeR,QAClC,IAPD,eAAO+D,EAAP,KAAeC,EAAf,KASQ1L,EAAiBqL,EAAjBrL,aACF2L,GAAeL,aAAA,EAAAA,EAAOM,IAAK,GAGjC,GAA0C3Q,EAAAA,EAAAA,UAAS,CACjDuD,YAAamN,EACbE,SAAS,EACTC,SAAU,KACVzI,KAAM,KAJR,eAAO0I,EAAP,KAAsBC,EAAtB,KAQA,GAAgD/Q,EAAAA,EAAAA,WAAS,GAAzD,eAAOgR,EAAP,KAAyBC,GAAzB,MAEA9Q,EAAAA,EAAAA,YAAU,YACP,iBAAC,kFACI2P,EADJ,gCAEQoB,QAAQC,IAAI,CAACzB,OAFrB,OAGEuB,IAAoB,GAHtB,0CAAD,EAMF,GAAE,IAGH,IAWMG,GAAgB,mCAAG,WAAOT,GAAP,oFACjB5J,EAAO,CACX2J,aAAcC,EACdlE,QAAS+D,aAAF,EAAEA,EAAQ3H,OAHI,kBAMWzB,EAAQ/B,EAAAA,EAAUK,YAAa,CAAEqB,KAAAA,IAN5C,OAMfsK,EANe,OAObjJ,EAASiJ,EAATjJ,KACFoF,EAAexK,MAAMgC,QAAQoD,IAASA,EAAKlF,OACjD6N,EAAiB,CACfxN,WAAW,EACXqN,SAAUpD,EACVqD,SAAWrD,EAEP,KADA8D,EAAAA,GAAmBC,wBAEvBnJ,KAAAA,EACA+F,KAAMwC,IAhBa,kDAmBrBI,EAAiB,CACfxN,WAAW,EACXqN,SAAS,EACTC,SAAUS,EAAAA,GAAmBE,6BAC7BpJ,KAAM,GACN+F,KAAMwC,IAxBa,0DAAH,sDA8BtBxQ,EAAAA,EAAAA,YAAU,WAEW,MAAfmQ,GACFc,GAAiBV,EAEpB,GAAE,IAEH,IA/CUtI,GAsHgB,GAiE1B,OA9BI,wBACE,kBACE,kBACE,OAAC,UAAD,CAAQnK,SAAUA,OAGtB,OAAC,IAAD,CAAYkB,YAAakR,EAAMM,EAAGvR,cAAeoR,KACjD,aAAW/O,KAAK,GACbqO,GA3CY,MAAfQ,EACKU,GACL,OAAC,EAAA3O,SAAD,CACEC,UAAU,OAAC,IAAD,CAAeK,kBAAmB,CAAEE,OAAQ,aAEtD,OAAC8M,GAAD,CACExQ,YAAauR,EACbe,KAAMhL,EACNsJ,QAAO,WAAEzI,EAAUyI,eAAZ,cAAE,GAAmB2B,gBAIhC,OAAC,IAAD,CAAe/O,kBAAmB,CAAEE,OAAQ,WA+BU,MACpD,cACE3E,UAAU,+BACV,cAAY,gCAEZ,OAAC,EAAD,CACEuK,SAAUA,EACVD,YAtBQ,SAACmJ,GAVS,IAAGlF,EACzB1I,EAUN0M,EAAUkB,GAXqBlF,EAYT,CAAEA,QAASkF,EAAc9I,OAZhB4D,QACzB1I,EAAMvE,EAAwB,oBAAD,QACboS,EAAAA,EAAAA,IAClB,KACAlB,GAH+B,oBAIpBjE,IAEfhI,OAAOC,KAAKX,EAAK,QAMlB,EAoBW3E,cAAeoR,IAzFC,WAC1B,IAjCQK,EAiCAtN,EAA6BuN,EAA7BvN,UAAW6E,EAAkB0I,EAAlB1I,KAEnB,OAFqC0I,EAAZF,SAjCjBC,EAAaC,EAAbD,SACRjR,EAAc,CACZQ,KAAM1B,EAAAA,GAAewP,eACrB5N,KAAMC,EAAAA,GAAU8N,MAChBD,cAAe,GAAF,OAAKyC,EAAL,YAAiBL,aAAjB,EAAiBA,EAAQ3H,OACtCsF,KAAMuC,KAIN,aACExS,UAAU,6BACV,cAAY,sCAEZ,aAAUiE,QAAM,IACd,OAAC,EAAAL,QAAD,CACEC,GAAG,6BACH,cAAY,kCACZ,MAGJ,aAAU,cAAY,qCACpB,OAAC,EAAAD,QAAD,CACEC,GAAG,gCACH8P,eAAgB,SAACC,GAAD,OACd,YAAGpQ,KAAK,gBAAgBoQ,EADV,OAkBpBvO,GAEA,cAAKrF,UAAU,iCACb,OAAC,IAAD,CAAe0E,KAAM,EAAGD,kBAAmB,CAAEE,OAAQ,WAMtDU,GAUL3D,EAAc,CACZQ,KAAM1B,EAAAA,GAAewP,eACrB5N,KAAMC,EAAAA,GAAU8N,MAChBF,KAAMuC,EACNtC,cAAe,qBAEV,OAdH,OAAC,EAAD,CACE3B,QAAS+D,aAAF,EAAEA,EAAQ3H,MACjBT,KAAMA,EACNjJ,YAAauR,GAYpB,CAwDUqB,KA3KD3J,GAAkBrD,EAAlBqD,MAAkBrD,EAAZ6L,SACE5N,MAAMgC,QAAQoD,KAASA,GAAKlF,QACnC,OAAC,IAAD,CAAgB6B,aAAcqD,MAGvCyH,EAAe9K,EAAcrG,EAAAA,GAAe4F,mBACrC,QAyKD,OAAC,EAAAjC,SAAD,CAAUC,UAAU,OAAC,IAAD,QAClB,OAACsN,GAAD,QAQX","sources":["webpack:///./components/alerts/index.js","webpack:///./components/hero-module/index.js","webpack:///./components/loaders/shimmerLoader.js","webpack:///./components/help-option/index.js","webpack:///./components/more-ways-of-help/index.js","webpack:///./constants/api.js","webpack:///./hooks/useAPI.js","webpack:///./hooks/useHelper.js","webpack:///./hooks/useMessage.js","webpack:///./components/search-filter/search-filter-desktop.js","webpack:///../node_modules/@paypalcorp/pp-react-pill/dist/@paypalcorp/pp-react-pill.esm.js","webpack:///./components/search-filter/search-filter-mobile.js","webpack:///./components/search-filter/index.js","webpack:///./components/search-results/index.js","webpack:///./pages/search/index.js"],"sourcesContent":["import React from 'react'\nimport { HcAlert } from '@paypalcorp/helpcomponents-alert'\nimport { ALERTS_DATA } from '../../utils/prop-type-shape'\nimport {\n COMPONENT_NAME,\n componentNames,\n FPTI_PREFIX,\n} from '../../utils/analytics/fpti-constants'\n\nconst Alerts = ({ pageName }) => (\n
\n \n
\n)\n\nAlerts.propTypes = ALERTS_DATA\n\nexport default Alerts\n","// styles\nimport './hero-module.less'\n\nimport {\n BodyText,\n Col,\n Container,\n HeadingText,\n Link,\n Row,\n} from '@paypalcorp/pp-react'\nimport React, {\n Suspense,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport {\n BUSINESS,\n PERSONAL,\n TECHNICAL,\n pageNames,\n urlConstants,\n} from '../../constants'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\n\nimport { Message } from '@paypalcorp/worldready-react'\nimport { HERO_MODULE_DATA } from '../../utils/prop-type-shape'\nimport ShimmerLoader from '../loaders/shimmerLoader'\n// Hooks\nimport { useHelper } from '../../hooks/useHelper'\nimport { useMessage } from '../../hooks/useMessage'\nimport useTracking from '../../hooks/useTracking'\n\nconst searchBar = () => import('../search-bar' /* webpackPrefetch: true */)\n\nconst SearchBarComponent = React.lazy(searchBar)\n\n// Hero Module Component - The top section with search component\nfunction HeroModule(props) {\n const { searchQuery, appliedFilter } = props\n const {\n isLoggedIn,\n getDisplayName,\n generateLinkWithCoBrand,\n getPageName,\n getUserUiExp,\n getHomePathByExperience,\n } = useHelper()\n const { trackActivity } = useTracking()\n const { getMessage } = useMessage()\n const [isSearchReady, setIsSearchReady] = useState(false)\n\n const pageName = getPageName()\n\n useEffect(() => {\n ;(async () => {\n await searchBar()\n setIsSearchReady(true)\n })()\n }, [])\n\n useEffect(() => {\n trackActivity({\n name: componentNames.HERO_MODULE,\n type: fptiTypes.SUCCESS,\n })\n }, [trackActivity])\n\n const experiencePath = getHomePathByExperience()\n\n const isExpHomePage = [PERSONAL, BUSINESS, TECHNICAL].includes(pageName)\n\n const isContactUsPages = [\n pageNames.CONTACT_US,\n pageNames.TOPIC_DETAILS,\n ].includes(pageName)\n\n const getUserExperienceLabel = useCallback(() => {\n if (isContactUsPages) {\n return getMessage('app.helpcenter.experience.contactUsLabel')\n }\n const mapping = {\n [PERSONAL]: 'app.helpcenter.experience.personalLabel',\n [BUSINESS]: 'app.helpcenter.experience.businessLabel',\n [TECHNICAL]: 'app.helpcenter.experience.technicalLabel',\n }\n\n return getMessage(mapping[getUserUiExp()])\n }, [getUserUiExp, getMessage, isContactUsPages])\n\n const userExperienceLabel = useMemo(\n () => getUserExperienceLabel(),\n [getUserExperienceLabel],\n )\n\n const renderSearchBar = () => {\n if (isSearchReady) {\n return (\n }>\n \n \n )\n }\n return \n }\n\n const renderUserGreering = () => {\n if (isExpHomePage || isContactUsPages) {\n const greeting = isLoggedIn() ? (\n \n ) : (\n \n )\n\n return (\n \n {greeting}\n \n )\n }\n return null\n }\n\n const getExperienceLabel = () => {\n if (!isExpHomePage && !isContactUsPages) {\n return (\n \n {userExperienceLabel}\n \n )\n }\n\n return (\n \n {userExperienceLabel}\n \n )\n }\n\n const renderHeroSectionInAupViolationPage = () => {\n return (\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n
\n
\n )\n }\n\n if (pageName === pageNames.AUPVIOLATION) {\n return (\n \n \n {renderHeroSectionInAupViolationPage()}\n \n \n )\n }\n\n return (\n \n \n \n {getExperienceLabel()}\n \n \n {renderUserGreering()}\n \n \n {renderSearchBar()}\n \n \n \n )\n}\n\nHeroModule.propTypes = HERO_MODULE_DATA\n\nexport default HeroModule\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Card } from '@paypalcorp/pp-react'\n\nimport './shimmer-loader.less'\n\n// component to load different shimmers with different sizes based on the props.\nconst ShimmerLoader = (props) => {\n const { customLoaderStyle, rows } = props\n\n const getShimmer = () => {\n const defaultShimmerStyle = {\n height: '10rem',\n width: '100%',\n marginBottom: '1rem',\n }\n const customStyle = { ...defaultShimmerStyle, ...customLoaderStyle }\n\n const shimmers = Array.from({ length: rows }, (_, i) => {\n return (\n \n \n \n )\n })\n\n return <>{shimmers}\n }\n\n return getShimmer()\n}\n\nShimmerLoader.propTypes = {\n customLoaderStyle: PropTypes.shape({}),\n rows: PropTypes.number,\n}\n\nShimmerLoader.defaultProps = {\n rows: 1,\n}\nexport default ShimmerLoader\n","import {\n CaptionText,\n Card,\n Col,\n Icon,\n Link,\n} from '@paypalcorp/pp-react'\nimport React from 'react'\nimport { HELP_CHANNEL_DATA } from '../../utils/prop-type-shape'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\n\n// Hooks\nimport useTracking from '../../hooks/useTracking'\n\n// styles\nimport './help-option.less'\n\n// HelpOption Component to render individual help option card\nfunction HelpOption({ iconName, title, desc, target, url, id }) {\n const { trackClick } = useTracking()\n\n const handleOnClick = (event) => {\n event.preventDefault()\n\n // Track click event through FPTI\n trackClick({\n name: componentNames.MORE_WAYS_OF_HELP,\n type: fptiTypes.ON_CLICK,\n link: `help-option|${id}|clicked`,\n })\n\n window.open(url, target || '_blank')\n }\n\n return (\n \n handleOnClick(e)}\n className=\"hc_more-help-option__card\"\n data-testid=\"hc-help-option-card\"\n >\n
\n \n
\n
\n \n {title}\n \n \n {desc}\n \n
\n
\n \n )\n}\n\nHelpOption.propTypes = HELP_CHANNEL_DATA\n\nexport default HelpOption\n","import { Col, HeadingText, Row } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\nimport React, { useEffect } from 'react'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport { MORE_WAYS_OF_HELP_DATA } from '../../utils/prop-type-shape'\nimport HelpOption from '../help-option'\nimport useTracking from '../../hooks/useTracking'\nimport './more-ways-of-help.less'\n\n// MoreWaysOfHelp Component - To display help contact channels\nfunction MoreWaysOfHelp({ helpChannels }) {\n const { trackActivity } = useTracking()\n\n // On component mount\n useEffect(() => {\n trackActivity({\n name: componentNames.MORE_WAYS_OF_HELP,\n type: fptiTypes.SUCCESS,\n })\n }, [trackActivity])\n\n const isHelpChannelsExist = () => {\n return Array.isArray(helpChannels) && helpChannels.length\n }\n\n const renderHelpOptions = () => {\n return (\n isHelpChannelsExist() && (\n \n \n \n \n \n \n \n \n \n {helpChannels.map((helpChannel) => (\n \n ))}\n \n \n )\n )\n }\n\n return <>{renderHelpOptions()}\n}\n\nMoreWaysOfHelp.propTypes = MORE_WAYS_OF_HELP_DATA\n\nexport default MoreWaysOfHelp\n","export const CHECK_BOT_ELIGIBILITY_URL = '/api/check-bot-eligibility'\nexport const MMT_CONVERSATIONS_URL = '/api/mmt-conversations'\nexport const OCP_SET_CONTEXT_URL = '/api/ocp-set-context'\nexport const UPDATE_BNA_URL = '/api/update-bna'\nexport const FULL_SEARCH_URL = '/api/search'\nexport const AI_SEARCH_STREAM_URL = '/api/get-search-ai-answer'\nexport const SEARCH_SUGGESTIONS = '/api/search-auto-complete'\nexport const SEND_EMAIL = '/api/send-email'\nexport const TOPIC_TREE_URL = '/api/topic-tree'\nexport const STEPUP_AUTH_VALIDATION = '/api/stepup-login-validate'\nexport const STEP_UP_RISK_CHECK = '/api/stepup-riskcheck'\nexport const STEP_UP_AUTH_URL = '/api/stepup-anw'\nexport const SEND_WEBFORM = '/api/send-webform'\n\nexport const API_NAMES = {\n CHECK_BOT_ELIGIBILITY: 'CHECK_BOT_ELIGIBILITY',\n MMT_CONVERSATIONS: 'MMT_CONVERSATIONS',\n OCP_SET_CONTEXT: 'OCP_SET_CONTEXT',\n UPDATE_BNA: 'UPDATE_BNA',\n FULL_SEARCH: 'FULL_SEARCH',\n AI_SEARCH_STREAM: 'AI_SEARCH_STREAM',\n SEARCH_SUGGESTIONS: 'SEARCH_SUGGESTIONS',\n SEND_EMAIL: 'SEND_EMAIL',\n TOPIC_TREE: 'TOPIC_TREE',\n STEPUP_AUTH_VALIDATION: 'STEPUP_AUTH_VALIDATION',\n STEP_UP_RISK_CHECK: 'STEP_UP_RISK_CHECK',\n STEP_UP_AUTH: 'STEP_UP_AUTH',\n SEND_WEBFORM: 'SEND_WEBFORM',\n}\n\nexport const API_URLS = {\n [API_NAMES.CHECK_BOT_ELIGIBILITY]: CHECK_BOT_ELIGIBILITY_URL,\n [API_NAMES.MMT_CONVERSATIONS]: MMT_CONVERSATIONS_URL,\n [API_NAMES.OCP_SET_CONTEXT]: OCP_SET_CONTEXT_URL,\n [API_NAMES.UPDATE_BNA]: UPDATE_BNA_URL,\n [API_NAMES.FULL_SEARCH]: FULL_SEARCH_URL,\n [API_NAMES.AI_SEARCH_STREAM]: AI_SEARCH_STREAM_URL,\n [API_NAMES.SEARCH_SUGGESTIONS]: SEARCH_SUGGESTIONS,\n [API_NAMES.SEND_EMAIL]: SEND_EMAIL,\n [API_NAMES.TOPIC_TREE]: TOPIC_TREE_URL,\n [API_NAMES.STEPUP_AUTH_VALIDATION]: STEPUP_AUTH_VALIDATION,\n [API_NAMES.STEP_UP_RISK_CHECK]: STEP_UP_RISK_CHECK,\n [API_NAMES.STEP_UP_AUTH]: STEP_UP_AUTH_URL,\n [API_NAMES.SEND_WEBFORM]: SEND_WEBFORM,\n}\n","import axios from 'axios'\n\nimport { useCallback } from 'react'\nimport { API_URLS } from '../constants/api'\nimport { useAppContext } from '../contexts/app-context'\n\n/**\n * attach query params on api url\n * @param { string } url\n * @param { object } queryParams\n * @returns\n */\nconst attachQueryParams = (url, queryParams = {}) => {\n url += '?'\n for (const param in queryParams) {\n url += `${encodeURIComponent(param)}=${encodeURIComponent(\n queryParams[param],\n )}&`\n }\n url = url.slice(0, -1)\n return url\n}\n\n/**\n * For any api calls from UI\n */\nconst useAPI = () => {\n const {\n reqContextData: { _csrf },\n } = useAppContext()\n // const { trackActivity } = useTracking()\n\n /**\n * For any GET API call invocation from UI\n * @param { string } url\n * @param { object } query params\n * @returns { Promise } API response\n */\n const getAPI = useCallback(\n async (\n apiName,\n options = { body: {}, queryParams: {}, fptiParams: {} },\n ) => {\n // const hc_event_info = options?.fptiParams?.hc_event_info || null\n try {\n // trackActivity({\n // name: apiName,\n // type: fptiTypes.SERVICE_INIT,\n // hc_event_info,\n // })\n const { queryParams = {} } = options\n let url = API_URLS[apiName]\n url = attachQueryParams(url, queryParams)\n const response = await axios.get(`/cshelp${url}`)\n // trackActivity({\n // name: apiName,\n // type: fptiTypes.SERVICE_SUCCESS,\n // hc_event_info,\n // })\n return response\n } catch (error) {\n // trackActivity({\n // name: apiName,\n // type: fptiTypes.SERVICE_ERROR,\n // hc_event_info,\n // })\n throw error\n }\n },\n [],\n )\n\n /**\n * For any POST API call invocation from UI\n * @param { string } url\n * @param { object } request body and query params\n * @returns { Promise } API response\n */\n const postAPI = useCallback(\n async (\n apiName,\n options = { body: {}, queryParams: {}, fptiParams: {} },\n ) => {\n // const hc_event_info = options?.fptiParams?.hc_event_info || null\n try {\n // trackActivity({\n // name: apiName,\n // type: fptiTypes.SERVICE_INIT,\n // hc_event_info,\n // })\n const { body = {}, queryParams = {} } = options\n let url = API_URLS[apiName]\n url = attachQueryParams(url, queryParams)\n const response = await axios.post(`/cshelp${url}`, { ...body, _csrf })\n // trackActivity({\n // name: apiName,\n // type: fptiTypes.SERVICE_SUCCESS,\n // hc_event_info,\n // })\n return response\n } catch (error) {\n // trackActivity({\n // name: apiName,\n // type: fptiTypes.SERVICE_ERROR,\n // hc_event_info,\n // })\n throw error\n }\n },\n [_csrf],\n )\n\n return { getAPI, postAPI }\n}\n\nexport default useAPI\n","import { useCallback } from 'react'\nimport { JP, PERSONAL, BUSINESS, TECHNICAL } from '../constants'\nimport { useAppContext } from '../contexts/app-context'\n\nexport const useHelper = () => {\n const { reqContextData, pageProps } = useAppContext()\n\n const generateLinkWithCoBrand = useCallback(\n (link) => {\n if (reqContextData.coBrand) {\n return `/${reqContextData.coBrand}${link}`\n }\n return link\n },\n [reqContextData],\n )\n\n const isLoggedIn = useCallback(() => {\n return reqContextData.isLoggedIn\n }, [reqContextData])\n\n const getPageName = useCallback(() => {\n return pageProps.pageName\n }, [pageProps])\n\n const getDisplayName = useCallback(() => {\n const { user, country } = reqContextData\n if (user && typeof user === 'object') {\n if (country === JP) {\n return user.lastName || ''\n }\n return user.firstName || ''\n }\n return ''\n }, [reqContextData])\n\n const getUserUiExp = useCallback(() => {\n return reqContextData.userUiExp\n }, [reqContextData])\n\n const getHomePathByExperience = useCallback(\n (exp) => {\n const experience = exp || reqContextData.userUiExp\n const experiencePathMapping = {\n [PERSONAL]: '/cshelp/personal',\n [BUSINESS]: '/cshelp/business',\n [TECHNICAL]: '/cshelp/technical',\n }\n\n return experiencePathMapping[experience] || '/cshelp/home'\n },\n [reqContextData],\n )\n\n return {\n generateLinkWithCoBrand,\n isLoggedIn,\n getDisplayName,\n getPageName,\n getUserUiExp,\n getHomePathByExperience,\n }\n}\n","import { MessageFormat } from '@paypalcorp/worldready'\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react'\nimport { useContext, useCallback } from 'react'\n\nexport const useMessage = () => {\n const worldReady = useContext(WorldReadyContext)\n\n const getMessage = useCallback(\n (messageId, data) => {\n if (data) {\n return new MessageFormat(worldReady, { id: messageId }).format(data)\n }\n return new MessageFormat(worldReady, { id: messageId }).format()\n },\n [worldReady],\n )\n\n return { getMessage }\n}\n","import './search-filter-desktop.less'\nimport React, { useEffect, useMemo, useState } from 'react'\nimport { TabPanel, Tabs } from '@paypalcorp/pp-react'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport { SEARCH_FILTER_DATA } from '../../utils/prop-type-shape'\nimport useTracking from '../../hooks/useTracking'\n\nfunction SearchFilterDesktop({ applyFilter, appliedFilter, docTypes }) {\n const [selectedTabIdx, setSelectedTabIdx] = useState(0)\n const { trackClick, trackActivity } = useTracking()\n\n useEffect(() => {\n trackActivity({\n name: componentNames.SEARCH_FILTER_DESKTOP,\n type: fptiTypes.SUCCESS,\n })\n }, [])\n\n useEffect(() => {\n if (appliedFilter?.value) {\n const idx = docTypes.findIndex(\n ({ value }) => value === appliedFilter?.value,\n )\n setSelectedTabIdx(idx)\n }\n }, [appliedFilter])\n\n const filterTabs = useMemo(() => {\n return docTypes.map(({ label, value }) => ({\n label,\n id: `hc-search-filter-tab-${value}`,\n panelId: `hc-search-filter-panel-${value}`,\n }))\n }, [])\n\n const onTabClick = (_, selectedIdx) => {\n if (selectedIdx === selectedTabIdx) {\n return\n }\n const selectedDocType = docTypes[selectedIdx]\n trackClick({\n name: componentNames.SEARCH_FILTER_DESKTOP,\n type: fptiTypes.ON_CLICK,\n link: `search-filter|clicked|${selectedDocType.value}`,\n })\n applyFilter(selectedDocType);\n }\n\n return (\n \n {\n // This unused tab panel is mandatory to consume tabs component\n // https://paypal.slack.com/archives/CD2TG6ZD3/p1686823707468959\n filterTabs.map(({ panelId }) => (\n \n ))\n }\n \n )\n}\n\nSearchFilterDesktop.propTypes = SEARCH_FILTER_DATA\n\nexport default SearchFilterDesktop\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport 'react';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { CloseIcon } from '@paypalcorp/pp-react-icons';\nimport { devWarning } from '@paypalcorp/pp-react-utils';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { textStyles } from '@paypalcorp/pp-react-text';\n\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;\nfunction pillStyles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n // eslint-disable-next-line no-console\n devWarning('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n\n var sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorSelectedRangeMain = tokens.sysColorSelectedRangeMain,\n sysColorSelectedRangeContrast = tokens.sysColorSelectedRangeContrast,\n sysSpaceTiny = tokens.sysSpaceTiny,\n sysSpaceXs = tokens.sysSpaceXs,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSpaceLg = tokens.sysSpaceLg;\n var pill = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: pill;\\n background-color: \", \";\\n padding-block: 0 0;\\n padding-inline: \", \" 0;\\n white-space: nowrap;\\n border-radius: 100px;\\n position: relative;\\n display: inline-grid;\\n grid-gap: \", \";\\n grid-template-columns: 1fr auto;\\n place-items: center;\\n \"])), sysColorSelectedRangeMain, sysSpaceLg, sysSpaceXs);\n\n var _textStyles = textStyles(tokens),\n captionStrong = _textStyles.captionStrong;\n\n var pillLabel = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: pill_label;\\n \", \"\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \"])), captionStrong({\n color: sysColorSelectedRangeContrast\n }));\n var buttonSpace = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: btn_space;\\n margin: \", \";\\n \"])), sysSpaceTiny);\n var pillTray = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: pill_tray;\\n background-color: \", \";\\n \"])), sysColorBackgroundSurface);\n var pillTrayScroller = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: pill_scroll;\\n overflow-x: scroll;\\n margin: 0;\\n padding: \", \" \", \" \", \";\\n display: flex;\\n column-gap: \", \";\\n \"])), sysSpaceSm, sysSpaceSm, sysSpaceLg, sysSpaceSm);\n return {\n pill: pill,\n pillLabel: pillLabel,\n buttonSpace: buttonSpace,\n pillTray: pillTray,\n pillTrayScroller: pillTrayScroller\n };\n}\n\nvar _excluded = [\"as\", \"value\", \"className\", \"dismissButtonLabel\", \"onDismiss\", \"children\"];\n\nvar Pill = function (_ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n _ref$value = _ref.value,\n value = _ref$value === void 0 ? 'value' : _ref$value,\n className = _ref.className,\n _ref$dismissButtonLab = _ref.dismissButtonLabel,\n dismissButtonLabel = _ref$dismissButtonLab === void 0 ? 'dismiss' : _ref$dismissButtonLab,\n onDismiss = _ref.onDismiss,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n /* istanbul ignore next */\n if (!onDismiss) {\n onDismiss = function () {\n return devWarning('Required prop `onDismiss` is missing');\n };\n }\n\n var tokens = useTheme();\n var styles = pillStyles(tokens);\n\n var handleClick = function (evt) {\n var target = evt.target;\n onDismiss(target.dataset.value);\n };\n\n return jsx(Component, _extends({\n css: styles.pill,\n role: \"listitem\",\n className: className\n }, rest, {\n \"data-ppui\": \"true\"\n }), jsx(\"label\", {\n css: styles.pillLabel,\n \"data-ppui\": \"true\"\n }, children), jsx(IconButton, {\n buttonType: \"tertiary\",\n size: \"sm\",\n css: styles.buttonSpace,\n \"data-value\": value,\n svgIconComponent: CloseIcon,\n onClick: handleClick,\n \"data-ppui\": \"true\"\n }, dismissButtonLabel));\n};\n\nvar PillTray = function (_ref) {\n var children = _ref.children;\n var tokens = useTheme();\n\n var _pillStyles = pillStyles(tokens),\n pillTray = _pillStyles.pillTray,\n pillTrayScroller = _pillStyles.pillTrayScroller;\n\n return jsx(\"div\", {\n css: pillTray,\n \"data-ppui-info\": \"pill_2.0.2-ql\"\n }, jsx(\"div\", {\n css: pillTrayScroller,\n role: \"list\",\n \"data-ppui\": \"true\"\n }, children));\n};\n\nexport { Pill, PillTray, pillStyles };\n","import './search-filter-mobile.less'\nimport {\n Button,\n Container,\n FilterIcon,\n HeadingText,\n Pill,\n RadioButton,\n Sheet,\n} from '@paypalcorp/pp-react'\nimport React, { useEffect, useState } from 'react'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport { DEFAULT_FILTER } from '../../constants'\nimport { Message } from '@paypalcorp/worldready-react'\nimport { SEARCH_FILTER_DATA } from '../../utils/prop-type-shape'\nimport useTracking from '../../hooks/useTracking'\n\nfunction SearchFilterMobile({ applyFilter, appliedFilter, docTypes = [] }) {\n const [isSheetOpen, setIsSheetOpen] = useState(false)\n const [filterIdx, setFilterIdx] = useState(0)\n const { trackClick, trackActivity } = useTracking()\n\n useEffect(() => {\n trackActivity({\n name: componentNames.SEARCH_FILTER_MOBILE,\n type: fptiTypes.SUCCESS,\n })\n }, [])\n\n const getDocType = (channel) => {\n return docTypes.find(({ value }) => channel === value)\n }\n const findFilterIdx = (channel) => {\n return docTypes.findIndex(({ value }) => channel === value)\n }\n\n const resetFilters = () => {\n if (appliedFilter?.value) {\n const appliedFilterIdx = findFilterIdx(appliedFilter.value)\n setFilterIdx(appliedFilterIdx)\n } else {\n setFilterIdx(0)\n }\n }\n\n useEffect(() => {\n resetFilters()\n }, [appliedFilter])\n\n const closeSheet = () => {\n setIsSheetOpen(false)\n resetFilters()\n }\n\n const handleOpen = () => {\n trackClick({\n name: componentNames.SEARCH_FILTER_MOBILE,\n type: fptiTypes.ON_CLICK,\n link: `search-filter|clicked|sheet-open`,\n })\n setIsSheetOpen(true)\n }\n\n const onDocTypeSelect = (channel) => {\n setFilterIdx(findFilterIdx(channel))\n }\n\n const onSubmit = () => {\n const selectedDocType = docTypes[filterIdx]\n trackClick({\n name: componentNames.SEARCH_FILTER_MOBILE,\n type: fptiTypes.ON_CLICK,\n link: `search-filter|clicked|submit|${selectedDocType.value}`,\n })\n applyFilter(selectedDocType)\n closeSheet()\n }\n\n const handlePillDismiss = (channel) => {\n const defaultDocType = getDocType(DEFAULT_FILTER.channel)\n if (channel === DEFAULT_FILTER.channel) {\n // if applied filter is default then open sheet\n trackClick({\n name: componentNames.SEARCH_FILTER_MOBILE,\n type: fptiTypes.ON_CLICK,\n link: `search-filter|clicked|dismiss-default|${defaultDocType.value}`,\n })\n handleOpen()\n } else {\n const selectedDocType = docTypes[filterIdx]\n trackClick({\n name: componentNames.SEARCH_FILTER_MOBILE,\n type: fptiTypes.ON_CLICK,\n link: `search-filter|clicked|dismiss|${selectedDocType.value}`,\n })\n // if applied filter is not default then reset to default\n applyFilter(defaultDocType)\n }\n }\n\n return (\n <>\n \n \n {getDocType(appliedFilter?.value)?.label}\n \n \n \n \n }\n >\n \n onDocTypeSelect(e.target.value)}\n value={docTypes[filterIdx]?.value}\n />\n \n \n \n \n )\n}\n\nSearchFilterMobile.propTypes = SEARCH_FILTER_DATA\n\nexport default SearchFilterMobile\n","import { Col, HeadingText, Row } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\nimport React from 'react'\nimport { SEARCH_FILTER_DATA } from '../../utils/prop-type-shape'\nimport SearchFilterDesktop from './search-filter-desktop'\nimport SearchFilterMobile from './search-filter-mobile'\n\nfunction SearchFilterContainer(props) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nSearchFilterContainer.propTypes = SEARCH_FILTER_DATA\n\nexport default SearchFilterContainer\n","import { BodyText, Link } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\nimport classNames from 'classnames'\nimport React, { useEffect, useState } from 'react'\nimport { CHANNELS, SEARCH_ITEMS_PER_PAGE } from '../../constants'\nimport { useAppContext } from '../../contexts/app-context'\nimport { useMessage } from '../../hooks/useMessage'\nimport useTracking from '../../hooks/useTracking'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport { getTitleForArticleUrl } from '../../utils/helper'\nimport './search-results.less'\n\nfunction SearchResults(props) {\n const { data, searchQuery, channel } = props\n const appCtx = useAppContext()\n const { trackClick, trackActivity } = useTracking()\n const { reqContextData } = appCtx\n const { coBrand } = reqContextData\n const isDataExists = Array.isArray(data) && data.length\n\n const { getMessage } = useMessage()\n\n // handle pagination\n const [currentPage, setCurrentPage] = useState(1)\n const totalPages = Math.ceil(data.length / SEARCH_ITEMS_PER_PAGE)\n const startIndex = (currentPage - 1) * SEARCH_ITEMS_PER_PAGE\n const endIndex = startIndex + SEARCH_ITEMS_PER_PAGE\n\n const showPreviousButton = currentPage > 1\n const showNextButton = currentPage < totalPages\n\n const handlePreviousPage = () => {\n if (currentPage > 1) {\n setCurrentPage(currentPage - 1)\n }\n }\n\n const handleNextPage = () => {\n if (currentPage < totalPages) {\n setCurrentPage(currentPage + 1)\n }\n }\n\n const handlePageChange = (page) => {\n setCurrentPage(page)\n }\n\n // On component mount\n useEffect(() => {\n if (isDataExists) {\n trackActivity({\n name: componentNames.SEARCH_RESULTS,\n type: fptiTypes.SUCCESS,\n srch: searchQuery,\n hc_event_info: `no-of-search-results|${channel}|${data.length}`,\n })\n } else {\n trackActivity({\n name: componentNames.SEARCH_RESULTS,\n type: fptiTypes.ERROR,\n srch: searchQuery,\n hc_event_info: `received no data|${channel}`,\n })\n }\n }, [data])\n\n // onclick handler for search result\n const onClickSearchResultHandler = (e, item) => {\n e.stopPropagation()\n trackClick({\n name: componentNames.SEARCH_RESULTS,\n type: fptiTypes.ON_CLICK,\n srch: searchQuery,\n link: `search-result|clicked|${channel}|${item.articleId}|${item.rank}|${item.articleTitle}`,\n })\n }\n\n const renderPaginationLinks = (name, clickHandler, prev = true) => {\n const handleClick = (e) => {\n e.preventDefault()\n\n let page = name\n\n if (typeof name !== 'number') {\n if (prev) {\n page = currentPage - 1\n } else {\n page = currentPage + 1\n }\n }\n\n trackClick({\n name: componentNames.SEARCH_RESULTS,\n type: fptiTypes.ON_CLICK,\n srch: searchQuery,\n link: `${componentNames.SEARCH_RESULTS}|page|${page}|clicked`,\n })\n\n clickHandler()\n }\n\n return (\n \n \n {name}\n \n \n )\n }\n\n const renderPagination = () => {\n if (data && data.length > SEARCH_ITEMS_PER_PAGE) {\n const pages = Array.from(Array(totalPages), (_, index) => {\n const page = index + 1\n return renderPaginationLinks(page, () => handlePageChange(page))\n })\n\n return (\n \n {showPreviousButton &&\n renderPaginationLinks(\n getMessage('app.search.pagination.prev'),\n handlePreviousPage,\n )}\n {pages}\n {showNextButton &&\n renderPaginationLinks(\n getMessage('app.search.pagination.next'),\n handleNextPage,\n false,\n )}\n \n )\n }\n return null\n }\n const renderLinkTitle = ({ articleTitle, views }) => {\n if (channel && channel.toLowerCase() === CHANNELS.COMMUNITY) {\n return (\n \n )\n }\n return articleTitle\n }\n\n const renderSearchResults = () => {\n if (isDataExists) {\n return (\n
\n \n {data.slice(startIndex, endIndex).map((item, index) => {\n const formattedTitle = () =>\n getTitleForArticleUrl(item.articleTitle, item.articleId)\n const url =\n item.link || `/${coBrand}/cshelp/article/${formattedTitle()}`\n return (\n onClickSearchResultHandler(e, item)}\n >\n \n {renderLinkTitle(item)}\n \n {item.excerpt}\n \n )\n })}\n \n {renderPagination()}\n
\n )\n }\n return null\n }\n\n return renderSearchResults()\n}\n\nexport default SearchResults\n","// styles\nimport { BodyText, Container, Row } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\nimport React, { Suspense, useEffect, useMemo, useState } from 'react'\nimport Alerts from '../../components/alerts'\nimport HeroModule from '../../components/hero-module'\nimport ShimmerLoader from '../../components/loaders/shimmerLoader'\nimport MoreWaysOfHelp from '../../components/more-ways-of-help'\nimport SearchFilterContainer from '../../components/search-filter'\nimport SearchResults from '../../components/search-results'\nimport {\n DEFAULT_FILTER,\n SEARCH_ERROR_TYPES,\n SEARCH_FILTERS,\n TECHNICAL,\n TECH_SUPPORT_FILTER,\n} from '../../constants'\nimport { API_NAMES } from '../../constants/api'\nimport { useAppContext } from '../../contexts/app-context'\nimport useAPI from '../../hooks/useAPI'\nimport { useHelper } from '../../hooks/useHelper'\nimport { useMessage } from '../../hooks/useMessage'\nimport useTracking from '../../hooks/useTracking'\nimport '../../styles/pages/search.less'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport { getSanitizedValue } from '../../utils/helper'\n\nconst genAi = () =>\n import('../../components/gen-ai-summary' /* webpackPrefetch: true */)\nconst GenAiSummary = React.lazy(genAi)\nconst Survey = React.lazy(() =>\n import('../../components/survey' /* webpackPrefetch: true */),\n)\n// Search results page\nfunction Search() {\n const appCtx = useAppContext()\n const { trackErrorFPTI, trackActivity } = useTracking()\n const { getMessage } = useMessage()\n const { pageProps, reqContextData } = appCtx\n const { _csrf, userUiExp } = reqContextData\n const isGenAiSearchEnabled = pageProps?.configs?.isGenAiEnabled || false\n const { generateLinkWithCoBrand } = useHelper()\n const { postAPI } = useAPI()\n\n const docTypes = useMemo(() => {\n return SEARCH_FILTERS.map(({ label, channel }) => ({\n label: getMessage(label),\n value: channel,\n }))\n }, [])\n\n const findFilter = (channel) => {\n return docTypes.find(({ value }) => value === channel)\n }\n\n const { apiData, query, statusCode, pageName } = pageProps\n\n const [filter, setFilter] = useState(() => {\n if (query?.channel) {\n return findFilter(query?.channel)\n } else if (userUiExp === TECHNICAL) {\n return findFilter(TECH_SUPPORT_FILTER.channel)\n }\n return findFilter(DEFAULT_FILTER.channel)\n })\n\n const { helpChannels } = apiData\n const search_query = query?.q || ''\n\n // states\n const [searchResults, setSearchResults] = useState({\n isLoading: !!search_query,\n isError: false,\n errorMsg: null,\n data: [],\n })\n\n // states for validating imports\n const [isGenAiCompReady, setIsGenAiCompReady] = useState(false)\n\n useEffect(() => {\n ;(async () => {\n if (isGenAiSearchEnabled) {\n await Promise.all([genAi()])\n setIsGenAiCompReady(true)\n }\n })()\n }, [])\n\n // MORE WAYS OF HELP SECTION\n const renderMoreWaysOfHelp = () => {\n const { data, isError } = helpChannels\n if (!isError && Array.isArray(data) && data.length) {\n return \n }\n\n trackErrorFPTI(helpChannels, componentNames.MORE_WAYS_OF_HELP)\n return null\n }\n\n // Get full search results based on the search query\n const getSearchResults = async (q) => {\n const body = {\n search_query: q,\n channel: filter?.value,\n }\n try {\n const searchResultsData = await postAPI(API_NAMES.FULL_SEARCH, { body })\n const { data } = searchResultsData\n const isDataExists = Array.isArray(data) && data.length\n setSearchResults({\n isLoading: false,\n isError: !isDataExists,\n errorMsg: !isDataExists\n ? SEARCH_ERROR_TYPES.NO_SEARCH_RESULTS_ERROR\n : null,\n data,\n srch: q,\n })\n } catch (e) {\n setSearchResults({\n isLoading: false,\n isError: true,\n errorMsg: SEARCH_ERROR_TYPES.SEARCH_RESULTS_SERVICE_ERROR,\n data: [],\n srch: q,\n })\n }\n }\n\n // on component mount\n useEffect(() => {\n // Trigger full search results API\n if (statusCode === 200) {\n getSearchResults(search_query)\n }\n }, [])\n\n const renderSearchResultsErrorView = () => {\n const { errorMsg } = searchResults\n trackActivity({\n name: componentNames.SEARCH_RESULTS,\n type: fptiTypes.ERROR,\n hc_event_info: `${errorMsg}|${filter?.value}`,\n srch: search_query,\n })\n\n return (\n \n \n \n  \n \n \n (\n {innerMessage}\n )}\n />\n \n \n )\n }\n\n const renderSearchResults = () => {\n const { isLoading, data, isError } = searchResults\n\n if (isError) {\n // Error message\n return renderSearchResultsErrorView()\n }\n\n // When loading\n if (isLoading) {\n return (\n
\n \n
\n )\n }\n\n // When not loading and when results exists\n if (!isLoading) {\n return (\n \n )\n }\n\n trackActivity({\n name: componentNames.SEARCH_RESULTS,\n type: fptiTypes.ERROR,\n srch: search_query,\n hc_event_info: `received-no-data`,\n })\n return null\n }\n\n const renderGenAiSummaryPanel = () => {\n if (statusCode === 200) {\n return isGenAiCompReady ? (\n }\n >\n \n \n ) : (\n \n )\n }\n return null\n }\n\n const goToSearchResultsPage = ({ channel }) => {\n const url = generateLinkWithCoBrand(\n `/cshelp/search?q=${getSanitizedValue(\n null,\n search_query,\n )}&channel=${channel}`,\n )\n window.open(url, '_self')\n }\n\n const applyFilter = (updatedFilter) => {\n setFilter(updatedFilter)\n goToSearchResultsPage({ channel: updatedFilter.value })\n }\n\n const renderSearchView = () => {\n return (\n <>\n \n \n \n \n \n \n \n {isGenAiSearchEnabled ? renderGenAiSummaryPanel() : null}\n \n \n {renderSearchResults()}\n \n\n {renderMoreWaysOfHelp()}\n }>\n \n \n \n \n )\n }\n\n return renderSearchView()\n}\n\nexport default Search\n"],"names":["Alerts","pageName","className","suppressError","componentName","COMPONENT_NAME","fptiOptions","pgrp","FPTI_PREFIX","page","componentNames","ALERT","propTypes","ALERTS_DATA","searchBar","SearchBarComponent","React","HeroModule","props","searchQuery","appliedFilter","useHelper","isLoggedIn","getDisplayName","generateLinkWithCoBrand","getPageName","getUserUiExp","getHomePathByExperience","trackActivity","useTracking","getMessage","useMessage","useState","isSearchReady","setIsSearchReady","useEffect","name","HERO_MODULE","type","fptiTypes","SUCCESS","experiencePath","isExpHomePage","PERSONAL","BUSINESS","TECHNICAL","includes","isContactUsPages","pageNames","CONTACT_US","TOPIC_DETAILS","getUserExperienceLabel","useCallback","mapping","userExperienceLabel","useMemo","AUPVIOLATION","xxl","href","urlConstants","CSHELP_HOME","size","Message","id","DEFAULT_COMMUNITY_LINK","DISPUTES","as","strong","greeting","Suspense","fallback","HERO_MODULE_DATA","ShimmerLoader","customStyle","shimmers","customLoaderStyle","rows","height","width","marginBottom","Array","from","length","_","i","key","style","isLoading","PropTypes","defaultProps","HelpOption","iconName","title","desc","target","url","trackClick","sm","lg","onClick","e","preventDefault","MORE_WAYS_OF_HELP","ON_CLICK","link","window","open","color","secondary","HELP_CHANNEL_DATA","MoreWaysOfHelp","helpChannels","isArray","map","helpChannel","MORE_WAYS_OF_HELP_DATA","AI_SEARCH_STREAM_URL","API_NAMES","CHECK_BOT_ELIGIBILITY","MMT_CONVERSATIONS","OCP_SET_CONTEXT","UPDATE_BNA","FULL_SEARCH","AI_SEARCH_STREAM","SEARCH_SUGGESTIONS","SEND_EMAIL","TOPIC_TREE","STEPUP_AUTH_VALIDATION","STEP_UP_RISK_CHECK","STEP_UP_AUTH","SEND_WEBFORM","API_URLS","attachQueryParams","queryParams","param","encodeURIComponent","slice","_csrf","useAppContext","reqContextData","getAPI","apiName","options","body","fptiParams","axios","get","response","postAPI","post","pageProps","coBrand","user","country","JP","lastName","firstName","userUiExp","exp","experience","worldReady","useContext","WorldReadyContext","messageId","data","MessageFormat","format","SearchFilterDesktop","applyFilter","docTypes","selectedTabIdx","setSelectedTabIdx","SEARCH_FILTER_DESKTOP","value","idx","findIndex","filterTabs","label","panelId","tabs","selectedIdx","selectedDocType","visible","SEARCH_FILTER_DATA","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_excluded","Pill","_ref","_ref$as","Component","_ref$value","_ref$dismissButtonLab","dismissButtonLabel","onDismiss","children","rest","styles","tokens","Object","keys","sysColorBackgroundSurface","sysColorSelectedRangeMain","sysColorSelectedRangeContrast","sysSpaceTiny","sysSpaceXs","sysSpaceSm","sysSpaceLg","pill","css","captionStrong","pillLabel","buttonSpace","pillTray","pillTrayScroller","pillStyles","u","jsx","role","buttonType","svgIconComponent","evt","dataset","SearchFilterMobile","isSheetOpen","setIsSheetOpen","filterIdx","setFilterIdx","SEARCH_FILTER_MOBILE","getDocType","channel","find","findFilterIdx","resetFilters","appliedFilterIdx","closeSheet","handleOpen","defaultDocType","DEFAULT_FILTER","isOpen","onCloseComplete","onChange","SearchFilterContainer","xs","appCtx","isDataExists","currentPage","setCurrentPage","totalPages","Math","ceil","SEARCH_ITEMS_PER_PAGE","startIndex","handlePreviousPage","handleNextPage","SEARCH_RESULTS","srch","hc_event_info","ERROR","renderPaginationLinks","clickHandler","prev","classNames","item","index","articleTitle","views","getTitleForArticleUrl","articleId","stopPropagation","rank","onClickSearchResultHandler","toLowerCase","CHANNELS","COMMUNITY","excerpt","pages","handlePageChange","renderPagination","genAi","GenAiSummary","Survey","trackErrorFPTI","isGenAiSearchEnabled","configs","isGenAiEnabled","useAPI","SEARCH_FILTERS","findFilter","apiData","query","statusCode","TECH_SUPPORT_FILTER","filter","setFilter","search_query","q","isError","errorMsg","searchResults","setSearchResults","isGenAiCompReady","setIsGenAiCompReady","Promise","all","getSearchResults","searchResultsData","SEARCH_ERROR_TYPES","NO_SEARCH_RESULTS_ERROR","SEARCH_RESULTS_SERVICE_ERROR","csrf","genAiConfig","updatedFilter","getSanitizedValue","HelpCenterLink","innerMessage","renderSearchResults"],"sourceRoot":""}