{"version":3,"file":"static/js/1630.chunk.js","mappings":"8yCAUO,MAAMA,GAAmBC,EAAAA,EAAAA,IAAG,kBAEtBC,EAA2CC,IAwBjD,IAxBkD,WACvDC,EAAU,MACVC,EAAK,aACLC,EAAY,WACZC,EAAU,wBAEVC,EAAuB,KACvBC,EAAO,GAAE,aAGTC,EAAY,WACZC,EAAU,WACVC,EAAa,GAAE,sBACfC,EAAqB,mBACrBC,EAAkB,iBAClBC,EAAgB,8BAChBC,EAA6B,uBAC7BC,EAAsB,aACtBC,EAAe,GAAE,qBACjBC,EAAoB,mBACpBC,EAAkB,YAElBC,EAAW,cACXC,EAAgB,aACjBnB,EACC,OACEoB,EAAAA,EAAAA,MAAA,OAAKC,UAAWxB,IAAmByB,SAAA,EACjCF,EAAAA,EAAAA,MAAA,OAAKC,UAAWxB,EAAiB,WAAWyB,SAAA,CACzCrB,IACCsB,EAAAA,EAAAA,KAACC,EAAAA,EAAWC,KAAI,CACdJ,UAAWxB,EAAiB,YAC5B6B,KAAK,KACLC,OAAO,OACPC,UAAU,YACVC,GAAG,KAAIP,SAENrB,KAGLsB,EAAAA,EAAAA,KAACO,EAAAA,GAAU,CACTC,MAAO5B,EACP6B,MAAO9B,EACP+B,SAAUC,GAAQA,EAAKC,MACvBC,SAAUF,GAAQA,EAAKG,MACvBC,SAAUlC,EACVmC,UAAU,eAGdnB,EAAAA,EAAAA,MAAA,OAAKC,UAAWxB,EAAiB,WAAWyB,SAAA,EAC/B,OAAVb,QAAU,IAAVA,OAAU,EAAVA,EAAY+B,QAAS,IACpBjB,EAAAA,EAAAA,KAACkB,EAAAA,GAAQ,CACPC,UAAQ,EACRrB,UAAWxB,EAAiB,UAC5B8C,kBAAkB,YAClBC,aAAW,EACXC,YAAanC,EACboC,oBAAqBjC,EACrBmB,MAAOvB,EACPsB,MAAOpB,EACPoC,aAAcb,GAAQA,EAAKC,MAC3BG,SAAU1B,EACVoC,KAAK,aAGJ,OAAJ1C,QAAI,IAAJA,OAAI,EAAJA,EAAMkC,QAAS,IACdjB,EAAAA,EAAAA,KAACkB,EAAAA,GAAQ,CACPI,YAAaxC,EACb2B,MAAO1B,EACPyB,MAAOxB,EACP+B,SAAU9B,EACVkC,UAAQ,EACRrB,UAAWxB,EAAiB,UAC5BiD,oBAAqBzC,EACrB0C,aAAcb,GAAQA,EAAKC,MAC3Ba,KAAK,gBAIE,OAAZjC,QAAY,IAAZA,OAAY,EAAZA,EAAcyB,QAAS,IACtBpB,EAAAA,EAAAA,MAAA,OAAKC,UAAWxB,EAAiB,WAAWyB,SAAA,EAC1CC,EAAAA,EAAAA,KAACC,EAAAA,EAAWC,KAAI,CACdJ,UAAWxB,EAAiB,YAC5B6B,KAAK,KACLC,OAAO,OACPC,UAAU,YACVC,GAAG,KAAIP,SAENR,KAEHS,EAAAA,EAAAA,KAAC0B,EAAAA,GAAa,CACZV,UAAU,SACVN,SAAUC,GAAQA,EAAKC,MACvBe,YAAahB,GAAQA,EAAKiB,SAC1Bb,SAAUrB,EACVe,MAAOjB,EACPgB,MAAOf,QAIbO,EAAAA,EAAAA,KAAA,OAAKF,UAAWxB,EAAiB,WAAWyB,UAC1CC,EAAAA,EAAAA,KAAC6B,EAAAA,GAAM,CACLJ,KAAK,UACLX,MAAOlB,EACPE,UAAWxB,EAAiB,gBAC5BwD,QAASnC,QAGT,E,qcChHH,MAAMoC,GAAmBxD,EAAAA,EAAAA,IAAG,kBAStByD,EAAkCvD,IAKxC,IALyC,YAC9C6C,EAAc,SAAQ,aACtBW,EAAe,GAAE,gBACjBC,EAAe,WACfC,GACD1D,EAMC,OACEoB,EAAAA,EAAAA,MAAA,QAAMC,UAAWiC,IAAoBK,SANjBC,IACpBA,EAAEC,iBACFH,EAAWF,EAAa,EAIoClC,SAAA,EAC1DC,EAAAA,EAAAA,KAACuC,EAAAA,GAAS,CACRC,KAAK,OACLf,KAAK,UACLgB,MAAM,OACNC,aAAa,MACbC,WAAS,EACTrB,YAAaA,EACbd,MAAOyB,EACPlB,SAAWsB,GAAWH,EAAgBG,EAAE7B,UAE1CR,EAAAA,EAAAA,KAAC6B,EAAAA,GAAM,CACLe,UAAWC,EAAAA,EACXC,KAAK,SACLlB,UAAWK,MAER,E,mkBCzBX,MAAMc,GAAqBxE,EAAAA,EAAAA,IAAG,oBAEjByE,EAA6BA,KACxC,MAAOC,EAAYC,IAAiBC,EAAAA,EAAAA,WAAS,IACvC,oBAAEC,IAAwBC,EAAAA,EAAAA,IAAYC,EAAAA,KAAyB,CAAC,GAChE,OAAEC,IAAWF,EAAAA,EAAAA,IAAYG,EAAAA,KACzB,qCACJC,EAAuC,yBAAwB,kDAC/DC,EAAoD,WAAU,iDAC9DC,EAAmD,kGAAiG,gDACpJC,EAAkD,kBAAiB,2CAEnEC,EAA6C,8BAA6B,0CAC1EC,EAA4C,+EAA8E,qDAC1HC,EAAuD,8CACvDC,4CAA4C,+CAC1CC,EAAiD,GAAE,gDACnDC,EAAkD,IAChD,CAAC,EAAC,0CACNC,IAEmB,OAAnBf,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBgB,wBAClBC,wCAAyC,CAAC,EAEzCC,EAAmBC,EAAAA,GAAW,CAClC/B,KAAM+B,EAAAA,KAEHC,IAAI,GACJC,SAAShB,GACTiB,WACHC,MAAOJ,EAAAA,KAEJI,MAAMT,GACNO,SAAShB,GACTiB,WACHE,iBAAkBL,EAAAA,KAEfM,MAAM,EAAC,GAAO,MACdJ,aASCK,GAAeC,EAAAA,EAAAA,QAAkB,OAEjC,aACJC,EAAY,aACZC,EAAY,OACZC,EAAM,MACNC,EAAK,WACLC,EAAU,aACVC,EAAY,OACZC,EAAM,QACNC,IACEC,EAAAA,EAAAA,IAAU,CACZC,cAlBoB,CACpBjD,KAAM,GACNmC,MAAO,GACPC,kBAAkB,GAgBlBN,mBACAlC,SAAUsD,MAAOC,EAAMC,KACrB,IAAK,IAADC,EACF,MAAMC,QAAkC,QAA1BD,EAAMf,EAAaiB,eAAO,IAAAF,OAAA,EAApBA,EAAsBG,qBC/EMC,KACtD,MAAM,KAAEN,GAASM,GAAa,CAAC,EAE/B,OAAOC,EAAAA,GAAWC,KAAK,eAAgBR,EAAK,ED6EhCS,CAAmB,CACvBT,KAAM,IACDA,EACHpC,OAAQA,EACR,CAAC,GAAD8C,OAAIC,EAAAA,KAAqBR,KAG7B5C,GAAc,GACd0C,EAAQW,YACRC,IAAAA,UAAqB,CACnBC,UAAW,CACTC,MAAO,0BACPC,UAAW/C,IAGjB,CAAE,MAAOgD,GACPA,aAAiBC,MACbC,QAAQF,MAAMA,EAAMG,SACpBD,QAAQF,MAAMA,EACpB,KAIEI,IACFC,EAAAA,KAAgBC,EAEpB,OACErH,EAAAA,EAAAA,MAAA,OAAKC,UAAWiD,IAAqBhD,SAAA,EACnCF,EAAAA,EAAAA,MAAA,OAAKC,UAAWiD,EAAmB,UAAW,CAAEoE,UAAWlE,IAAclD,SAAA,EACvEF,EAAAA,EAAAA,MAAA,OAAKC,UAAWiD,EAAmB,QAAQhD,SAAA,CACxC8D,IACC7D,EAAAA,EAAAA,KAACC,EAAAA,EAAWmH,MAAK,CACftH,UAAWiD,EAAmB,SAC9B5C,KAAK,KACLG,GAAG,KAAIP,SAEN8D,IAGJC,IACC9D,EAAAA,EAAAA,KAACC,EAAAA,EAAWC,KAAI,CAACJ,UAAWiD,EAAmB,QAAS5C,KAAK,IAAGJ,SAC7D+D,QAIPjE,EAAAA,EAAAA,MAAA,QAAMC,UAAWiD,EAAmB,QAASX,SAAU4C,EAAajF,SAAA,EAClEF,EAAAA,EAAAA,MAAA,OAAKC,UAAWiD,EAAmB,UAAUhD,SAAA,EAC3CC,EAAAA,EAAAA,KAACuC,EAAAA,GAAS,CACRC,KAAK,OACL1B,MAAOqD,EACP1C,KAAK,UACLgB,MAAM,OACN1B,SAAUtC,IAAA,IAAC,EAAE4D,GAAG5D,EAAA,OAAK4G,EAAahD,EAAE,EACpCgF,OAAQjC,EACR5E,MAAO8E,EAAO9C,KACdiC,UAAQ,EACR6C,QAAS/B,EAAQ/C,MAAQ0C,EAAO1C,KAAO0C,EAAO1C,UAAO+E,EACrDC,OAAQjC,EAAQ/C,MAAU0C,EAAO1C,KAAO,aAAU+E,KAEpDvH,EAAAA,EAAAA,KAACuC,EAAAA,GAAS,CACRC,KAAK,QACL1B,MAAOmD,EACPxC,KAAK,UACLgB,MAAM,OACN1B,SAAU0G,IAAA,IAAC,EAAEpF,GAAGoF,EAAA,OAAKpC,EAAahD,EAAE,EACpCgF,OAAQjC,EACR5E,MAAO8E,EAAOX,MACdF,UAAQ,EACR6C,QAAS/B,EAAQZ,OAASO,EAAOP,MAAQO,EAAOP,WAAQ4C,EACxDC,OAAQjC,EAAQZ,OAAWO,EAAOP,MAAQ,aAAU4C,QAGxD1H,EAAAA,EAAAA,MAAA,OAAKC,UAAWiD,EAAmB,UAAUhD,SAAA,EAC3CC,EAAAA,EAAAA,KAAC0H,EAAAA,GAAQ,CACPjD,UAAQ,EACR3D,MAAOiD,EACPvB,KAAK,mBACL1C,UAAWiD,EAAmB,YAC9BhC,SAAU4G,IAAA,IAAC,EAAEtF,GAAGsF,EAAA,OAAKtC,EAAahD,EAAE,EACpCgF,OAAQjC,EACRwC,QAAStC,EAAOV,oBAElB5E,EAAAA,EAAAA,KAAC6B,EAAAA,GAAM,CACL/B,UAAWiD,EAAmB,UAC9B8E,GAAIjE,EACJhB,UAAWC,EAAAA,EACXjB,SACEqD,KACE6C,OAAOC,KAAK7C,GAAQjE,SACrBkE,GACDlC,EAEFH,KAAK,cAGRkE,IACChH,EAAAA,EAAAA,KAACgI,EAAAA,EAAS,CACRC,IAAKnD,EACLoD,QAASjB,EAAAA,GACT9G,KAAK,qBAKbN,EAAAA,EAAAA,MAAA,OAAKC,UAAWiD,EAAmB,UAAW,CAAEoE,UAAWlE,IAAclD,SAAA,EACvEF,EAAAA,EAAAA,MAAA,OAAKC,UAAWiD,EAAmB,gBAAgBhD,SAAA,CAChD2D,IACC1D,EAAAA,EAAAA,KAACC,EAAAA,EAAWmH,MAAK,CACftH,UAAWiD,EAAmB,SAC9B5C,KAAK,KACLG,GAAG,KAAIP,SAEN2D,IAGJC,IACC3D,EAAAA,EAAAA,KAACC,EAAAA,EAAWC,KAAI,CAACJ,UAAWiD,EAAmB,QAAS5C,KAAK,IAAGJ,SAC7D4D,QAIP3D,EAAAA,EAAAA,KAAA,OAAKF,UAAWiD,EAAmB,eAAehD,UAChDC,EAAAA,EAAAA,KAAA,OAAKmI,IAAKC,EAAcC,IAAI,mBAG5B,EEpMGC,GAAmB/J,EAAAA,EAAAA,IAAG,kBAEtBgK,EAAmCC,IAC9C,MAAM,QAAEC,EAAO,KAAEC,EAAI,MAAE9H,EAAK,OAAE+H,EAAM,OAAEC,EAAM,MAAEC,EAAQ,WACpDL,GAAS,CAAC,EACNM,GAAaC,EAAAA,EAAAA,IACX,OAANJ,QAAM,IAANA,OAAM,EAANA,EAAQK,KACF,OAANL,QAAM,IAANA,OAAM,EAANA,EAAQ/H,MACF,OAAN+H,QAAM,IAANA,OAAM,EAANA,EAAQM,aAEV,OAAOL,GACL5I,EAAAA,EAAAA,KAACkJ,EAAAA,GAAQ,CACPC,YAAa,CACXC,QAAS,CAAEC,IAAK,IAChBC,OAAQ,CAAED,IAAK,IACfE,OAAQ,CAAEF,IAAK,KACftJ,UAEFC,EAAAA,EAAAA,KAACgD,EAAgB,OAGnBnD,EAAAA,EAAAA,MAAA,OAAKC,UAAWwI,IAAoBkB,MAAO,CAAEC,gBAAiBZ,GAAQ9I,SAAA,EACpEF,EAAAA,EAAAA,MAAA,OAAKC,UAAWwI,EAAiB,WAAWvI,SAAA,CACzCa,IACCZ,EAAAA,EAAAA,KAACC,EAAAA,EAAWmH,MAAK,CAACjH,KAAK,KAAKL,UAAWwI,EAAiB,SAASvI,SAC9Da,IAGJ8H,IACC1I,EAAAA,EAAAA,KAACC,EAAAA,EAAWC,KAAI,CAACC,KAAK,IAAIL,UAAWwI,EAAiB,QAAQvI,SAC3D2I,IAGJZ,OAAOC,KAAKe,GAAY7H,OAAS,IAChCjB,EAAAA,EAAAA,KAAC6B,EAAAA,GAAM,CACL6H,KAAM7G,EAAAA,EACN/C,UAAWwI,EAAiB,aACxBQ,OAITL,IACCzI,EAAAA,EAAAA,KAAA,OAAKF,UAAWwI,EAAiB,SAASvI,UACxCC,EAAAA,EAAAA,KAAC2J,EAAAA,EAAO,IAAKlB,MAGhBX,OAAOC,KAAKe,GAAY7H,OAAS,IAChCjB,EAAAA,EAAAA,KAAC6B,EAAAA,GAAM,CACL6H,KAAM7G,EAAAA,EACN/C,UAAWwI,EAAiB,oBACxBQ,MAIX,E,oJCxDI,MAAMc,GAAiBrL,EAAAA,EAAAA,IAAG,gBAEpBsL,EAA+BrB,IAC1C,MAAM,KAAE1F,EAAI,IAAEgH,EAAG,OAAEC,EAAM,KAAEhL,EAAI,QAAE0J,EAAO,SAAEuB,GAAaxB,GAAS,CAAC,EASjE,OACE3I,EAAAA,EAAAA,MAAA,OAAKC,UAAW8J,IAAiB7J,SAAA,CAC9B+J,GAVqBA,KACxB,GAAKA,EACL,OAAOA,EAAIG,SAAS,SAClBjK,EAAAA,EAAAA,KAAA,KAAGkK,KAAMJ,EAAKhK,UAAW8J,EAAe,WAExC5J,EAAAA,EAAAA,KAACmK,EAAAA,GAAI,CAACC,GAAIN,EAAKhK,UAAW8J,EAAe,SAC1C,EAISS,CAAiBP,GACxBrB,IACCzI,EAAAA,EAAAA,KAAA,OAAKF,UAAW8J,EAAe,WAAW7J,UACxCC,EAAAA,EAAAA,KAAC2J,EAAAA,EAAO,IAAKlB,OAGjB5I,EAAAA,EAAAA,MAAA,OAAKC,UAAW8J,EAAe,WAAW7J,SAAA,CACvC+C,IACC9C,EAAAA,EAAAA,KAACC,EAAAA,EAAWC,KAAI,CACdC,KAAK,KACLC,OAAO,OACPC,UAAU,YACVP,UAAW8J,EAAe,YAAY7J,SAEjC,OAAJ+C,QAAI,IAAJA,OAAI,EAAJA,EAAMlC,SAGXf,EAAAA,EAAAA,MAAA,OAAKC,UAAW8J,EAAe,SAAS7J,SAAA,CACrCgK,IAAU/J,EAAAA,EAAAA,KAACC,EAAAA,EAAWmH,MAAK,CAACjH,KAAK,KAAIJ,SAAEgK,KACxC/J,EAAAA,EAAAA,KAAA,OAAKF,UAAW8J,EAAe,YAAY7J,SACxCiK,GACCA,EAAS/I,OAAS,GAClB+I,EAASM,KAAI,CAACC,EAASC,KAAK,IAAAC,EAAAC,EAAA,OAC1B1K,EAAAA,EAAAA,KAAC2K,EAAAA,SAAc,CAAA5K,SACZwK,EAAQK,QACP5K,EAAAA,EAAAA,KAAC6K,EAAAA,GAAI,CACH1K,KAAK,IACL2K,WAAwB,QAAbL,EAAAF,EAAQK,aAAK,IAAAH,OAAA,EAAbA,EAAeM,WAAwB,QAAjBL,EAAIH,EAAQK,aAAK,IAAAF,OAAA,EAAbA,EAAeZ,KACpDN,MAAO,CAAEwB,OAAQhB,EAAS/I,OAASuJ,MALpBD,EAAQU,UAAYV,EAAQW,SAQhC,SAIxBnM,IAAY,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMkC,QAAS,IACtBjB,EAAAA,EAAAA,KAAA,OAAKF,UAAW8J,EAAe,QAAQ7J,SACpChB,EAAKuL,KAAIa,IACRnL,EAAAA,EAAAA,KAACoL,EAAAA,GAAG,CAEFC,KAAK,OACLvK,MAAOqK,EAAIvK,MACXd,UAAW8J,EAAe,QAHrBuB,EAAItD,aASf,EClCJyD,GAAa/M,EAAAA,EAAAA,IAAG,YAwlBtB,EAhlBkCE,IAA4B,IAA3B,SAAE8M,EAAQ,QAAEC,GAAS/M,EACtD,MAAM,cACJgN,EAAa,aACbjM,EAAY,QACZkM,EAAO,KACPlJ,EAAI,KACJ6I,EAAO,WACLM,EAAAA,EAAAA,IAAaJ,IAEVK,EAAcC,IAAmB1I,EAAAA,EAAAA,UAAiB,KAClD2I,EAAqBC,IAA0B5I,EAAAA,EAAAA,UAAiB,KAChE6I,EAAaC,IAAkB9I,EAAAA,EAAAA,UAAiB,IACjD,gBAAE+I,IAAoB7I,EAAAA,EAAAA,IAAYC,EAAAA,KAAyB,CAAC,GAC5D,gCACJ6I,EAA+B,0BAC/BC,EAAyB,kCACzBC,EAAiC,6BACjCC,EAA4B,0BAC5BC,EAAyB,gCACzBC,EACAC,yBAAyB,mCACvBC,EAAqC,SAAQ,iCAC7CC,EAAmC,OAAM,gCACzCC,EAAkC,aAChC,CAAC,EACLC,yBAAyB,6BACvBC,EAA+B,oCAAmC,4BAClEC,EAA8B,gCAC5B,CAAC,GACHb,GAAmB,CAAC,GAElB,OAAEc,IAAWC,EAAAA,EAAAA,MAEb,KACJC,EACAC,QAASC,EAAc,aACvBC,EACAC,OAAQC,IACNC,EAAAA,EAAAA,IACFC,EAAAA,GACA,CACET,SACAM,OAAQ,CACN7B,cAAeA,EACfC,QAASA,EACTlM,aAAcA,EACd6L,KAAMA,EACN7I,KAAMA,IAGV,CACEkL,KAAM1B,EAAc,KAIlB,UACJ2B,GACAzO,WAAY0O,GAAmB,GAC/B7O,KAAM8O,GAAa,GACnBrO,aAAcsO,GAAqB,GACnCC,QAASpP,GAAQ,GAAE,WACnBqP,GAAa,EAAC,MACdvN,GAAQ,GAAE,aACVwN,GAAe,GAAE,QACjBC,GAAO,UACPC,IACEjB,GAAQ,CAAC,GAEN9N,GAAoBgP,KAAyBjL,EAAAA,EAAAA,UAAqB,KAClEnE,GAAcqP,KAAmBlL,EAAAA,EAAAA,UAAiB,KAClDmL,GAAqBC,KAA0BpL,EAAAA,EAAAA,UACpD,KAEKvE,GAAc4P,KAAoBrL,EAAAA,EAAAA,aAClClB,GAAcC,KAAmBiB,EAAAA,EAAAA,UAASX,IAC1CiM,GAAoBC,KAAyBvL,EAAAA,EAAAA,WAAkB,IAEhE,WACJwL,GACAtB,aAAcuB,GAAgB,iBAC9BC,GACA3B,KAAM4B,GACN3B,QAAS4B,GAAW,MACpBnI,GACA0G,OAAQ0B,KACNC,EAAAA,EAAAA,IACFC,EAAAA,GACA,CACElC,SACAM,OAAQ,CACN7B,cAAeA,EACfC,QAASA,EACTlM,aAAcA,EACd6L,KAAMA,EACN7I,KAAMA,IAGV,CACEkL,KAAM1B,EAAc,IAGlBmD,IAAeC,EAAAA,EAAAA,cAClB9B,IACqB,uBAAhBA,EAAOjC,OACTiC,EAAO5B,QAAU,CAAC,QAEpBO,EAAe,GACfyC,IAAsB,GACtB7C,EAAgB,IAChBE,EAAuB,IACvBsB,EAAaC,GACbsB,GAAiBtB,EAAO,GAE1B,CAACoB,GAAuBrB,EAAcuB,GAAkB/C,KAG1DwD,EAAAA,EAAAA,YAAU,MACC,OAAL5O,SAAK,IAALA,QAAK,EAALA,GAAOQ,QAAS,GAClB4K,EAAgBpL,IAChBiO,IAAsB,KACD,OAAZT,SAAY,IAAZA,QAAY,EAAZA,GAAchN,QAAS,GAChC8K,EAAuBkC,GACzB,GACC,CAACxN,MAEJ4O,EAAAA,EAAAA,YAAU,KACJP,KACFjD,GAAgByD,GAAQ,IAAIA,KAASR,GAASrO,SAC9CiO,IAAsB,GACxB,GACC,CAACI,MAEJO,EAAAA,EAAAA,YAAU,KACRpD,EAAe0C,GAAWY,KAAK,GAC9B,CAACZ,MAGJU,EAAAA,EAAAA,YAAU,KACRb,GAAsB,OAAL7P,SAAK,IAALA,QAAK,EAALA,GAAO6Q,MAAK7O,GAAQ0K,IAAY,OAAJ1K,QAAI,IAAJA,OAAI,EAAJA,EAAMkH,MAAI,GACtD,CAAC2D,EAAS7M,MAGb0Q,EAAAA,EAAAA,YAAU,KACR,GAAI5D,EAAe,CACjB,MAAMgE,EAAqBC,MAAMC,QAAQlE,GACrCA,EACA,CAACA,GACL2C,GACkB,OAAhBR,SAAgB,IAAhBA,QAAgB,EAAhBA,GAAkBN,QAAO3M,GACL,OAAlB8O,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBG,MAAKC,GAAKlP,EAAKkH,GAAGiI,aAAeD,MAG3D,IACC,CAACrE,EAASoC,MAGbyB,EAAAA,EAAAA,YAAU,KACR,GAAI3D,EAAS,CACX,MAAMqE,EAAcL,MAAMC,QAAQjE,GAAWA,EAAU,CAACA,GAExD2C,GACY,OAAVR,SAAU,IAAVA,QAAU,EAAVA,GAAYP,QAAO3M,GACjBoP,EAAYH,MAAKC,GAAKlP,EAAKkH,GAAGiI,aAAeD,MAGnD,IAEC,CAAChC,GAAYrC,KAGhB6D,EAAAA,EAAAA,YAAU,KACR,GAAI7P,EAAc,CAChB,MAAMwQ,EAAqBN,MAAMC,QAAQnQ,GACrCA,EACA,CAACA,GAEL+O,GACoB,OAAlBT,SAAkB,IAAlBA,QAAkB,EAAlBA,GAAoBR,QAAO3M,GACzBqP,EAAmBJ,MAAKC,GAAKlP,EAAKkH,GAAGiI,aAAeD,MAG1D,IAEC,CAAC/B,GAAoBtC,KAExB6D,EAAAA,EAAAA,YAAU,KACR,MAAM,cAAE5D,EAAa,QAAEC,EAAO,aAAElM,EAAY,KAAE6L,EAAI,KAAE7I,GAClDwJ,EAAc,EAAIgD,GAAczB,GAElC0C,EAAAA,EAAAA,IAAkBzE,EAAS,CACzBC,gBACAC,UACAlM,eACA6L,OACA7I,QACA,GACD,CAACwM,GAAaxD,EAAS+B,IAE1B,MAAO2C,KAAaC,EAAAA,EAAAA,GAAkB,CACpChD,QAAS4B,GACTqB,aAAuB,OAAVzB,SAAU,IAAVA,QAAU,EAAVA,GAAYY,MAAOvB,GAChCqC,WAAYA,KACVxB,GAAiB,CAAEU,KAAMZ,GAAWY,KAAO,GAAI,EAEjD3N,WAAYgF,KAGR0J,GAAiB3F,EAAAA,OAA2B,MAE5CpE,GAAYA,KAChB8H,GAAgB,IAChBE,GAAuB,IACvBH,GAAsB,IACtBI,GAAiB7P,GAAM,IACvBuD,GAAgB,IAChBiN,GAAa,CACX1D,cAAe,GACfC,QAAS,GACTlM,aAAc,GACdgD,KAAM,GACN6I,KAAM,WAEJiF,GAAevK,SACjBwK,IACF,EAmBIA,GAAkBA,KAClBD,GAAevK,SACjBuK,GAAevK,QAAQyK,MACzB,EAKF,OAFAC,EAAAA,EAAAA,IAAetC,KAGbnO,EAAAA,EAAAA,KAAA0Q,EAAAA,SAAA,CAAA3Q,UACEC,EAAAA,EAAAA,KAAA,OAAKF,UAAWwL,IAAavL,UAC3BF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,YAAWC,SAAA,EACxBC,EAAAA,EAAAA,KAAC2Q,EAAAA,GAAI,CACHxH,YAAa,CACXC,QAAS,CAAEwH,KAAM,GAAIC,IAAK,MAC1BvH,OAAQ,CAAEsH,KAAM,GAAIC,IAAK,MACzBtH,OAAQ,CAAEqH,KAAM,GAAIC,IAAK,OACzB9Q,UAEFF,EAAAA,EAAAA,MAACqJ,EAAAA,GAAQ,CACPC,YAAa,CACXC,QAAS,CAAEC,IAAK,IAChBC,OAAQ,CAAED,IAAK,IACfE,OAAQ,CAAEF,IAAK,KAEjBvJ,UAAWwL,EAAW,OAAOvL,SAAA,EAE7BF,EAAAA,EAAAA,MAAA,OAAKC,UAAWwL,EAAW,cAAcvL,SAAA,EACvCC,EAAAA,EAAAA,KAACC,EAAAA,EAAWmH,MAAK,CAACjH,KAAK,KAAKG,GAAG,KAAIP,SAChCuM,KAEHzM,EAAAA,EAAAA,MAACiR,EAAAA,GAAE,CAACC,MAAM,eAAchR,SAAA,EACtBC,EAAAA,EAAAA,KAAC6B,EAAAA,GAAM,CACLJ,KAAK,QACLmB,UAAWoO,EAAAA,EACXC,QACc,OAAZjS,SAAY,IAAZA,QAAY,EAAZA,GAAciC,QAAS,IACL,OAAlB7B,SAAkB,IAAlBA,QAAkB,EAAlBA,GAAoB6B,QAAS,IACV,OAAnBqN,SAAmB,IAAnBA,QAAmB,EAAnBA,GAAqBrN,QAAS,EAEhCa,QA9CMoP,KAClBZ,GAAevK,SACjBuK,GAAevK,QAAQoL,MACzB,EA4CgBrR,UAAWwL,EAAW,4BAExBtL,EAAAA,EAAAA,KAACoR,EAAAA,GAAW,CACVnJ,IAAKqI,GACLe,aA7DMC,KACtBf,KACApB,GAAa,CACX1D,cAAiC,OAAlBrM,SAAkB,IAAlBA,QAAkB,EAAlBA,GAAoBkL,KAAI3J,GAAQA,EAAKkH,GAAGiI,aACvDpE,QAAqB,OAAZ1M,SAAY,IAAZA,QAAY,EAAZA,GAAcsL,KAAI3J,GAAQA,EAAKkH,GAAGiI,aAC3CtQ,aAAiC,OAAnB8O,SAAmB,IAAnBA,QAAmB,EAAnBA,GAAqBhE,KAAI3J,GAAQA,EAAKkH,GAAGiI,aACvDzE,KAAkB,OAAZzM,SAAY,IAAZA,QAAY,EAAZA,GAAciJ,IACpB,EAuDclI,YAAa4G,GACb3G,cAAegN,EACfjO,MAAO,CACLD,WAAYiO,EACZhO,MAAOA,GACPC,aAAcA,GACdC,WAAY4I,IAAgB,IAAf,MAAEjH,GAAOiH,EACpB+G,GAAiBhO,EAAM,GAG3BtB,WAAY,CACV0B,MAAOuL,EACPP,aAAcgC,GACd7M,SAAU4G,IAAgB,IAAf,MAAEnH,GAAOmH,EAClByG,GAAsB5N,EAAM,EAE9BA,MAAOpB,IAETL,KAAM,CACJ6B,MAAOwL,EACPR,aAAciC,GACd9M,SAAUwQ,IAAgB,IAAf,MAAE/Q,GAAO+Q,EAClBlD,GAAgB7N,EAAM,EAExBA,MAAOxB,IAETQ,aAAc,CACZoB,MAAOyL,EACPT,aAAckC,GACd/M,SAAUyQ,IAAgB,IAAf,MAAEhR,GAAOgR,EAClBjD,GAAuB/N,EAAM,EAE/BA,MAAO8N,aAKftO,EAAAA,EAAAA,KAAA,OAAKF,UAAWwL,EAAW,UAAUvL,UACnCC,EAAAA,EAAAA,KAACgC,EAAc,CACbV,YAAaoL,EACbzK,aAAcA,GACdC,gBAAiBA,GACjBC,WAAY3B,IACV2O,GAAa,CACX3M,KAAMhC,GACN,OAIRR,EAAAA,EAAAA,KAAC8Q,EAAAA,GAAE,CAACC,MAAM,eAAchR,UACtBC,EAAAA,EAAAA,KAAA,OAAKF,UAAWwL,EAAW,YAAYvL,WACvB,OAAZf,SAAY,IAAZA,QAAY,EAAZA,GAAciC,QAAS,IACL,OAAlB7B,SAAkB,IAAlBA,QAAkB,EAAlBA,GAAoB6B,QAAS,IACV,OAAnBqN,SAAmB,IAAnBA,QAAmB,EAAnBA,GAAqBrN,QAAS,KAC9BpB,EAAAA,EAAAA,MAAA,OAAKC,UAAWwL,EAAW,qBAAqBvL,SAAA,EAC9CC,EAAAA,EAAAA,KAACC,EAAAA,EAAWC,KAAI,CACdC,KAAK,KACLC,OAAO,OACPC,UAAU,YACVP,UAAWwL,EAAW,2BACtBhL,GAAG,KAAIP,SACR,yBAGDF,EAAAA,EAAAA,MAAA,OAAKC,UAAWwL,EAAW,0BAA0BvL,SAAA,EACtC,OAAZf,SAAY,IAAZA,QAAY,EAAZA,GAAciC,QAAS,GACtBjC,GAAasL,KAAI3J,IACfX,EAAAA,EAAAA,KAAA,OAAAD,UACEC,EAAAA,EAAAA,KAACoL,EAAAA,GAAG,CACFqG,SAAUA,KACR,MAAMC,EAAc1S,GAAasO,QAC/BqE,GAAKA,EAAE9J,KAAOlH,EAAKkH,KAErBwG,GAAgBqD,GAChBvC,GAAa,CACXzD,QAAoB,OAAXgG,QAAW,IAAXA,OAAW,EAAXA,EAAapH,KAAI3J,GACxBA,EAAKkH,GAAGiI,cAEV,EAEJhP,MAAOH,EAAKC,MACZyK,KAAK,YAdC1K,EAAKkH,GAAKlH,EAAKC,UAmBV,OAAlBxB,SAAkB,IAAlBA,QAAkB,EAAlBA,GAAoB6B,QAAS,GAC5B7B,GAAmBkL,KAAI3J,IACrBX,EAAAA,EAAAA,KAAA,OAAAD,UACEC,EAAAA,EAAAA,KAACoL,EAAAA,GAAG,CACFqG,SAAUA,KACR,MAAMC,EAActS,GAAmBkO,QACrCqE,GAAKA,EAAE9J,KAAOlH,EAAKkH,KAErBuG,GAAsBsD,GACtBvC,GAAa,CACX1D,cAA0B,OAAXiG,QAAW,IAAXA,OAAW,EAAXA,EAAapH,KAAI3J,GAC9BA,EAAKkH,GAAGiI,cAEV,EAEJhP,MAAOH,EAAKC,MACZyK,KAAK,YAdC1K,EAAKkH,GAAKlH,EAAKC,UAmBT,OAAnB0N,SAAmB,IAAnBA,QAAmB,EAAnBA,GAAqBrN,QAAS,GAC7BqN,GAAoBhE,KAAI3J,IACtBX,EAAAA,EAAAA,KAAA,OAAAD,UACEC,EAAAA,EAAAA,KAACoL,EAAAA,GAAG,CACFqG,SAAUA,KACR,MAAMC,EAAcpD,GAAoBhB,QACtCqE,GAAKA,EAAE9J,KAAOlH,EAAKkH,KAErB0G,GAAuBmD,GACvBvC,GAAa,CACX3P,aAAyB,OAAXkS,QAAW,IAAXA,OAAW,EAAXA,EAAapH,KAAI3J,GAC7BA,EAAKkH,GAAGiI,cAEV,EAEJhP,MAAOH,EAAKC,MACZyK,KAAK,YAdC1K,EAAKkH,GAAKlH,EAAKC,yBAyB3Cf,EAAAA,EAAAA,MAAC8Q,EAAAA,GAAI,CACHxH,YAAa,CACXC,QAAS,CAAEwH,KAAM,GAAIC,IAAK,MAC1BvH,OAAQ,CAAEsH,KAAM,GAAIC,IAAK,MACzBtH,OAAQ,CAAEqH,KAAM,GAAIC,IAAK,OAE3B/Q,UAAWwL,EAAW,WAAWvL,SAAA,EAEjCC,EAAAA,EAAAA,KAAC8Q,EAAAA,GAAE,CAACC,MAAM,YAAWhR,UACnBC,EAAAA,EAAAA,KAACkJ,EAAAA,GAAQ,CACPC,YAAa,CACXC,QAAS,CAAEC,IAAK,GAChBC,OAAQ,CAAED,IAAK,IACfE,OAAQ,CAAEF,IAAK,KAEjBvJ,UAAWwL,EAAW,mBAAmBvL,SAExCmN,IACClN,EAAAA,EAAAA,KAACxB,EAAc,CACbE,WAAYiO,EACZhO,MAAOA,GACPC,aAAcA,GACdC,WAAY+S,IAAgB,IAAf,MAAEpR,GAAOoR,EACpBpD,GAAiBhO,GACjB2O,GAAa,CACX9D,KAAM7K,EAAMqH,IACZ,EAEJ3I,WAAY0O,GACZxO,mBAAoBA,GACpBD,sBAAuBgN,EACvB7M,8BACEkN,EAEFnN,iBAAkBwS,IAAgB,IAAf,MAAErR,GAAOqR,EAC1BzD,GAAsB5N,GACtB2O,GAAa,CACX1D,cAAoB,OAALjL,QAAK,IAALA,OAAK,EAALA,EAAO8J,KAAI3J,GAAQA,EAAKkH,GAAGiI,cAC1C,EAGJtQ,aAAcsO,GACdvO,uBAAwB8M,EACxByF,gCAAiC,uBACjCrS,qBAAsB6O,GACtB5O,mBAAoBqS,IAAgB,IAAf,MAAEvR,GAAOuR,EAC5BxD,GAAuB/N,GACvB2O,GAAa,CACX3P,aAAmB,OAALgB,QAAK,IAALA,OAAK,EAALA,EAAO8J,KAAI3J,GAAQA,EAAKkH,GAAGiI,cACzC,EAEJ/Q,KAAM4O,GACNqE,SAAUnE,GACVoE,eAAgB,UAChBC,gBAAiB9F,EACjBtN,wBAAyByN,EACzBvN,aAAcA,GACdC,WAAYkT,IAAgB,IAAf,MAAE3R,GAAO2R,EACpB9D,GAAgB7N,GAChB2O,GAAa,CACXzD,QAAc,OAALlL,QAAK,IAALA,OAAK,EAALA,EAAO8J,KAAI3J,GAAQA,EAAKkH,GAAGiI,cACpC,EAEJnQ,YAAa4G,GACb3G,cAAegN,SAKvB/M,EAAAA,EAAAA,MAACqJ,EAAAA,GAAQ,CACPC,YAAa,CACXC,QAAS,CAAEC,IAAK,GAChBC,OAAQ,CAAED,IAAK,IACfE,OAAQ,CAAEF,IAAK,KACftJ,SAAA,CAEwB,KAAb,OAAZ6L,QAAY,IAAZA,OAAY,EAAZA,EAAc3K,UAAiBmM,IAC9BpN,EAAAA,EAAAA,KAAA,OAAKF,UAAWwL,EAAW,SAASvL,UAClCF,EAAAA,EAAAA,MAACI,EAAAA,EAAWmH,MAAK,CAACjH,KAAK,KAAIJ,SAAA,CACxB+M,EAA8B,KAC/B9M,EAAAA,EAAAA,KAAA,QAAAD,SAAOgN,UAIblN,EAAAA,EAAAA,MAAC8Q,EAAAA,GAAI,CACHxH,YAAa,CACXC,QAAS,CAAEwH,KAAM,GAAIC,IAAK,MAC1BvH,OAAQ,CAAEsH,KAAM,GAAIC,IAAK,MACzBtH,OAAQ,CAAEqH,KAAM,GAAIC,IAAK,OAE3B/Q,UAAWwL,EAAW,gBAAgBvL,SAAA,CAErCqN,IACCpN,EAAAA,EAAAA,KAACkJ,EAAAA,GAAQ,CACPC,YAAa,CACXC,QAAS,CAAEC,IAAK,GAChBC,OAAQ,CAAED,IAAK,GACfE,OAAQ,CAAEF,IAAK,KACftJ,UAEFC,EAAAA,EAAAA,KAACoS,EAAAA,GAAM,MAGVxG,GAAgBE,EACb,MACE,MAIMuG,GAHJzG,EAAa3K,OAAS,EAClB2K,EACAE,GAC2BwB,QAC/BnH,GAAQ2B,OAAOxC,OAAOa,GAAMmH,OAAOgF,SAASrR,OAAS,IAEjDsR,EAAmC,GACzC,IAAIC,EAAc,EAoClB,OAlCAH,EAAcI,SAAQ,CAACtM,EAAMqE,KAC3B+H,EAAcG,MACZ1S,EAAAA,EAAAA,KAACkJ,EAAAA,GAAQ,CAEPC,YAAa,CACXC,QAAS,CAAEC,IAAK,GAChBC,OAAQ,CAAED,IAAK,GACfE,OAAQ,CAAEF,IAAK,KACftJ,UAEFC,EAAAA,EAAAA,KAAC6J,EAAY,IAAK1D,KAPbA,EAAK0B,MAYX2C,EAAQ,GAAK,IAAM,GACpB0D,IACAsE,EAActE,GAAQjN,SAEtBsR,EAAcG,MACZ1S,EAAAA,EAAAA,KAACkJ,EAAAA,GAAQ,CAEPC,YAAa,CACXC,QAAS,CAAEC,IAAK,IAChBC,OAAQ,CAAED,IAAK,IACfE,OAAQ,CAAEF,IAAK,KACftJ,UAEFC,EAAAA,EAAAA,KAACuI,EAAc,IAAK2F,GAAQsE,MAAgB,UAAAnM,OAP7BmM,KAUnBA,GAAeA,EAAc,GAAKtE,GAAQjN,OAC5C,IAEKsR,CACR,EA9CD,GA+CA,QAELxD,KACC/O,EAAAA,EAAAA,KAAC2S,EAAAA,GAAS,CAACC,OAAO,MAAK7S,UACrBC,EAAAA,EAAAA,KAACoS,EAAAA,GAAM,MAGV3D,IAAsBT,GAAahC,IAClChM,EAAAA,EAAAA,KAAA,OAAKiI,IAAKiI,iBAMnB,C,gNCxnBD2C,EAAsB,MACtBC,EAAoB,CAAC,G,gNCa3B,SAASC,EACPC,G,QDcF,SACEA,G,QAEMC,EAAU,OAAAC,EAAA,MAAGF,OAAH,EAAGA,EAAMC,YAATC,EAAuBL,EACjCM,EAAS,OAAAC,EAAA,MAAGJ,OAAH,EAAGA,EAAMG,WAATC,EAAsBN,EAE/BO,GAAUtO,EAAAA,EAAAA,QAAgD,MAC1DuO,GAAUvO,EAAAA,EAAAA,QAAoD,MAC9DwO,GAAcxO,EAAAA,EAAAA,QAAoC,M,GAE9B5B,EAAAA,EAAAA,YAAnBqQ,EAAAC,EAAA,GAAOC,EAAAD,EAAA,GAERE,GAAYvE,EAAAA,EAAAA,cAAY,WAE5B,IAAMwE,EAAkBL,EAAYxN,QACrB,MAAf6N,GAAAA,EAAiBC,aACjBN,EAAYxN,QAAU,IACvB,GAAE,KAEHsJ,EAAAA,EAAAA,YAAU,WACR,OAAO,WAELsE,GACD,CACF,GAAE,CAACA,IAEJ,IAAMG,GAAU1E,EAAAA,EAAAA,cAAY,WAC1B,IAAM2E,EAAOV,EAAQtN,QACrB,GAAIgO,EAAM,CACR,IAAMC,EAAOV,EAAQvN,QAGfkO,EAAW,IAAIC,sBAAqB,SAAAzV,G,IAAE0V,EAAA1V,EAAA,GAC1CiV,EAASS,EACV,GAJe,CAAEH,KAAAA,EAAMf,WAAAA,EAAYE,UAAAA,IAKpCc,EAASH,QAAQC,GACjBR,EAAYxN,QAAUkO,CACvB,CACF,GAAE,CAAChB,EAAYE,IAEViB,GAAqBhF,EAAAA,EAAAA,cAAY,WACrCuE,IACAG,GACD,GAAE,CAACA,EAASH,IAkBb,MAAO,EAhBavE,EAAAA,EAAAA,cAClB,SAAC2E,GACCV,EAAQtN,QAAUgO,EAClBK,GACD,GACD,CAACA,IAWkB,CAAEZ,MAAAA,EAAOF,SARNlE,EAAAA,EAAAA,cACtB,SAACiF,GACCf,EAAQvN,QAAUsO,EAClBD,GACD,GACD,CAACA,KAIJ,CC1EuBE,CAAwBtB,GAAvC/K,EAAAsM,EAAA,GAAKC,EAAAD,EAAA,GACNE,EAAYnC,QAAO,OAAAoC,EAACF,EAAOhB,YAAR,EAACkB,EAAcC,gB,GACIxR,EAAAA,EAAAA,UAASsR,GAA9CG,EAAAnB,EAAA,GAAgBoB,EAAApB,EAAA,GAQvB,OANApE,EAAAA,EAAAA,YAAU,WACJoF,GACFI,EAAkBJ,EAErB,GAAE,CAACA,IAEG,CAACxM,EAAD6M,EAAA,GAAWN,EAAX,CAAmBC,UAAAA,EAAWG,eAAAA,IACtC,CC3BD,IACWzE,EAAoB,SAAU4E,GACrC,IAAI5H,EAAU4H,EAAG5H,QAASiD,EAAc2E,EAAG3E,YAAaC,EAAa0E,EAAG1E,WAAY4C,EAAa8B,EAAG9B,WAAYrR,EAAWmT,EAAGnT,SAAUoT,EAAKD,EAAGE,UAAWA,OAAmB,IAAPD,EAFjJ,IAEuLA,EACzME,GAAKC,EAAAA,EAAAA,QAAOpC,EAAmB,CAC/BE,WAAYA,IACZ,GAAIhL,EAAMiN,EAAG,GAAIE,EAAKF,EAAG,GAAI5B,EAAU8B,EAAG9B,QAASmB,EAAYW,EAAGX,UAClEY,GAAkBzT,IAAauL,GAAWsH,GAAarE,EAkB3D,OAhBAf,EAAAA,EAAAA,YAAU,WACN,GAAIgG,EAAgB,CAOhB,IAAIC,EAAUC,YAAW,WACrBlF,GACJ,GAAG4E,GACH,OAAO,WACHO,aAAaF,EACjB,CACJ,CACJ,GAAG,CAACjF,EAAYgF,EAAgBJ,IACzB,CAAChN,EAAK,CAAEqL,QAASA,GAC5B,C,0RCtBA,QAJA,SAAyB9K,GACrB,OAAQmC,EAAAA,cAAoB,OAAO8K,EAAAA,EAAAA,UAAS,CAAEC,QAAS,aAAelN,GAClEmC,EAAAA,cAAoB,OAAQ,CAAEgL,EAAG,ulCACzC,ECHO,IAAI3E,GAAa4E,EAAAA,EAAAA,GAAW,CAC/BC,EAAGC,EACHC,EAAGD,EACHE,GAAIF,EACJtT,KAAM,c","sources":["features/blog/components/DesktopFilters.tsx","features/blog/components/BlogPageSearch.tsx","features/blog/components/SubscriptionForm.tsx","network/api/form/mutationFooterForm.ts","features/blog/components/BlogPageBanner.tsx","features/blog/components/BlogPostCard.tsx","features/blog/pages/BlogPage.tsx","../node_modules/react-intersection-observer-hook/src/useIntersectionObserver.ts","../node_modules/react-intersection-observer-hook/src/useTrackVisibility.ts","../node_modules/@dataartdev/uikit/__internal__/src/hooks/useInfiniteScroll/useInfiniteScroll.js","../node_modules/@dataartdev/uikit/__internal__/src/icons/IconFilter/IconFilter_size_m.js","../node_modules/@dataartdev/uikit/__internal__/src/icons/IconFilter/IconFilter.js"],"sourcesContent":["import './DesktopFilters.scss';\r\nimport React from 'react';\r\nimport { cn } from '../../../common/utils/bem';\r\nimport { Typography } from '@dataartdev/uikit/Typography';\r\nimport { Button } from '@dataartdev/uikit/Button';\r\nimport { RadioGroup } from '@dataartdev/uikit/RadioGroup';\r\nimport { CheckboxGroup } from '@dataartdev/uikit/CheckboxGroup';\r\nimport { Combobox } from '@dataartdev/uikit/Combobox';\r\nimport { IDesctopFilter } from '../pages/blog_page_models';\r\n\r\nexport const cnDesktopFilters = cn('DesktopFilters');\r\n\r\nexport const DesktopFilters: React.FC = ({\r\n modesLabel,\r\n modes,\r\n modeSelected,\r\n modeChange,\r\n // tagsPlaceholder,\r\n tagsPlaceholderSelected,\r\n tags = [],\r\n // moreTags,\r\n // moreTagsButton,\r\n tagsSelected,\r\n tagsChange,\r\n industries = [],\r\n industriesPlaceholder,\r\n industriesSelected,\r\n industriesChange,\r\n industriesPlaceholderSelected,\r\n contentTypePlaceholder,\r\n contentTypes = [],\r\n contentTypesSelected,\r\n contentTypesChange,\r\n // contentTypesPlaceholderSelected,\r\n onResetForm,\r\n clearAllLabel = 'Clear All',\r\n}) => {\r\n return (\r\n
\r\n
\r\n {modesLabel && (\r\n \r\n {modesLabel}\r\n \r\n )}\r\n item.title}\r\n getBadge={item => item.label}\r\n onChange={modeChange}\r\n direction=\"column\"\r\n />\r\n
\r\n
\r\n {industries?.length > 0 && (\r\n item.title}\r\n onChange={industriesChange}\r\n view=\"outline\"\r\n />\r\n )}\r\n {tags?.length > 0 && (\r\n item.title}\r\n view=\"outline\"\r\n />\r\n )}\r\n
\r\n {contentTypes?.length > 0 && (\r\n
\r\n \r\n {contentTypePlaceholder}\r\n \r\n item.title}\r\n getDisabled={item => item.disabled}\r\n onChange={contentTypesChange}\r\n items={contentTypes}\r\n value={contentTypesSelected}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import './BlogPageSearch.scss';\r\nimport React from 'react';\r\nimport { cn } from '../../../common/utils/bem';\r\nimport { Button } from '@dataartdev/uikit/Button';\r\nimport { TextField } from '@dataartdev/uikit/TextField';\r\nimport { IconArrowRight } from '@dataartdev/uikit/IconArrowRight';\r\n\r\nexport const cnBlogPageSearch = cn('BlogPageSearch');\r\n\r\ninterface Props {\r\n placeholder?: string;\r\n nameSelected?: string;\r\n setNameSelected: (value: string) => void;\r\n nameChange: (value: string) => void;\r\n}\r\n\r\nexport const BlogPageSearch: React.FC = ({\r\n placeholder = 'Search',\r\n nameSelected = '',\r\n setNameSelected,\r\n nameChange,\r\n}) => {\r\n const handleSubmit = (e: React.SyntheticEvent) => {\r\n e.preventDefault();\r\n nameChange(nameSelected);\r\n };\r\n\r\n return (\r\n
\r\n setNameSelected(e.value)}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import './SubscriptionForm.scss';\r\n\r\nimport React, { useRef, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { dictionariesSelector, layoutSelector } from '../../../store';\r\nimport { mutationFooterForm } from '../../../network/api/form/mutationFooterForm';\r\nimport { Typography } from '@dataartdev/uikit/Typography';\r\nimport { Button } from '@dataartdev/uikit/Button';\r\nimport { Checkbox } from '@dataartdev/uikit/Checkbox';\r\nimport { TextField } from '@dataartdev/uikit/TextField';\r\nimport { IconArrowRight } from '@dataartdev/uikit/IconArrowRight';\r\nimport * as yup from 'yup';\r\nimport { useFormik } from 'formik';\r\nimport TagManager from 'react-gtm-module';\r\nimport Subscription from '../../../assets/img/subscription.png';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\nimport { recaptchaFormKey, recaptchaKey } from '../../../common/constants';\r\nimport { cn } from '../../../ui/utils/bem';\r\n\r\nconst cnSubscriptionForm = cn('SubscriptionForm');\r\n\r\nexport const SubscriptionForm: React.FC = () => {\r\n const [isSubmited, setIsSubmited] = useState(false);\r\n const { companySiteBlogPost } = useSelector(dictionariesSelector) || {};\r\n const { pageId } = useSelector(layoutSelector);\r\n const {\r\n companySiteBlogPostFormRequiredField = 'This field is required',\r\n companySiteBlogPostFormSubscribeEventSuccessTitle = 'Success!',\r\n companySiteBlogPostFormSubscribeEventSuccessText = \"You've been successfully subscribed to our newsletter. Keep an eye out for our latest insights!\",\r\n companySiteBlogPostFormSubscribeEventTrackingID = 'newsletter_form',\r\n // companySiteBlogPostFormSubscribeEventButton = 'Subscribe',\r\n companySiteBlogPostFormSubscribeEventTitle = 'Subscribe to Our Newsletter',\r\n companySiteBlogPostFormSubscribeEventText = 'Subscribe to our newsletter and never miss an interesting meeting or webinar',\r\n companySiteBlogPostFormSubscribeEventSubscribePolicy = 'I have read and agree to the Privacy Policy',\r\n companySiteBlogPostFormSubscribeEventEmail: {\r\n companySiteBlogPostFormSubscribeEventEmailText = '',\r\n companySiteBlogPostFormSubscribeEventEmailError = '',\r\n } = {},\r\n companySiteBlogPostFormSubscribeEventName,\r\n } =\r\n companySiteBlogPost?.companySiteBlogPostForm\r\n .companySiteBlogPostFormSubscribeEvent || {};\r\n\r\n const validationSchema = yup.object({\r\n name: yup\r\n .string()\r\n .min(3)\r\n .required(companySiteBlogPostFormRequiredField)\r\n .nullable(),\r\n email: yup\r\n .string()\r\n .email(companySiteBlogPostFormSubscribeEventEmailError)\r\n .required(companySiteBlogPostFormRequiredField)\r\n .nullable(),\r\n privacyAgreement: yup\r\n .boolean()\r\n .oneOf([true], 'on')\r\n .required(),\r\n });\r\n\r\n const initialValues = {\r\n name: '',\r\n email: '',\r\n privacyAgreement: false,\r\n };\r\n\r\n const reCaptchaRef = useRef(null);\r\n\r\n const {\r\n handleSubmit,\r\n isSubmitting,\r\n errors,\r\n dirty,\r\n handleBlur,\r\n handleChange,\r\n values,\r\n touched,\r\n } = useFormik({\r\n initialValues,\r\n validationSchema,\r\n onSubmit: async (body, actions) => {\r\n try {\r\n const token = await reCaptchaRef.current?.executeAsync();\r\n await mutationFooterForm({\r\n body: {\r\n ...body,\r\n pageId: pageId,\r\n [`${recaptchaFormKey}`]: token,\r\n },\r\n });\r\n setIsSubmited(true);\r\n actions.resetForm();\r\n TagManager.dataLayer({\r\n dataLayer: {\r\n event: 'newsletter_subscription',\r\n form_name: companySiteBlogPostFormSubscribeEventTrackingID,\r\n },\r\n });\r\n } catch (error) {\r\n error instanceof Error\r\n ? console.error(error.message)\r\n : console.error(error);\r\n }\r\n },\r\n });\r\n\r\n const reCaptchaAvailability =\r\n !!recaptchaKey && process.env.NODE_ENV === 'production';\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {companySiteBlogPostFormSubscribeEventTitle && (\r\n \r\n {companySiteBlogPostFormSubscribeEventTitle}\r\n \r\n )}\r\n {companySiteBlogPostFormSubscribeEventText && (\r\n \r\n {companySiteBlogPostFormSubscribeEventText}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n handleChange(e)}\r\n onBlur={handleBlur}\r\n value={values.name}\r\n required\r\n caption={touched.name && errors.name ? errors.name : undefined}\r\n status={touched.name && !!errors.name ? 'alert' : undefined}\r\n />\r\n handleChange(e)}\r\n onBlur={handleBlur}\r\n value={values.email}\r\n required\r\n caption={touched.email && errors.email ? errors.email : undefined}\r\n status={touched.email && !!errors.email ? 'alert' : undefined}\r\n />\r\n
\r\n
\r\n handleChange(e)}\r\n onBlur={handleBlur}\r\n checked={values.privacyAgreement}\r\n />\r\n \r\n
\r\n {reCaptchaAvailability && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n {companySiteBlogPostFormSubscribeEventSuccessTitle && (\r\n \r\n {companySiteBlogPostFormSubscribeEventSuccessTitle}\r\n \r\n )}\r\n {companySiteBlogPostFormSubscribeEventSuccessText && (\r\n \r\n {companySiteBlogPostFormSubscribeEventSuccessText}\r\n \r\n )}\r\n
\r\n
\r\n \"Success\"\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","import { DataMutationFunction } from 'network/models';\r\nimport { httpClient } from 'network';\r\n\r\nexport const mutationFooterForm: DataMutationFunction = variables => {\r\n const { body } = variables || {};\r\n\r\n return httpClient.post('/blog/submit', body);\r\n};\r\n","import './BlogPageBanner.scss';\r\nimport React from 'react';\r\nimport { cn } from '../../../common/utils/bem';\r\nimport { Button } from '@dataartdev/uikit/Button';\r\nimport { IconArrowRight } from '@dataartdev/uikit/IconArrowRight';\r\nimport { Typography } from '@dataartdev/uikit/Typography';\r\nimport { Picture } from '@dataartdev/uikit/Picture';\r\nimport { Banner } from '../pages/blog_page_models';\r\nimport { prepareButtonAttrs } from '../../../common/utils/prepareButtonAttrs';\r\nimport { GridItem } from '@dataartdev/uikit/Grid';\r\nimport { SubscriptionForm } from './SubscriptionForm';\r\n\r\nexport const cnBlogPageBanner = cn('BlogPageBanner');\r\n\r\nexport const BlogPageBanner: React.FC = props => {\r\n const { picture, text, title, button, isForm, color = '#ffde55' } =\r\n props || {};\r\n const buttonAttr = prepareButtonAttrs(\r\n button?.link,\r\n button?.title,\r\n button?.targetBlank\r\n );\r\n return isForm ? (\r\n \r\n \r\n \r\n ) : (\r\n
\r\n
\r\n {title && (\r\n \r\n {title}\r\n \r\n )}\r\n {text && (\r\n \r\n {text}\r\n \r\n )}\r\n {Object.keys(buttonAttr).length > 0 && (\r\n \r\n )}\r\n
\r\n {picture && (\r\n
\r\n \r\n
\r\n )}\r\n {Object.keys(buttonAttr).length > 0 && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import './BlogPostCard.scss';\r\nimport React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { cn } from '../../../common/utils/bem';\r\nimport { Typography } from '@dataartdev/uikit/Typography';\r\nimport { Picture } from '@dataartdev/uikit/Picture';\r\nimport { Tag } from '@dataartdev/uikit/Tag';\r\nimport { Item } from '../pages/blog_page_models';\r\nimport { User } from '@dataartdev/uikit/User';\r\n\r\nexport const cnBlogPostCard = cn('BlogPostCard');\r\n\r\nexport const BlogPostCard: React.FC = props => {\r\n const { type, url, string, tags, picture, speakers } = props || {};\r\n const generateCardLink = (url: string) => {\r\n if (!url) return;\r\n return url.includes('http') ? (\r\n \r\n ) : (\r\n \r\n );\r\n };\r\n return (\r\n
\r\n {url && generateCardLink(url)}\r\n {picture && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {type && (\r\n \r\n {type?.title}\r\n \r\n )}\r\n
\r\n {string && {string}}\r\n
\r\n {speakers &&\r\n speakers.length > 0 &&\r\n speakers.map((speaker, index) => (\r\n \r\n {speaker.photo && (\r\n \r\n )}\r\n \r\n ))}\r\n
\r\n
\r\n {tags && tags?.length > 0 && (\r\n
\r\n {tags.map(tag => (\r\n \r\n ))}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n","import './BlogPage.scss';\r\n\r\nimport React, { useState, useEffect, useCallback } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport {\r\n useDataQuery,\r\n useDataPagination,\r\n useGTMDataSend,\r\n QueryFilter,\r\n} from 'common/hooks';\r\nimport { queryBlogFeed, queryBlogPage } from 'network';\r\nimport { SiteBlock } from '../../../common/components/SiteBlock/SiteBlock';\r\nimport { Grid, GridItem } from '@dataartdev/uikit/Grid';\r\nimport { Mq } from '@dataartdev/uikit/Mq';\r\nimport { Button } from '@dataartdev/uikit/Button';\r\nimport { Tag } from '@dataartdev/uikit/Tag';\r\nimport { Loader } from '@dataartdev/uikit/Loader';\r\nimport { Typography } from '@dataartdev/uikit/Typography';\r\nimport { IconFilter } from '@dataartdev/uikit/IconFilter';\r\nimport { DesktopFilters } from '../components/DesktopFilters';\r\nimport { useInfiniteScroll } from '@dataartdev/uikit/useInfiniteScroll';\r\nimport { getUrlFilter, RouteParams, updateQueryParams } from 'router';\r\nimport { dictionariesSelector } from 'store';\r\nimport { FilterModal } from 'common/components';\r\nimport { useIntl } from 'react-intl';\r\nimport {\r\n ContentType,\r\n Filter,\r\n Industry,\r\n Item,\r\n Tag as ITag,\r\n} from './blog_page_models';\r\nimport { BlogPageSearch } from '../components/BlogPageSearch';\r\nimport { BlogPageBanner } from '../components/BlogPageBanner';\r\nimport { BlogPostCard } from '../components/BlogPostCard';\r\nimport { cn } from 'ui/utils/bem';\r\n\r\nconst cnBlogPage = cn('BlogPage');\r\n\r\ntype Props = RouteComponentProps;\r\ninterface ModalMethods {\r\n show: () => void;\r\n hide: () => void;\r\n}\r\n\r\nconst BlogPage: React.FC = ({ location, history }) => {\r\n const {\r\n industriesIds,\r\n contentTypes,\r\n tagsIds,\r\n name,\r\n mode = 'latest',\r\n } = getUrlFilter(location);\r\n\r\n const [contentItems, setContentItems] = useState([]);\r\n const [contentDefaultItems, setContentDefaultItems] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const { companySiteBlog } = useSelector(dictionariesSelector) || {};\r\n const {\r\n companySiteBlogIndustriesFilter,\r\n companySiteBlogTagsFilter,\r\n companySiteBlogContentTypesFilter,\r\n companySiteBlogInsightsTitle,\r\n companySiteBlogChosenTags,\r\n companySiteBlogChosenIndustries,\r\n companySiteBlogInsights: {\r\n companySiteBlogInsightsSearchLabel = 'Search',\r\n companySiteBlogInsightsModeLabel = 'Mode',\r\n companySiteBlogInsightsClearAll = 'Clear all',\r\n } = {},\r\n companySiteBlogNotFound: {\r\n companySiteBlogNotFoundTitle = \"Oh no! We couldn't find anything.\",\r\n companySiteBlogNotFoundText = \"Try trending editor's picks:\",\r\n } = {},\r\n } = companySiteBlog || {};\r\n\r\n const { locale } = useIntl();\r\n\r\n const {\r\n data,\r\n loading: loadingInitial,\r\n updateFilter,\r\n filter: filterData,\r\n } = useDataQuery(\r\n queryBlogPage,\r\n {\r\n locale,\r\n filter: {\r\n industriesIds: industriesIds,\r\n tagsIds: tagsIds,\r\n contentTypes: contentTypes,\r\n mode: mode,\r\n name: name,\r\n },\r\n },\r\n {\r\n skip: currentPage > 1,\r\n }\r\n );\r\n\r\n const {\r\n shortTags,\r\n industries: filterIndustries = [],\r\n tags: filterTags = [],\r\n contentTypes: filterContentTypes = [],\r\n filters: modes = [],\r\n pagesTotal = 1,\r\n items = [],\r\n defaultItems = [],\r\n banners,\r\n metaTitle,\r\n } = data || {};\r\n\r\n const [industriesSelected, setIndustriesSelected] = useState([]);\r\n const [tagsSelected, setTagsSelected] = useState([]);\r\n const [contentTypeSelected, setContentTypeSelected] = useState(\r\n []\r\n );\r\n const [modeSelected, setModesSelected] = useState();\r\n const [nameSelected, setNameSelected] = useState(name);\r\n const [infinityRefVisible, setInfinityRefVisible] = useState(false);\r\n\r\n const {\r\n pagination,\r\n updateFilter: updateFilterFeed,\r\n updatePagination,\r\n data: dataFeed,\r\n loading: loadingFeed,\r\n error,\r\n filter: filterCards,\r\n } = useDataPagination(\r\n queryBlogFeed,\r\n {\r\n locale,\r\n filter: {\r\n industriesIds: industriesIds,\r\n tagsIds: tagsIds,\r\n contentTypes: contentTypes,\r\n mode: mode,\r\n name: name,\r\n },\r\n },\r\n {\r\n skip: currentPage < 2,\r\n }\r\n );\r\n const changeFilter = useCallback(\r\n (filter: QueryFilter) => {\r\n if (filter.mode === 'data-and-analytics') {\r\n filter.tagsIds = ['244'];\r\n }\r\n setCurrentPage(1);\r\n setInfinityRefVisible(false);\r\n setContentItems([]);\r\n setContentDefaultItems([]);\r\n updateFilter(filter);\r\n updateFilterFeed(filter);\r\n },\r\n [setInfinityRefVisible, updateFilter, updateFilterFeed, setContentItems]\r\n );\r\n\r\n useEffect(() => {\r\n if (items?.length > 0) {\r\n setContentItems(items);\r\n setInfinityRefVisible(true);\r\n } else if (defaultItems?.length > 0) {\r\n setContentDefaultItems(defaultItems);\r\n }\r\n }, [items]);\r\n\r\n useEffect(() => {\r\n if (dataFeed) {\r\n setContentItems(prev => [...prev, ...dataFeed.items]);\r\n setInfinityRefVisible(true);\r\n }\r\n }, [dataFeed]);\r\n\r\n useEffect(() => {\r\n setCurrentPage(pagination.page);\r\n }, [pagination]);\r\n\r\n // MODE FILTER\r\n useEffect(() => {\r\n setModesSelected(modes?.find(item => mode == item?.id));\r\n }, [history, modes]);\r\n\r\n // INDUSTRIES FILTER\r\n useEffect(() => {\r\n if (industriesIds) {\r\n const industriesIdsArray = Array.isArray(industriesIds)\r\n ? industriesIds\r\n : [industriesIds];\r\n setIndustriesSelected(\r\n filterIndustries?.filter(item =>\r\n industriesIdsArray?.some(i => item.id.toString() === i)\r\n )\r\n );\r\n }\r\n }, [history, filterIndustries]);\r\n\r\n // TAGS FILTER\r\n useEffect(() => {\r\n if (tagsIds) {\r\n const tagIdsArray = Array.isArray(tagsIds) ? tagsIds : [tagsIds];\r\n\r\n setTagsSelected(\r\n filterTags?.filter(item =>\r\n tagIdsArray.some(i => item.id.toString() === i)\r\n )\r\n );\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [filterTags, history]);\r\n\r\n // CONTENT_TYPE FILTER\r\n useEffect(() => {\r\n if (contentTypes) {\r\n const contentTypesParams = Array.isArray(contentTypes)\r\n ? contentTypes\r\n : [contentTypes];\r\n\r\n setContentTypeSelected(\r\n filterContentTypes?.filter(item =>\r\n contentTypesParams.some(i => item.id.toString() === i)\r\n )\r\n );\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [filterContentTypes, history]);\r\n\r\n useEffect(() => {\r\n const { industriesIds, tagsIds, contentTypes, mode, name } =\r\n currentPage > 2 ? filterCards : filterData;\r\n\r\n updateQueryParams(history, {\r\n industriesIds,\r\n tagsIds,\r\n contentTypes,\r\n mode,\r\n name,\r\n });\r\n }, [filterCards, history, filterData]);\r\n\r\n const [sentryRef] = useInfiniteScroll({\r\n loading: loadingFeed,\r\n hasNextPage: pagination?.page < pagesTotal,\r\n onLoadMore: () => {\r\n updatePagination({ page: pagination.page + 1 });\r\n },\r\n disabled: !!error,\r\n });\r\n\r\n const filterModalRef = React.useRef(null);\r\n\r\n const resetForm = () => {\r\n setTagsSelected([]);\r\n setContentTypeSelected([]);\r\n setIndustriesSelected([]);\r\n setModesSelected(modes[1]);\r\n setNameSelected('');\r\n changeFilter({\r\n industriesIds: '',\r\n tagsIds: '',\r\n contentTypes: '',\r\n name: '',\r\n mode: 'latest',\r\n });\r\n if (filterModalRef.current) {\r\n hideModalFilter();\r\n }\r\n };\r\n\r\n const submitModalForm = () => {\r\n hideModalFilter();\r\n changeFilter({\r\n industriesIds: industriesSelected?.map(item => item.id.toString()),\r\n tagsIds: tagsSelected?.map(item => item.id.toString()),\r\n contentTypes: contentTypeSelected?.map(item => item.id.toString()),\r\n mode: modeSelected?.id,\r\n });\r\n };\r\n\r\n const showModalFilter = () => {\r\n if (filterModalRef.current) {\r\n filterModalRef.current.show();\r\n }\r\n };\r\n\r\n const hideModalFilter = () => {\r\n if (filterModalRef.current) {\r\n filterModalRef.current.hide();\r\n }\r\n };\r\n\r\n useGTMDataSend(metaTitle);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {companySiteBlogInsightsTitle}\r\n \r\n \r\n 0 ||\r\n industriesSelected?.length > 0 ||\r\n contentTypeSelected?.length > 0\r\n }\r\n onClick={showModalFilter}\r\n className={cnBlogPage('Filters-Mobile-Button')}\r\n />\r\n {\r\n setModesSelected(value);\r\n },\r\n }}\r\n industries={{\r\n title: companySiteBlogIndustriesFilter,\r\n contentItems: filterIndustries,\r\n onChange: ({ value }) => {\r\n setIndustriesSelected(value);\r\n },\r\n value: industriesSelected,\r\n }}\r\n tags={{\r\n title: companySiteBlogTagsFilter,\r\n contentItems: filterTags,\r\n onChange: ({ value }) => {\r\n setTagsSelected(value);\r\n },\r\n value: tagsSelected,\r\n }}\r\n contentTypes={{\r\n title: companySiteBlogContentTypesFilter,\r\n contentItems: filterContentTypes,\r\n onChange: ({ value }) => {\r\n setContentTypeSelected(value);\r\n },\r\n value: contentTypeSelected,\r\n }}\r\n />\r\n \r\n
\r\n
\r\n {\r\n changeFilter({\r\n name: value,\r\n });\r\n }}\r\n />\r\n
\r\n \r\n
\r\n {(tagsSelected?.length > 0 ||\r\n industriesSelected?.length > 0 ||\r\n contentTypeSelected?.length > 0) && (\r\n
\r\n \r\n Search results for:\r\n \r\n
\r\n {tagsSelected?.length > 0 &&\r\n tagsSelected.map(item => (\r\n
\r\n {\r\n const actualArray = tagsSelected.filter(\r\n w => w.id !== item.id\r\n );\r\n setTagsSelected(actualArray);\r\n changeFilter({\r\n tagsIds: actualArray?.map(item =>\r\n item.id.toString()\r\n ),\r\n });\r\n }}\r\n label={item.title}\r\n mode=\"cancel\"\r\n />\r\n
\r\n ))}\r\n\r\n {industriesSelected?.length > 0 &&\r\n industriesSelected.map(item => (\r\n
\r\n {\r\n const actualArray = industriesSelected.filter(\r\n w => w.id !== item.id\r\n );\r\n setIndustriesSelected(actualArray);\r\n changeFilter({\r\n industriesIds: actualArray?.map(item =>\r\n item.id.toString()\r\n ),\r\n });\r\n }}\r\n label={item.title}\r\n mode=\"cancel\"\r\n />\r\n
\r\n ))}\r\n\r\n {contentTypeSelected?.length > 0 &&\r\n contentTypeSelected.map(item => (\r\n
\r\n {\r\n const actualArray = contentTypeSelected.filter(\r\n w => w.id !== item.id\r\n );\r\n setContentTypeSelected(actualArray);\r\n changeFilter({\r\n contentTypes: actualArray?.map(item =>\r\n item.id.toString()\r\n ),\r\n });\r\n }}\r\n label={item.title}\r\n mode=\"cancel\"\r\n />\r\n
\r\n ))}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {data && (\r\n {\r\n setModesSelected(value);\r\n changeFilter({\r\n mode: value.id,\r\n });\r\n }}\r\n industries={filterIndustries}\r\n industriesSelected={industriesSelected}\r\n industriesPlaceholder={companySiteBlogIndustriesFilter}\r\n industriesPlaceholderSelected={\r\n companySiteBlogChosenIndustries\r\n }\r\n industriesChange={({ value }) => {\r\n setIndustriesSelected(value);\r\n changeFilter({\r\n industriesIds: value?.map(item => item.id.toString()),\r\n });\r\n }}\r\n // moreTags={filterTags}\r\n contentTypes={filterContentTypes}\r\n contentTypePlaceholder={companySiteBlogContentTypesFilter}\r\n contentTypesPlaceholderSelected={'chosen content types'}\r\n contentTypesSelected={contentTypeSelected}\r\n contentTypesChange={({ value }) => {\r\n setContentTypeSelected(value);\r\n changeFilter({\r\n contentTypes: value?.map(item => item.id.toString()),\r\n });\r\n }}\r\n tags={shortTags}\r\n moreTags={filterTags}\r\n moreTagsButton={'see all'}\r\n tagsPlaceholder={companySiteBlogTagsFilter}\r\n tagsPlaceholderSelected={companySiteBlogChosenTags}\r\n tagsSelected={tagsSelected}\r\n tagsChange={({ value }) => {\r\n setTagsSelected(value);\r\n changeFilter({\r\n tagsIds: value?.map(item => item.id.toString()),\r\n });\r\n }}\r\n onResetForm={resetForm}\r\n clearAllLabel={companySiteBlogInsightsClearAll}\r\n />\r\n )}\r\n \r\n \r\n \r\n {contentItems?.length === 0 && !loadingInitial && (\r\n
\r\n \r\n {companySiteBlogNotFoundTitle}{' '}\r\n {companySiteBlogNotFoundText}\r\n \r\n
\r\n )}\r\n \r\n {loadingInitial && (\r\n \r\n \r\n \r\n )}\r\n {contentItems || contentDefaultItems\r\n ? (() => {\r\n const itemsArray =\r\n contentItems.length > 0\r\n ? contentItems\r\n : contentDefaultItems;\r\n const filteredItems = itemsArray.filter(\r\n post => Object.values(post).filter(Boolean).length > 1\r\n );\r\n const itemsToRender: React.ReactNode[] = [];\r\n let bannerIndex = 0;\r\n\r\n filteredItems.forEach((post, index) => {\r\n itemsToRender.push(\r\n \r\n \r\n \r\n );\r\n\r\n if (\r\n (index + 1) % 6 === 0 &&\r\n banners &&\r\n bannerIndex < banners.length\r\n ) {\r\n itemsToRender.push(\r\n \r\n \r\n \r\n );\r\n bannerIndex = (bannerIndex + 1) % banners.length;\r\n }\r\n });\r\n return itemsToRender;\r\n })()\r\n : null}\r\n \r\n {loadingFeed && (\r\n \r\n \r\n \r\n )}\r\n {infinityRefVisible && pagesTotal > currentPage && (\r\n
\r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default BlogPage;\r\n","import { useState, useCallback, useEffect, useRef } from 'react';\r\n\r\nconst DEFAULT_ROOT_MARGIN = '0px';\r\nconst DEFAULT_THRESHOLD = [0];\r\n\r\n// eslint-disable-next-line no-undef\r\nexport type IntersectionObserverHookArgs = IntersectionObserverInit;\r\n\r\nexport type IntersectionObserverHookRefCallbackNode = Element | null;\r\n\r\nexport type IntersectionObserverHookRefCallback = (\r\n node: IntersectionObserverHookRefCallbackNode,\r\n) => void;\r\n\r\nexport type IntersectionObserverHookRootRefCallbackNode = IntersectionObserverHookArgs['root'];\r\n\r\nexport type IntersectionObserverHookRootRefCallback = (\r\n node: IntersectionObserverHookRootRefCallbackNode,\r\n) => void;\r\n\r\nexport type IntersectionObserverHookResult = [\r\n IntersectionObserverHookRefCallback,\r\n {\r\n entry: IntersectionObserverEntry | undefined;\r\n rootRef: IntersectionObserverHookRootRefCallback;\r\n },\r\n];\r\n\r\n// For more info:\r\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\r\n// https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\r\nfunction useIntersectionObserver(\r\n args?: IntersectionObserverHookArgs,\r\n): IntersectionObserverHookResult {\r\n const rootMargin = args?.rootMargin ?? DEFAULT_ROOT_MARGIN;\r\n const threshold = args?.threshold ?? DEFAULT_THRESHOLD;\r\n\r\n const nodeRef = useRef(null);\r\n const rootRef = useRef(null);\r\n const observerRef = useRef(null);\r\n\r\n const [entry, setEntry] = useState();\r\n\r\n const unobserve = useCallback(() => {\r\n // Disconnect the current observer (if there is one)\r\n const currentObserver = observerRef.current;\r\n currentObserver?.disconnect();\r\n observerRef.current = null;\r\n }, []);\r\n\r\n useEffect(() => {\r\n return () => {\r\n // We disconnect the observer on unmount to prevent memory leaks etc.\r\n unobserve();\r\n };\r\n }, [unobserve]);\r\n\r\n const observe = useCallback(() => {\r\n const node = nodeRef.current;\r\n if (node) {\r\n const root = rootRef.current;\r\n const options = { root, rootMargin, threshold };\r\n // Create a observer for current \"node\" with given options.\r\n const observer = new IntersectionObserver(([newEntry]) => {\r\n setEntry(newEntry);\r\n }, options);\r\n observer.observe(node);\r\n observerRef.current = observer;\r\n }\r\n }, [rootMargin, threshold]);\r\n\r\n const initializeObserver = useCallback(() => {\r\n unobserve();\r\n observe();\r\n }, [observe, unobserve]);\r\n\r\n const refCallback = useCallback(\r\n (node) => {\r\n nodeRef.current = node;\r\n initializeObserver();\r\n },\r\n [initializeObserver],\r\n );\r\n\r\n const rootRefCallback = useCallback(\r\n (rootNode) => {\r\n rootRef.current = rootNode;\r\n initializeObserver();\r\n },\r\n [initializeObserver],\r\n );\r\n\r\n return [refCallback, { entry, rootRef: rootRefCallback }];\r\n}\r\n\r\nexport default useIntersectionObserver;\r\n","import { useEffect, useState } from 'react';\r\nimport useIntersectionObserver, {\r\n IntersectionObserverHookArgs,\r\n IntersectionObserverHookResult,\r\n} from './useIntersectionObserver';\r\n\r\nexport type TrackVisibilityHookArgs = IntersectionObserverHookArgs;\r\n\r\nexport type TrackVisibilityHookResult = [\r\n IntersectionObserverHookResult[0],\r\n IntersectionObserverHookResult[1] & {\r\n isVisible: boolean;\r\n wasEverVisible: boolean;\r\n },\r\n];\r\n\r\nfunction useTrackVisibility(\r\n args?: IntersectionObserverHookArgs,\r\n): TrackVisibilityHookResult {\r\n const [ref, result] = useIntersectionObserver(args);\r\n const isVisible = Boolean(result.entry?.isIntersecting);\r\n const [wasEverVisible, setWasEverVisible] = useState(isVisible);\r\n\r\n useEffect(() => {\r\n if (isVisible) {\r\n setWasEverVisible(isVisible);\r\n }\r\n }, [isVisible]);\r\n\r\n return [ref, { ...result, isVisible, wasEverVisible }];\r\n}\r\n\r\nexport default useTrackVisibility;\r\n","import { __read } from \"tslib\";\nimport { useEffect } from 'react';\nimport { useTrackVisibility, } from 'react-intersection-observer-hook';\nvar DEFAULT_DELAY_IN_MS = 100;\nexport var useInfiniteScroll = function (_a) {\n var loading = _a.loading, hasNextPage = _a.hasNextPage, onLoadMore = _a.onLoadMore, rootMargin = _a.rootMargin, disabled = _a.disabled, _b = _a.delayInMs, delayInMs = _b === void 0 ? DEFAULT_DELAY_IN_MS : _b;\n var _c = __read(useTrackVisibility({\n rootMargin: rootMargin\n }), 2), ref = _c[0], _d = _c[1], rootRef = _d.rootRef, isVisible = _d.isVisible;\n var shouldLoadMore = !disabled && !loading && isVisible && hasNextPage;\n // eslint-disable-next-line consistent-return\n useEffect(function () {\n if (shouldLoadMore) {\n // When we trigger 'onLoadMore' and new items are added to the list,\n // right before they become rendered on the screen, 'loading' becomes false\n // and 'isVisible' can be true for a brief time, based on the scroll position.\n // So, it triggers 'onLoadMore' just after the first one is finished.\n // We use a small delay here to prevent this kind of situations.\n // It can be configured by hook args.\n var timer_1 = setTimeout(function () {\n onLoadMore();\n }, delayInMs);\n return function () {\n clearTimeout(timer_1);\n };\n }\n }, [onLoadMore, shouldLoadMore, delayInMs]);\n return [ref, { rootRef: rootRef }];\n};\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nfunction IconFilterSizeM(props) {\n return (React.createElement(\"svg\", __assign({ viewBox: \"0 0 24 24\" }, props),\n React.createElement(\"path\", { d: \"M12 16C13.3063 16 14.4175 16.8349 14.8293 18.0001L21 18C21.5523 18 22 18.4477 22 19C22 19.5523 21.5523 20 21 20L14.829 20.0009C14.4169 21.1656 13.3059 22 12 22C10.6941 22 9.58311 21.1656 9.17102 20.0009L3 20C2.44772 20 2 19.5523 2 19C2 18.4477 2.44772 18 3 18L9.17067 18.0001C9.58249 16.8349 10.6937 16 12 16ZM12 18C11.4477 18 11 18.4477 11 19C11 19.5523 11.4477 20 12 20C12.5523 20 13 19.5523 13 19C13 18.4477 12.5523 18 12 18ZM19 9C20.6569 9 22 10.3431 22 12C22 13.6569 20.6569 15 19 15C17.6941 15 16.5831 14.1656 16.171 13.0009L3 13C2.44772 13 2 12.5523 2 12C2 11.4477 2.44772 11 3 11L16.1707 11.0001C16.5825 9.83485 17.6937 9 19 9ZM19 11C18.4477 11 18 11.4477 18 12C18 12.5523 18.4477 13 19 13C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11ZM5 2C6.3118 2 7.42695 2.84196 7.83453 4.01495C7.88799 4.00469 7.94344 4 8 4H21C21.5523 4 22 4.44772 22 5C22 5.55228 21.5523 6 21 6H8C7.94344 6 7.88799 5.9953 7.83399 5.98628C7.42695 7.15804 6.3118 8 5 8C3.34315 8 2 6.65685 2 5C2 3.34315 3.34315 2 5 2ZM5 4C4.44772 4 4 4.44772 4 5C4 5.55228 4.44772 6 5 6C5.55228 6 6 5.55228 6 5C6 4.44772 5.55228 4 5 4Z\" })));\n}\nexport default IconFilterSizeM;\n","import { createIcon } from '../createIcon/createIcon';\nimport IconFilterSizeM from './IconFilter_size_m';\nexport var IconFilter = createIcon({\n m: IconFilterSizeM,\n s: IconFilterSizeM,\n xs: IconFilterSizeM,\n name: 'IconFilter'\n});\n"],"names":["cnDesktopFilters","cn","DesktopFilters","_ref","modesLabel","modes","modeSelected","modeChange","tagsPlaceholderSelected","tags","tagsSelected","tagsChange","industries","industriesPlaceholder","industriesSelected","industriesChange","industriesPlaceholderSelected","contentTypePlaceholder","contentTypes","contentTypesSelected","contentTypesChange","onResetForm","clearAllLabel","_jsxs","className","children","_jsx","Typography","Text","size","weight","transform","as","RadioGroup","value","items","getLabel","item","title","getBadge","label","onChange","direction","length","Combobox","multiple","dropdownClassName","groupValues","placeholder","placeholderSelected","getItemLabel","view","CheckboxGroup","getDisabled","disabled","Button","onClick","cnBlogPageSearch","BlogPageSearch","nameSelected","setNameSelected","nameChange","onSubmit","e","preventDefault","TextField","name","width","autoComplete","autoFocus","iconRight","IconArrowRight","type","cnSubscriptionForm","SubscriptionForm","isSubmited","setIsSubmited","useState","companySiteBlogPost","useSelector","dictionariesSelector","pageId","layoutSelector","companySiteBlogPostFormRequiredField","companySiteBlogPostFormSubscribeEventSuccessTitle","companySiteBlogPostFormSubscribeEventSuccessText","companySiteBlogPostFormSubscribeEventTrackingID","companySiteBlogPostFormSubscribeEventTitle","companySiteBlogPostFormSubscribeEventText","companySiteBlogPostFormSubscribeEventSubscribePolicy","companySiteBlogPostFormSubscribeEventEmail","companySiteBlogPostFormSubscribeEventEmailText","companySiteBlogPostFormSubscribeEventEmailError","companySiteBlogPostFormSubscribeEventName","companySiteBlogPostForm","companySiteBlogPostFormSubscribeEvent","validationSchema","yup","min","required","nullable","email","privacyAgreement","oneOf","reCaptchaRef","useRef","handleSubmit","isSubmitting","errors","dirty","handleBlur","handleChange","values","touched","useFormik","initialValues","async","body","actions","_reCaptchaRef$current","token","current","executeAsync","variables","httpClient","post","mutationFooterForm","concat","recaptchaFormKey","resetForm","TagManager","dataLayer","event","form_name","error","Error","console","message","reCaptchaAvailability","recaptchaKey","process","isSuccess","Title","onBlur","caption","undefined","status","_ref2","Checkbox","_ref3","checked","id","Object","keys","ReCAPTCHA","ref","sitekey","src","Subscription","alt","cnBlogPageBanner","BlogPageBanner","props","picture","text","button","isForm","color","buttonAttr","prepareButtonAttrs","link","targetBlank","GridItem","breakpoints","desktop","col","tablet","mobile","style","backgroundColor","icon","Picture","cnBlogPostCard","BlogPostCard","url","string","speakers","includes","href","Link","to","generateCardLink","map","speaker","index","_speaker$photo","_speaker$photo2","React","photo","User","avatarUrl","urlWebp","zIndex","firstName","lastName","tag","Tag","mode","cnBlogPage","location","history","industriesIds","tagsIds","getUrlFilter","contentItems","setContentItems","contentDefaultItems","setContentDefaultItems","currentPage","setCurrentPage","companySiteBlog","companySiteBlogIndustriesFilter","companySiteBlogTagsFilter","companySiteBlogContentTypesFilter","companySiteBlogInsightsTitle","companySiteBlogChosenTags","companySiteBlogChosenIndustries","companySiteBlogInsights","companySiteBlogInsightsSearchLabel","companySiteBlogInsightsModeLabel","companySiteBlogInsightsClearAll","companySiteBlogNotFound","companySiteBlogNotFoundTitle","companySiteBlogNotFoundText","locale","useIntl","data","loading","loadingInitial","updateFilter","filter","filterData","useDataQuery","queryBlogPage","skip","shortTags","filterIndustries","filterTags","filterContentTypes","filters","pagesTotal","defaultItems","banners","metaTitle","setIndustriesSelected","setTagsSelected","contentTypeSelected","setContentTypeSelected","setModesSelected","infinityRefVisible","setInfinityRefVisible","pagination","updateFilterFeed","updatePagination","dataFeed","loadingFeed","filterCards","useDataPagination","queryBlogFeed","changeFilter","useCallback","useEffect","prev","page","find","industriesIdsArray","Array","isArray","some","i","toString","tagIdsArray","contentTypesParams","updateQueryParams","sentryRef","useInfiniteScroll","hasNextPage","onLoadMore","filterModalRef","hideModalFilter","hide","useGTMDataSend","_Fragment","Grid","cols","gap","Mq","query","IconFilter","active","showModalFilter","show","FilterModal","onSubmitForm","submitModalForm","_ref4","_ref5","onCancel","actualArray","w","_ref6","_ref7","contentTypesPlaceholderSelected","_ref8","moreTags","moreTagsButton","tagsPlaceholder","_ref9","Loader","filteredItems","Boolean","itemsToRender","bannerIndex","forEach","push","SiteBlock","topGap","DEFAULT_ROOT_MARGIN","DEFAULT_THRESHOLD","useTrackVisibility","args","rootMargin","_args$rootMargin","threshold","_args$threshold","nodeRef","rootRef","observerRef","entry","_useState","setEntry","unobserve","currentObserver","disconnect","observe","node","root","observer","IntersectionObserver","newEntry","initializeObserver","rootNode","useIntersectionObserver","_useIntersectionObser","result","isVisible","_result$entry","isIntersecting","wasEverVisible","setWasEverVisible","_extends","_a","_b","delayInMs","_c","__read","_d","shouldLoadMore","timer_1","setTimeout","clearTimeout","__assign","viewBox","d","createIcon","m","IconFilterSizeM","s","xs"],"sourceRoot":""}