{"version":3,"file":"chunks/76e92b2e0ac8bf.js","mappings":"gKAIA,MAAMA,EAAe,CACnBC,4BAA6B,SAC7BC,kCAAmC,UAE/BC,EAAO,IAAM,GAGnB,MAAMC,UAAyB,EAAAC,UAC7BC,YAAYC,GACVC,MAAMD,IACN,OAAgBE,KAAM,mBAAmB,KAAM,CAC7CR,4BAA6BQ,KAAKC,yBAEpC,OAAgBD,KAAM,uBAAuB,KAC3C,MAAM,KACJE,GACEF,KAAKF,OACH,4BACJN,EAA8BE,GAC5BM,KAAKG,QACT,MAAO,IAAIX,IAA+BU,EAAK,KAEjD,OAAgBF,KAAM,6BAA6B,KACjD,MAAM,kCACJP,EAAoCC,GAClCM,KAAKG,QACT,OAAOV,GAAmC,IAE5CO,KAAKI,aAAe,CAClBZ,4BAA6BQ,KAAKC,oBAClCR,kCAAmCO,KAAKK,0BAE5C,CACAC,SACE,MAAM,SACJC,GACEP,KAAKF,MACT,OAAoB,gBAAoB,mBAAgC,CACtEU,MAAOR,KAAKI,cACXG,EACL,GAEF,OAAgBZ,EAAkB,eAAgBJ,IAClD,OAAgBI,EAAkB,oBAAqBJ,GACvD,U,0BC5CA,MAiBA,EAjByB,EACvBW,OACAK,eAEA,MAAME,GAAU,EAAAC,EAAA,GAAcR,GACxBS,GAAmB,EAAAC,EAAA,KACnBpB,GAA8B,IAAAqB,cAAY,IACvC,IAAIF,EAAiBnB,8BAA+BiB,EAAQK,UAClE,CAACH,EAAkBF,IAChBD,GAAQ,IAAAO,UAAQ,KAAM,CAC1BvB,8BACAC,kCAAmCkB,EAAiBlB,qCAClD,CAACkB,EAAkBnB,IACvB,OAAoB,gBAAoB,mBAAgC,CACtEgB,MAAOA,GACND,EAAS,ECVd,EALiCT,IAC/B,IAAIkB,EAEJ,OADkC,MAAO,KAAiF,QAAhCA,EAAe,UAA0C,IAAjBA,OAA0B,EAASA,EAA4C,iCAC7K,OAAa,oDAAmE,gBAAoBC,EAAwBnB,GAAsB,gBAAoBoB,EAAwBpB,EAAM,C,qGCH1O,MAAMP,EAAe,CACnBE,kCAAmC,SACnCD,4BAA6B,UAEzBE,EAAO,IAAM,GAGnB,MAAMyB,UAA0B,EAAAvB,UAC9BC,YAAYC,GACVC,MAAMD,IACN,OAAgBE,KAAM,mBAAmB,KAAM,CAC7CP,kCAAmCO,KAAKK,0BACxCb,4BAA6BQ,KAAKR,iCAEpC,OAAgBQ,KAAM,6BAA6B,KACjD,MAAM,QACJoB,EAAO,QACPC,GACErB,KAAKF,OACH,kCACJL,EAAoCC,GAClCM,KAAKG,QAMT,MAAO,CALS,CAACmB,EAAOC,KACN,MAAZH,GAAmBA,IAAYG,GACjCF,EAAQC,EAAOC,EACjB,KAEkB9B,IAAoC,KAE1D,OAAgBO,KAAM,+BAA+B,KACnD,MAAM,4BACJR,EAA8BE,GAC5BM,KAAKG,QACT,OAAOX,GAA6B,IAEtCQ,KAAKI,aAAe,CAClBZ,4BAA6BQ,KAAKR,4BAClCC,kCAAmCO,KAAKK,0BAE5C,CACAC,SACE,MAAM,SACJC,GACEP,KAAKF,MACT,OAAoB,gBAAoB,mBAAgC,CACtEU,MAAOR,KAAKI,cACXG,EACL,GAEF,OAAgBY,EAAmB,eAAgB5B,IACnD,OAAgB4B,EAAmB,oBAAqB5B,GACxD,U,0BCnDA,MA0BA,EA1B0B,EACxBgB,WACAa,UACAC,cAEA,MAAMV,GAAmB,EAAAC,EAAA,KACnBY,GAAa,EAAAd,EAAA,GAAcW,GAC3BI,GAAa,EAAAf,EAAA,GAAcU,GAC3B3B,GAAoC,IAAAoB,cAAY,IAM7C,IAAIF,EAAiBlB,oCALR,CAAC6B,EAAOC,KACC,MAAvBE,EAAWX,SAAmBW,EAAWX,UAAYS,GACvDC,EAAWV,QAAQQ,EAAOC,EAC5B,IAGD,CAACZ,EAAkBc,EAAYD,IAC5BhB,GAAQ,IAAAO,UAAQ,KACb,CACLtB,oCACAD,4BAA6BmB,EAAiBnB,+BAE/C,CAACmB,EAAkBlB,IACtB,OAAoB,gBAAoB,mBAAgC,CACtEe,MAAOA,GACND,EAAS,ECnBd,EALkCT,IAChC,IAAIkB,EAEJ,OADkC,MAAO,KAAiF,QAAhCA,EAAe,UAA0C,IAAjBA,OAA0B,EAASA,EAA4C,iCAC7K,OAAa,oDAAmE,gBAAoBU,EAAyB5B,GAAsB,gBAAoB6B,EAAyB7B,EAAM,C,6DCLrO,MAAMc,EAAsB,KAC1B,IAAAgB,YAAW,U,4DCIL,MAAMC,EACnBhC,YAAYC,IACV,OAAgBE,KAAM,qBAAqB,IAC3C,OAAgBA,KAAM,SAAS,KAG7B,MAAM8B,EAAU,IACX9B,KAAK8B,SAEV,OAAO,IAAID,EAAe,CACxBC,WACA,IAEJ9B,KAAK8B,QAAUhC,EAAMgC,OACvB,CACAC,OAAOC,GAUL,MATuB,mBAAZA,IACThC,KAAK8B,QAAUE,EAAQhC,KAAK8B,UAEP,iBAAZE,IACThC,KAAK8B,QAAU,IACV9B,KAAK8B,WACLE,IAGAhC,IACT,ECzBa,MAAMiC,UAAyBJ,EAC5ChC,YAAYC,GACVC,MAAMD,IACN,OAAgBE,KAAM,uBAAuB,IAC7C,OAAgBA,KAAM,SAAS,KAC7B,GAAIA,KAAKkC,SAKP,OAAO,KAET,MAAM/B,EAAU,IAAIH,KAAKG,SACnBgC,EAAW,IAAInC,KAAKmC,UAOpBL,EAAUM,KAAKC,MAAMD,KAAKE,UAAUtC,KAAK8B,UAC/C,OAAO,IAAIG,EAAiB,CAC1B9B,UACAgC,WACAL,WACA,KAEJ,OAAgB9B,KAAM,QAAQoB,IACxBpB,KAAKkC,WAOTlC,KAAKmC,SAASI,SAAQC,GAAWA,EAAQxC,KAAMoB,KAC/CpB,KAAKkC,UAAW,EAAI,IAEtBlC,KAAKG,QAAUL,EAAMK,SAAW,GAChCH,KAAKmC,SAAWrC,EAAMqC,UAAY,GAClCnC,KAAKkC,UAAW,CAClB,CACAH,OAAOC,GACL,OAAIhC,KAAKkC,SAKAlC,KAEFD,MAAMgC,OAAOC,EACtB,E,eCxDK,SAASS,IACd,MAAM9B,GAAmB,EAAAC,EAAA,KAQzB,MAAO,CACL8B,sBAR2B,SAAeZ,GACnC,IAAIG,EAAiB,CAC1B9B,QAASQ,EAAiBnB,8BAC1B2C,SAAUxB,EAAiBlB,oCAC3BqC,aAED,CAACnB,IAIN,C,kDCdO,MAAMD,EAAgBF,IAC3B,MAAMmC,GAAM,IAAAC,QAAOpC,GAEnB,OADAmC,EAAI7B,QAAUN,EACPmC,CAAG,C,iBCJZ,IAAIE,EAAMC,EAAU9B,EAAc+B,EAAWC,E,iBAG7C,MACMC,IADsR,QAAxQJ,OAAyPK,KAAlO,OAAfC,iBAAsC,IAAfA,YAAqE,QAAnCL,EAAWK,WAAWC,eAAkC,IAAbN,GAAiE,QAAjC9B,EAAe8B,EAASO,WAAkC,IAAjBrC,OAA9H,EAAiKA,EAAasC,uBAAoD,IAATT,GAAkBA,IAClC,gBAAlO,OAAfM,iBAAsC,IAAfA,YAAsE,QAApCJ,EAAYI,WAAWC,eAAmC,IAAdL,GAAoE,QAAnCC,EAAgBD,EAAUM,WAAmC,IAAlBL,OAAlI,EAAsKA,EAAcO,UACzPC,EAAQ,IAAIC,KAClBR,GAKLS,QAAQF,SAASC,EAAK,ECVlBE,EAAU,mCACHC,EAAiB,6BACxBC,OAAmC,IAAZ,SAAkD,IAAhB,GAazDC,IAVyBD,GAEO,SAAtC,GAAgC,sBAKSA,GAEO,SAAhD,GAA0C,6BAEpCE,EAAqB,CAGzBC,mBAAoB,IAAIC,IACxBC,gBAAiB,SAAUC,GAKzB,OAAO,CACT,GAEIC,EAA8B,oBAAXC,OAAyBA,OAASlB,WCXpD,SAASmB,EAAaC,GAC3B,ODsBK,SAA4BJ,GACjC,GAAIL,EAEF,OADAN,EAAM,kGAAmGG,EAASQ,IAC3G,EAET,IACE,IAAIK,EACJ,MAAMC,EAAkE,QAAxDD,EAAyBJ,EAAUR,UAAwD,IAA3BY,OAAoC,EAASA,EAAuBN,gBAAgBC,GACpK,MAAsB,kBAAXM,GAETf,QAAQgB,KAAK,GAAGP,kEACT,GAEFM,CACT,CAAE,MAAOE,GACP,OAAO,CACT,CACF,CCvCS,CAAmBJ,EAC5B,CDUAH,EAAUR,GAAkBQ,EAAUR,IAAmBG,C,wEE5BrDa,EAAkB,o9HAElBC,GAA6B,QAAQ,SAAUC,GACjD,OAAOF,EAAgBG,KAAKD,IAAgC,MAAvBA,EAAKE,WAAW,IAE3B,MAAvBF,EAAKE,WAAW,IAEhBF,EAAKE,WAAW,GAAK,EAC1B,I,WCEIC,EAAiB,SAAwBC,EAAOC,EAAYC,GAC9D,IAAIC,EAAYH,EAAMI,IAAM,IAAMH,EAAWZ,MAO5B,IAAhBa,QAIwDlC,IAAhCgC,EAAMK,WAAWF,KACxCH,EAAMK,WAAWF,GAAaF,EAAWK,OAE7C,E,sBCnBIC,EAA2BZ,EAE3Ba,EAA2B,SAAkCJ,GAC/D,MAAe,UAARA,CACT,EAEIK,EAA8B,SAAqCC,GACrE,MAAsB,iBAARA,GAGdA,EAAIZ,WAAW,GAAK,GAAKS,EAA2BC,CACtD,EACIG,EAA4B,SAAmCD,EAAKE,EAASC,GAC/E,IAAIC,EAEJ,GAAIF,EAAS,CACX,IAAIG,EAA2BH,EAAQE,kBACvCA,EAAoBJ,EAAIM,uBAAyBD,EAA2B,SAAUE,GACpF,OAAOP,EAAIM,sBAAsBC,IAAaF,EAAyBE,EACzE,EAAIF,CACN,CAMA,MAJiC,mBAAtBD,GAAoCD,IAC7CC,EAAoBJ,EAAIM,uBAGnBF,CACT,EAIII,EAAY,SAAmBvD,GACjC,IAAIqC,EAAQrC,EAAKqC,MACbC,EAAatC,EAAKsC,WAClBC,EAAcvC,EAAKuC,YAMvB,OALAH,EAAeC,EAAOC,EAAYC,IAClC,QAAyC,WACvC,ODjBe,SAAsBF,EAAOC,EAAYC,GAC1DH,EAAeC,EAAOC,EAAYC,GAClC,IAAIC,EAAYH,EAAMI,IAAM,IAAMH,EAAWZ,KAE7C,QAAwCrB,IAApCgC,EAAMmB,SAASlB,EAAWZ,MAAqB,CACjD,IAAIzD,EAAUqE,EAEd,GACED,EAAMoB,OAAOnB,IAAerE,EAAU,IAAMuE,EAAY,GAAIvE,EAASoE,EAAMqB,OAAO,GAElFzF,EAAUA,EAAQ0F,gBACCtD,IAAZpC,EACX,CACF,CCIW2F,CAAavB,EAAOC,EAAYC,EACzC,IAEO,IACT,ECrCIsB,EDuCe,SAASC,EAAaf,EAAKE,GAO5C,IAEIc,EACAC,EAHAd,EAASH,EAAIkB,iBAAmBlB,EAChCmB,EAAUhB,GAAUH,EAAIoB,gBAAkBpB,OAI9B1C,IAAZ4C,IACFc,EAAiBd,EAAQmB,MACzBJ,EAAkBf,EAAQoB,QAG5B,IAAIlB,EAAoBH,EAA0BD,EAAKE,EAASC,GAC5DoB,EAA2BnB,GAAqBL,EAA4BoB,GAC5EK,GAAeD,EAAyB,MAC5C,OAAO,WACL,IAAI1D,EAAO4D,UACP7B,EAASO,QAAmC7C,IAAzB0C,EAAI0B,iBAAiC1B,EAAI0B,iBAAiBC,MAAM,GAAK,GAM5F,QAJuBrE,IAAnB0D,GACFpB,EAAOgC,KAAK,SAAWZ,EAAiB,KAG3B,MAAXnD,EAAK,SAA8BP,IAAhBO,EAAK,GAAGgE,IAC7BjC,EAAOgC,KAAKE,MAAMlC,EAAQ/B,OACrB,CAKL+B,EAAOgC,KAAK/D,EAAK,GAAG,IAIpB,IAHA,IAAIkE,EAAMlE,EAAKmE,OACXC,EAAI,EAEDA,EAAIF,EAAKE,IAKdrC,EAAOgC,KAAK/D,EAAKoE,GAAIpE,EAAK,GAAGoE,GAEjC,CAGA,IAAIC,GAAS,IAAAC,IAAiB,SAAUjI,EAAOoF,EAAOvC,GACpD,IDpGuB4C,EAAYyC,EAAkBC,EACrDC,ECmGIC,EAAWf,GAAetH,EAAMsI,IAAMrB,EACtC1B,EAAY,GACZgD,EAAsB,GACtBC,EAAcxI,EAElB,GAAmB,MAAfA,EAAMyI,MAAe,CAGvB,IAAK,IAAIjD,KAFTgD,EAAc,CAAC,EAECxI,EACdwI,EAAYhD,GAAOxF,EAAMwF,GAG3BgD,EAAYC,MAAQ,aAAiB,EAAAC,EACvC,CAE+B,iBAApB1I,EAAMuF,WDnHME,ECoHWL,EAAMK,WDpHLyC,ECoHiBK,EDpHCJ,ECoHoBnI,EAAMuF,UDnH/E6C,EAAe,GACnBD,EAAWQ,MAAM,KAAKlG,SAAQ,SAAU8C,QACRnC,IAA1BqC,EAAWF,GACb2C,EAAiBR,KAAKjC,EAAWF,GAAa,KAE9C6C,GAAgB7C,EAAY,GAEhC,IC4GMA,ED3GC6C,GC4G2B,MAAnBpI,EAAMuF,YACfA,EAAYvF,EAAMuF,UAAY,KAGhC,IAAIF,GAAa,OAAgBK,EAAOkD,OAAOL,GAAsBnD,EAAMK,WAAY+C,GACvFjD,GAAaH,EAAMI,IAAM,IAAMH,EAAWZ,UAElBrB,IAApB2D,IACFxB,GAAa,IAAMwB,GAGrB,IAAI8B,EAAyBvB,QAAqClE,IAAtB8C,EAAkCL,EAA4BwC,GAAYhB,EAClHyB,EAAW,CAAC,EAEhB,IAAK,IAAIC,KAAQ/I,EACXsH,GAAwB,OAATyB,GAGnBF,EAAuBE,KACrBD,EAASC,GAAQ/I,EAAM+I,IAM3B,OAFAD,EAASvD,UAAYA,EACrBuD,EAASjG,IAAMA,EACK,gBAAoB,WAAgB,KAAmB,gBAAoByD,EAAW,CACxGlB,MAAOA,EACPC,WAAYA,EACZC,YAAiC,iBAAb+C,IACL,gBAAoBA,EAAUS,GACjD,IAwBA,OAvBAd,EAAOgB,iBAAiC5F,IAAnB0D,EAA+BA,EAAiB,WAAgC,iBAAZG,EAAuBA,EAAUA,EAAQ+B,aAAe/B,EAAQxC,MAAQ,aAAe,IAChLuD,EAAOiB,aAAenD,EAAImD,aAC1BjB,EAAOhB,eAAiBgB,EACxBA,EAAOd,eAAiBD,EACxBe,EAAOR,iBAAmB9B,EAC1BsC,EAAO5B,sBAAwBF,EAC/BgD,OAAOC,eAAenB,EAAQ,WAAY,CACxCtH,MAAO,WAML,MAAO,IAAMqG,CACf,IAGFiB,EAAOoB,cAAgB,SAAUC,EAASC,GACxC,OAAOzC,EAAawC,GAAS,OAAS,CAAC,EAAGrD,EAASsD,EAAa,CAC9DpD,kBAAmBH,EAA0BiC,EAAQsB,GAAa,MAChE1B,WAAM,EAAQlC,EACpB,EAEOsC,CACT,CACF,EClK6BuB,OAHlB,CAAC,IAAK,OAAQ,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,OAAQ,MAAO,MAAO,MAAO,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,OAAQ,OAAQ,MAAO,WAAY,OAAQ,WAAY,KAAM,MAAO,UAAW,MAAO,SAAU,MAAO,KAAM,KAAM,KAAM,QAAS,WAAY,aAAc,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQ,SAAU,SAAU,KAAM,OAAQ,IAAK,SAAU,MAAO,QAAS,MAAO,MAAO,SAAU,QAAS,SAAU,KAAM,OAAQ,OAAQ,MAAO,OAAQ,UAAW,OAAQ,WAAY,OAAQ,QAAS,MAAO,WAAY,SAAU,KAAM,WAAY,SAAU,SAAU,IAAK,QAAS,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,SAAU,UAAW,SAAU,QAAS,SAAU,OAAQ,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,QAAS,KAAM,QAAS,OAAQ,QAAS,KAAM,QAAS,IAAK,KAAM,MAAO,QAAS,MAC77B,SAAU,WAAY,OAAQ,UAAW,gBAAiB,IAAK,QAAS,OAAQ,iBAAkB,OAAQ,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,MAAO,OAAQ,SAGhM9G,SAAQ,SAAU+G,GAErB5C,EAAU4C,GAAW5C,EAAU4C,EACjC,G,kDChBA,iBAsCA,IAAYC,EALAC,EALAC,EATC,KAAQ,WASTA,EAAA,YAAW,KACrB,wBACA,6BAGUD,EAAA,YAAU,KACpB,cACA,iBAGUD,EAAA,YAAe,KACzB,YACA,gBASa,EAAAG,IACA,EAAAC,KACM,EAAAC,GACE,EAAAA,GACA,KACI,EAAAC,KACE,EAAAD,GAGd,EAAAA,GACA,EAAAD,KACM,EAAAG,IACE,EAAAA,IACA,KACI,EAAAD,KACE,EAAAE,IAGd,EAAAJ,KACA,EAAAC,GACS,EAAAA,GACD,EAAAA,GACA,EAAAA,GACI,EAAAI,KACE,EAAAJ,GAGd,EAAAK,KACA,EAAAL,GACS,EAAAA,GACD,EAAAA,GACA,EAAAA,GACI,EAAAI,KACE,EAAAJ,GAGd,EAAAM,KACA,EAAAN,GACS,EAAAA,GACD,EAAAA,GACA,EAAAA,GACI,EAAAI,KACE,EAAAJ,GAKhB,KAA4C,IAAI3F,IAK7D,SAAyB,OAAQ,EAAAkG,MACjC,SAAyB,OAAQ,EAAAC,MACjC,SAAyB,OAAQ,EAAAC,MACjC,SAAyB,OAAQ,EAAAC,MACjC,SAAyB,OAAQ,EAAAC,MACjC,SAAyB,OAAQ,EAAAC,K,4GAvF1B,MAAMC,EAAQ,UACRC,EAAe,EACfC,EAAiB,IAKjBC,EAAuB,CAAEC,UAAW,KAEjD,IAAYpB,EAKAD,EAKAD,GAVZ,SAAYE,GACV,0BACA,2BACD,CAHD,CAAYA,IAAAA,EAAW,KAKvB,SAAYD,GACV,gBACA,eACD,CAHD,CAAYA,IAAAA,EAAU,KAKtB,SAAYD,GACV,cACA,eACD,CAHD,CAAYA,IAAAA,EAAe,KAOpB,MAAMuB,EAET,CACFC,IAAK,CACHC,UAAW,EAAAtB,IACXuB,UAAW,EAAAtB,KACXuB,gBAAiB,EAAAtB,GACjBuB,eAAgB,GAAG,EAAAvB,OACnBwB,kBAAmBX,EACnBY,sBAAuB,EAAAxB,KACvByB,wBAAyB,EAAA1B,IAE3B2B,GAAI,CACFP,UAAW,EAAApB,GACXqB,UAAW,EAAAtB,KACXuB,gBAAiB,EAAApB,IACjBqB,eAAgB,GAAG,EAAArB,QACnBsB,kBAAmBX,EACnBY,sBAAuB,EAAAxB,KACvByB,wBAAyB,EAAAvB,KAE3ByB,KAAM,CACJR,UAAW,EAAArB,KACXsB,UAAW,EAAArB,GACXsB,gBAAiB,GAAG,EAAAtB,OACpBuB,eAAgB,GAAG,EAAAvB,OACnBwB,kBAAmB,EAAAxB,GACnByB,sBAAuB,EAAArB,KACvBsB,wBAAyB,EAAA1B,IAE3B6B,KAAM,CACJT,UAAW,EAAAf,KACXgB,UAAW,EAAArB,GACXsB,gBAAiB,GAAG,EAAAtB,OACpBuB,eAAgB,GAAG,EAAAvB,OACnBwB,kBAAmB,EAAAxB,GACnByB,sBAAuB,EAAArB,KACvBsB,wBAAyB,EAAA1B,IAE3B8B,KAAM,CACJV,UAAW,EAAAd,KACXe,UAAW,EAAArB,GACXsB,gBAAiB,GAAG,EAAAtB,OACpBuB,eAAgB,GAAG,EAAAvB,OACnBwB,kBAAmB,EAAAxB,GACnByB,sBAAuB,EAAArB,KACvBsB,wBAAyB,EAAA1B,KAKhB+B,EAA4C,IAAI1H,IAK7D0H,EAAqBC,IAAI,OAAQ,EAAAzB,MACjCwB,EAAqBC,IAAI,OAAQ,EAAAxB,MACjCuB,EAAqBC,IAAI,OAAQ,EAAAvB,MACjCsB,EAAqBC,IAAI,OAAQ,EAAAtB,MACjCqB,EAAqBC,IAAI,OAAQ,EAAArB,MACjCoB,EAAqBC,IAAI,OAAQ,EAAApB,MAG1B,MAAMqB,EAAuB,CAClCC,eAAgB,6BAChBC,eAAgB,8B,eC7GlB,MAAMC,EAAY,wBAELC,GAAW,QAAe,CACrCC,QAAS,CACPC,GAAI,GAAGH,WACPI,eAAgB,4BAElBC,WAAY,CACVF,GAAI,GAAGH,UACPI,eAAgB,gBAElBE,WAAY,CACVH,GAAI,GAAGH,UACPI,eAAgB,gBAElBG,WAAY,CACVJ,GAAI,GAAGH,UACPI,eAAgB,gBAElBI,cAAe,CACbL,GAAI,GAAGH,kBACPI,eAAgB,mBAElBK,cAAe,CACbN,GAAI,GAAGH,kBACPI,eAAgB,mBAElBM,cAAe,CACbP,GAAI,GAAGH,kBACPI,eAAgB,mBAElBO,WAAY,CACVR,GAAI,GAAGH,cACPI,eAAgB,gBAElBQ,WAAY,CACVT,GAAI,GAAGH,cACPI,eAAgB,gBAElBS,WAAY,CACVV,GAAI,GAAGH,cACPI,eAAgB,gBAElBU,iBAAkB,CAChBX,GAAI,GAAGH,oBACPI,eAAgB,iHAElBW,iBAAkB,CAChBZ,GAAI,GAAGH,oBACPI,eAAgB,iHAElBY,iBAAkB,CAChBb,GAAI,GAAGH,oBACPI,eAAgB,iHAElBa,cAAe,CACbd,GAAI,GAAGH,iBACPI,eAAgB,gDAElBc,cAAe,CACbf,GAAI,GAAGH,iBACPI,eAAgB,gDAElBe,cAAe,CACbhB,GAAI,GAAGH,iBACPI,eAAgB,gDAElBgB,oBAAqB,CACnBjB,GAAI,GAAGH,uBACPI,eAAgB,0DCjEb,SAASiB,GAAqB,gBACnCC,EAAe,kBACflC,EAAiB,OACjBmC,IAEA,OACE,gBAACC,EAAe,KACd,gBAACC,EAAmB,KACjBH,GACC,gBAACI,EAAiB,CAACtC,kBAAmBA,GACpC,gBAAC,KAAoB,iBACJ,GAAVmC,EACD,OAAD,UAAMtB,EAASO,eACJ,GAAVe,EACA,OAAD,UAAMtB,EAASQ,eACd,OAAD,UAAMR,EAASS,kBAIxB,gBAACiB,EAAa,CAACxB,GAAI,QAAUoB,GAC3B,gBAAC,KAAoB,iBACJ,GAAVA,EACD,OAAD,UAAMtB,EAASI,YACJ,GAAVkB,EACA,OAAD,UAAMtB,EAASK,YACd,OAAD,UAAML,EAASM,eAGtB,gBAACqB,EAAU,CAACzB,GAAI,QAAUoB,GACxB,gBAAC,KAAoB,iBACJ,GAAVA,EACD,OAAD,UAAMtB,EAASU,YACJ,GAAVY,EACA,OAAD,UAAMtB,EAASW,YACd,OAAD,UAAMX,EAASY,eAGtB,gBAACgB,EAAgB,CAAC1B,GAAI,cAAgBoB,GACpC,gBAAC,KAAoB,iBACJ,GAAVA,EACD,OAAD,UAAMtB,EAASa,kBACJ,GAAVS,EACA,OAAD,UAAMtB,EAASc,kBACd,OAAD,UAAMd,EAASe,sBAM9B,CAEO,MAAMW,EAAgB,OAAU;;;;;;;EAS1BH,EAAkB,OAAU;;;;;;EAQ5BC,EAAsB,OAAU;;;;;EAOhCC,EAAoB,OAA0C;;;;;;;;;WAS/D5N,GAAUA,EAAMsL;EAGfwC,EAAa,OAAU;;;;;;;;;;;;;EAevBC,EAAmB,OAAU;;;;;;ECjG7BC,EAAc,CACzBC,EACAC,EACAC,EACAX,EACAY,EACAC,KAEA,MAAMC,EAAW,GACjB,IAAK,IAAIb,EAAS,EAAGA,GAAU7C,EAAc6C,IAC3Ca,EAAS5G,KACP,gBAAC6G,EAAI,CACH/I,IAAKiI,EACLlI,UAAW,YAAYkI,IACvBW,YAAaA,EACbI,KAAK,SACLC,SAAU,EACVC,QAAU7J,GAAMoJ,EAAiBR,EAAQ5I,GACzC8J,UAAY9J,GAAMqJ,EAAgBT,EAAQ5I,GAAE,kBAC3B,QAAU4I,EAAM,mBACf,QAAUA,EAAS,eAAiBA,GAErDU,GACC,gBAACS,EAAQ,CACPpJ,IAAKiI,EACLlI,UAAW,UAAUkI,IACrBY,SAAUA,IAGd,gBAACd,EAAoB,CACnBjC,kBAAmB8C,EAAY9C,kBAC/BkC,gBAAiBA,EACjBC,OAAQA,MAKhB,OAAOa,CAAQ,EAGJC,EAAO,OAAqB;;;;;;;;;;;;;;;;;;;;EAsB5BK,EAAW,OAAyB;;sBAE1B5O,GACnBA,EAAMqO,UACNxC,EAAqBgD,IAAI7O,EAAMqO,WAC/BxC,EAAqBiD,IAAI9O,EAAMqO;;;;;;;ECtE5B,SAASU,GAAc,cAC5BC,EAAa,iBACbf,EAAgB,gBAChBC,EAAe,eACfe,EAAc,YACdb,EAAW,WACXD,EAAU,SACVE,EAAQ,gBACRb,IAEA,OACE,gBAAC0B,EAAiB,CAChBF,cAAeA,EACfC,eAAgBA,EAChBb,YAAaA,GAEZJ,EACCC,EACAC,EACAC,EACAX,EACAY,EACAC,GAIR,CAEO,MAAMa,EAAoB,OAAkC;;;;;;WAMvDlP,GAAUA,EAAMiP;;;;;;0BAMDjP,GAAUA,EAAMoO,YAAY/C;;;;;;;;;;;;cAYxCrL,GAAUA,EAAMgP;wBACNhP,GAAUA,EAAMoO,YAAYhD;;;0BAG1BpL,GAAUA,EAAMoO,YAAYhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6BrCpL,GAAU,eAA2C,KAA3BA,EAAMgP,cAAgB;;;;;;;ECvE3D,SAASG,GAAe,cAC7BH,EAAa,eACbC,EAAc,UACdG,EAAS,iBACTC,EAAgB,KAChBC,EAAI,aACJC,EAAY,WACZC,IAEA,MAAOC,EAAUC,IAAe,IAAAC,WAAkB,GAC5CC,GAAwD,IAAA9M,QAAO,MAE/D+M,EAAmBC,IACvB,MAAMC,EAAQD,EAAQ,IAAM,CAAC,GACvB,eAAEE,GAAmBD,EAC3BL,IAAcM,GACdT,IAAeS,EAAe,EAehC,OAZA,IAAAC,YAAU,KACHL,EAAa5O,SAID,IAAIkP,qBACnBL,EACA/E,GAEOqF,QAAQP,EAAa5O,QAAQ,GACrC,CAAC4O,IAGF,gBAACQ,EAAkB,CAACvN,IAAK+M,EAAcX,eAAgBA,GACrD,gBAACoB,EAAY,CAACrB,cAAeA,GAC1BsB,EACClB,EACAC,EACAC,EACAN,EACAQ,EACAC,IAKV,CAEA,MAAMa,EAAc,CAClBlB,EACAC,EACAC,EACAN,EACAQ,EACAC,KAEA,MAAMc,EAAc,IAAIpM,IACpBiL,IAAc1F,EAAW8G,QAE3B,IAAAP,YAAU,KACR,IAAK,MAAOQ,EAASC,KAAUH,EAAYT,WACpCY,aAAK,EAALA,EAAO1P,UAAY0P,EAAM1P,QAAQ2P,OAIlCF,IAAYzB,GAAiBS,GAC/BiB,EAAM1P,QAAQ4P,YAAc,EAC5BF,EAAM1P,QAAQ2P,QAEdD,EAAM1P,QAAQ6P,Q,GAGjB,CAAC7B,EAAeS,IAGrB,MAAMqB,EAAY,GAClB,IAAK,IAAIrD,EAAS,EAAGA,GAAU7C,EAAc6C,IAAU,CACrD,MAAMzN,EAAQgP,IAAkBvB,EAAS,CAAEgB,SAAU,GAAM,CAAEA,UAAW,GAExE,IAAIsC,EACJ,GAAI3B,IAAc1F,EAAW8G,MAAO,CAClC,MAAM3N,GAAM,IAAAmO,aAEZD,EACE,yBACElO,IAAKA,EACLoO,MAAM,OACNC,OAAO,OAAM,aACF,OACXC,QAAQ,OACRC,OAAO,EACP3C,UAAW,EACX4C,QAAS,IAAM7B,IACf8B,aAAa,GAEb,0BAAQC,IAAKlC,EAAiB5B,EAAS,KACtC6B,EAAKkC,cAAcrF,EAASmB,sBAIjCiD,EAAYzE,IAAI2B,EAAQ5K,E,MACfuM,IAAc1F,EAAW+H,QAClCV,EACE,uBACEE,MAAM,OACNC,OAAO,OACPK,IAAKlC,EAAiB5B,EAAS,GAE/BiE,IAAKpC,EAAKkC,cAAcrF,EAAS,eAAesB,SAKtDqD,EAAUpJ,KACR,gBAACiK,EAAK,eAACnM,IAAKiI,EAAQlI,UAAW,cAAckI,KAAczN,GACxD+Q,G,CAIP,OAAOD,CAAS,EAGLT,EAAe,OAA6B;;;;;;;;;;;;;;;;;;kBAkBtCrQ,GAAUA,EAAMgP;;;;;;;;;;iBAUjBhP,GAAU,eAA2C,KAA3BA,EAAMgP,cAAgB;;;EAKrDoB,EAAqB,OAAmC;;;;;;;;;WASzDpQ,GAAUA,EAAMiP;;;;;;;;;;;EAaf0C,EAAQ,OAAU;;;;EChMxB,SAASC,GAAoB,cAClC5C,EAAa,YACbZ,IAEA,OACE,gBAACyD,EAAuB,CACtB7C,cAAeA,EACfZ,YAAaA,GAEZ0D,EAAe1D,GAGtB,CAEA,MAAM0D,EAAkB1D,IACtB,MAAM2D,EAAc,GACpB,IAAK,IAAItE,EAAS,EAAGA,GAAU7C,EAAc6C,IAC3CsE,EAAYrK,KACV,gBAACsK,EAAQ,CACPxM,IAAKiI,EACLlI,UAAW,kBAAkBkI,IAC7BW,YAAaA,KAInB,OAAO2D,CAAW,EAGPF,EAA0B,OAGrC;;;;;;;;;;;;;;0BAcyB7R,GAAUA,EAAMoO,YAAY5C;;;sBAGhCxL,GAAUA,EAAMgP;0BACZhP,GAAUA,EAAMoO,YAAY7C;;;EAK1CyG,EAAW,OAAgD;;;;;;iBChCjE,SAASC,GAA2B,WACzCC,EAAU,YACV9D,EAAW,WACXD,EAAU,SACVE,EAAQ,gBACRb,EAAe,UACf4B,EAAS,iBACTC,EAAgB,KAChBC,IAEA,MAAON,EAAemD,IAAoB,IAAAxC,UAAS,IAC5CyC,EAAYC,IAAiB,IAAA1C,WAAS,IACtC2C,EAAYC,IAAiB,IAAA5C,UAAS,IACtC6C,EAAQC,IAAa,IAAA9C,UAAS,IAC9B+C,EAAWC,IAAgB,IAAAhD,UAAS,GACrCiD,EAA2C,SAAa,MACxDC,EAAwC,SAAa7D,GAErD8D,EACJ,iBAAkBvO,QAClBwO,UAAUC,eAAiB,GAC3BD,UAAUE,iBAAmB,GAEzB,qBAAErQ,IAAyB,EAAAD,EAAA,KACjC,IAAIuQ,EAAyB,OAAH,wBACrBnH,GAAoB,CACvBoH,OAAQ,UACRC,UAAW,KACXC,cAAe,SAGjB,MAiBMC,EAAuBC,IACvBA,IAAmBvE,IAInBuE,EAAiB,GAAKA,EAAiB3I,IAI3CuH,EAAiBoB,GAEjB3Q,EAAqB,OAAD,wBACfsQ,GAAsB,CACzBM,WAAYD,KACXE,QAAM,EAGLC,EAAY,CAACC,EAAyBC,KACtCd,GAAiBa,GACnBtB,GAAc,GACdI,EAAUkB,EAAWE,QAAQ,GAAGC,UACvBF,GAAcrP,OAAOwP,WAAa,MAC3C1B,GAAc,GACdI,EAAUmB,EAAWE,S,EAInBE,EAAO,CAACL,EAAyBC,KACjCxB,IACEU,GAAiBa,EACnBpB,EAAcoB,EAAWE,QAAQ,GAAGC,QAAUtB,GACrCoB,GAAcrP,OAAOwP,WAAa,KAC3CxB,EAAcqB,EAAWE,QAAUtB,G,EAKnCyB,EAAW,KACX7B,IACFC,GAAc,GAEV6B,KAAKC,IAAI7B,GAAc,KAEvB8B,EADE9B,EAAa,EACJ7I,EAAgB4K,KAEhB5K,EAAgB6K,O,EAM7BF,EAAcG,IAClB,IAAIC,EAAe3B,EAAY7R,QAE7BuT,IAAc9K,EAAgB4K,MAC9BrF,EAAgBK,EAAiBvH,OAEjC0M,GAAgB,EACPD,IAAc9K,EAAgB6K,OAAStF,EAAgB,IAChEwF,GAAgB,GAElBrC,EAAiBqC,GAEjB5R,EAAqB,OAAD,wBACfsQ,GAAsB,CACzBJ,cAAeA,EACfU,WAAYgB,KACXf,MAAM,EAGLgB,EAAgB,KACpB,MAAMC,EAAS7B,EAAY7R,QAAU,EACrCmR,EAAiBuC,EAAS9J,EAAe,EAAI8J,EAAO,EA0BhDC,EAAe,KACfvF,IAAc1F,EAAW+H,MAC3BmB,EAAW5R,QAAU4T,YAAW,KAC9BH,GAAe,GACd5J,GAEH8H,EAAakC,KAAKC,MAAQjK,E,EAgB9B,OAZA,IAAAoF,YAAU,KAER4C,EAAY7R,QAAUgO,EAGK,OAAvB4D,EAAW5R,SACb+T,aAAanC,EAAW5R,SAG1B2T,GAAc,GACb,CAAC3F,IAGF,gBAACgG,EAAqB,CAAC7J,UAAWiD,EAAYjD,WAC5C,gBAAC8J,EAAgB,KACf,gBAAC,KAAoB,iBAAK9I,EAASC,WAErC,gBAAC8I,EAAoB,CACnBC,aAAetQ,GAAM6O,EAAU7O,GAC/BuQ,YAAcvQ,GAAM6O,OAAUtQ,EAAWyB,GACzCwQ,YAAcxQ,GAAMmP,EAAKnP,GACzByQ,YAAczQ,GAAMmP,OAAK5Q,EAAWyB,GACpC0Q,WAAY,IAAMtB,IAClBuB,UAAW,IAAMvB,KAEjB,gBAAClF,EAAa,CACZC,cAAeA,EACff,iBAxJiB,CACvBsF,EACAkC,KAEAA,GAAcA,EAAWC,iBACzBpC,EAAoBC,EAAe,EAoJ7BrF,gBAjJgB,CACtBqF,EACAoC,KAEqB,MAAjBA,aAAQ,EAARA,EAAUnQ,MAA+B,UAAjBmQ,aAAQ,EAARA,EAAUnQ,MACpC8N,EAAoBC,E,EA6IhBtE,eAAgBiD,GAAcvI,EAAYiM,WAAa,EAAI,EAC3DxH,YAAaA,EACbD,WAAYA,EACZE,SAAUA,EACVb,gBAAiBA,IAEnB,gBAAC2B,EAAc,CACbH,cAAeA,EACfC,eAAgBiD,GAAcvI,EAAYkM,YAAc,EAAI,EAC5DzG,UAAWA,EACXC,iBAAkBA,EAClBC,KAAMA,EACNC,aAAeE,GA9DF,CAACA,IACfA,EAMHkF,IAJI/B,EAAW5R,SACb+T,aAAanC,EAAW5R,Q,EA0DM8U,CAAarG,GACzCD,WAAY,KA1EdqF,KAAKC,OAASpC,EAChB+B,IAKF7B,EAAW5R,QAAU4T,YAAW,KAC9BH,GAAe,GACd/B,EAAYmC,KAAKC,MAkEgB,IAEhC,gBAAClD,EAAmB,CAClB5C,cAAeA,EACfZ,YAAaA,KAKvB,CAEO,MAAM4G,EAAwB,OAA8B;;;;;;;;;WASvDhV,GAAUA,aAAK,EAALA,EAAOmL;;;;;;;;;;;;;EAehB+J,EAAuB,OAAU;;;;;;;;;;;;;;;;;EAmBjCD,EAAmB,MAAS;;;;;;;;;;;;;;;;;;;;;;iBC9QzC,SAASc,GAAqB,WAC5B7D,EAAU,gBACV8D,EAAe,WACf7H,EAAU,SACVE,EAAQ,UACRe,EAAS,iBACTC,EAAgB,gBAChB7B,EAAe,KACf8B,IAEA,MAAM2G,ECf8B,QAAlC,EAAAjL,EDemCgL,UCfD,QAAIhL,EAAoC,IAF/C,I,EDmB7B,OACE,gBAACnL,EAAA,EAAgB,CAACO,KAAM2L,GACtB,gBAACmK,EAAI,CAACC,YAAaF,aAAY,EAAZA,EAAc/K,WAC/B,gBAAC+G,EAA0B,CACzBC,WAAYA,EACZ9D,YAAa6H,EACb9H,WAAYA,EACZE,SAAUA,EACVb,gBAAiBA,EACjB4B,UAAWA,EACXC,iBAAkBA,EAClBC,KAAMA,KAKhB,CAEA,MAAM4G,EAAO,OAAoC;;;;;;;sBAO1BlW,GAAUA,EAAMmW;EAGvCJ,EAAqB5J,SAAWA,EAChC,SAAe,QAAW4J,G,60CE5C1B,IAAMK,GAAoB,SAAClE,GACzB,MAAqB,eAAdA,EAA8BvI,EAAAA,GAAAA,YAA0BA,EAAAA,GAAAA,UACjE,EAEM0M,GAAmB,SAACjH,GACxB,MAAoB,SAAbA,EAAuB1F,EAAAA,GAAAA,MAAmBA,EAAAA,GAAAA,KACnD,EAEA,SAAS4M,GAAavT,GAAuB,I,EAApBf,EAAOe,EAAPf,QAAS3B,EAAO0C,EAAP1C,QAE1BkW,EADoB,GAAH3N,Q,EAAOvI,E,qnBAAO,CAAE2B,IACEwU,QAAO,SAACC,EAAsBC,GACrE,OAAAC,GAAAA,GAAA,GAAWF,GAAyBC,EACtC,GAAG,CAAC,IACJE,EAAAA,EAAAA,IAAWL,EAAeM,UAAWN,EACvC,CAkBe,SAAStE,GAA0B6E,GAe9C,IAGEzH,EAhBJ6C,EAAU4E,EAAV5E,WACA8D,EAAec,EAAfd,gBACA7H,EAAU2I,EAAV3I,WACAX,EAAesJ,EAAftJ,gBACAa,EAAQyI,EAARzI,SACAe,EAAS0H,EAAT1H,UACA2H,EAASD,EAATC,UACAC,EAASF,EAATE,UACAC,EAASH,EAATG,UACAC,EAASJ,EAATI,UACAC,EAASL,EAATK,UACAC,EAASN,EAATM,UACAC,EAAMP,EAANO,OAGIC,EAAgBjB,GAAiBjH,GAOrC,OAJEC,EADEiI,GAAiB5N,EAAAA,GAAAA,MACA,CAACwN,EAAWC,EAAWC,GAEvB,CAACL,EAAWC,EAAWC,GAG1CM,EAAAA,cAAClW,EAAAA,EAAiB,CAACE,QAAS+U,IAC1BiB,EAAAA,cAACC,EAAAA,GAAY,CACXC,OAAQC,SAASC,gBAAgBC,KACjCzL,SAAUkL,GAEVE,EAAAA,cAACxB,EAAoB,CACnB7D,WAAYkE,GAAkBlE,GAC9B8D,gBAAiBA,EACjB7H,WAAYA,EACZE,SAAUA,EACVb,gBAAiBA,EACjB4B,UAAWkI,EACXjI,iBAAkBA,KAI5B,C","sources":["webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/LegacyAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/ModernAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/index.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/ModernAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/index.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack:///./node_modules/@emotion/styled/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack:///./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/utils/constants.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/messages/features-highlight-messages.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/card-details.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/card.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/card-container.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/media-container.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/pagination-container.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/components/features-highlight-container.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/features-highlight-wpl.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-features-highlight-wpl/src/utils/util-functions.tsx","webpack:///./resources/js/react/cms-components/features-highlight-wpl/FeaturesHighlightContainer.tsx"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func\n};\nconst noop = () => [];\n\n// eslint-disable-next-line @repo/internal/react/no-class-components\nclass AnalyticsContext extends Component {\n constructor(props) {\n super(props);\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsContext: this.getAnalyticsContext\n }));\n _defineProperty(this, \"getAnalyticsContext\", () => {\n const {\n data\n } = this.props;\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return [...getAtlaskitAnalyticsContext(), data];\n });\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n return getAtlaskitAnalyticsEventHandlers();\n });\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\n }\n render() {\n const {\n children\n } = this.props;\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: this.contextValue\n }, children);\n }\n}\n_defineProperty(AnalyticsContext, \"contextTypes\", ContextTypes);\n_defineProperty(AnalyticsContext, \"childContextTypes\", ContextTypes);\nexport default AnalyticsContext;","import React, { useCallback, useMemo } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nimport { useAnalyticsContext } from '../../hooks/useAnalyticsContext';\nimport { useTrackedRef } from '../../hooks/useTrackedRef';\nconst AnalyticsContext = ({\n data,\n children\n}) => {\n const dataRef = useTrackedRef(data);\n const analyticsContext = useAnalyticsContext();\n const getAtlaskitAnalyticsContext = useCallback(() => {\n return [...analyticsContext.getAtlaskitAnalyticsContext(), dataRef.current];\n }, [analyticsContext, dataRef]);\n const value = useMemo(() => ({\n getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: analyticsContext.getAtlaskitAnalyticsEventHandlers\n }), [analyticsContext, getAtlaskitAnalyticsContext]);\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: value\n }, children);\n};\nexport default AnalyticsContext;","import React from 'react';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport LegacyAnalyticsContext from './LegacyAnalyticsContext';\nimport ModernAnalyticsContext from './ModernAnalyticsContext';\nconst ExportedAnalyticsContext = props => {\n var _process$env;\n const isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);\n return isModernContextEnabledEnv || getBooleanFF('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/React.createElement(ModernAnalyticsContext, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsContext, props);\n};\nexport default ExportedAnalyticsContext;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func\n};\nconst noop = () => [];\n\n// eslint-disable-next-line @repo/internal/react/no-class-components\nclass AnalyticsListener extends Component {\n constructor(props) {\n super(props);\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n }));\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n channel,\n onEvent\n } = this.props;\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n const handler = (event, eventChannel) => {\n if (channel === '*' || channel === eventChannel) {\n onEvent(event, eventChannel);\n }\n };\n return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n });\n _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return getAtlaskitAnalyticsContext();\n });\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\n }\n render() {\n const {\n children\n } = this.props;\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: this.contextValue\n }, children);\n }\n}\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\nexport default AnalyticsListener;","import React, { useCallback, useMemo } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nimport { useAnalyticsContext } from '../../hooks/useAnalyticsContext';\nimport { useTrackedRef } from '../../hooks/useTrackedRef';\nconst AnalyticsListener = ({\n children,\n channel,\n onEvent\n}) => {\n const analyticsContext = useAnalyticsContext();\n const onEventRef = useTrackedRef(onEvent);\n const channelRef = useTrackedRef(channel);\n const getAtlaskitAnalyticsEventHandlers = useCallback(() => {\n const thisHandler = (event, eventChannel) => {\n if (channelRef.current === '*' || channelRef.current === eventChannel) {\n onEventRef.current(event, eventChannel);\n }\n };\n return [...analyticsContext.getAtlaskitAnalyticsEventHandlers(), thisHandler];\n }, [analyticsContext, channelRef, onEventRef]);\n const value = useMemo(() => {\n return {\n getAtlaskitAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext: analyticsContext.getAtlaskitAnalyticsContext\n };\n }, [analyticsContext, getAtlaskitAnalyticsEventHandlers]);\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: value\n }, children);\n};\nexport default AnalyticsListener;","import React from 'react';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nconst ExportedAnalyticsListener = props => {\n var _process$env;\n const isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);\n return isModernContextEnabledEnv || getBooleanFF('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/React.createElement(ModernAnalyticsListener, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsListener, props);\n};\nexport default ExportedAnalyticsListener;","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","import { useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n ref.current = value;\n return ref;\n};","var _ref, _process, _process$env, _process2, _process2$env;\n// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID\n// https://jestjs.io/docs/environment-variables#jest_worker_id\nconst TESTS_MODE = (_ref = (globalThis === null || globalThis === void 0 ? void 0 : (_process = globalThis.process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.JEST_WORKER_ID) !== undefined) !== null && _ref !== void 0 ? _ref : false;\nconst DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 ? void 0 : (_process2 = globalThis.process) === null || _process2 === void 0 ? void 0 : (_process2$env = _process2.env) === null || _process2$env === void 0 ? void 0 : _process2$env.NODE_ENV) !== 'production';\nexport const debug = (...args) => {\n if (!DEBUG_MODE) {\n return;\n }\n\n // eslint-disable-next-line no-console\n console.debug(...args);\n};","import { debug } from './debug';\nconst pkgName = '@atlaskit/platform-feature-flags';\nexport const PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nconst hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nconst ENV_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['ENABLE_PLATFORM_FF'] === 'true' : false;\n\n// STORYBOOK_ENABLE_PLATFORM_FF is included as storybook only allows env vars prefixed with STORYBOOK\n// https://github.com/storybookjs/storybook/issues/12270\n\nconst ENV_STORYBOOK_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['STORYBOOK_ENABLE_PLATFORM_FF'] === 'true' : false;\nconst ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nconst DEFAULT_PFF_GLOBAL = {\n // In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.\n // This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.\n earlyResolvedFlags: new Map(),\n booleanResolver: function (flagKey) {\n if (process.env.NODE_ENV !== 'production') {\n const unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n }\n return false;\n }\n};\nconst globalVar = typeof window !== 'undefined' ? window : globalThis;\nglobalVar[PFF_GLOBAL_KEY] = globalVar[PFF_GLOBAL_KEY] || DEFAULT_PFF_GLOBAL;\nexport function setBooleanResolver(resolver) {\n globalVar[PFF_GLOBAL_KEY].booleanResolver = resolver;\n if (process.env.NODE_ENV !== 'production') {\n var _globalVar$PFF_GLOBAL, _globalVar$PFF_GLOBAL2;\n if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : (_globalVar$PFF_GLOBAL2 = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.size) > 0) {\n debug(`[%s]: The following list of Feature Flags were called, the following number of times, before setBooleanResolver.`, pkgName, Array.from(globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.entries()));\n globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.clear();\n }\n }\n}\nexport function resolveBooleanFlag(flagKey) {\n if (ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE) {\n debug('[%s]: The feature flags were enabled while running tests. The flag \"%s\" will be always enabled.', pkgName, flagKey);\n return true;\n }\n try {\n var _globalVar$PFF_GLOBAL3;\n const result = (_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver(flagKey);\n if (typeof result !== 'boolean') {\n // eslint-disable-next-line no-console\n console.warn(`${flagKey} resolved to a non-boolean value, returning false for safety`);\n return false;\n }\n return result;\n } catch (e) {\n return false;\n }\n}","import { setBooleanResolver, resolveBooleanFlag } from './resolvers';\n\n/**\n * This creates a boolean flag resolver that allows calls to `getBooleanFF` inside of Platform components to use a Product's\n * feature flag client and LD project, rather than installing a feature flag client of their own, or passing those flags in via props.\n *\n * @param flagResolver\n */\nexport function setBooleanFeatureFlagResolver(flagResolver) {\n setBooleanResolver(flagResolver);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @deprecated Use {@link fg} function instead.\n * @param name\n */\nexport function getBooleanFF(name) {\n return resolveBooleanFlag(name);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @param name\n */\nexport function fg(name) {\n return resolveBooleanFlag(name);\n}","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","import {\n B50,\n N900,\n B500,\n P500,\n N0,\n N20,\n Y200,\n R200,\n G200,\n T200,\n B200,\n P100,\n N500,\n N70,\n Y500\n} from '@atlaskit/theme/colors';\nimport { BG_COLOR_PROPERTIES } from '../models/colors-props';\n\nexport const GRAY3 = '#505F79';\nexport const NUM_OF_CARDS = 3;\nexport const MIN_CYCLE_TIME = 7000;\n\nexport const DEFAULT_BG_COLOR = 'b50';\n\n// Intersection options\nexport const INTERSECTION_OPTIONS = { threshold: 0.35 };\n\nexport enum LAYOUT_TYPE {\n CARDS_LEFT = 'cards_left',\n CARDS_RIGHT = 'cards_right'\n}\n\nexport enum MEDIA_TYPE {\n VIDEO = 'video',\n IMAGE = 'image'\n}\n\nexport enum SWIPE_DIRECTION {\n LEFT = 'left',\n RIGHT = 'right'\n}\n\n/* ---------------------BG COLOR CODINGS---------------------------*/\n\nexport const BG_COLOR_CODING_MAP: {\n [key: string]: BG_COLOR_PROPERTIES;\n} = {\n b50: {\n colorCode: B50,\n typeColor: N900,\n cardActiveColor: N0,\n cardHoverColor: `${N0}50`,\n categoryTypeColor: GRAY3,\n paginationColorActive: N500,\n paginationColorInactive: N0\n },\n n0: {\n colorCode: N0,\n typeColor: N900,\n cardActiveColor: N20,\n cardHoverColor: `${N20}50`,\n categoryTypeColor: GRAY3,\n paginationColorActive: N500,\n paginationColorInactive: N70\n },\n n900: {\n colorCode: N900,\n typeColor: N0,\n cardActiveColor: `${N0}10`,\n cardHoverColor: `${N0}20`,\n categoryTypeColor: N0,\n paginationColorActive: Y500,\n paginationColorInactive: N0\n },\n p500: {\n colorCode: P500,\n typeColor: N0,\n cardActiveColor: `${N0}10`,\n cardHoverColor: `${N0}20`,\n categoryTypeColor: N0,\n paginationColorActive: Y500,\n paginationColorInactive: N0\n },\n b500: {\n colorCode: B500,\n typeColor: N0,\n cardActiveColor: `${N0}10`,\n cardHoverColor: `${N0}20`,\n categoryTypeColor: N0,\n paginationColorActive: Y500,\n paginationColorInactive: N0\n }\n};\n\n/* ---------------------BAR COLOR CODINGS---------------------------*/\nexport const BAR_COLOR_CODING_MAP: Map<string, string> = new Map<\n string,\n string\n>();\n\nBAR_COLOR_CODING_MAP.set('y200', Y200);\nBAR_COLOR_CODING_MAP.set('r200', R200);\nBAR_COLOR_CODING_MAP.set('g200', G200);\nBAR_COLOR_CODING_MAP.set('t200', T200);\nBAR_COLOR_CODING_MAP.set('b200', B200);\nBAR_COLOR_CODING_MAP.set('p100', P100);\n\n/* ---------------- Analytics event data -----------------------*/\nexport const defaultAnalyticsData = {\n eventComponent: 'featuresHighlightComponent',\n eventContainer: 'featuresHighlightContainer'\n};\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'FeaturesHighlightWpl.';\n\nexport const messages = defineMessages({\n heading: {\n id: `${ID_PREFIX}heading`,\n defaultMessage: `The is a default heading`\n },\n cardLabel1: {\n id: `${ID_PREFIX}label1`,\n defaultMessage: `Card Label 1`\n },\n cardLabel2: {\n id: `${ID_PREFIX}label2`,\n defaultMessage: `Card Label 2`\n },\n cardLabel3: {\n id: `${ID_PREFIX}label3`,\n defaultMessage: `Card Label 3`\n },\n cardCategory1: {\n id: `${ID_PREFIX}categoryLabel1`,\n defaultMessage: `Card Category 1`\n },\n cardCategory2: {\n id: `${ID_PREFIX}categoryLabel2`,\n defaultMessage: `Card Category 2`\n },\n cardCategory3: {\n id: `${ID_PREFIX}categoryLabel3`,\n defaultMessage: `Card Category 3`\n },\n cardTitle1: {\n id: `${ID_PREFIX}cardTitle1`,\n defaultMessage: `Card Title 1`\n },\n cardTitle2: {\n id: `${ID_PREFIX}cardTitle2`,\n defaultMessage: `Card Title 2`\n },\n cardTitle3: {\n id: `${ID_PREFIX}cardTitle3`,\n defaultMessage: `Card Title 3`\n },\n cardDescription1: {\n id: `${ID_PREFIX}cardDescription1`,\n defaultMessage: `Feature 01 description lorem ipsum dolor amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.`\n },\n cardDescription2: {\n id: `${ID_PREFIX}cardDescription2`,\n defaultMessage: `Feature 02 description lorem ipsum dolor amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.`\n },\n cardDescription3: {\n id: `${ID_PREFIX}cardDescription3`,\n defaultMessage: `Feature 03 description lorem ipsum dolor amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.`\n },\n altTextImage1: {\n id: `${ID_PREFIX}altTextImage1`,\n defaultMessage: `This is default alternative text for Image 1`\n },\n altTextImage2: {\n id: `${ID_PREFIX}altTextImage2`,\n defaultMessage: `This is default alternative text for Image 2`\n },\n altTextImage3: {\n id: `${ID_PREFIX}altTextImage3`,\n defaultMessage: `This is default alternative text for Image 3`\n },\n embeddedVideosError: {\n id: `${ID_PREFIX}embeddedVideosError`,\n defaultMessage: `Sorry, your browser doesn't support embedded videos.`\n }\n});\n","import styled from '@emotion/styled';\nimport * as React from '@emotion/react';\nimport { CardDetailsProps } from '../models/card-props';\nimport { FormattedHTMLMessage } from 'react-intl';\nimport { messages } from '../messages';\n\nexport function CardDetailsContainer({\n isCategoryLabel,\n categoryTypeColor,\n cardId\n}: CardDetailsProps) {\n return (\n <CardDetailsRoot>\n <CardFieldsContainer>\n {isCategoryLabel && (\n <CategoryNameField categoryTypeColor={categoryTypeColor}>\n <FormattedHTMLMessage\n {...(cardId == 1\n ? { ...messages.cardCategory1 }\n : cardId == 2\n ? { ...messages.cardCategory2 }\n : { ...messages.cardCategory3 })}\n />\n </CategoryNameField>\n )}\n <HiddenElement id={'label' + cardId}>\n <FormattedHTMLMessage\n {...(cardId == 1\n ? { ...messages.cardLabel1 }\n : cardId == 2\n ? { ...messages.cardLabel2 }\n : { ...messages.cardLabel3 })}\n />\n </HiddenElement>\n <TitleField id={`title` + cardId}>\n <FormattedHTMLMessage\n {...(cardId == 1\n ? { ...messages.cardTitle1 }\n : cardId == 2\n ? { ...messages.cardTitle2 }\n : { ...messages.cardTitle3 })}\n />\n </TitleField>\n <DescriptionField id={`description` + cardId}>\n <FormattedHTMLMessage\n {...(cardId == 1\n ? { ...messages.cardDescription1 }\n : cardId == 2\n ? { ...messages.cardDescription2 }\n : { ...messages.cardDescription3 })}\n />\n </DescriptionField>\n </CardFieldsContainer>\n </CardDetailsRoot>\n );\n}\n\nexport const HiddenElement = styled.div`\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n`;\n\nexport const CardDetailsRoot = styled.div`\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n`;\n\nexport const CardFieldsContainer = styled.div`\n padding: 16px;\n display: flex;\n flex-direction: column;\n justify-content: inherit;\n`;\n\nexport const CategoryNameField = styled.div<{ categoryTypeColor?: string }>`\n width: 100%;\n line-height: 18px;\n font-size: 12px;\n font-weight: 400;\n font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n margin-bottom: 16px;\n text-transform: uppercase;\n color: ${(props) => props.categoryTypeColor};\n`;\n\nexport const TitleField = styled.div`\n width: 100%;\n font-weight: 500;\n line-height: 24px;\n letter-spacing: 0.3px;\n margin-bottom: 8px;\n font-size: 20px;\n display: block;\n\n @media only screen and (max-width: 1023px) {\n font-size: 16px;\n line-height: 20px;\n }\n`;\n\nexport const DescriptionField = styled.div`\n width: 100%;\n height: fit-content;\n line-height: 24px;\n font-size: 16px;\n font-weight: 400;\n`;\n","import styled from '@emotion/styled';\nimport * as React from '@emotion/react';\nimport { NUM_OF_CARDS, BAR_COLOR_CODING_MAP } from '../utils/constants';\nimport { BG_COLOR_PROPERTIES } from '../models/colors-props';\nimport {\n CardClickHandlerType,\n KeyPressHandlerType\n} from '../models/interaction-handler-props';\nimport { CardProps, ColorBarProps } from '../models/card-props';\nimport { CardDetailsContainer } from './card-details';\n\nexport const renderCards = (\n cardClickHandler: CardClickHandlerType,\n keyPressHandler: KeyPressHandlerType,\n isColorBar: boolean,\n isCategoryLabel: boolean,\n colorCoding: BG_COLOR_PROPERTIES,\n barColor?: string\n) => {\n const cardList = [];\n for (let cardId = 1; cardId <= NUM_OF_CARDS; cardId++) {\n cardList.push(\n <Card\n key={cardId}\n className={`card card${cardId}`}\n colorCoding={colorCoding}\n role=\"button\"\n tabIndex={0}\n onClick={(e) => cardClickHandler(cardId, e)}\n onKeyDown={(e) => keyPressHandler(cardId, e)}\n aria-labelledby={`label` + cardId}\n aria-describedby={`title` + cardId + ` description` + cardId}\n >\n {isColorBar && (\n <ColorBar\n key={cardId}\n className={`bar bar${cardId}`}\n barColor={barColor}\n />\n )}\n <CardDetailsContainer\n categoryTypeColor={colorCoding.categoryTypeColor}\n isCategoryLabel={isCategoryLabel}\n cardId={cardId}\n />\n </Card>\n );\n }\n return cardList;\n};\n\nexport const Card = styled.div<CardProps>`\n display: flex;\n flex-basis: auto;\n min-width: inherit;\n cursor: pointer;\n flex-direction: row;\n\n @media only screen and (max-width: 1023px) {\n margin-right: 16px;\n margin-left: 16px;\n flex-direction: column;\n }\n\n @media only screen and (max-width: 767px) {\n min-width: 100%;\n flex-shrink: 0;\n margin-right: 0px;\n margin-left: 0px;\n display: inline-flex;\n }\n`;\n\nexport const ColorBar = styled.div<ColorBarProps>`\n width: 8px;\n background-color: ${(props) =>\n props.barColor &&\n BAR_COLOR_CODING_MAP.has(props.barColor) &&\n BAR_COLOR_CODING_MAP.get(props.barColor)};\n\n @media only screen and (max-width: 1023px) {\n width: 100%;\n min-height: 8px;\n max-height: 8px;\n }\n`;\n","import styled from '@emotion/styled';\nimport * as React from '@emotion/react';\nimport {\n CardContainerProps,\n CardContainerRootProps\n} from '../models/card-props';\nimport { renderCards } from './card';\n\nexport function CardContainer({\n selectedMedia,\n cardClickHandler,\n keyPressHandler,\n componentOrder,\n colorCoding,\n isColorBar,\n barColor,\n isCategoryLabel\n}: CardContainerProps) {\n return (\n <CardContainerRoot\n selectedMedia={selectedMedia}\n componentOrder={componentOrder}\n colorCoding={colorCoding}\n >\n {renderCards(\n cardClickHandler,\n keyPressHandler,\n isColorBar,\n isCategoryLabel,\n colorCoding,\n barColor\n )}\n </CardContainerRoot>\n );\n}\n\nexport const CardContainerRoot = styled.div<CardContainerRootProps>`\n display: flex;\n justify-content: flex-start;\n flex-basis: calc(99.9999% / 12 * 4 - 16px);\n max-width: calc(99.9999% / 12 * 4 - 16px);\n flex-direction: column;\n order: ${(props) => props.componentOrder};\n margin-right: 16px;\n gap: 8px;\n\n .card {\n &:hover {\n background-color: ${(props) => props.colorCoding.cardHoverColor};\n\n .bar {\n opacity: 1;\n }\n }\n\n .bar {\n opacity: 0;\n }\n }\n\n .card.card${(props) => props.selectedMedia} {\n background-color: ${(props) => props.colorCoding.cardActiveColor};\n\n &:hover {\n background-color: ${(props) => props.colorCoding.cardActiveColor};\n }\n\n .bar {\n opacity: 1;\n }\n }\n\n @media only screen and (max-width: 1023px) {\n flex-basis: 100%;\n max-width: 100%;\n flex-direction: row;\n margin-bottom: 16px;\n order: 1;\n flex-wrap: nowrap;\n margin-right: 0;\n margin-left: 0;\n justify-content: center;\n gap: 32px;\n\n .card {\n width: calc(33.3333%);\n margin: 0;\n }\n }\n\n @media only screen and (max-width: 767px) {\n justify-content: flex-start;\n transition: transform 0.3s;\n transform: ${(props) => `translateX(-${(props.selectedMedia - 1) * 100}%)`};\n gap: 0;\n\n .card {\n width: 100%;\n }\n }\n`;\n","import * as React from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n createRef,\n MutableRefObject,\n RefObject,\n useEffect,\n useRef,\n useState\n} from 'react';\nimport { messages } from '../messages';\nimport {\n MediaContainerProps,\n MediaContainerRootProps,\n MediaWrapperProps\n} from '../models/media-props';\nimport {\n INTERSECTION_OPTIONS,\n MEDIA_TYPE,\n NUM_OF_CARDS\n} from '../utils/constants';\n\nexport function MediaContainer({\n selectedMedia,\n componentOrder,\n mediaType,\n mediaSourceLinks,\n intl,\n inViewChange,\n videoEnded\n}: MediaContainerProps) {\n const [isInView, setIsInView] = useState<boolean>(false);\n const containerRef: MutableRefObject<HTMLDivElement | null> = useRef(null);\n\n const handleIntersect = (entries: any[]) => {\n const entry = entries[0] || {};\n const { isIntersecting } = entry;\n setIsInView(!!isIntersecting);\n inViewChange(!!isIntersecting);\n };\n\n useEffect(() => {\n if (!containerRef.current) {\n return;\n }\n\n const observer = new IntersectionObserver(\n handleIntersect,\n INTERSECTION_OPTIONS\n );\n observer.observe(containerRef.current);\n }, [containerRef]);\n\n return (\n <MediaContainerRoot ref={containerRef} componentOrder={componentOrder}>\n <MediaWrapper selectedMedia={selectedMedia}>\n {renderMedia(\n mediaType,\n mediaSourceLinks,\n intl,\n selectedMedia,\n videoEnded,\n isInView\n )}\n </MediaWrapper>\n </MediaContainerRoot>\n );\n}\n\nconst renderMedia = (\n mediaType: MEDIA_TYPE,\n mediaSourceLinks: string[],\n intl: ReactIntl.InjectedIntl,\n selectedMedia: number,\n videoEnded: () => void,\n isInView: boolean\n) => {\n const videoRefMap = new Map<number, RefObject<HTMLVideoElement>>();\n if (mediaType === MEDIA_TYPE.VIDEO) {\n // Auto start video when it is selected card\n useEffect(() => {\n for (const [videoId, video] of videoRefMap.entries()) {\n if (!video?.current || !video.current.play) {\n continue;\n }\n // play from start when video is selected and in view\n if (videoId === selectedMedia && isInView) {\n video.current.currentTime = 0;\n video.current.play();\n } else {\n video.current.pause();\n }\n }\n }, [selectedMedia, isInView]);\n }\n\n const mediaList = [];\n for (let cardId = 1; cardId <= NUM_OF_CARDS; cardId++) {\n const props = selectedMedia === cardId ? { tabIndex: 1 } : { tabIndex: -1 };\n\n let mediaContent;\n if (mediaType === MEDIA_TYPE.VIDEO) {\n const ref = createRef<HTMLVideoElement>();\n\n mediaContent = (\n <video\n ref={ref}\n width=\"100%\"\n height=\"100%\"\n object-fit=\"fill\"\n preload=\"auto\"\n muted={true}\n tabIndex={-1}\n onEnded={() => videoEnded()}\n playsInline={true}\n >\n <source src={mediaSourceLinks[cardId - 1]} />\n {intl.formatMessage(messages.embeddedVideosError)}\n </video>\n );\n\n videoRefMap.set(cardId, ref);\n } else if (mediaType === MEDIA_TYPE.IMAGE) {\n mediaContent = (\n <img\n width=\"100%\"\n height=\"auto\"\n src={mediaSourceLinks[cardId - 1]}\n // @ts-ignore\n alt={intl.formatMessage(messages[`altTextImage${cardId}`])}\n />\n );\n }\n\n mediaList.push(\n <Media key={cardId} className={`media media${cardId}`} {...props}>\n {mediaContent}\n </Media>\n );\n }\n return mediaList;\n};\n\nexport const MediaWrapper = styled.div<MediaWrapperProps>`\n display: flex;\n justify-content: flex-start;\n flex-wrap: nowrap;\n overflow: hidden;\n flex-direction: row;\n\n .media img {\n object-fit: contain;\n object-position: top;\n margin-bottom: 0;\n }\n\n @media only screen and (min-width: 768px) {\n .media {\n order: 2;\n }\n\n .media.media${(props) => props.selectedMedia} {\n order: 1;\n }\n }\n\n @media only screen and (max-width: 767px) {\n min-height: 216px;\n margin-right: 0px;\n margin-left: 0px;\n transition: transform 0.3s;\n transform: ${(props) => `translateX(-${(props.selectedMedia - 1) * 100}%)`};\n overflow: visible;\n }\n`;\n\nexport const MediaContainerRoot = styled.div<MediaContainerRootProps>`\n display: flex;\n justify-content: flex-start;\n align-content: start;\n flex-wrap: nowrap;\n flex-direction: row;\n overflow: visible;\n flex-basis: calc(99.9999% / 12 * 8);\n max-width: calc(99.9999% / 12 * 8);\n order: ${(props) => props.componentOrder};\n margin-left: 16px;\n margin-bottom: auto;\n\n @media only screen and (max-width: 1023px) {\n flex-basis: 100%;\n max-width: 100%;\n margin-left: 0;\n margin-right: 0;\n order: 2;\n }\n`;\n\nexport const Media = styled.div`\n flex-basis: inherit;\n min-width: 100%;\n display: inline-flex;\n`;\n","import styled from '@emotion/styled';\nimport * as React from '@emotion/react';\nimport { NUM_OF_CARDS } from '../utils/constants';\nimport { PaginationContainerProps } from '../models/card-props';\nimport { BG_COLOR_PROPERTIES } from '../models/colors-props';\n\nexport function PaginationContainer({\n selectedMedia,\n colorCoding\n}: PaginationContainerProps) {\n return (\n <PaginationContainerRoot\n selectedMedia={selectedMedia}\n colorCoding={colorCoding}\n >\n {renderCardDots(colorCoding)}\n </PaginationContainerRoot>\n );\n}\n\nconst renderCardDots = (colorCoding: BG_COLOR_PROPERTIES) => {\n const cardDotList = [];\n for (let cardId = 1; cardId <= NUM_OF_CARDS; cardId++) {\n cardDotList.push(\n <CardDots\n key={cardId}\n className={`cardDot cardDot${cardId}`}\n colorCoding={colorCoding}\n />\n );\n }\n return cardDotList;\n};\n\nexport const PaginationContainerRoot = styled.div<{\n selectedMedia: number;\n colorCoding: BG_COLOR_PROPERTIES;\n}>`\n flex-basis: inherit;\n height: 12px;\n min-width: 100%;\n margin-top: 32px;\n margin-bottom: 32px;\n display: none;\n align-items: center;\n justify-content: center;\n\n @media only screen and (max-width: 767px) {\n display: flex;\n\n .cardDot {\n background-color: ${(props) => props.colorCoding.paginationColorInactive};\n }\n\n .cardDot.cardDot${(props) => props.selectedMedia} {\n background-color: ${(props) => props.colorCoding.paginationColorActive};\n }\n }\n`;\n\nexport const CardDots = styled.div<{ colorCoding: BG_COLOR_PROPERTIES }>`\n margin-left: 6px;\n margin-right: 6px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n`;\n","import styled from '@emotion/styled';\nimport React, {\n useState,\n MouseEvent,\n TouchEvent,\n KeyboardEvent,\n MutableRefObject,\n useEffect\n} from 'react';\nimport { CardContainer } from './card-container';\nimport { MediaContainer } from './media-container';\nimport { PaginationContainer } from './pagination-container';\nimport {\n FeaturesHighlightContainerProps,\n HighlightRootProps\n} from '../models/features-highlight-props';\nimport {\n LAYOUT_TYPE,\n SWIPE_DIRECTION,\n defaultAnalyticsData,\n NUM_OF_CARDS,\n MEDIA_TYPE,\n MIN_CYCLE_TIME\n} from '../utils/constants';\nimport { messages } from '../messages';\nimport { FormattedHTMLMessage } from 'react-intl';\nimport { useAnalyticsEvents } from '@atlaskit/analytics-next';\n\nexport function FeaturesHighlightContainer({\n layoutType,\n colorCoding,\n isColorBar,\n barColor,\n isCategoryLabel,\n mediaType,\n mediaSourceLinks,\n intl\n}: FeaturesHighlightContainerProps) {\n const [selectedMedia, setSelectedMedia] = useState(1);\n const [isDragging, setIsDragging] = useState(false);\n const [dragAmount, setDragAmount] = useState(0);\n const [startX, setStartX] = useState(0);\n const [nextAfter, setNextAfter] = useState(0);\n const timeoutRef: MutableRefObject<any | null> = React.useRef(null);\n const selectedRef: MutableRefObject<number> = React.useRef(selectedMedia);\n\n const isTouchDevice =\n 'ontouchstart' in window ||\n navigator.maxTouchPoints > 0 ||\n navigator.msMaxTouchPoints > 0;\n\n const { createAnalyticsEvent } = useAnalyticsEvents();\n let cardClickAnalyticsData = {\n ...defaultAnalyticsData,\n action: 'clicked',\n eventType: 'UI',\n actionSubject: 'card'\n };\n\n const cardClickHandler = (\n clickedElement: number,\n mouseClick?: MouseEvent\n ) => {\n mouseClick && mouseClick.preventDefault();\n changeActiveElement(clickedElement);\n };\n\n const keyPressHandler = (\n clickedElement: number,\n keyPress?: KeyboardEvent\n ) => {\n if (keyPress?.key == ' ' || keyPress?.key == 'Enter') {\n changeActiveElement(clickedElement);\n }\n };\n\n const changeActiveElement = (clickedElement: number) => {\n if (clickedElement === selectedMedia) {\n return;\n }\n\n if (clickedElement < 1 || clickedElement > NUM_OF_CARDS) {\n return;\n }\n\n setSelectedMedia(clickedElement);\n\n createAnalyticsEvent({\n ...cardClickAnalyticsData,\n cardNumber: clickedElement\n }).fire();\n };\n\n const startDrag = (touchEvent?: TouchEvent, mouseEvent?: MouseEvent) => {\n if (isTouchDevice && touchEvent) {\n setIsDragging(true);\n setStartX(touchEvent.touches[0].clientX);\n } else if (mouseEvent && window.innerWidth < 767) {\n setIsDragging(true);\n setStartX(mouseEvent.clientX);\n }\n };\n\n const Drag = (touchEvent?: TouchEvent, mouseEvent?: MouseEvent) => {\n if (isDragging) {\n if (isTouchDevice && touchEvent) {\n setDragAmount(touchEvent.touches[0].clientX - startX);\n } else if (mouseEvent && window.innerWidth < 767) {\n setDragAmount(mouseEvent.clientX - startX);\n }\n }\n };\n\n const stopDrag = () => {\n if (isDragging) {\n setIsDragging(false);\n // Setting 100 as the amount of distance that needs to be covered in order to trigger a swipe\n if (Math.abs(dragAmount) > 100) {\n if (dragAmount < 0) {\n swipeCards(SWIPE_DIRECTION.LEFT);\n } else {\n swipeCards(SWIPE_DIRECTION.RIGHT);\n }\n }\n }\n };\n\n const swipeCards = (direction: SWIPE_DIRECTION) => {\n let nextSelected = selectedRef.current;\n if (\n direction === SWIPE_DIRECTION.LEFT &&\n selectedMedia < mediaSourceLinks.length\n ) {\n nextSelected += 1;\n } else if (direction === SWIPE_DIRECTION.RIGHT && selectedMedia > 1) {\n nextSelected -= 1;\n }\n setSelectedMedia(nextSelected);\n\n createAnalyticsEvent({\n ...cardClickAnalyticsData,\n isTouchDevice: isTouchDevice,\n cardNumber: nextSelected\n }).fire();\n };\n\n const nextHighlight = () => {\n const nextId = selectedRef.current + 1;\n setSelectedMedia(nextId > NUM_OF_CARDS ? 1 : nextId);\n };\n\n const videoEnded = () => {\n if (Date.now() >= nextAfter) {\n nextHighlight();\n return;\n }\n\n // Time remains before minimum wait, delay till then\n timeoutRef.current = setTimeout(() => {\n nextHighlight();\n }, nextAfter - Date.now());\n };\n\n const changeInView = (isInView: boolean) => {\n if (!isInView) {\n // Clear timeout\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n } else {\n startTimeout();\n }\n };\n\n const startTimeout = () => {\n if (mediaType === MEDIA_TYPE.IMAGE) {\n timeoutRef.current = setTimeout(() => {\n nextHighlight();\n }, MIN_CYCLE_TIME);\n } else {\n setNextAfter(Date.now() + MIN_CYCLE_TIME);\n }\n };\n\n useEffect(() => {\n // Storing in the ref is required for the setTimeout that is started for images when called from changeInView\n selectedRef.current = selectedMedia;\n\n // Clear timeout\n if (timeoutRef.current !== null) {\n clearTimeout(timeoutRef.current);\n }\n\n startTimeout();\n }, [selectedMedia]);\n\n return (\n <FeaturesHighlightRoot typeColor={colorCoding.typeColor}>\n <HeadingContainer>\n <FormattedHTMLMessage {...messages.heading} />\n </HeadingContainer>\n <CoreContentContainer\n onTouchStart={(e) => startDrag(e)}\n onMouseDown={(e) => startDrag(undefined, e)}\n onTouchMove={(e) => Drag(e)}\n onMouseMove={(e) => Drag(undefined, e)}\n onTouchEnd={() => stopDrag()}\n onMouseUp={() => stopDrag()}\n >\n <CardContainer\n selectedMedia={selectedMedia}\n cardClickHandler={cardClickHandler}\n keyPressHandler={keyPressHandler}\n componentOrder={layoutType == LAYOUT_TYPE.CARDS_LEFT ? 1 : 2}\n colorCoding={colorCoding}\n isColorBar={isColorBar}\n barColor={barColor}\n isCategoryLabel={isCategoryLabel}\n />\n <MediaContainer\n selectedMedia={selectedMedia}\n componentOrder={layoutType == LAYOUT_TYPE.CARDS_RIGHT ? 1 : 2}\n mediaType={mediaType}\n mediaSourceLinks={mediaSourceLinks}\n intl={intl}\n inViewChange={(isInView) => changeInView(isInView)}\n videoEnded={() => videoEnded()}\n />\n <PaginationContainer\n selectedMedia={selectedMedia}\n colorCoding={colorCoding}\n />\n </CoreContentContainer>\n </FeaturesHighlightRoot>\n );\n}\n\nexport const FeaturesHighlightRoot = styled.div<HighlightRootProps>`\n display: flex;\n flex-wrap: wrap;\n flex-basis: 100%;\n max-width: 100%;\n position: relative;\n flex-direction: row;\n min-width: 992px;\n justify-content: center;\n color: ${(props) => props?.typeColor};\n padding-bottom: 64px;\n\n @media only screen and (max-width: 1023px) {\n min-width: 736px;\n margin-left: 0px;\n margin-right: 0px;\n }\n\n @media only screen and (max-width: 767px) {\n min-width: 288px;\n padding-bottom: 0;\n }\n`;\n\nexport const CoreContentContainer = styled.div`\n display: flex;\n max-width: inherit;\n flex-direction: row;\n align-content: center;\n height: fit-content;\n\n @media only screen and (max-width: 1023px) {\n flex-direction: column;\n justify-content: center;\n }\n\n @media only screen and (max-width: 767px) {\n overflow: hidden;\n justify-content: flex-start;\n display: block;\n }\n`;\n\nexport const HeadingContainer = styled.h2`\n text-align: center;\n flex-basis: calc(99.9999% / 12 * 8 - 16px);\n max-width: calc(99.9999% / 12 * 8 - 16px);\n position: inherit;\n font-size: 36px;\n font-weight: 500;\n line-height: 44px;\n font-style: normal;\n margin-top: 64px;\n margin-bottom: 32px;\n\n @media only screen and (max-width: 1023px) {\n margin-top: 32px;\n }\n\n @media only screen and (max-width: 767px) {\n font-size: 24px;\n line-height: 32px;\n flex-basis: 100%;\n max-width: 100%;\n }\n`;\n","import styled from '@emotion/styled';\nimport * as React from '@emotion/react';\nimport { FeaturesHighlightContainer } from './components/features-highlight-container';\nimport { FeaturesHighlightProps } from './models/features-highlight-props';\nimport { getColorCodings } from './utils/util-functions';\nimport { messages } from './messages';\nimport { AnalyticsContext } from '@atlaskit/analytics-next';\nimport { InjectedIntlProps, injectIntl } from 'react-intl';\nimport { defaultAnalyticsData } from './utils/constants';\n\nfunction FeaturesHighlightWpl({\n layoutType,\n selectedBgColor,\n isColorBar,\n barColor,\n mediaType,\n mediaSourceLinks,\n isCategoryLabel,\n intl\n}: FeaturesHighlightProps & InjectedIntlProps) {\n const colorCodings = getColorCodings(selectedBgColor);\n\n return (\n <AnalyticsContext data={defaultAnalyticsData}>\n <Root bgColorCode={colorCodings?.colorCode}>\n <FeaturesHighlightContainer\n layoutType={layoutType}\n colorCoding={colorCodings}\n isColorBar={isColorBar}\n barColor={barColor}\n isCategoryLabel={isCategoryLabel}\n mediaType={mediaType}\n mediaSourceLinks={mediaSourceLinks}\n intl={intl}\n />\n </Root>\n </AnalyticsContext>\n );\n}\n\nconst Root = styled.div<{ bgColorCode?: string }>`\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n background-color: ${(props) => props.bgColorCode};\n`;\n\nFeaturesHighlightWpl.messages = messages;\nexport default injectIntl(FeaturesHighlightWpl);\n","import { BG_COLOR_CODING_MAP, DEFAULT_BG_COLOR } from './constants';\n\n// Selecting the color coding for the component based on the selected bg color\nexport const getColorCodings = (selectedColor: string) => {\n return (\n BG_COLOR_CODING_MAP[selectedColor] ?? BG_COLOR_CODING_MAP[DEFAULT_BG_COLOR]\n );\n};\n","import { AnalyticsListener } from \"@atlaskit/analytics-next\";\nimport FeaturesHighlightWpl from \"@atlassiansox/bxpkit-features-highlight-wpl\";\nimport { LAYOUT_TYPE, MEDIA_TYPE } from \"@atlassiansox/bxpkit-features-highlight-wpl/lib/commonjs/src/utils/constants\";\nimport React from \"react\";\nimport { IntlProvider } from \"react-intl\";\nimport { trackEvent } from '../../../common/analytics';\n\nconst getLayoutTypeEnum = (layoutType: string) => {\n return layoutType == \"cards_right\" ? LAYOUT_TYPE.CARDS_RIGHT : LAYOUT_TYPE.CARDS_LEFT;\n}\n\nconst getMediaTypeEnum = (mediaType: string) => {\n return mediaType == \"video\" ? MEDIA_TYPE.VIDEO : MEDIA_TYPE.IMAGE;\n}\n\nfunction sendAnalytics({ payload, context }) {\n const analyticsDataList = [...context, payload];\n const analyticsEvent = analyticsDataList.reduce((mergedAnalyticsEvent, currentAnalyicsEvent) => {\n return {...mergedAnalyticsEvent, ...currentAnalyicsEvent};\n }, {})\n trackEvent(analyticsEvent.eventName, analyticsEvent);\n}\n\ntype FeaturesHighlightContainerType = {\n readonly layoutType: string,\n readonly selectedBgColor: string,\n readonly isColorBar: boolean,\n readonly isCategoryLabel: boolean,\n readonly barColor: string,\n readonly mediaType: string,\n readonly image1Src: string,\n readonly image2Src: string,\n readonly image3Src: string,\n readonly video1Src: string,\n readonly video2Src: string,\n readonly video3Src: string,\n readonly labels : { [key: string]: string }\n}\n\nexport default function FeaturesHighlightContainer (\n {\n layoutType,\n selectedBgColor, \n isColorBar,\n isCategoryLabel,\n barColor,\n mediaType,\n image1Src,\n image2Src,\n image3Src,\n video1Src,\n video2Src,\n video3Src, \n labels}: FeaturesHighlightContainerType\n ) {\n \n let mediaTypeEnum = getMediaTypeEnum(mediaType);\n let mediaSourceLinks = [];\n if (mediaTypeEnum == MEDIA_TYPE.VIDEO) {\n mediaSourceLinks = [video1Src, video2Src, video3Src];\n } else {\n mediaSourceLinks = [image1Src, image2Src, image3Src];\n }\n return (\n <AnalyticsListener onEvent={sendAnalytics}>\n <IntlProvider\n locale={document.documentElement.lang}\n messages={labels}\n >\n <FeaturesHighlightWpl\n layoutType={getLayoutTypeEnum(layoutType)}\n selectedBgColor={selectedBgColor}\n isColorBar={isColorBar}\n barColor={barColor}\n isCategoryLabel={isCategoryLabel}\n mediaType={mediaTypeEnum}\n mediaSourceLinks={mediaSourceLinks} />\n </IntlProvider>\n </AnalyticsListener>\n );\n};"],"names":["ContextTypes","getAtlaskitAnalyticsContext","getAtlaskitAnalyticsEventHandlers","noop","AnalyticsContext","Component","constructor","props","super","this","getAnalyticsContext","data","context","contextValue","getAnalyticsEventHandlers","render","children","value","dataRef","useTrackedRef","analyticsContext","useAnalyticsContext","useCallback","current","useMemo","_process$env","ModernAnalyticsContext","LegacyAnalyticsContext","AnalyticsListener","channel","onEvent","event","eventChannel","onEventRef","channelRef","ModernAnalyticsListener","LegacyAnalyticsListener","useContext","AnalyticsEvent","payload","update","updater","UIAnalyticsEvent","hasFired","handlers","JSON","parse","stringify","forEach","handler","useAnalyticsEvents","createAnalyticsEvent","ref","useRef","_ref","_process","_process2","_process2$env","DEBUG_MODE","undefined","globalThis","process","env","JEST_WORKER_ID","NODE_ENV","debug","args","console","pkgName","PFF_GLOBAL_KEY","hasProcessEnv","ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE","DEFAULT_PFF_GLOBAL","earlyResolvedFlags","Map","booleanResolver","flagKey","globalVar","window","getBooleanFF","name","_globalVar$PFF_GLOBAL3","result","warn","e","reactPropsRegex","isPropValid","prop","test","charCodeAt","registerStyles","cache","serialized","isStringTag","className","key","registered","styles","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","tag","composeShouldForwardProps","options","isReal","shouldForwardProp","optionsShouldForwardProp","__emotion_forwardProp","propName","Insertion","inserted","insert","sheet","next","insertStyles","newStyled","createStyled","identifierName","targetClassName","__emotion_real","baseTag","__emotion_base","label","target","defaultShouldForwardProp","shouldUseAs","arguments","__emotion_styles","slice","push","raw","apply","len","length","i","Styled","w","registeredStyles","classNames","rawClassName","FinalTag","as","classInterpolations","mergedProps","theme","T","split","concat","finalShouldForwardProp","newProps","_key","displayName","defaultProps","Object","defineProperty","withComponent","nextTag","nextOptions","bind","tagName","SWIPE_DIRECTION","MEDIA_TYPE","LAYOUT_TYPE","B50","N900","N0","N500","N20","N70","Y500","P500","B500","Y200","R200","G200","T200","B200","P100","GRAY3","NUM_OF_CARDS","MIN_CYCLE_TIME","INTERSECTION_OPTIONS","threshold","BG_COLOR_CODING_MAP","b50","colorCode","typeColor","cardActiveColor","cardHoverColor","categoryTypeColor","paginationColorActive","paginationColorInactive","n0","n900","p500","b500","BAR_COLOR_CODING_MAP","set","defaultAnalyticsData","eventComponent","eventContainer","ID_PREFIX","messages","heading","id","defaultMessage","cardLabel1","cardLabel2","cardLabel3","cardCategory1","cardCategory2","cardCategory3","cardTitle1","cardTitle2","cardTitle3","cardDescription1","cardDescription2","cardDescription3","altTextImage1","altTextImage2","altTextImage3","embeddedVideosError","CardDetailsContainer","isCategoryLabel","cardId","CardDetailsRoot","CardFieldsContainer","CategoryNameField","HiddenElement","TitleField","DescriptionField","renderCards","cardClickHandler","keyPressHandler","isColorBar","colorCoding","barColor","cardList","Card","role","tabIndex","onClick","onKeyDown","ColorBar","has","get","CardContainer","selectedMedia","componentOrder","CardContainerRoot","MediaContainer","mediaType","mediaSourceLinks","intl","inViewChange","videoEnded","isInView","setIsInView","useState","containerRef","handleIntersect","entries","entry","isIntersecting","useEffect","IntersectionObserver","observe","MediaContainerRoot","MediaWrapper","renderMedia","videoRefMap","VIDEO","videoId","video","play","currentTime","pause","mediaList","mediaContent","createRef","width","height","preload","muted","onEnded","playsInline","src","formatMessage","IMAGE","alt","Media","PaginationContainer","PaginationContainerRoot","renderCardDots","cardDotList","CardDots","FeaturesHighlightContainer","layoutType","setSelectedMedia","isDragging","setIsDragging","dragAmount","setDragAmount","startX","setStartX","nextAfter","setNextAfter","timeoutRef","selectedRef","isTouchDevice","navigator","maxTouchPoints","msMaxTouchPoints","cardClickAnalyticsData","action","eventType","actionSubject","changeActiveElement","clickedElement","cardNumber","fire","startDrag","touchEvent","mouseEvent","touches","clientX","innerWidth","Drag","stopDrag","Math","abs","swipeCards","LEFT","RIGHT","direction","nextSelected","nextHighlight","nextId","startTimeout","setTimeout","Date","now","clearTimeout","FeaturesHighlightRoot","HeadingContainer","CoreContentContainer","onTouchStart","onMouseDown","onTouchMove","onMouseMove","onTouchEnd","onMouseUp","mouseClick","preventDefault","keyPress","CARDS_LEFT","CARDS_RIGHT","changeInView","FeaturesHighlightWpl","selectedBgColor","colorCodings","Root","bgColorCode","getLayoutTypeEnum","getMediaTypeEnum","sendAnalytics","analyticsEvent","reduce","mergedAnalyticsEvent","currentAnalyicsEvent","_objectSpread","trackEvent","eventName","_ref2","image1Src","image2Src","image3Src","video1Src","video2Src","video3Src","labels","mediaTypeEnum","React","IntlProvider","locale","document","documentElement","lang"],"sourceRoot":""}