{"version":3,"file":"js/38822-fa63d60aaf7a6d9b2734.js","mappings":";8PAEO,MAAMA,EAAkBC,EAAAA,GAAOC,IAAGC,IAAAA,EAAAC,EAAA,2DACnB,SAAAC,GAAK,OAAIA,EAAMC,MAAMC,OAAOC,KAAK,IAI1CC,EAAoBR,EAAAA,GAAOC,IAAGQ,IAAAA,EAAAN,EAAA,2GACrB,SAAAC,GAAK,OAAIA,EAAMC,MAAMC,OAAOI,MAAM,IAO3CC,EAAmBX,EAAAA,GAAOC,IAAGW,IAAAA,EAAAT,EAAA,2FAO7BU,EAAmBb,EAAAA,GAAOC,IAAGa,IAAAA,EAAAX,EAAA,kFAC/B,SAAAC,GAAK,OAAIA,EAAMC,MAAMU,OAAOC,OAAO,IAOjCC,EAAiBjB,EAAAA,GAAOkB,EAACC,IAAAA,EAAAhB,EAAA,2EC5BtC,0BAAMiB,GAAyBC,EAAAA,EAAAA,IAAGnB,MAAA,6WAAAA,0MCC3B,IAAMoB,EAAUtB,EAAAA,GAAOC,IAAGC,IAAAA,EAAAC,EAAA,+CAKpBoB,EAAUvB,EAAAA,GAAOC,IAAGQ,IAAAA,EAAAN,EAAA,mLAEX,SAAAC,GAAK,OAAIA,EAAMC,MAAMC,OAAOC,KAAK,IAC1B,SAAAH,GAAK,OAAIA,EAAMC,MAAMC,OAAOkB,OAAO,IAKvD,SAAApB,GAAK,OAAIA,EAAMqB,OAAO,IAIlBC,EAAU1B,EAAAA,GAAOC,IAAGW,IAAAA,EAAAT,EAAA,6FAExB,SAAAC,GAAK,OAAIA,EAAMuB,IAAI,IAKtBC,EAAe,SAAHC,GAAsC,IAAhCxB,EAAKwB,EAALxB,MAAOyB,EAAKD,EAALC,MAAOC,EAAUF,EAAVE,WACpC,OAAQD,GACR,IAAK,WACH,OAAOE,EAAAA,EAAAA,IAAGlB,IAAAA,EAAAX,EAAA,qGACCE,EAAMC,OAAO2B,QAIX5B,EAAMC,OAAO2B,SAG5B,IAAK,SACH,OAAOD,EAAAA,EAAAA,IAAGb,IAAAA,EAAAhB,EAAA,yIACCE,EAAMC,OAAO4B,SAGX7B,EAAMC,OAAO4B,SAIF7B,EAAMC,OAAO6B,SAIvC,QACE,OAAOH,EAAAA,EAAAA,IAAGI,IAAAA,EAAAjC,EAAA,sJACCE,EAAMC,OAAO+B,gBAGXhC,EAAMC,OAAOgC,aAGtBP,IAAcC,EAAAA,EAAAA,IAAGO,IAAAA,EAAApC,EAAA,4EAEGE,EAAMC,OAAOkB,SAIbnB,EAAMC,OAAO6B,SAIzC,EAEaK,EAAOxC,EAAAA,GAAOC,IAAGwC,IAAAA,EAAAtC,EAAA,wVAchB,SAAAC,GAAK,OAAIA,EAAMsC,UAAY,MAAQ,MAAM,IAMnD,SAAAtC,GAAK,OAAIwB,EAAaxB,EAAM,IAkCnBuC,GAAW3C,EAAAA,EAAAA,IAAOwC,GAAMI,MAAM,CAAEC,GAAIC,EAAAA,IAAzB9C,CAAgC+C,IAAAA,EAAA5C,EAAA,iBACpD,SAAAC,GAAK,OAAIwB,EAAaxB,EAAM,0BC9HhC,SACE4C,GAAI,CACFC,oCAAqC,CACnCC,SAAU,WACVC,SAAU,WACVC,UAAW,YACXC,OAAQ,SACRC,UAAW,cACXC,WAAY,cACZC,iBAAkB,sBAClBC,YAAa,iBAIjBC,GAAI,CACFT,oCAAqC,CACnCC,SAAU,uFACVC,SAAU,uCACVC,UAAW,yDACXC,OAAQ,uCACRC,UAAW,6CACXC,WAAY,qEACZC,iBAAkB,iCAClBC,YAAa,4CC2DnB,QArC4C,SAAHE,GAA0B,IAApBC,EAAID,EAAJC,KAAMC,EAAMF,EAANE,QACnDC,EAAAA,EAAAA,IAAe,CAAEC,YAAaC,IAE9B,IAAAC,GAA4CC,EAAAA,EAAAA,MAApCC,EAAWF,EAAXE,YAAaC,EAAkBH,EAAlBG,mBACrBC,GAAgCC,EAAAA,EAAAA,MAAxBC,EAAGF,EAAHE,IAAKC,EAAMH,EAANG,OAAQC,EAAMJ,EAANI,OAEfC,GAAYF,EAMlB,OACEG,EAAAA,cAACC,EAAAA,SAAQ,KAEPD,EAAAA,cAACE,EAAc,CAACN,IAAKA,IAErBI,EAAAA,cAACE,EAAc,CAACpD,QAASgD,GACvBE,EAAAA,cAACE,EAAc,CAAClD,KAAK,QACnBgD,EAAAA,cAACE,EAAc,CAAClD,KAAK,KArDR,SAACwC,EAAaC,EAAoBM,GACvD,OAAOI,EAAAA,EAASC,KAAI,SAAAlD,GAA0B,IAAvBmD,EAAGnD,EAAHmD,IAAKC,EAAIpD,EAAJoD,KAAMC,EAAIrD,EAAJqD,KAChC,OACEP,EAAAA,cAACE,EAAW,CACVG,IAAKA,EACLG,QAAS,kBAAMf,EAAmBY,EAAI,EACtCtC,UAAWgC,EACX5C,MAAOqC,EAAYa,IAClBC,EACDN,EAAAA,cAAA,WAAMS,EAAAA,GAAKC,EAAEH,IAGnB,GACF,CAyCaI,CAAenB,GAZK,SAAAa,GAC7BZ,EAAmBY,EAAKP,EAC1B,GAU+DC,IAGvDC,EAAAA,cAACE,EAAc,CAAClD,KAAK,OA1CX,SAACiC,EAAMC,EAAQa,GACjC,OAAOa,EAAAA,EAAMR,KAAI,SAAAS,EAA8DC,GAAW,IAAtER,EAAIO,EAAJP,KAAIS,EAAAF,EAAEG,QAAAA,OAAO,IAAAD,EAAG,WAAO,EAACA,EAAEE,EAAIJ,EAAJI,KAAMV,EAAIM,EAAJN,KAAMW,EAAML,EAANK,OAAQC,EAASN,EAATM,UAChE,OACEnB,EAAAA,cAACE,EAAe,CACdG,IAAKS,EACLM,KAAMH,EAAKR,EAAAA,GAAKY,OAAQpC,GACxBlB,UAAWgC,EACX5C,MAAO6D,EAAQ9B,GACf9B,WAAY+D,EACZG,OAAQJ,EAAS,SAAW,QAC5BK,IAAKL,EAAS,sBAAwB,IAErCZ,EACDN,EAAAA,cAAA,WAAMS,EAAAA,GAAKC,EAAEH,IAGnB,GACF,CA0BaiB,CAAYvC,EAAMC,EAAQa,MAMvC,gHC3DM0B,GAAuB,CAC3BC,OAAO,aAADC,OAAejG,GAAAA,EAAMC,OAAO2B,SAClCsE,aAAc,OACdC,QAAS,QAGEC,GAAwC,SAAH5E,GAA6C,IAAvC+B,EAAI/B,EAAJ+B,KAAM8C,EAAe7E,EAAf6E,gBAAiBC,EAAQ9E,EAAR8E,SAC7EC,EJEqC,SAAChD,GACtC,OAAOiD,EAAAA,EAAAA,IAASzF,EAAwB,CAAE0F,UAAW,CAAElD,KAAAA,IACzD,CIJmCmD,CAAwBnD,GAAjDoD,EAAOJ,EAAPI,QAASC,EAAIL,EAAJK,KAAMC,EAAKN,EAALM,MACjBC,EAAiB,OAAJF,QAAI,IAAJA,OAAI,EAAJA,EAAMG,gBAEzB,OACEzC,EAAAA,cAACE,EAAsB,KACrBF,EAAAA,cAAC0C,EAAgC,CAACzD,KAAMA,EAAMC,OAAQsD,IACtDxC,EAAAA,cAACE,EAAuB,KACtBF,EAAAA,cAAC2C,GAA2C,CAC1CZ,gBAAiBA,EACjBM,QAASA,EACTI,gBAAiBD,EACjBD,MAAOA,EACPP,SAAUA,KAKpB,EAUaW,GAA8C,SAAH9B,GAAwE,IAAlEkB,EAAelB,EAAfkB,gBAAiBM,EAAOxB,EAAPwB,QAASI,EAAe5B,EAAf4B,gBAAiBF,EAAK1B,EAAL0B,MAAOP,EAAQnB,EAARmB,SAC9GhD,EAAkCyD,GAAmB,CAAC,EAA9CG,EAAE5D,EAAF4D,GAAIC,EAAI7D,EAAJ6D,KAAMC,EAAW9D,EAAX8D,YAElB,OAAIT,GACAE,EADgBvC,EAAAA,cAACE,EAAqB,CAAC6C,UAAU,2BAInD/C,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACE,EAAuB,KACtBF,EAAAA,cAACgD,EAAAA,EAAQ,CACP/D,KAAM2D,EACNb,gBAAiBA,EACjB7C,OAAQuD,EACRJ,QAASA,EACTL,SAAUA,KAGdhC,EAAAA,cAACE,EAAuB,KACtBF,EAAAA,cAACiD,EAAAA,EAAwB,CAAChE,KAAM2D,KAElC5C,EAAAA,cAACE,EAAwB,KACvBF,EAAAA,cAACE,EAAuB,KACtBF,EAAAA,cAACkD,EAAAA,EAA0B,CAACjE,KAAM2D,EAAIO,MAAO,EAAGC,WAAS,MAG7DpD,EAAAA,cAACE,EAAuB,KACtBF,EAAAA,cAACqD,EAAAA,EAA0B,CACzBpE,KAAM2D,EACNU,YAAa7B,GACb2B,WAAS,KAGbpD,EAAAA,cAACE,EAAuB,KACtBF,EAAAA,cAACuD,EAAAA,EAAiB,CAChBC,QAAQ,KACRC,UAAU,OACVb,GAAIA,EACJc,KAAK,kBACLJ,YAAa7B,GACb2B,WAAS,KAGbpD,EAAAA,cAACE,EAAuB,KACtBF,EAAAA,cAAC2D,GAAAA,EAAsB,CAACC,WAAW,aAErC5D,EAAAA,cAACE,EAAuB,KACtBF,EAAAA,cAAC6D,EAAAA,GAA8B,CAAC5E,KAAM2D,KAExC5C,EAAAA,cAACE,EAAuB,KACtBF,EAAAA,cAAC8D,EAAAA,GAAW,CACVC,MAAOlB,EACPC,YAAaA,EACbkB,cAAc,SAKxB,qHCzGO,IAAMC,GAAY5I,EAAAA,GAAOC,IAAGC,IAAAA,EAAAC,GAAA,4GAKnB,SAAA0B,GAAQ,OAAAA,EAALxB,MAAkBC,OAAOC,KAAK,IAGpCsI,GAAwB7I,EAAAA,GAAOC,IAAGQ,IAAAA,EAAAN,GAAA,uJAC/B,SAAAqF,GAAQ,OAAAA,EAALnF,MAAkBC,OAAOC,KAAK,IAYpCuI,GAAuB9I,EAAAA,GAAOC,IAAGW,IAAAA,EAAAT,GAAA,sFAE9B,SAAAwD,GAAQ,OAAAA,EAALtD,MAAkBC,OAAOI,MAAM,oGCPrCqI,GAA+C,SAAHlH,GAAmC,IAA7B+B,EAAI/B,EAAJ+B,KAAM8C,EAAe7E,EAAf6E,gBACnE,OACE/B,EAAAA,cAACE,GAAgB,KACfF,EAAAA,cAACE,GAA4B,KAC3BF,EAAAA,cAACA,EAAAA,SAAc,CAACqE,SAAUrE,EAAAA,cAACsE,GAAAA,EAA0B,OACnDtE,EAAAA,cAACuE,GAAAA,EAAmB,CAACtF,KAAMA,MAG/Be,EAAAA,cAACE,GAA4B,KAC3BF,EAAAA,cAACwE,GAAAA,EAAyB,CAACvF,KAAMA,EAAM8C,gBAAiBA,KAEzDA,EAAgB0C,MAAQ,GACvBzE,EAAAA,cAACE,GAA4B,KAC3BF,EAAAA,cAACA,EAAAA,SAAc,CAACqE,SAAUrE,EAAAA,cAAC0E,GAAAA,EAAmB,OAC5C1E,EAAAA,cAAC2E,GAAAA,EAAY,CAAC1F,KAAMA,MAI1Be,EAAAA,cAACE,GAA4B,KAC3BF,EAAAA,cAAC4E,GAAAA,EAAS,CAAC3F,KAAMA,KAEnBe,EAAAA,cAACE,GAA2B,KAC1BF,EAAAA,cAAC6E,EAAAA,EAAiC,CAAC5F,KAAMA,EAAMkE,MAAO,KAExDnD,EAAAA,cAACE,GAA4B,KAC3BF,EAAAA,cAACqD,EAAAA,EAA0B,CACzBpE,KAAMA,EACN6F,WAAW,UAGf9E,EAAAA,cAACE,GAA4B,KAC3BF,EAAAA,cAACuD,EAAAA,EAAiB,CAACG,KAAK,kBAAkBd,GAAI3D,EAAM8F,UAAQ,KAE9D/E,EAAAA,cAACE,GAA4B,KAC3BF,EAAAA,cAAC2D,GAAAA,EAAsB,CAACqB,OAAQ,EAAGC,IAAI,MAAMC,QAAQ,EAAMzB,UAAU,UAEvEzD,EAAAA,cAACE,GAA4B,KAC3BF,EAAAA,cAACmF,EAAAA,GAAgC,CAAClG,KAAMA,KAE1Ce,EAAAA,cAACE,GAA4B,KAC3BF,EAAAA,cAACA,EAAAA,SAAc,CAACqE,SAAUrE,EAAAA,cAACoF,GAAAA,EAAiC,OAC1DpF,EAAAA,cAACqF,GAAAA,EAA0B,CAACpG,KAAMA,MAK5C,+GC/DAqG,EAAA,kBAAAC,CAAA,MAAA7E,EAAA6E,EAAA,GAAAC,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAK,gBAAA,SAAApF,EAAA6E,EAAAC,GAAA9E,EAAA6E,GAAAC,EAAAO,KAAA,EAAAxJ,EAAA,mBAAAyJ,OAAAA,OAAA,GAAAC,EAAA1J,EAAA2J,UAAA,aAAAC,EAAA5J,EAAA6J,eAAA,kBAAAC,EAAA9J,EAAA+J,aAAA,yBAAAC,EAAA7F,EAAA6E,EAAAC,GAAA,OAAAC,OAAAK,eAAApF,EAAA6E,EAAA,CAAAQ,MAAAP,EAAAgB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAhG,EAAA6E,EAAA,KAAAgB,EAAA,aAAA7F,GAAA6F,EAAA,SAAA7F,EAAA6E,EAAAC,GAAA,OAAA9E,EAAA6E,GAAAC,CAAA,WAAAmB,EAAAjG,EAAA6E,EAAAC,EAAAG,GAAA,IAAApJ,EAAAgJ,GAAAA,EAAAG,qBAAAkB,EAAArB,EAAAqB,EAAAX,EAAAR,OAAAoB,OAAAtK,EAAAmJ,WAAAS,EAAA,IAAAW,EAAAnB,GAAA,WAAAE,EAAAI,EAAA,WAAAF,MAAAgB,EAAArG,EAAA8E,EAAAW,KAAAF,CAAA,UAAAe,EAAAtG,EAAA6E,EAAAC,GAAA,WAAA9B,KAAA,SAAAuD,IAAAvG,EAAAwG,KAAA3B,EAAAC,GAAA,OAAA9E,GAAA,OAAAgD,KAAA,QAAAuD,IAAAvG,EAAA,EAAA6E,EAAAoB,KAAAA,EAAA,IAAAQ,EAAA,iBAAAC,EAAA,iBAAAC,EAAA,YAAAC,EAAA,YAAAC,EAAA,YAAAX,IAAA,UAAAY,IAAA,UAAAC,IAAA,KAAAC,EAAA,GAAAnB,EAAAmB,EAAAzB,GAAA,8BAAA0B,EAAAlC,OAAAmC,eAAAC,EAAAF,GAAAA,EAAAA,EAAAG,EAAA,MAAAD,GAAAA,IAAArC,GAAAG,EAAAuB,KAAAW,EAAA5B,KAAAyB,EAAAG,GAAA,IAAAE,EAAAN,EAAA/B,UAAAkB,EAAAlB,UAAAD,OAAAoB,OAAAa,GAAA,SAAAM,EAAAtH,GAAA,0BAAAuH,SAAA,SAAA1C,GAAAgB,EAAA7F,EAAA6E,GAAA,SAAA7E,GAAA,YAAAwH,QAAA3C,EAAA7E,EAAA,gBAAAyH,EAAAzH,EAAA6E,GAAA,SAAA6C,EAAA5C,EAAAK,EAAAtJ,EAAA0J,GAAA,IAAAE,EAAAa,EAAAtG,EAAA8E,GAAA9E,EAAAmF,GAAA,aAAAM,EAAAzC,KAAA,KAAA2C,EAAAF,EAAAc,IAAAE,EAAAd,EAAAN,MAAA,OAAAoB,GAAA,iBAAAA,GAAAxB,EAAAuB,KAAAC,EAAA,WAAA5B,EAAA8C,QAAAlB,EAAAmB,SAAAC,MAAA,SAAA7H,GAAA0H,EAAA,OAAA1H,EAAAnE,EAAA0J,EAAA,aAAAvF,GAAA0H,EAAA,QAAA1H,EAAAnE,EAAA0J,EAAA,IAAAV,EAAA8C,QAAAlB,GAAAoB,MAAA,SAAA7H,GAAA2F,EAAAN,MAAArF,EAAAnE,EAAA8J,EAAA,aAAA3F,GAAA,OAAA0H,EAAA,QAAA1H,EAAAnE,EAAA0J,EAAA,IAAAA,EAAAE,EAAAc,IAAA,KAAAzB,EAAAK,EAAA,gBAAAE,MAAA,SAAArF,EAAAiF,GAAA,SAAA6C,IAAA,WAAAjD,GAAA,SAAAA,EAAAC,GAAA4C,EAAA1H,EAAAiF,EAAAJ,EAAAC,EAAA,WAAAA,EAAAA,EAAAA,EAAA+C,KAAAC,EAAAA,GAAAA,GAAA,aAAAzB,EAAAxB,EAAAC,EAAAG,GAAA,IAAAE,EAAAsB,EAAA,gBAAA5K,EAAA0J,GAAA,GAAAJ,IAAAwB,EAAA,UAAAoB,MAAA,mCAAA5C,IAAAyB,EAAA,cAAA/K,EAAA,MAAA0J,EAAA,OAAAF,MAAArF,EAAAgI,MAAA,OAAA/C,EAAAgD,OAAApM,EAAAoJ,EAAAsB,IAAAhB,IAAA,KAAAE,EAAAR,EAAAiD,SAAA,GAAAzC,EAAA,KAAAE,EAAAwC,EAAA1C,EAAAR,GAAA,GAAAU,EAAA,IAAAA,IAAAkB,EAAA,gBAAAlB,CAAA,cAAAV,EAAAgD,OAAAhD,EAAAmD,KAAAnD,EAAAoD,MAAApD,EAAAsB,SAAA,aAAAtB,EAAAgD,OAAA,IAAA9C,IAAAsB,EAAA,MAAAtB,EAAAyB,EAAA3B,EAAAsB,IAAAtB,EAAAqD,kBAAArD,EAAAsB,IAAA,gBAAAtB,EAAAgD,QAAAhD,EAAAsD,OAAA,SAAAtD,EAAAsB,KAAApB,EAAAwB,EAAA,IAAAK,EAAAV,EAAAzB,EAAAC,EAAAG,GAAA,cAAA+B,EAAAhE,KAAA,IAAAmC,EAAAF,EAAA+C,KAAApB,EAAAF,EAAAM,EAAAT,MAAAM,EAAA,gBAAAxB,MAAA2B,EAAAT,IAAAyB,KAAA/C,EAAA+C,KAAA,WAAAhB,EAAAhE,OAAAmC,EAAAyB,EAAA3B,EAAAgD,OAAA,QAAAhD,EAAAsB,IAAAS,EAAAT,IAAA,YAAA4B,EAAAtD,EAAAC,GAAA,IAAAG,EAAAH,EAAAmD,OAAA9C,EAAAN,EAAAW,SAAAP,GAAA,GAAAE,IAAAnF,EAAA,OAAA8E,EAAAoD,SAAA,eAAAjD,GAAAJ,EAAAW,SAAA,SAAAV,EAAAmD,OAAA,SAAAnD,EAAAyB,IAAAvG,EAAAmI,EAAAtD,EAAAC,GAAA,UAAAA,EAAAmD,SAAA,WAAAhD,IAAAH,EAAAmD,OAAA,QAAAnD,EAAAyB,IAAA,IAAAiC,UAAA,oCAAAvD,EAAA,aAAA4B,EAAA,IAAAhL,EAAAyK,EAAAnB,EAAAN,EAAAW,SAAAV,EAAAyB,KAAA,aAAA1K,EAAAmH,KAAA,OAAA8B,EAAAmD,OAAA,QAAAnD,EAAAyB,IAAA1K,EAAA0K,IAAAzB,EAAAoD,SAAA,KAAArB,EAAA,IAAAtB,EAAA1J,EAAA0K,IAAA,OAAAhB,EAAAA,EAAAyC,MAAAlD,EAAAD,EAAA4D,YAAAlD,EAAAF,MAAAP,EAAA4D,KAAA7D,EAAA8D,QAAA,WAAA7D,EAAAmD,SAAAnD,EAAAmD,OAAA,OAAAnD,EAAAyB,IAAAvG,GAAA8E,EAAAoD,SAAA,KAAArB,GAAAtB,GAAAT,EAAAmD,OAAA,QAAAnD,EAAAyB,IAAA,IAAAiC,UAAA,oCAAA1D,EAAAoD,SAAA,KAAArB,EAAA,UAAA+B,EAAA5I,GAAA,IAAA6E,EAAA,CAAAgE,OAAA7I,EAAA,SAAAA,IAAA6E,EAAAiE,SAAA9I,EAAA,SAAAA,IAAA6E,EAAAkE,WAAA/I,EAAA,GAAA6E,EAAAmE,SAAAhJ,EAAA,SAAAiJ,WAAAC,KAAArE,EAAA,UAAAsE,EAAAnJ,GAAA,IAAA6E,EAAA7E,EAAAoJ,YAAA,GAAAvE,EAAA7B,KAAA,gBAAA6B,EAAA0B,IAAAvG,EAAAoJ,WAAAvE,CAAA,UAAAuB,EAAApG,GAAA,KAAAiJ,WAAA,EAAAJ,OAAA,SAAA7I,EAAAuH,QAAAqB,EAAA,WAAAS,OAAA,YAAAjC,EAAAvC,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAC,EAAAD,EAAAU,GAAA,GAAAT,EAAA,OAAAA,EAAA0B,KAAA3B,GAAA,sBAAAA,EAAA6D,KAAA,OAAA7D,EAAA,IAAAyE,MAAAzE,EAAA0E,QAAA,KAAApE,GAAA,EAAAtJ,EAAA,SAAA6M,IAAA,OAAAvD,EAAAN,EAAA0E,QAAA,GAAAtE,EAAAuB,KAAA3B,EAAAM,GAAA,OAAAuD,EAAArD,MAAAR,EAAAM,GAAAuD,EAAAV,MAAA,EAAAU,EAAA,OAAAA,EAAArD,MAAArF,EAAA0I,EAAAV,MAAA,EAAAU,CAAA,SAAA7M,EAAA6M,KAAA7M,CAAA,YAAA2M,iBAAA3D,EAAA,2BAAAiC,EAAA9B,UAAA+B,EAAA5B,EAAAkC,EAAA,eAAAhC,MAAA0B,EAAAhB,cAAA,IAAAZ,EAAA4B,EAAA,eAAA1B,MAAAyB,EAAAf,cAAA,IAAAe,EAAA0C,YAAA3D,EAAAkB,EAAApB,EAAA,qBAAAd,EAAA4E,oBAAA,SAAAzJ,GAAA,IAAA6E,EAAA,mBAAA7E,GAAAA,EAAA0J,YAAA,QAAA7E,IAAAA,IAAAiC,GAAA,uBAAAjC,EAAA2E,aAAA3E,EAAA1C,MAAA,EAAA0C,EAAA8E,KAAA,SAAA3J,GAAA,OAAA+E,OAAA6E,eAAA7E,OAAA6E,eAAA5J,EAAA+G,IAAA/G,EAAA6J,UAAA9C,EAAAlB,EAAA7F,EAAA2F,EAAA,sBAAA3F,EAAAgF,UAAAD,OAAAoB,OAAAkB,GAAArH,CAAA,EAAA6E,EAAAiF,MAAA,SAAA9J,GAAA,OAAA4H,QAAA5H,EAAA,EAAAsH,EAAAG,EAAAzC,WAAAa,EAAA4B,EAAAzC,UAAAS,GAAA,0BAAAZ,EAAA4C,cAAAA,EAAA5C,EAAAkF,MAAA,SAAA/J,EAAA8E,EAAAG,EAAAE,EAAAtJ,QAAA,IAAAA,IAAAA,EAAAmO,SAAA,IAAAzE,EAAA,IAAAkC,EAAAxB,EAAAjG,EAAA8E,EAAAG,EAAAE,GAAAtJ,GAAA,OAAAgJ,EAAA4E,oBAAA3E,GAAAS,EAAAA,EAAAmD,OAAAb,MAAA,SAAA7H,GAAA,OAAAA,EAAAgI,KAAAhI,EAAAqF,MAAAE,EAAAmD,MAAA,KAAApB,EAAAD,GAAAxB,EAAAwB,EAAA1B,EAAA,aAAAE,EAAAwB,EAAA9B,GAAA,0BAAAM,EAAAwB,EAAA,qDAAAxC,EAAAoF,KAAA,SAAAjK,GAAA,IAAA6E,EAAAE,OAAA/E,GAAA8E,EAAA,WAAAG,KAAAJ,EAAAC,EAAAoE,KAAAjE,GAAA,OAAAH,EAAAoF,UAAA,SAAAxB,IAAA,KAAA5D,EAAAyE,QAAA,KAAAvJ,EAAA8E,EAAAqF,MAAA,GAAAnK,KAAA6E,EAAA,OAAA6D,EAAArD,MAAArF,EAAA0I,EAAAV,MAAA,EAAAU,CAAA,QAAAA,EAAAV,MAAA,EAAAU,CAAA,GAAA7D,EAAAuC,OAAAA,EAAAhB,EAAApB,UAAA,CAAA0E,YAAAtD,EAAAiD,MAAA,SAAAxE,GAAA,QAAAuF,KAAA,OAAA1B,KAAA,OAAAN,KAAA,KAAAC,MAAArI,EAAA,KAAAgI,MAAA,OAAAE,SAAA,UAAAD,OAAA,YAAA1B,IAAAvG,EAAA,KAAAiJ,WAAA1B,QAAA4B,IAAAtE,EAAA,QAAAC,KAAA,WAAAA,EAAAuF,OAAA,IAAApF,EAAAuB,KAAA,KAAA1B,KAAAwE,OAAAxE,EAAAwF,MAAA,WAAAxF,GAAA9E,EAAA,EAAAuK,KAAA,gBAAAvC,MAAA,MAAAhI,EAAA,KAAAiJ,WAAA,GAAAG,WAAA,aAAApJ,EAAAgD,KAAA,MAAAhD,EAAAuG,IAAA,YAAAiE,IAAA,EAAAlC,kBAAA,SAAAzD,GAAA,QAAAmD,KAAA,MAAAnD,EAAA,IAAAC,EAAA,cAAA2F,EAAAxF,EAAAE,GAAA,OAAAI,EAAAvC,KAAA,QAAAuC,EAAAgB,IAAA1B,EAAAC,EAAA4D,KAAAzD,EAAAE,IAAAL,EAAAmD,OAAA,OAAAnD,EAAAyB,IAAAvG,KAAAmF,CAAA,SAAAA,EAAA,KAAA8D,WAAAM,OAAA,EAAApE,GAAA,IAAAA,EAAA,KAAAtJ,EAAA,KAAAoN,WAAA9D,GAAAI,EAAA1J,EAAAuN,WAAA,YAAAvN,EAAAgN,OAAA,OAAA4B,EAAA,UAAA5O,EAAAgN,QAAA,KAAAuB,KAAA,KAAA3E,EAAAR,EAAAuB,KAAA3K,EAAA,YAAA8J,EAAAV,EAAAuB,KAAA3K,EAAA,iBAAA4J,GAAAE,EAAA,SAAAyE,KAAAvO,EAAAiN,SAAA,OAAA2B,EAAA5O,EAAAiN,UAAA,WAAAsB,KAAAvO,EAAAkN,WAAA,OAAA0B,EAAA5O,EAAAkN,WAAA,SAAAtD,GAAA,QAAA2E,KAAAvO,EAAAiN,SAAA,OAAA2B,EAAA5O,EAAAiN,UAAA,YAAAnD,EAAA,UAAAoC,MAAA,kDAAAqC,KAAAvO,EAAAkN,WAAA,OAAA0B,EAAA5O,EAAAkN,WAAA,KAAAR,OAAA,SAAAvI,EAAA6E,GAAA,QAAAC,EAAA,KAAAmE,WAAAM,OAAA,EAAAzE,GAAA,IAAAA,EAAA,KAAAK,EAAA,KAAA8D,WAAAnE,GAAA,GAAAK,EAAA0D,QAAA,KAAAuB,MAAAnF,EAAAuB,KAAArB,EAAA,oBAAAiF,KAAAjF,EAAA4D,WAAA,KAAAlN,EAAAsJ,EAAA,OAAAtJ,IAAA,UAAAmE,GAAA,aAAAA,IAAAnE,EAAAgN,QAAAhE,GAAAA,GAAAhJ,EAAAkN,aAAAlN,EAAA,UAAA0J,EAAA1J,EAAAA,EAAAuN,WAAA,UAAA7D,EAAAvC,KAAAhD,EAAAuF,EAAAgB,IAAA1B,EAAAhJ,GAAA,KAAAoM,OAAA,YAAAS,KAAA7M,EAAAkN,WAAAlC,GAAA,KAAA6D,SAAAnF,EAAA,EAAAmF,SAAA,SAAA1K,EAAA6E,GAAA,aAAA7E,EAAAgD,KAAA,MAAAhD,EAAAuG,IAAA,gBAAAvG,EAAAgD,MAAA,aAAAhD,EAAAgD,KAAA,KAAA0F,KAAA1I,EAAAuG,IAAA,WAAAvG,EAAAgD,MAAA,KAAAwH,KAAA,KAAAjE,IAAAvG,EAAAuG,IAAA,KAAA0B,OAAA,cAAAS,KAAA,kBAAA1I,EAAAgD,MAAA6B,IAAA,KAAA6D,KAAA7D,GAAAgC,CAAA,EAAA8D,OAAA,SAAA3K,GAAA,QAAA6E,EAAA,KAAAoE,WAAAM,OAAA,EAAA1E,GAAA,IAAAA,EAAA,KAAAC,EAAA,KAAAmE,WAAApE,GAAA,GAAAC,EAAAiE,aAAA/I,EAAA,YAAA0K,SAAA5F,EAAAsE,WAAAtE,EAAAkE,UAAAG,EAAArE,GAAA+B,CAAA,kBAAA7G,GAAA,QAAA6E,EAAA,KAAAoE,WAAAM,OAAA,EAAA1E,GAAA,IAAAA,EAAA,KAAAC,EAAA,KAAAmE,WAAApE,GAAA,GAAAC,EAAA+D,SAAA7I,EAAA,KAAAiF,EAAAH,EAAAsE,WAAA,aAAAnE,EAAAjC,KAAA,KAAAmC,EAAAF,EAAAsB,IAAA4C,EAAArE,EAAA,QAAAK,CAAA,YAAA4C,MAAA,0BAAA6C,cAAA,SAAA/F,EAAAC,EAAAG,GAAA,YAAAiD,SAAA,CAAA1C,SAAA4B,EAAAvC,GAAA4D,WAAA3D,EAAA6D,QAAA1D,GAAA,cAAAgD,SAAA,KAAA1B,IAAAvG,GAAA6G,CAAA,GAAAhC,CAAA,UAAAgG,EAAAC,EAAAnD,EAAAoD,EAAAC,EAAAC,EAAAtL,EAAA4G,GAAA,QAAA2E,EAAAJ,EAAAnL,GAAA4G,GAAAlB,EAAA6F,EAAA7F,KAAA,OAAAxD,GAAA,YAAAkJ,EAAAlJ,EAAA,CAAAqJ,EAAAlD,KAAAL,EAAAtC,GAAA2E,QAAArC,QAAAtC,GAAAwC,KAAAmD,EAAAC,EAAA,UAAAE,EAAAC,GAAA,sBAAAC,EAAA,KAAAC,EAAAC,UAAA,WAAAvB,SAAA,SAAArC,EAAAoD,GAAA,IAAAD,EAAAM,EAAAI,MAAAH,EAAAC,GAAA,SAAAN,EAAA3F,GAAAwF,EAAAC,EAAAnD,EAAAoD,EAAAC,EAAAC,EAAA,OAAA5F,EAAA,UAAA4F,EAAAQ,GAAAZ,EAAAC,EAAAnD,EAAAoD,EAAAC,EAAAC,EAAA,QAAAQ,EAAA,CAAAT,OAAAU,EAAA,cAAA5Q,EAAA6Q,EAAAC,GAAA,OAAAA,IAAAA,EAAAD,EAAArB,MAAA,IAAAvF,OAAA8G,OAAA9G,OAAA+G,iBAAAH,EAAA,CAAAC,IAAA,CAAAvG,MAAAN,OAAA8G,OAAAD,MAAA,CAKA,IAAMG,GAAuB/P,EAAAA,EAAAA,IAAGnB,IAAAA,EAAAC,EAAA,6mCAgE1BkR,IAZ6BhQ,EAAAA,EAAAA,IAAGZ,IAAAA,EAAAN,EAAA,yMAYX,SAACmR,EAAMC,GAChC,GAAS,OAAJD,QAAI,IAAJA,IAAAA,EAAME,WAAY,OAAO,KAE9BF,EAAKE,WAAWzM,KAAI,SAAC0M,GACnB,IAAQC,EAA4DD,EAA5DC,SAAUC,EAAkDF,EAAlDE,cAAeC,EAAmCH,EAAnCG,UAAWC,EAAwBJ,EAAxBI,eAAgBC,EAAQL,EAARK,KACpDvK,EAAuCuK,EAAvCvK,GAAIC,EAAmCsK,EAAnCtK,KAAMuK,EAA6BD,EAA7BC,QAAS3K,EAAoB0K,EAApB1K,gBAC3BvF,EAAiDkQ,GAAW,CAAC,EAA/CC,EAAWnQ,EAAjB2F,KAAyByK,EAAWpQ,EAAjB+B,KAC3B4B,EAA6D4B,GAAmB,CAAC,EAArE8K,EAAiB1M,EAArB+B,GAA6B4K,EAAmB3M,EAAzBgC,KAEzB4K,EAAYT,EAAgB,cAAgB,cAC5CU,EAAc,CAClBd,QAASA,EACTe,OAAQ/K,EACRgL,SAAU/K,EACVoK,UAAAA,EACAC,eAAAA,EACAH,SAAAA,EACAM,YAAAA,EACAC,YAAAA,EACAC,kBAAAA,EACAC,oBAAAA,IAGFK,EAAAA,EAAAA,IAAWJ,EAAWC,EACxB,GACF,GAEMI,EAAkB,SAACnB,EAAMzN,GAC7B,GAAS,OAAJyN,QAAI,IAAJA,IAAAA,EAAME,WAAY,OAAO,KAE9BF,EAAKE,WAAWzM,KAAI,SAAC0M,GACnB,IAAQC,EAAkDD,EAAlDC,SAAUI,EAAwCL,EAAxCK,KAAMH,EAAkCF,EAAlCE,cAAeE,EAAmBJ,EAAnBI,gBAEvCa,EAAAA,EAAAA,GAAiBZ,EAAMjO,EAAQ6N,EAAUG,EAAgBF,EAAgB,cAAgB,cAC3F,GACF,EAUMgB,EAAmB,SAACrB,EAAMzN,GAC9B,IAAKA,EAAU,OAAO,KAEtB,IAAQ+O,EAAuBtB,EAAvBsB,mBACFC,EAAaD,EAAqB,IAAOA,EAAqB,OACpEE,EAbuB,SAACjP,GACxB,MAAe,YAAXA,EACK,CAAEkP,gBAAiB,cAAeC,oBAAqB,eAEvD,CAAED,gBAAiB,iBAAkBC,oBAAqB,eAErE,CAOmDC,CAAiBpP,GAA1DkP,EAAeD,EAAfC,gBAAiBC,EAAmBF,EAAnBE,oBAEnBE,EAAsBC,SAASC,uBAAuBL,GACtDM,EAAsBF,SAASC,uBAAuBJ,GAE5D,GAAIE,EAAoBtE,OAAS,EAC/B,OAAO,KAGT,GAAIyE,EAAoBzE,OAAS,EAAG,CAClC,IAAM0E,EAAyBH,SAASI,cAAc,OACtDD,EAAuB5L,UAAYsL,EACnCM,EAAuBE,UAAYX,EACnCK,EAAoB,GAAGO,YAAYH,EACrC,MACED,EAAoB,GAAGG,UAAYX,CAEvC,EAEMa,EAAc,SAACC,EAAgBC,EAASC,EAAWC,EAAQjQ,GAC3D8P,EAAeI,OAEjBH,EAAQI,KAAKC,MAAMN,EAAeI,UAElCF,EAAUF,EAAerC,MACzBqB,EAAiBgB,EAAerC,KAAMzN,GAE1C,EAGaqQ,EAAS,eAAAC,EAAA3D,EAAAvG,IAAA+E,MAAG,SAAAoF,EAAAzQ,GAAA,IAAA0Q,EAAAP,EAAAQ,EAAAV,EAAAW,EAAAV,EAAAtC,EAAAiD,EAAA3Q,EAAA4Q,EAAAxN,EAAA,OAAAgD,IAAAqB,MAAA,SAAAoJ,GAAA,cAAAA,EAAAjF,KAAAiF,EAAA3G,MAAA,OAKL,OALKsG,EAAA1Q,EACvBmQ,OAAAA,OAAM,IAAAO,EAAG,CAAC,EAACA,EAAAC,EAAA3Q,EACXiQ,QAAAA,OAAO,IAAAU,EAAG,WAAO,EAACA,EAAAC,EAAA5Q,EAClBkQ,UAAAA,OAAS,IAAAU,EAAG,WAAO,EAACA,EACpBhD,EAAO5N,EAAP4N,QAAOiD,EAAA7Q,EACPE,OAAAA,OAAM,IAAA2Q,EAAG,UAASA,EAAAE,EAAAjF,KAAA,EAAAiF,EAAA3G,KAAA,EAIO4G,EAAAA,EAAOC,OAAO,CACnCC,SAAUzD,EACVtK,UAAWgN,IACX,OAI+C,OAJ/CW,EAAAC,EAAAjH,KAHMxG,EAAIwN,EAAJxN,KAMRoK,EAAmBpK,EAAK0M,eAAerC,KAAMC,GAC7CkB,EAAgBxL,EAAK0M,eAAerC,KAAMzN,GAAO6Q,EAAA3G,KAAA,GAE3C2F,EACJzM,EAAK0M,eACLC,EACAC,EACAC,EACAjQ,GACD,QAAA6Q,EAAA3G,KAAA,iBAAA2G,EAAAjF,KAAA,GAAAiF,EAAAI,GAAAJ,EAAA,SAMA,yBAAAA,EAAA9E,OAAA,GAAAwE,EAAA,mBAEJ,gBAhCqBW,GAAA,OAAAZ,EAAAtD,MAAA,KAAAD,UAAA,KAwDToE,EAAgB,SAACjB,EAAQzB,GACpC,IAAM2C,EAAYlB,EAAOmB,MAAK,SAAAC,GAAC,OAAIA,EAAEC,cAAgB9C,CAAM,KAAKyB,EAAOmB,MAAK,SAAAC,GAAC,OAAIA,EAAE5N,KAAO+K,CAAM,IAChG,OAAO2C,GAAaA,EAAUlB,MAChC","sources":["webpack:///./app/javascript/templates/ProductCategory/ProductCategoryVariantDisplay/DefaultSize/style.js","webpack:///./app/javascript/templates/ProductCategory/ProductCategoryVariantDisplay/useProductCategoryVariant.js","webpack:///./app/javascript/components/ProductCategory/VariantList/NavBar/desktop/style.js","webpack:///./app/javascript/components/ProductCategory/VariantList/NavBar/translations.js","webpack:///./app/javascript/components/ProductCategory/VariantList/NavBar/desktop/index.jsx","webpack:///./app/javascript/templates/ProductCategory/ProductCategoryVariantDisplay/DefaultSize/index.jsx","webpack:///./app/javascript/templates/ProductCategory/ProductCategoryVariantDisplay/CompactSize/style.js","webpack:///./app/javascript/templates/ProductCategory/ProductCategoryVariantDisplay/CompactSize/index.jsx","webpack:///./app/javascript/utilities/addToUserCart.js"],"sourcesContent":["import { styled } from 'styled-components'\n\nexport const BackgroundWhite = styled.div`\n background-color: ${props => props.theme.colors.white};\n position: relative;\n`\n\nexport const BackGroundBlue500 = styled.div`\n background-color: ${props => props.theme.colors.blue50};\n padding: 24px 0px;\n &:has(> div:empty) {\n display: none;\n }\n`\n\nexport const ContentContainer = styled.div`\n padding: 24px 0px;\n display: flex;\n flex-direction: column;\n gap: 24px;\n`\n\nexport const SectionContainer = styled.div`\n width: ${props => props.theme.screen.desktop};\n margin: 0 auto;\n &:empty {\n display: none;\n }\n`\n\nexport const LoadingSpinner = styled.i`\n font-size: 64px;\n align-self: center;\n`","import { gql, useQuery } from '@apollo/client'\n\nconst PRODUCT_CATEGORY_QUERY = gql`\n query ProductCategoryVariantDisplay($slug: ID!) {\n productCategory(id: $slug) {\n id\n name\n catmanId\n pageDisplayName\n haveChildren\n shortDescription\n icon {\n small\n }\n buyingGuide {\n id\n }\n description {\n id\n body\n }\n }\n }\n`\n\nexport const useProductCategoryQuery = (slug) => {\n return useQuery(PRODUCT_CATEGORY_QUERY, { variables: { slug } })\n}","import styled, { css } from 'styled-components'\nimport { Link } from 'elements'\n\nexport const Watcher = styled.div`\n height: 0;\n visibility: hidden;\n`\n\nexport const Wrapper = styled.div`\n width: 100vw;\n background-color: ${props => props.theme.colors.white};\n border-bottom: 1px solid ${props => props.theme.colors.zinc200};\n line-height: 1.5;\n padding: 8px 0;\n\n position: sticky;\n top: ${props => props.$offset}px;\n z-index: 9;\n`\n\nexport const FlexBox = styled.div`\n display: flex;\n gap: ${props => props.$gap};\n justify-content: center;\n align-items: center;\n`\n\nconst getCardStyle = ({ theme, $type, $highlight }) => {\n switch ($type) {\n case 'disabled':\n return css`\n color: ${theme.colors.zinc300};\n cursor: default;\n\n > i {\n color: ${theme.colors.zinc300};\n }\n `\n case 'active':\n return css`\n color: ${theme.colors.mainBlue};\n\n > i {\n color: ${theme.colors.mainBlue};\n }\n\n &:hover {\n background-color: ${theme.colors.zinc100};\n }\n `\n\n default:\n return css`\n color: ${theme.colors.textPlaceholder};\n\n > i {\n color: ${theme.colors.textDisabled};\n }\n\n ${$highlight && css`\n border-radius: 8px;\n border: 1px solid ${theme.colors.zinc200};\n `}\n\n &:hover {\n background-color: ${theme.colors.zinc100};\n }\n `\n }\n}\n\nexport const Card = styled.div`\n width: 100px;\n font-size: 12px;\n font-weight: 600;\n border-radius: 8px;\n padding: 4px;\n cursor: pointer;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n > i {\n height: ${props => props.$hideIcon ? '0px' : '20px'};;\n font-size: 20px;\n overflow: hidden;\n transition: all 200ms;\n }\n\n ${props => getCardStyle(props)}\n`\n\n// TODO: Now we use cardLink as normal\n// This could be removed\nconst getCardLinkStyle = ({ theme, $type }) => {\n switch ($type) {\n case 'disabled':\n return css`\n background-color: ${theme.colors.zinc50};\n color: ${theme.colors.zinc300};\n pointer-events: none;\n\n > i {\n color: ${theme.colors.zinc300};\n }\n\n &:hover {\n background-color: ${theme.colors.zinc300};\n }\n `\n\n default:\n return css`\n background-color: ${theme.colors.blue50};\n color: ${theme.colors.mainBlue};\n\n > i {\n color: ${theme.colors.mainBlue};\n }\n `\n }\n}\n\nexport const CardLink = styled(Card).attrs({ as: Link })`\n ${props => getCardStyle(props)}\n`\n","export default {\n en: {\n ProductCategoryVariantDisplayNavbar: {\n overview: 'Overview',\n variants: 'Products',\n downloads: 'Downloads',\n brands: 'Brands',\n diyNIdeas: 'DIY & Ideas',\n itemsTable: 'Items Table',\n questionsAnswers: 'Questions & Answers',\n buyingGuide: 'Buying Guide'\n }\n },\n\n th: {\n ProductCategoryVariantDisplayNavbar: {\n overview: 'หมวดหมู่สินค้า',\n variants: 'สินค้า',\n downloads: 'ดาวน์โหลด',\n brands: 'à¹à¸šà¸£à¸™à¸”์',\n diyNIdeas: 'DIY & ไà¸à¹€à¸”ีย',\n itemsTable: 'ตารางสินค้า',\n questionsAnswers: 'คำถาม',\n buyingGuide: 'Buying guide'\n }\n }\n}\n","import * as Styled from './style'\nimport { LINKS, SECTIONS } from '../constants'\n\nimport { useInViewContext, useIntersectionObserverContext } from '../../../../../context/intersectionObserverContext'\n\nimport translations from '../translations'\nimport { i18n, initializeI18n } from '../../../../../utilities/i18n'\n\nimport React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\n\nconst renderSections = (getHTMLType, onScrollToViewPort, hideIcon) => {\n return SECTIONS.map(({ key, icon, text }) => {\n return (\n <Styled.Card\n key={key}\n onClick={() => onScrollToViewPort(key)}\n $hideIcon={hideIcon}\n $type={getHTMLType(key)}>\n {icon}\n <div>{i18n.t(text)}</div>\n </Styled.Card>\n )\n })\n}\n\nconst renderLinks = (slug, source, hideIcon) => {\n return LINKS.map(({ icon, getType = () => {}, path, text, newTab, highlight }, index) => {\n return (\n <Styled.CardLink\n key={index}\n href={path(i18n.locale, slug)}\n $hideIcon={hideIcon}\n $type={getType(source)}\n $highlight={highlight}\n target={newTab ? '_blank' : '_self'}\n rel={newTab ? 'noopener noreferrer' : ''}\n >\n {icon}\n <div>{i18n.t(text)}</div>\n </Styled.CardLink>\n )\n })\n}\n\nconst ProductCategoryVariantDisplayNavbar = ({ slug, source }) => {\n initializeI18n({ localeFiles: translations })\n\n const { getHTMLType, onScrollToViewPort } = useIntersectionObserverContext()\n const { ref, inView, offset } = useInViewContext()\n\n const hideIcon = !inView\n\n const handleScrollToViewPort = key => {\n onScrollToViewPort(key, offset)\n }\n\n return (\n <Fragment>\n {/* watcher for scrolling reach the top of view */}\n <Styled.Watcher ref={ref}></Styled.Watcher>\n\n <Styled.Wrapper $offset={offset}>\n <Styled.FlexBox $gap=\"16px\">\n <Styled.FlexBox $gap=\"0\">\n {renderSections(getHTMLType, handleScrollToViewPort, hideIcon)}\n </Styled.FlexBox>\n\n <Styled.FlexBox $gap=\"8px\">\n {renderLinks(slug, source, hideIcon)}\n </Styled.FlexBox>\n </Styled.FlexBox>\n </Styled.Wrapper>\n </Fragment>\n )\n}\n\nProductCategoryVariantDisplayNavbar.propTypes = {\n slug: PropTypes.string.isRequired,\n source: PropTypes.object\n}\n\nexport default ProductCategoryVariantDisplayNavbar\n","import * as Styled from './style'\nimport { useProductCategoryQuery } from '../useProductCategoryVariant'\nimport ProductCategoryVariantListNavBar from '../../../../components/ProductCategory/VariantList/NavBar/desktop'\nimport ProductCategoryBrandList from '../../../../components/ProductCategory/BrandList/desktop'\nimport { Overview } from '../../../desktop/ProductCategory/overview'\nimport { ProductCategoryVariantList } from '../../../../components/ProductCategory/VariantList'\nimport ProductCategoryAttachments from '../../../../components/ProductCategory/Attachments'\nimport { QuestionAndAnswer } from '../../../../components/QuestionAndAnswer'\nimport Description from '../../../../components/Description'\nimport { ProductCategoryArticleListGrid } from '../../../../components/ProductCategory/ArticleList'\nimport { RecentlyViewedItemList } from '../../../../components/RecentlyViewedItemList'\nimport theme from '../../../../theme'\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nconst BORDER_WRAPPER_STYLE = {\n border: `1px solid ${theme.colors.zinc300}`,\n borderRadius: '16px',\n padding: '16px'\n}\n\nexport const ProductCategoryVariantDisplayTemplate = ({ slug, attributesState, editable }) => {\n const { loading, data, error } = useProductCategoryQuery(slug)\n const dataSource = data?.productCategory\n \n return (\n <Styled.BackgroundWhite>\n <ProductCategoryVariantListNavBar slug={slug} source={dataSource} />\n <Styled.ContentContainer>\n <ProductCategoryVariantDisplayTemplateRender\n attributesState={attributesState}\n loading={loading}\n productCategory={dataSource}\n error={error}\n editable={editable}\n />\n </Styled.ContentContainer>\n </Styled.BackgroundWhite>\n )\n}\nProductCategoryVariantDisplayTemplate.propTypes = {\n slug: PropTypes.string.isRequired,\n attributesState: PropTypes.shape({\n count: PropTypes.number.isRequired,\n attributed: PropTypes.bool.isRequired\n }).isRequired,\n editable: PropTypes.bool\n}\n\nexport const ProductCategoryVariantDisplayTemplateRender = ({ attributesState, loading, productCategory, error, editable }) => {\n const { id, name, description } = productCategory || {}\n\n if (loading) return <Styled.LoadingSpinner className='fas fa-spinner fa-spin' />\n if (error) return <Styled.LoadingSpinner className='fas fa-spinner fa-spin' />\n\n return (\n <>\n <Styled.SectionContainer>\n <Overview\n slug={id}\n attributesState={attributesState}\n source={productCategory}\n loading={loading}\n editable={editable}\n />\n </Styled.SectionContainer>\n <Styled.SectionContainer>\n <ProductCategoryBrandList slug={id} />\n </Styled.SectionContainer>\n <Styled.BackGroundBlue500>\n <Styled.SectionContainer>\n <ProductCategoryVariantList slug={id} first={5} useInView />\n </Styled.SectionContainer>\n </Styled.BackGroundBlue500>\n <Styled.SectionContainer>\n <ProductCategoryAttachments\n slug={id}\n customStyle={BORDER_WRAPPER_STYLE}\n useInView\n />\n </Styled.SectionContainer>\n <Styled.SectionContainer>\n <QuestionAndAnswer\n titleAs='h2'\n titleSize=\"18px\"\n id={id}\n type='ProductCategory'\n customStyle={BORDER_WRAPPER_STYLE}\n useInView\n />\n </Styled.SectionContainer>\n <Styled.SectionContainer>\n <RecentlyViewedItemList navigateTo='product' />\n </Styled.SectionContainer>\n <Styled.SectionContainer>\n <ProductCategoryArticleListGrid slug={id} />\n </Styled.SectionContainer>\n <Styled.SectionContainer>\n <Description\n title={name}\n description={description}\n imageMaxWidth=\"50%\" \n />\n </Styled.SectionContainer>\n </>\n )\n}\nProductCategoryVariantDisplayTemplateRender.propTypes = {\n attributesState: PropTypes.shape({\n count: PropTypes.number.isRequired,\n attributed: PropTypes.bool.isRequired\n }).isRequired,\n loading: PropTypes.bool,\n productCategory: PropTypes.object,\n error: PropTypes.object,\n editable: PropTypes.bool\n}","import { styled } from 'styled-components'\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 8px 0;\n background: ${({ theme }) => theme.colors.white};\n`\n\nexport const SectionContainerWhite = styled.div`\n background: ${({ theme }) => theme.colors.white};\n padding: 0 16px;\n\n display: flex;\n flex-direction: column;\n gap: 16px;\n\n &:empty {\n display: none;\n }\n`\n\nexport const SectionContainerBlue = styled.div`\n padding: 16px;\n background: ${({ theme }) => theme.colors.blue50};\n &:empty {\n display: none;\n }\n`","import * as Styled from './style'\nimport ProductCategoryInfo from '../../../../components/ProductCategory/Info'\nimport ProductCategoryInfoLoading from '../../../../components/ProductCategory/Info/loading'\nimport ProductCategoryAttributes from '../../../../components/ProductCategory/Attributes/mobile'\nimport ChildrenList from '../../../../components/ProductCategory/ChildrenList'\nimport ChildrenListLoading from '../../../../components/ProductCategory/ChildrenList/loading'\nimport BrandList from '../../../../components/ProductCategory/BrandList'\nimport ProductCategoryAttachments from '../../../../components/ProductCategory/Attachments'\nimport ProductCategoryDescription from '../../../../components/ProductCategory/Description'\nimport ProductCategoryDescriptionLoading from '../../../../components/ProductCategory/Description/loading'\nimport { QuestionAndAnswer } from '../../../../components/QuestionAndAnswer'\nimport { ProductCategoryVariantListCompact } from '../../../../components/ProductCategory/VariantList'\nimport { ProductCategoryArticleListColumn } from '../../../../components/ProductCategory/ArticleList'\nimport { RecentlyViewedItemList } from '../../../../components/RecentlyViewedItemList'\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nexport const ProductCategoryVariantDisplayCompactTemplate = ({ slug, attributesState }) => {\n return (\n <Styled.Container>\n <Styled.SectionContainerWhite>\n <React.Suspense fallback={<ProductCategoryInfoLoading/>}>\n <ProductCategoryInfo slug={slug}/>\n </React.Suspense>\n </Styled.SectionContainerWhite>\n <Styled.SectionContainerWhite>\n <ProductCategoryAttributes slug={slug} attributesState={attributesState} />\n </Styled.SectionContainerWhite>\n {attributesState.count < 1 && (\n <Styled.SectionContainerWhite>\n <React.Suspense fallback={<ChildrenListLoading />}>\n <ChildrenList slug={slug}/>\n </React.Suspense>\n </Styled.SectionContainerWhite>\n )}\n <Styled.SectionContainerWhite>\n <BrandList slug={slug}/>\n </Styled.SectionContainerWhite>\n <Styled.SectionContainerBlue>\n <ProductCategoryVariantListCompact slug={slug} first={5} />\n </Styled.SectionContainerBlue>\n <Styled.SectionContainerWhite>\n <ProductCategoryAttachments\n slug={slug}\n headerSize=\"14px\"\n />\n </Styled.SectionContainerWhite>\n <Styled.SectionContainerWhite>\n <QuestionAndAnswer type='ProductCategory' id={slug} isMobile />\n </Styled.SectionContainerWhite>\n <Styled.SectionContainerWhite>\n <RecentlyViewedItemList column={2} gap='8px' buyNow={true} titleSize='16px' />\n </Styled.SectionContainerWhite>\n <Styled.SectionContainerWhite>\n <ProductCategoryArticleListColumn slug={slug} />\n </Styled.SectionContainerWhite>\n <Styled.SectionContainerWhite>\n <React.Suspense fallback={<ProductCategoryDescriptionLoading/>}>\n <ProductCategoryDescription slug={slug}/>\n </React.Suspense>\n </Styled.SectionContainerWhite>\n </Styled.Container>\n )\n}\nProductCategoryVariantDisplayCompactTemplate.propTypes = {\n slug: PropTypes.string.isRequired,\n attributesState: PropTypes.shape({\n count: PropTypes.number.isRequired,\n attributed: PropTypes.bool.isRequired\n }).isRequired\n}","import { triggerAddToCart } from './analytics/products/addToCart'\nimport { trackEvent } from './analytics'\n\nimport { client } from '../utilities/apolloGraphqlRequest'\nimport { gql } from '@apollo/client'\n\nconst ADD_TO_CART_MUTATION = gql`\n mutation AddItemsToCart($items: [AddItemsToCartInput!]!, $logActivity: LogActivityInput) {\n addItemsToCart(items: $items, logActivity: $logActivity) {\n errors\n cart {\n id\n userCartItemsCount\n itemsTotalPrice {\n display\n }\n itemsTotalWeight {\n display\n }\n addedItems: items (filterAddedItems: true) {\n id\n quantity\n itemPrice\n itemTotalPrice: itemsTotal\n newItemInCart\n item {\n id\n name\n position\n displayPrice\n qtyInCart\n brand {\n id\n name\n }\n priceSummary {\n priceAfterDiscount\n discountSummary {\n discountType\n discountValue\n }\n }\n product {\n id\n slug\n name\n }\n productCategory {\n id\n name\n }\n }\n }\n }\n }\n }\n`\n\nconst REMOVE_CART_ITEMS_MUTATION = gql`\n mutation RemoveCartItems($cartItemIds: [Int!]) {\n removeCartItems(cartItemIds: $cartItemIds) {\n errors\n cart {\n id\n userCartItemsCount\n }\n }\n }\n`\n\nconst sendMixpanelEvents = (cart, clickAt) => {\n if (!cart?.addedItems) return null\n\n cart.addedItems.map((addedItem) => {\n const { quantity, newItemInCart, itemPrice, itemTotalPrice, item} = addedItem\n const { id, name, product, productCategory } = item\n const { name: productName, slug: productSlug } = product || {}\n const { id: productCategoryId, name: productCategoryName } = productCategory || {}\n\n const eventName = newItemInCart ? 'Add to Cart' : 'Update Cart'\n const mixpanelObj = {\n clickAt: clickAt,\n itemId: id,\n itemName: name,\n itemPrice,\n itemTotalPrice,\n quantity,\n productName,\n productSlug,\n productCategoryId,\n productCategoryName\n }\n\n trackEvent(eventName, mixpanelObj)\n })\n}\n\nconst sendGAAddToCart = (cart, source) => {\n if (!cart?.addedItems) return null\n\n cart.addedItems.map((addedItem) => {\n const { quantity, item, newItemInCart, itemTotalPrice } = addedItem\n\n triggerAddToCart(item, source, quantity, itemTotalPrice, newItemInCart ? 'add_to_cart' : 'update_cart')\n })\n}\n\nconst getNavbarElement = (source) => {\n if (source === 'desktop') {\n return { navbarClassName: 'navbar-cart', itemsCountClassName: 'items-count'}\n } else {\n return { navbarClassName: 'cart-line-item', itemsCountClassName: 'items-number'}\n }\n}\n\nconst updateNavbarCart = (cart, source) => {\n if (!source) { return null }\n\n const { userCartItemsCount } = cart\n const itemsCount = userCartItemsCount < 1000 ? userCartItemsCount : '999+'\n const { navbarClassName, itemsCountClassName } = getNavbarElement(source)\n\n const navbarCartContainer = document.getElementsByClassName(navbarClassName)\n const itemsCountContainer = document.getElementsByClassName(itemsCountClassName)\n\n if (navbarCartContainer.length < 1) {\n return null\n }\n\n if (itemsCountContainer.length < 1) {\n const newItemsCountContainer = document.createElement('div')\n newItemsCountContainer.className = itemsCountClassName\n newItemsCountContainer.innerHTML = itemsCount\n navbarCartContainer[0].appendChild(newItemsCountContainer)\n } else {\n itemsCountContainer[0].innerHTML = itemsCount\n }\n}\n\nconst onCompleted = (addItemsToCart, onError, onSuccess, params, source) => {\n if (addItemsToCart.errors) {\n\n onError(JSON.parse(addItemsToCart.errors))\n } else {\n onSuccess(addItemsToCart.cart)\n updateNavbarCart(addItemsToCart.cart, source)\n }\n}\n\n// TODO: Remove this? replace by addToCartContext\nexport const addToCart = async ({\n params = {},\n onError = () => {},\n onSuccess = () => {},\n clickAt,\n source = 'desktop'\n}) => {\n\n try {\n const { data } = await client.mutate({\n mutation: ADD_TO_CART_MUTATION,\n variables: params\n })\n\n // TODO: replace this with function like app/javascript/components/AddToCart/contextProviders/utils.js\n sendMixpanelEvents(data.addItemsToCart.cart, clickAt, source)\n sendGAAddToCart(data.addItemsToCart.cart, source)\n\n await onCompleted(\n data.addItemsToCart,\n onError,\n onSuccess,\n params,\n source\n )\n } catch (err) {\n // Catch to prevent uncatch error from server and cause render to break\n if (process.env.NODE_ENV == 'development') {\n console.log(err)\n if (err || err.message) console.log(err.message)\n }\n }\n}\n\nconst onDeleteCompleted = (data, onError, onSuccess) => {\n if (data.errors) {\n onError(JSON.parse(data.errors))\n } else {\n onSuccess(data.cart)\n updateNavbarCart(data.cart)\n }\n}\n\nexport const deleteCartItems = async ({\n params = {},\n onError = () => {},\n onSuccess = () => {}\n}) => {\n const { data } = await client.mutate({\n mutation: REMOVE_CART_ITEMS_MUTATION,\n variables: params\n })\n\n await onDeleteCompleted(data.removeCartItems, onError, onSuccess)\n}\n\nexport const getItemErrors = (errors, itemId) => {\n const findError = errors.find(x => x.external_id === itemId) || errors.find(x => x.id === itemId)\n return findError && findError.errors\n}\n"],"names":["BackgroundWhite","styled","div","_templateObject","_taggedTemplateLiteral","props","theme","colors","white","BackGroundBlue500","_templateObject2","blue50","ContentContainer","_templateObject3","SectionContainer","_templateObject4","screen","desktop","LoadingSpinner","i","_templateObject5","PRODUCT_CATEGORY_QUERY","gql","Watcher","Wrapper","zinc200","$offset","FlexBox","$gap","getCardStyle","_ref","$type","$highlight","css","zinc300","mainBlue","zinc100","_templateObject6","textPlaceholder","textDisabled","_templateObject7","Card","_templateObject8","$hideIcon","CardLink","attrs","as","Link","_templateObject11","en","ProductCategoryVariantDisplayNavbar","overview","variants","downloads","brands","diyNIdeas","itemsTable","questionsAnswers","buyingGuide","th","_ref3","slug","source","initializeI18n","localeFiles","translations","_useIntersectionObser","useIntersectionObserverContext","getHTMLType","onScrollToViewPort","_useInViewContext","useInViewContext","ref","inView","offset","hideIcon","React","Fragment","Styled","SECTIONS","map","key","icon","text","onClick","i18n","t","renderSections","LINKS","_ref2","index","_ref2$getType","getType","path","newTab","highlight","href","locale","target","rel","renderLinks","BORDER_WRAPPER_STYLE","border","concat","borderRadius","padding","ProductCategoryVariantDisplayTemplate","attributesState","editable","_useProductCategoryQu","useQuery","variables","useProductCategoryQuery","loading","data","error","dataSource","productCategory","ProductCategoryVariantListNavBar","ProductCategoryVariantDisplayTemplateRender","id","name","description","className","Overview","ProductCategoryBrandList","ProductCategoryVariantList","first","useInView","ProductCategoryAttachments","customStyle","QuestionAndAnswer","titleAs","titleSize","type","RecentlyViewedItemList","navigateTo","ProductCategoryArticleListGrid","Description","title","imageMaxWidth","Container","SectionContainerWhite","SectionContainerBlue","ProductCategoryVariantDisplayCompactTemplate","fallback","ProductCategoryInfoLoading","ProductCategoryInfo","ProductCategoryAttributes","count","ChildrenListLoading","ChildrenList","BrandList","ProductCategoryVariantListCompact","headerSize","isMobile","column","gap","buyNow","ProductCategoryArticleListColumn","ProductCategoryDescriptionLoading","ProductCategoryDescription","_regeneratorRuntime","e","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","info","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","strings","raw","freeze","defineProperties","ADD_TO_CART_MUTATION","sendMixpanelEvents","cart","clickAt","addedItems","addedItem","quantity","newItemInCart","itemPrice","itemTotalPrice","item","product","productName","productSlug","productCategoryId","productCategoryName","eventName","mixpanelObj","itemId","itemName","trackEvent","sendGAAddToCart","triggerAddToCart","updateNavbarCart","userCartItemsCount","itemsCount","_getNavbarElement","navbarClassName","itemsCountClassName","getNavbarElement","navbarCartContainer","document","getElementsByClassName","itemsCountContainer","newItemsCountContainer","createElement","innerHTML","appendChild","onCompleted","addItemsToCart","onError","onSuccess","params","errors","JSON","parse","addToCart","_ref4","_callee","_ref3$params","_ref3$onError","_ref3$onSuccess","_ref3$source","_yield$client$mutate","_context","client","mutate","mutation","t0","_x","getItemErrors","findError","find","x","external_id"],"sourceRoot":""}